blix/blix.nix

178 lines
5.7 KiB
Nix
Raw Permalink Normal View History

2021-03-06 02:45:15 +00:00
# This module defines a small blix live enviorment
{config, pkgs, lib, ...}:
with lib;
{
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/iso-image.nix>
<nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
<nixpkgs/nixos/modules/profiles/clone-config.nix>
<nixpkgs/nixos/modules/profiles/all-hardware.nix>
<nixpkgs/nixos/modules/profiles/base.nix>
];
# ISO naming.
isoImage.isoName = "blix-${config.system.nixos.label}-${pkgs.stdenv.system}.iso";
isoImage.volumeID = substring 0 11 "BLIX_ISO";
# EFI booting
isoImage.makeEfiBootable = true;
# USB booting
isoImage.makeUsbBootable = true;
# Add Memtest86+ to the CD.
boot.loader.grub.memtest86.enable = true;
networking.hostName = "blix";
networking.wireless.enable = true;
networking.useDHCP = true;
i18n.defaultLocale = "en_US.UTF-8";
documentation.nixos.enable = true;
2021-03-08 12:47:13 +00:00
services.getty.autologinUser = "fops";
2021-03-06 02:45:15 +00:00
2021-03-08 12:47:13 +00:00
users.users.fops = {
2021-03-06 02:45:15 +00:00
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" "libvirt" "docker" ];
2022-02-19 17:55:10 +00:00
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDBUk5IjB3+trnVO6pncivFbOetUL8BPTl3CwAtk4532 xfnw@raven" ];
2021-03-06 02:45:15 +00:00
};
security.sudo.wheelNeedsPassword = false;
2021-03-06 12:23:49 +00:00
services.xserver.enable = true;
2021-03-06 22:32:47 +00:00
services.xserver.desktopManager.xfce.enable = true;
2021-03-06 12:23:49 +00:00
services.xserver.displayManager.autoLogin.enable = true;
2021-03-08 12:47:13 +00:00
services.xserver.displayManager.autoLogin.user = "fops";
2021-03-06 12:23:49 +00:00
2021-03-06 22:32:47 +00:00
2021-03-06 02:45:15 +00:00
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
2021-06-13 15:54:32 +00:00
(callPackage ./manuals.nix { })
2021-03-06 02:45:15 +00:00
wget vim tmux gnupg ncdu mosh
git curl rsync wireguard-tools
2021-03-07 12:22:11 +00:00
w3m lynx elinks ungoogled-chromium
2022-02-26 23:55:08 +00:00
inetutils dnsutils dnsx whois jo jq
2021-03-06 02:45:15 +00:00
# network analysis
2022-02-19 16:29:12 +00:00
nmap masscan wireshark wireshark-qt termshark netsniff-ng argus
bettercap stress-ng multimon-ng aircrack-ng mfcuk pixiewps nuclei
2022-02-19 17:55:10 +00:00
hcxtools dirb sslsplit whsniff sniffglue pwnat cutecom minicom
2022-04-21 19:34:19 +00:00
subfinder zap hping proxychains minimodem macchanger testssl
gnirehtet whatweb # cadaver
2021-03-06 02:45:15 +00:00
# research
2021-03-06 12:23:49 +00:00
theharvester tor
2021-03-06 02:45:15 +00:00
# disk analysis
2022-02-26 20:17:43 +00:00
testdisk squashfs-tools-ng ddrescue yara yarGen yallback
2021-03-06 03:09:11 +00:00
stegseek apktool adbfs-rootless ursadb android-udev-rules
2022-02-19 17:55:10 +00:00
valgrind dos2unix file exiftool foremost pngcheck ccrypt
docker xcd trufflehog sleuthkit radare2 radare2-cutter
2022-04-24 16:47:20 +00:00
clamav spyre snowman jadx ghidra # volatility
2021-03-06 02:45:15 +00:00
# exploit
doona metasploit twa wifite2 burpsuite wpscan wfuzz
2021-03-06 22:46:21 +00:00
sqlmap thc-hydra (callPackage ./pkgs/routersploit.nix { })
dsniff (callPackage ./pkgs/beef { }) dnschef
2021-03-06 02:45:15 +00:00
# crack
2022-02-19 16:29:12 +00:00
hashcat mfoc john crunch diceware crowbar # pyrit
2022-02-19 17:55:10 +00:00
cowpatty bully deepsea reaverwps amass medusa nasty
2021-07-20 19:12:51 +00:00
(callPackage ./pkgs/cupp.nix { })
2021-03-06 02:45:15 +00:00
# security scan
2022-02-19 17:55:10 +00:00
lynis chkrootkit aflplusplus
2021-03-06 03:09:11 +00:00
# development
2022-02-19 16:29:12 +00:00
arduino python3Packages.pip # ino
2021-03-06 22:46:21 +00:00
2021-03-08 01:25:31 +00:00
# python3 packages
python3 python3Packages.bluepy python3Packages.future
python3Packages.requests python3Packages.paramiko python3Packages.pysnmp
python3Packages.pycryptodome python3Packages.setuptools
2022-02-19 16:29:12 +00:00
python3Packages.binwalk python3Packages.sqlmap
2021-03-08 01:25:31 +00:00
2021-03-06 22:46:21 +00:00
# disclosure
2021-06-13 15:54:32 +00:00
catgirl tmate
2021-03-06 02:45:15 +00:00
];
2021-06-13 15:54:32 +00:00
environment.etc = {
"tmux.conf" = {
text = ''
set-option -g default-terminal "tmux-256color"
set-option -g history-limit 20000
set-option -g focus-events on
set-option -g xterm-keys on
set-option -g set-titles on
set-option -g set-titles-string "tmux - #T"
2021-06-13 15:54:32 +00:00
set-option -g escape-time 25
set-option -g status-left-style "fg=colour10"
set-option -g status-right-style "fg=colour10"
set-option -g status-style "bg=default,fg=colour10"
set-option -g pane-active-border-style "bg=default,fg=colour10"
set-option -g window-status-activity-style "bg=default,fg=colour235,bold,reverse"
set-option -g window-status-bell-style "bg=default,fg=white,bold,reverse"
set-option -g window-status-current-style "bg=default,fg=colour10,bold,reverse"
set-option -g window-status-style "bg=default,fg=colour10"
set-option -g status on
set-option -g status-interval 5
set-option -g status-position top
set-option -g status-justify left
set-option -g window-status-format " #I #W "
2021-06-13 15:54:32 +00:00
set-option -g window-status-separator ""
set-option -g window-status-current-format " #I #W "
2021-06-13 15:54:32 +00:00
set-option -g status-left ""
set-option -g status-right "#h %I:%M %p"
2021-06-13 15:54:32 +00:00
set-option -g status-left-length 0
set-option -g monitor-activity on
set-option -g visual-activity on
set-option -g renumber-windows on
set-option -g focus-events on
bind N swap-window -t +1 -d
bind P swap-window -t -1 -d
bind S-Left swap-pane -s '{left-of}'
bind S-Right swap-pane -s '{right-of}'
bind S-Up swap-pane -s '{up-of}'
bind S-Down swap-pane -s '{down-of}'
2021-06-13 15:54:32 +00:00
'';
};
"vimrc" = {
text = ''
set number
set relativenumber
syntax on
color pablo
set nocompatible
filetype plugin indent on
set showcmd
set showmatch
set ignorecase
set smartcase
set incsearch
set autowrite
set hidden
set mouse=a
set textwidth=60
set formatoptions-=t
'';
};
};
2021-03-06 02:45:15 +00:00
environment.variables.GC_INITIAL_HEAP_SIZE = "1M";
boot.kernel.sysctl."vm.overcommit_memory" = "1";
boot.consoleLogLevel = 7;
networking.firewall.logRefusedConnections = false;
system.extraDependencies = with pkgs; [ stdenv stdenvNoCC busybox jq ];
services.openssh.enable = true;
}