1{ lib
2, stdenv
3, python3
4, fetchFromGitHub
5, makeWrapper
6, medusa
7}:
8
9stdenv.mkDerivation rec {
10 pname = "brutespray";
11 version = "1.8.1";
12
13 src = fetchFromGitHub {
14 owner = "x90skysn3k";
15 repo = pname;
16 rev = "${pname}-${version}";
17 sha256 = "sha256-O9HOsj0R6oHI7jjG4FBqbrSAQSVomgeD7tyPDNCNmIo=";
18 };
19
20 postPatch = ''
21 substituteInPlace brutespray.py \
22 --replace "/usr/share/brutespray" "$out/share/brutespray"
23 '';
24
25 dontBuild = true;
26 nativeBuildInputs = [ python3.pkgs.wrapPython makeWrapper ];
27 buildInputs = [ python3 ];
28
29 installPhase = ''
30 install -Dm0755 brutespray.py $out/bin/brutespray
31 patchShebangs $out/bin
32 patchPythonScript $out/bin/brutespray
33 wrapProgram $out/bin/brutespray \
34 --prefix PATH : ${lib.makeBinPath [ medusa ]}
35
36 mkdir -p $out/share/brutespray
37 cp -r wordlist/ $out/share/brutespray/wordlist
38 '';
39
40 meta = with lib; {
41 homepage = "https://github.com/x90skysn3k/brutespray";
42 description = "Tool to do brute-forcing from Nmap output";
43 longDescription = ''
44 This tool automatically attempts default credentials on found services
45 directly from Nmap output.
46 '';
47 license = licenses.mit;
48 maintainers = with maintainers; [ ];
49 };
50}