-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.18
41 lines (39 loc) · 1.71 KB
/
Dockerfile.18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
FROM ubuntu:bionic
# install necessary packages
RUN dpkg --add-architecture i386 && apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
# building tools
build-essential binutils coreutils cmake gcc gcc-multilib bison flex upx-ucl \
autoconf automake libtool pax-utils \
# debug
gdb gdb-multiarch gdbserver glibc-source strace ltrace \
libc6-dbg libc6-dbg:i386 libc6-dev libc6-dev:i386 \
# python and related header
python python-dev python-pip python-setuptools python-wheel \
python3 python3-dev python3-pip python3-setuptools python3-wheel \
libssl-dev libffi-dev \
ruby ruby-dev \
# other tools
wget curl vim git \
# untar glibc source code
&& cd /usr/src/glibc/ && tar xf glibc-2.27.tar.xz && rm -rf glibc-2.27.tar.xz \
#
&& python3 -m pip install -U --no-cache-dir pip \
&& python2 -m pip install -U --no-cache-dir pip \
# pwndbg & gef
&& git clone --depth 1 https://github.com/pwndbg/pwndbg.git /opt/pwndbg \
&& cd /opt/pwndbg && ./setup.sh \
&& curl -fLo /opt/gef.py http://gef.blah.cat/py \
&& echo "# source /opt/gef.py" >> ~/.gdbinit \
# pwntools, ropgadget
&& python3 -m pip install -U --no-cache-dir pwntools ropgadget \
&& python2 -m pip install -U --no-cache-dir pwntools ropgadget \
&& gem install one_gadget seccomp-tools \
# radare2
&& git clone --depth 1 https://github.com/radareorg/radare2.git /tmp/radare2 \
&& cd /tmp/radare2 && sys/install.sh --install > /dev/null \
&& rm -rf /tmp/radare2 \
# clean up
&& apt-get autoremove -y --purge && apt-get autoclean -y \
&& rm -rf ~/.cache /var/lib/apt/lists/* /tmp/* /var/tmp/**
ENV LANG C.UTF-8