diff --git a/pkgs/tools/security/brutespray/default.nix b/pkgs/tools/security/brutespray/default.nix new file mode 100644 index 00000000000..be7c99f5252 --- /dev/null +++ b/pkgs/tools/security/brutespray/default.nix @@ -0,0 +1,40 @@ +{ stdenv, python3, fetchFromGitHub, makeWrapper, medusa }: + +stdenv.mkDerivation rec { + pname = "brutespray"; + version = "1.6.6"; + + src = fetchFromGitHub { + owner = "x90skysn3k"; + repo = pname; + rev = "brutespray-${version}"; + sha256 = "1rj8fkq1xz4ph1pmldphlsa25mg6xl7i7dranb0qjx00jhfxjxjh"; + }; + + postPatch = '' + substituteInPlace brutespray.py \ + --replace "/usr/share/brutespray" "$out/share/brutespray" + ''; + + dontBuild = true; + nativeBuildInputs = [ python3.pkgs.wrapPython makeWrapper ]; + buildInputs = [ python3 ]; + + installPhase = '' + install -Dm0755 brutespray.py $out/bin/brutespray + patchShebangs $out/bin + patchPythonScript $out/bin/brutespray + wrapProgram $out/bin/brutespray \ + --prefix PATH : ${stdenv.lib.makeBinPath [ medusa ]} + + mkdir -p $out/share/brutespray + cp -r wordlist/ $out/share/brutespray/wordlist + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/x90skysn3k/brutespray"; + description = "Brute-Forcing from Nmap output - Automatically attempts default creds on found services"; + license = licenses.mit; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/tools/security/medusa/default.nix b/pkgs/tools/security/medusa/default.nix new file mode 100644 index 00000000000..bc18f165be7 --- /dev/null +++ b/pkgs/tools/security/medusa/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, pkg-config, freerdp, openssl, libssh2 }: + +stdenv.mkDerivation rec { + pname = "medusa-unstable"; + version = "2018-12-16"; + + src = fetchFromGitHub { + owner = "jmk-foofus"; + repo = "medusa"; + rev = "292193b3995444aede53ff873899640b08129fc7"; + sha256 = "0njlz4fqa0165wdmd5y8lfnafayf3c4la0r8pf3hixkdwsss1509"; + }; + + outputs = [ "out" "man" ]; + + configureFlags = [ "--enable-module-ssh=yes" ]; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ freerdp openssl libssh2 ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/jmk-foofus/medusa"; + description = "A speedy, parallel, and modular, login brute-forcer"; + license = licenses.gpl2; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34040871511..68851738f9e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1286,6 +1286,8 @@ in bruteforce-luks = callPackage ../tools/security/bruteforce-luks { }; + brutespray = callPackage ../tools/security/brutespray { }; + breakpointHook = assert stdenv.isLinux; makeSetupHook { } ../build-support/setup-hooks/breakpoint-hook.sh; @@ -1968,6 +1970,8 @@ in massren = callPackage ../tools/misc/massren { }; + medusa = callPackage ../tools/security/medusa { }; + megasync = libsForQt5.callPackage ../applications/misc/megasync { }; megacmd = callPackage ../applications/misc/megacmd { };