148 lines
2.2 KiB
Nix
148 lines
2.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
# Define a list of all cybersec tools
|
|
cybersecTools = with pkgs; [
|
|
# Nmap and related tools
|
|
nmap
|
|
gobuster
|
|
hydra
|
|
wireshark
|
|
ffuf
|
|
metasploit-framework
|
|
aircrack-ng
|
|
netcat
|
|
powershell
|
|
theharvester
|
|
sqlmap
|
|
rkhunter
|
|
legion
|
|
dirb
|
|
steghide
|
|
hashcat
|
|
responder
|
|
cewl
|
|
snort
|
|
nuclei
|
|
wpscan
|
|
wifite
|
|
sqlsus
|
|
netdiscover
|
|
chkrootkit
|
|
maltego
|
|
burpsuite
|
|
nikto
|
|
john
|
|
autopsy
|
|
dirbuster
|
|
bloodhound
|
|
sherlock
|
|
wordlists
|
|
wfuzz
|
|
impacket-scripts
|
|
havoc
|
|
foremost
|
|
ettercap
|
|
dirsearch
|
|
crunch
|
|
bettercap
|
|
mimikatz
|
|
gophish
|
|
tcpdump
|
|
recon-ng
|
|
hping3
|
|
email2phonenumber
|
|
cisco-torch
|
|
beef-xss
|
|
whatweb
|
|
veil
|
|
subfinder
|
|
macchanger
|
|
dnsrecon
|
|
dnsenum
|
|
armitage
|
|
yersinia
|
|
parsero
|
|
metagoofil
|
|
maryam
|
|
evil-winrm
|
|
dvwa
|
|
dmitry
|
|
amass
|
|
wifiphisher
|
|
weevely
|
|
sublist3r
|
|
sslyze
|
|
spiderfoot
|
|
scapy
|
|
reaver
|
|
mdk3
|
|
massdns
|
|
masscan
|
|
lynis
|
|
linkedin2username
|
|
ligolo-ng
|
|
jsql
|
|
ghidra
|
|
fierce
|
|
fern-wifi-cracker
|
|
fcrackzip
|
|
crowbar
|
|
crackmapexec
|
|
commix
|
|
arpwatch
|
|
yara
|
|
trufflehog
|
|
terraform
|
|
subjack
|
|
pspy
|
|
powershell-empire
|
|
pompem
|
|
p0f
|
|
nbtscan
|
|
medusa
|
|
finalrecon
|
|
driftnet
|
|
];
|
|
|
|
# Additional dependencies for specific tools
|
|
wiresharkExtras = with pkgs; [
|
|
wireshark
|
|
wireshark-common
|
|
wireshark-dev
|
|
wireshark-doc
|
|
libwireshark-data
|
|
libwireshark-dev
|
|
tshark
|
|
];
|
|
|
|
johnExtras = with pkgs; [
|
|
john
|
|
john-data
|
|
];
|
|
in {
|
|
options.cybersec.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Install cybersec tools for penetration testing and security analysis.";
|
|
};
|
|
|
|
config = lib.mkIf config.cybersec.enable {
|
|
home.packages =
|
|
cybersecTools
|
|
++ wiresharkExtras
|
|
++ johnExtras;
|
|
|
|
# Add shell aliases for convenience
|
|
home.sessionVariables = {
|
|
# Example aliases
|
|
"veil" = "${pkgs.veil}/bin/veil";
|
|
"burpsuite" = "${pkgs.burpsuite}/bin/burpsuite";
|
|
"recon-ng" = "${pkgs.recon-ng}/bin/recon-ng";
|
|
};
|
|
};
|
|
}
|