diff --git a/pkgs/development/python-modules/lsassy/default.nix b/pkgs/development/python-modules/lsassy/default.nix new file mode 100644 index 00000000000..6b1d5ec2bb4 --- /dev/null +++ b/pkgs/development/python-modules/lsassy/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, impacket +, netaddr +, pypykatz +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "lsassy"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "Hackndo"; + repo = pname; + rev = "v${version}"; + sha256 = "1zig34ymc1h18gjc2ji0w0711im5sm9xm6nydc01c13yfpvvj1rh"; + }; + + propagatedBuildInputs = [ + impacket + netaddr + pypykatz + ]; + + # Tests require an active domain controller + doCheck = false; + pythonImportsCheck = [ "lsassy" ]; + + meta = with lib; { + description = "Python module to extract data from Local Security Authority Subsystem Service (LSASS)"; + homepage = "https://github.com/Hackndo/lsassy"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/msldap/default.nix b/pkgs/development/python-modules/msldap/default.nix new file mode 100644 index 00000000000..3a5546c0afe --- /dev/null +++ b/pkgs/development/python-modules/msldap/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchPypi +, asn1crypto +, asysocks +, minikerberos +, prompt_toolkit +, tqdm +, winacl +, winsspi +}: + +buildPythonPackage rec { + pname = "msldap"; + version = "0.3.22"; + + src = fetchPypi { + inherit pname version; + sha256 = "1ivq56953skql8f255nqx2sg4mm0kz2pr5b4dx62dx7jdgd1xym3"; + }; + + propagatedBuildInputs = [ + asn1crypto + asysocks + minikerberos + prompt_toolkit + tqdm + winacl + winsspi + ]; + + # Project doesn't have tests + doCheck = false; + pythonImportsCheck = [ "msldap" ]; + + meta = with lib; { + description = "Python LDAP library for auditing MS AD"; + homepage = "https://github.com/skelsec/msldap"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pypykatz/default.nix b/pkgs/development/python-modules/pypykatz/default.nix new file mode 100644 index 00000000000..2e5f19e1d12 --- /dev/null +++ b/pkgs/development/python-modules/pypykatz/default.nix @@ -0,0 +1,40 @@ +{ lib +, aiowinreg +, buildPythonPackage +, fetchFromGitHub +, minidump +, minikerberos +, msldap +, winsspi +}: + +buildPythonPackage rec { + pname = "pypykatz"; + version = "0.3.15"; + + src = fetchFromGitHub { + owner = "skelsec"; + repo = pname; + rev = version; + sha256 = "0bx2jdcfr1pdy3jgzg8fr5id9ffl2m1nc81dqhcplxdj8p214yri"; + }; + + propagatedBuildInputs = [ + aiowinreg + minikerberos + msldap + winsspi + minidump + ]; + + # Project doesn't have tests + doCheck = false; + pythonImportsCheck = [ "pypykatz" ]; + + meta = with lib; { + description = "Mimikatz implementation in Python"; + homepage = "https://github.com/skelsec/pypykatz"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a3afe73c4db..2d2d53aedf2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3711,6 +3711,8 @@ in { lsi = callPackage ../development/python-modules/lsi { }; + lsassy = callPackage ../development/python-modules/lsassy { }; + ludios_wpull = callPackage ../development/python-modules/ludios_wpull { }; luftdaten = callPackage ../development/python-modules/luftdaten { }; @@ -4074,6 +4076,8 @@ in { msgpack-numpy = callPackage ../development/python-modules/msgpack-numpy { }; + msldap = callPackage ../development/python-modules/msldap { }; + mss = callPackage ../development/python-modules/mss { }; msrestazure = callPackage ../development/python-modules/msrestazure { }; @@ -5612,6 +5616,8 @@ in { pypugjs = callPackage ../development/python-modules/pypugjs { }; + pypykatz = callPackage ../development/python-modules/pypykatz { }; + pyqrcode = callPackage ../development/python-modules/pyqrcode { }; pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { inherit (pkgs) pkgconfig; };