Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 30 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
FROM ubuntu:22.04
FROM debian:stable-slim

# environment variables
ENV DEBIAN_FRONTEND="noninteractive"
ENV HOME="/root"
ENV XDG_DATA_HOME="/root/.config"
ENV LANG=C.UTF-8
ENV LC_ALL="en_US.UTF-8"
ENV LC_CTYPE="en_US.UTF-8"
ENV TERM="xterm-256color"
Expand All @@ -20,6 +21,7 @@ ARG MSF_PATH="/opt/metasploit-framework/bin"
ARG MSF_SCRIPT="msfinstall"
ARG R2="https://github.com/radareorg/radare2.git"
ARG R2_PATH="/radare/radare2/sys"
ARG R2_PLUGINS="r2ghidra esilsolve r2ghidra-sleigh"
ARG RSACTFTOOL="https://github.com/RsaCtfTool/RsaCtfTool.git"
ARG RUST_PATH="${HOME}""/.cargo/bin"
ARG PIP_FILE="${HOME}""/requirements.txt"
Expand All @@ -28,6 +30,7 @@ ARG SECLISTS="https://github.com/danielmiessler/SecLists.git"
ARG WORDLIST_DIR_MAIN="/data/wordlists"
ARG WORDLIST_DIR_LINK="/usr/share/wordlists"
ARG ROCKYOU_PATH="${WORDLIST_DIR_MAIN}""/Passwords/Leaked-Databases"
ARG GOLANG_VER="go1.22.4.linux-amd64.tar.gz"

WORKDIR /tmp

Expand All @@ -37,15 +40,15 @@ COPY ./configs/.* "${HOME}"/
COPY ./configs/.config "${HOME}"/.config

# Overwrite sources.list
COPY ./apt_config/sources.list /etc/apt/sources.list
# COPY ./apt_config/sources.list /etc/apt/sources.list

# Update everything
# Also, add the archs we want for QEMU here
RUN dpkg --add-architecture i386 &&\
dpkg --add-architecture arm64 &&\
apt -y update &&\
apt -y upgrade &&\
apt -y install libc6:arm64
apt -y install libc6:arm64 locales

# Add a bunch of random things we may need from apt.
# For some reason, when I try to install too much at once,
Expand All @@ -62,18 +65,20 @@ RUN apt -y install\
locales\
software-properties-common\
tmux\
wget\
trash-cli &&\
mkdir -p ~/.local/share/Trash

# Fix our locale
RUN sed -i '/^#.*en_US.UTF-8.*/s/^#//' /etc/locale.gen &&\
dpkg-reconfigure locales &&\
locale-gen en_US.UTF-8 &&\
dpkg-reconfigure locales

# Next, networking tools
RUN apt -y install\
curl\
netcat\
netcat-openbsd\
net-tools\
nmap\
subnetcalc\
Expand Down Expand Up @@ -115,8 +120,9 @@ RUN apt -y install\
sagemath

# Part 3 (qemu full and user)
# (changed qemu to qemu-system for debian)
RUN apt -y install\
qemu\
qemu-system\
qemu-user-static

# Part 4 (remaining packages)
Expand All @@ -125,6 +131,9 @@ RUN apt -y install\
wine\
xz-utils

# Install Golang
RUN wget https://go.dev/dl/$GOLANG_VER && tar -C /usr/local -xzf $GOLANG_VER && rm $GOLANG_VER

# Let's decide what archs we want in the container
# by default. Users can install additional ones
# as needed since the packages are relatively small
Expand All @@ -133,7 +142,7 @@ RUN apt -y install\

# Add NodeJS
RUN cd /tmp &&\
curl -sL install-node.vercel.app/lts > ./lts &&\
curl -sL install-node.vercel.app/lts > ./lts &&\
chmod +x ./lts &&\
./lts --yes &&\
rm -rf ./lts
Expand All @@ -153,6 +162,9 @@ ENV PATH="${VIRTUAL_ENV}""/bin:""${HOME}""/bin:""${RUST_PATH}"":""${PATH}"

RUN apt -y install\
python3\
python3-pyelftools\
python3-pycryptodome\
python3-gmpy2\
python3-dev\
python3-distutils\
python3-pip\
Expand Down Expand Up @@ -227,6 +239,9 @@ RUN mkdir /radare &&\
cd "${R2_PATH}" &&\
./install.sh

# Install r2 plugins
RUN r2pm -ci $R2_PLUGINS

# Install and link RsaCtfTool
# We have to keep this source dir around, as well
RUN cd / &&\
Expand Down Expand Up @@ -254,6 +269,15 @@ RUN apt-file update

WORKDIR "${HOME}""/workbench"

# Mobile and RE additionals
RUN mkdir /opt/jadx
RUN wget https://github.com/skylot/jadx/releases/download/v1.5.0/jadx-1.5.0.zip -O /opt/jadx/jadx.zip && unzip /opt/jadx/jadx.zip -d /opt/jadx
RUN ln -s /opt/jadx/bin/jadx /usr/bin

# Some web tools
RUN /usr/local/go/bin/go install github.com/ffuf/ffuf/v2@latest
RUN /usr/local/go/bin/go install github.com/jaeles-project/jaeles@latest

# Cleanup
RUN apt clean &&\
rm -rf /var/lib/apt/lists/* /var/tmp/*
Expand Down
5 changes: 5 additions & 0 deletions configs/.bashrc
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,11 @@ alias binwalk="binwalk --run-as=root"

alias aarch64="qemu-aarch64-static -L /usr/aarch64-linux-gnu/"

# golang
export PATH=$PATH:$HOME/.local/bin
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$HOME/go/bin/

# batcat special case
if type batcat 1>/dev/null 2>/dev/null; then
alias cat="batcat"
Expand Down
8 changes: 4 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
angr==9.2.68
gmpy==1.17
gmpy2==2.1.5
#gmpy==1.17
#gmpy2==2.1.5
Pillow==10.0.0
pwntools==4.10.0
pycryptodome==3.18.0
pyelftools==0.29
#pycryptodome==3.18.0
#pyelftools==0.29
ropper==1.13.8
unicorn==2.0.1.post1
xortool==1.0.2