nixpkgs/pkgs/tools/security/crackmapexec/default.nix
2022-06-09 11:16:12 +02:00

72 lines
1.4 KiB
Nix

{ lib
, fetchFromGitHub
, fetchpatch
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "crackmapexec";
version = "5.2.2";
format = "pyproject";
src = fetchFromGitHub {
owner = "byt3bl33d3r";
repo = "CrackMapExec";
rev = "v${version}";
hash = "sha256-IgD8RjwVEoEXmnHU3DR3wzUdJDWIbFw9sES5qYg30a8=";
};
nativeBuildInputs = with python3.pkgs; [
poetry-core
pythonRelaxDepsHook
];
propagatedBuildInputs = with python3.pkgs; [
aioconsole
beautifulsoup4
dsinternals
impacket
lsassy
msgpack
neo4j
paramiko
pylnk3
pypsrp
pywerview
requests
requests_ntlm
termcolor
terminaltables
xmltodict
];
patches = [
# Switch to poetry-core, https://github.com/byt3bl33d3r/CrackMapExec/pull/580
(fetchpatch {
name = "switch-to-poetry-core.patch";
url = "https://github.com/byt3bl33d3r/CrackMapExec/commit/e5c6c2b5c7110035b34ea7a080defa6d42d21dd4.patch";
hash = "sha256-5SpoQD+uSYLM6Rdq0/NTbyEv4RsBUuawNNsknS71I9M=";
})
];
pythonRelaxDeps = true;
pythonRemoveDeps = [
"bs4"
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"cme"
];
meta = with lib; {
description = "Tool for pentesting networks";
homepage = "https://github.com/byt3bl33d3r/CrackMapExec";
license = with licenses; [ bsd2 ];
maintainers = with maintainers; [ fab ];
mainProgram = "cme";
};
}