FROM ubuntu:24.04 ENV container container # Base system + networking RUN apt-get update && \ apt-get install -y \ dbus systemd openssh-server \ curl wget ca-certificates \ sudo iproute2 iputils-ping net-tools \ dnsutils whois traceroute mtr-tiny \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Recon CLI tooling RUN apt-get update && \ apt-get install -y \ nmap \ netcat-openbsd \ nikto \ sqlmap \ hydra \ jq \ python3 python3-pip python3-venv \ dnsmap \ dnsrecon \ dnswalk \ dirb \ wfuzz \ sslscan \ testssl.sh \ whatweb \ smbclient \ ldap-utils \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Go for installing Go-based tools RUN apt-get update && \ apt-get install -y golang-go && \ apt-get clean && rm -rf /var/lib/apt/lists/* # Install Go-based recon tools RUN go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest && \ go install github.com/projectdiscovery/httpx/cmd/httpx@latest && \ go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest && \ go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest && \ go install github.com/tomnomnom/httprobe@latest && \ go install github.com/tomnomnom/gf@latest && \ go install github.com/tomnomnom/waybackurls@latest && \ go install github.com/tomnomnom/assetfinder@latest && \ go install github.com/ffuf/ffuf/v2@latest && \ go install github.com/OJ/gobuster/v3@latest # Copy go-installed binaries to system PATH and add GOPATH/bin to profile RUN cp /root/go/bin/* /usr/local/bin/ 2>/dev/null; true RUN echo 'export PATH=$PATH:/root/go/bin' > /etc/profile.d/gopath.sh && chmod +x /etc/profile.d/gopath.sh # Init setup for container machine RUN >/etc/machine-id && >/var/lib/dbus/machine-id RUN systemctl set-default multi-user.target && \ systemctl mask \ dev-hugepages.mount \ sys-fs-fuse-connections.mount \ systemd-update-utmp.service \ systemd-tmpfiles-setup.service \ console-getty.service && \ systemctl disable \ networkd-dispatcher.service # SSH config for remote access RUN sed -i -e 's/^AcceptEnv LANG LC_\*$/#AcceptEnv LANG LC_*/' /etc/ssh/sshd_config && \ sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config