- Security researcher working Chaitin Tech.
- CTF Player @FlappyPig @r3kapig
- Blog | Twitter
winmin / ctfpwn-env Goto Github PK
View Code? Open in Web Editor NEWScript to setup pwn environment for CTF with Docker
License: MIT License
Script to setup pwn environment for CTF with Docker
License: MIT License
I think dockerfiles are containing lots of repetitive lines. It makes managing them frustrating. For example, if we are going to add a tool to all dockers, we need to literally edit all dockerfiles. If we are planning to support more ubuntu versions (especially non-lts ones), it will be harder.
One possible solution to this problem is generating files with a script. In this script, we can put common things to one list and use other containers to extend each specific image if they have uncommon things.
It would be nice if dockerfile had import/include kind of things so that we could create a common file to include. It is not officially supported, but I've found this dockerfile-plus project. The project kind of looks young and immature to me yet. Thus, I am not sure if we should use it or not, but it is worth having an eye on it.
Even though we are root and we do not need sudo
command. Some installation scripts have sudo in it like this.
If sudo
is not installed the commands that start with sudo in scripts will fail. Thus, it is better to have it installed.
After running apt update
, I tried to run apt upgrade
and got the following error:
root@arcolinuxd:/pwn# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
alsa-ucm-conf apt base-files binutils binutils-common binutils-x86-64-linux-gnu ca-certificates curl
dirmngr git git-man glibc-source gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client
gpg-wks-server gpgconf gpgsm gpgv libapt-pkg6.0 libasound2 libasound2-data libbinutils libc-bin
libc-dev-bin libc6 libc6:i386 libc6-dbg libc6-dbg:i386 libc6-dev libc6-dev-i386 libc6-dev-x32
libc6-i386 libc6-x32 libctf-nobfd0 libctf0 libcurl3-gnutls libcurl4 libgdk-pixbuf2.0-0
libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libglib2.0-0 libglib2.0-bin libglib2.0-data
libglib2.0-dev libglib2.0-dev-bin libhogweed5 libldap-2.4-2 libldap-common liblz4-1 libnettle7
libnss-systemd libp11-kit0 libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g
libprocps8 libproxy1v5 libpython3.8 libpython3.8-dev libpython3.8-minimal libpython3.8-stdlib
librsvg2-2 librsvg2-common libruby2.7 libseccomp2 libssl1.1 libsystemd0 libtiff5 libudev1 libwebp6
libx11-6 libx11-data libzstd1 linux-libc-dev openssh-client openssl procps python-pip-whl
python3-distutils python3-lib2to3 python3-pip python3.8 python3.8-dev python3.8-minimal ruby2.7
ruby2.7-dev ruby2.7-doc systemd systemd-sysv systemd-timesyncd tar tzdata ubuntu-keyring
99 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 101 MB of archives.
After this operation, 31.5 MB of additional disk space will be used.
E: You don't have enough free space in /var/cache/apt/archives/.
It also prevents us from installing softwares inside the container.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.