diff --git a/pkgs/by-name/au/autobloody/package.nix b/pkgs/by-name/au/autobloody/package.nix new file mode 100644 index 000000000000..c55689350211 --- /dev/null +++ b/pkgs/by-name/au/autobloody/package.nix @@ -0,0 +1,46 @@ +{ lib +, python3 +, fetchFromGitHub +}: + +python3.pkgs.buildPythonApplication rec { + pname = "autobloody"; + version = "0.1.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "CravateRouge"; + repo = "autobloody"; + rev = "refs/tags/v${version}"; + hash = "sha256-0MwhdT9GYLcrdZSqszx1DC9lyz8K61lJZZCzeFfWB0E="; + }; + + nativeBuildInputs = with python3.pkgs; [ + hatchling + ]; + + propagatedBuildInputs = with python3.pkgs; [ + bloodyad + neo4j + ]; + + # Tests require a test file which is not available in the current release + doCheck = false; + + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "autobloody" + ]; + + meta = with lib; { + description = "Tool to automatically exploit Active Directory privilege escalation paths"; + homepage = "https://github.com/CravateRouge/autobloody"; + changelog = "https://github.com/CravateRouge/autobloody/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + mainProgram = "autobloody"; + }; +} diff --git a/pkgs/development/python-modules/bloodyad/default.nix b/pkgs/development/python-modules/bloodyad/default.nix new file mode 100644 index 000000000000..11d26f32fbae --- /dev/null +++ b/pkgs/development/python-modules/bloodyad/default.nix @@ -0,0 +1,64 @@ +{ lib +, buildPythonPackage +, cryptography +, fetchFromGitHub +, gssapi +, hatchling +, ldap3 +, pyasn1 +, pytestCheckHook +, pythonOlder +, winacl +}: + +buildPythonPackage rec { + pname = "bloodyad"; + version = "1.1.1"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "CravateRouge"; + repo = "bloodyAD"; + rev = "refs/tags/v${version}"; + hash = "sha256-wnq+HTAPnC7pSGI2iytSyHmdqtUq2pUnNwZnsGX8CL4="; + }; + + nativeBuildInputs = [ + hatchling + ]; + + propagatedBuildInputs = [ + cryptography + gssapi + ldap3 + pyasn1 + winacl + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "bloodyAD" + ]; + + disabledTests = [ + # Tests require network access + "test_01AuthCreateUser" + "test_02SearchAndGetChildAndGetWritable" + "test_03UacOwnerGenericShadowGroupPasswordDCSync" + "test_04ComputerRbcdGetSetAttribute" + "test_06AddRemoveGetDnsRecord" + ]; + + meta = with lib; { + description = "Module for Active Directory Privilege Escalations"; + homepage = "https://github.com/CravateRouge/bloodyAD"; + changelog = "https://github.com/CravateRouge/bloodyAD/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b73c6edbe10b..8294b0ec5b26 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1593,6 +1593,8 @@ self: super: with self; { bloodhound-py = callPackage ../development/python-modules/bloodhound-py { }; + bloodyad = callPackage ../development/python-modules/bloodyad { }; + blosc2 = callPackage ../development/python-modules/blosc2 { }; bluecurrent-api = callPackage ../development/python-modules/bluecurrent-api { };