summaryrefslogtreecommitdiff
path: root/pwn/packages/impacket.scm
diff options
context:
space:
mode:
Diffstat (limited to 'pwn/packages/impacket.scm')
-rw-r--r--pwn/packages/impacket.scm77
1 files changed, 77 insertions, 0 deletions
diff --git a/pwn/packages/impacket.scm b/pwn/packages/impacket.scm
new file mode 100644
index 0000000..7fcd547
--- /dev/null
+++ b/pwn/packages/impacket.scm
@@ -0,0 +1,77 @@
+(define-module (gnu packages impacket)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix build-system python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (guix licenses))
+
+(define-public ldapdomaindump
+ (package
+ (name "ldapdomaindump")
+ (version "0.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/dirkjanm/ldapdomaindump/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ngxhfswzzjqxkv1xnpzlcchiviv81n2lyyanw90j5450v8pkn75"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'build-ignore-toml
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("license = \"MIT\"") ""))))))); upstream bug in pyproject.toml, but license specified by package def anyway
+ (propagated-inputs (list python-dnspython
+ python-ldap3))
+ (synopsis "Active Directory information dumper via LDAP")
+ (description "In an Active Directory domain, a lot of interesting information can be retrieved via LDAP by any authenticated user (or machine). This makes LDAP an interesting protocol for gathering information in the recon phase of a pentest of an internal network. A problem is that data from LDAP often is not available in an easy to read format.
+
+ldapdomaindump is a tool which aims to solve this problem, by collecting and parsing information available via LDAP and outputting it in a human readable HTML format, as well as machine readable json and csv/tsv/greppable files.")
+ (home-page "https://github.com/dirkjanm/ldapdomaindump")
+ (license expat)))
+
+(define-public impacket
+ (package
+ (name "impacket")
+ (version "0.12.0")
+ (source (origin
+ (method url-fetch)
+ (uri "https://github.com/fortra/impacket/archive/refs/tags/impacket_0_12_0.tar.gz")
+ (sha256
+ (base32
+ "0v6n3z27bjhvgxx9vh2h723p40051ym8rmlsfkzh6fn054d9ah8w"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'fix-require
+ (lambda _
+ (substitute* "setup.py"
+ (("pyOpenSSL") "pyOpenSSL>=24.3.0"))))
+ (delete 'sanity-check)))) ; gets confused over pyOpenSSL version after build success
+ (propagated-inputs (list python-six
+ python-pyasn1
+ python-pyasn1-modules
+ python-pycryptodomex
+ python-pyopenssl
+ python-ldap3
+ python-flask
+ python-charset-normalizer
+ ldapdomaindump))
+ (synopsis "Forta's Impacket tool suite for low-level programmatic access to packets, protocols and protocol implementations.")
+ (description "
+Impacket was originally created by SecureAuth, and now maintained by Fortra's Core Security.
+
+Impacket is a collection of Python classes for working with network protocols. Impacket is focused on providing low-level programmatic access to the packets and for some protocols (e.g. SMB1-3 and MSRPC) the protocol implementation itself. Packets can be constructed from scratch, as well as parsed from raw data, and the object-oriented API makes it simple to work with deep hierarchies of protocols. The library provides a set of tools as examples of what can be done within the context of this library.")
+ (home-page "https://github.com/fortra/impacket")
+ (license asl2.0)))
+impacket