From 48838d63423e3383271e9be789ee38527274a1c4 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 24 Aug 2016 23:21:47 +1000 Subject: [PATCH 001/149] Updating Tools --- apktool/install | 4 ++-- df/install | 2 +- gdb/install | 4 ++-- qemu/install | 4 ++-- reveng/install | 6 +++--- snowman/install | 7 ++----- 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/apktool/install b/apktool/install index 244f6d2..4bf1ca2 100755 --- a/apktool/install +++ b/apktool/install @@ -1,8 +1,8 @@ #!/bin/bash -e mkdir bin wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool -wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.0.2.jar -mv apktool_2.0.2.jar bin/apktool.jar +wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.2.0.jar +mv apktool_2.2.0.jar bin/apktool.jar mv apktool bin/ chmod 755 bin/apktool chmod 755 bin/apktool.jar diff --git a/df/install b/df/install index c8c7ffb..db470e7 100755 --- a/df/install +++ b/df/install @@ -1,6 +1,6 @@ #!/bin/bash -wget -O - http://www.bay12games.com/dwarves/df_42_02_linux.tar.bz2 | tar xj +wget -O - http://www.bay12games.com/dwarves/df_43_05_linux.tar.bz2 | tar xj mkdir -p bin cat < bin/dwarf_fortress diff --git a/gdb/install b/gdb/install index 24c45b9..55a9047 100755 --- a/gdb/install +++ b/gdb/install @@ -1,7 +1,7 @@ #!/bin/bash -curl https://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.gz | tar xz -cd gdb-7.11 +curl https://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz | tar xz +cd gdb-7.11.1 ./configure --prefix=$(dirname $PWD) --with-python=python2 --enable-targets=all make -j $(nproc) make install diff --git a/qemu/install b/qemu/install index c0803c7..5108a7a 100755 --- a/qemu/install +++ b/qemu/install @@ -1,7 +1,7 @@ #!/bin/bash -curl http://wiki.qemu-project.org/download/qemu-2.4.1.tar.bz2 | tar xvj -cd qemu-2.4.1 +curl http://wiki.qemu-project.org/download/qemu-2.6.1.tar.bz2 | tar xvj +cd qemu-2.6.1 if [[ "$(python --version 2>&1)" =~ Python\ 3 ]]; then ./configure "--prefix=$(dirname $PWD)" "--python=$(which python2)" else diff --git a/reveng/install b/reveng/install index 3d066ea..b280b50 100755 --- a/reveng/install +++ b/reveng/install @@ -1,11 +1,11 @@ #!/bin/bash -curl http://jaist.dl.sourceforge.net/project/reveng/1.4.0/reveng-1.4.0.tar.gz | tar xz -cd reveng-1.4.0 +curl http://jaist.dl.sourceforge.net/project/reveng/1.4.4/reveng-1.4.4.tar.gz | tar xz +cd reveng-1.4.4 sed -i -e "s/^#define BMP_BIT.*/#define BMP_BIT 64/" config.h sed -i -e "s/^#define BMP_SUB.*/#define BMP_SUB 32/" config.h make -j $(nproc) cd .. mkdir -p bin -cp reveng-1.4.0/reveng bin +cp reveng-1.4.4/reveng bin diff --git a/snowman/install b/snowman/install index c421d6a..0273262 100755 --- a/snowman/install +++ b/snowman/install @@ -2,11 +2,8 @@ INST_DIR=$PWD -#[ -e snowman ] || git clone --depth 1 --depth 1 https://github.com/yegord/snowman -[ -e v1.0.tar.gz ] || wget https://github.com/nihilus/snowman/archive/v1.0.tar.gz -tar xzf v1.0.tar.gz -cd snowman-1.0 -rm -rf build +[ -e snowman ] || git clone --depth 1 https://github.com/yegord/snowman +cd snowman mkdir build cd build cmake -D CMAKE_INSTALL_PREFIX=$INST_DIR ../src From e57a86abd0d41c57a568def2027553720c151b42 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 26 Aug 2016 18:15:00 -0700 Subject: [PATCH 002/149] modernize a bit --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c7e4e9c..1963f11 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: python python: 2.7 sudo: required -dist: trusty +dist: xenial install: (sudo apt-get update || true) && bin/manage-tools -s setup script: bin/manage-tools -s test all From ce8094152604ee93026bb7c75c500f63f329beb2 Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Wed, 21 Sep 2016 09:20:39 +0000 Subject: [PATCH 003/149] Add capstone --- README.md | 1 + bin/manage-tools | 3 +++ capstone/install | 4 ++++ capstone/test | 33 +++++++++++++++++++++++++++++++++ capstone/uninstall | 4 ++++ 5 files changed, 45 insertions(+) create mode 100755 capstone/install create mode 100755 capstone/test create mode 100755 capstone/uninstall diff --git a/README.md b/README.md index c836b6f..6f43ac3 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ Installers for the following tools are included: | binary | [barf](https://github.com/programa-stic/barf-project) | Binary Analysis and Reverse-engineering Framework. | | binary | [bindead](https://bitbucket.org/mihaila/bindead/wiki/Home) | A static analysis tool for binaries. | | binary | [binjitsu](https://github.com/binjitsu/binjitsu) | Useful CTF utilities. pwntools fork. | +| binary | [capstone](http://www.capstone-engine.org) | Multi-architecture disassembly framework. | | binary | [checksec](https://github.com/slimm609/checksec.sh) | Check binary hardening settings. | | binary | [codereason](https://github.com/trailofbits/codereason) | Semantic Binary Code Analysis Framework. | | binary | [crosstool-ng](http://crosstool-ng.org/) | Cross-compilers and cross-architecture tools. | diff --git a/bin/manage-tools b/bin/manage-tools index 6ad811f..137090b 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -139,6 +139,9 @@ function base_build_setup() # create the py2 virtualenv "$PWD/bin/ctf-tools-pip" freeze 2>&1 >/dev/null + + # create the py3 virtualenv + "$PWD/bin/ctf-tools-pip3" freeze 2>&1 >/dev/null } diff --git a/capstone/install b/capstone/install new file mode 100755 index 0000000..600439d --- /dev/null +++ b/capstone/install @@ -0,0 +1,4 @@ +#!/bin/bash + +ctf-tools-pip install -U capstone +ctf-tools-pip3 install -U capstone diff --git a/capstone/test b/capstone/test new file mode 100755 index 0000000..f7e1ebd --- /dev/null +++ b/capstone/test @@ -0,0 +1,33 @@ +#!/bin/bash -e + +PY_TEST_FILE=$(mktemp) +cat << END > $PY_TEST_FILE +from capstone import * +import sys + +CODE = b"\x55\x48\x8b\x05\xb8\x13\x00\x00" + +addresses = [0x1000, 0x1001] +md = Cs(CS_ARCH_X86, CS_MODE_64) +for idx, i in enumerate(md.disasm(CODE, 0x1000)): + if i.address != addresses[idx]: + sys.exit(1) + +sys.exit(0) +END + +source ${VIRTUALENVWRAPPER_SCRIPT} + +set +e +workon ctftools +set -e +python $PY_TEST_FILE +deactivate + +set +e +workon ctftools3 +set -e +python $PY_TEST_FILE +deactivate + +rm $PY_TEST_FILE diff --git a/capstone/uninstall b/capstone/uninstall new file mode 100755 index 0000000..233dd9e --- /dev/null +++ b/capstone/uninstall @@ -0,0 +1,4 @@ +#!/bin/bash + +ctf-tools-pip uninstall -y capstone || true +ctf-tools-pip3 uninstall -y capstone || true From d9f5fb07d3a353ffa69c31bd631793e72d1304ce Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Wed, 21 Sep 2016 12:03:01 +0000 Subject: [PATCH 004/149] Add z3 theorem prover --- README.md | 1 + bin/manage-tools | 6 ++++-- z3/install | 16 ++++++++++++++++ z3/test | 7 +++++++ z3/uninstall | 4 ++++ 5 files changed, 32 insertions(+), 2 deletions(-) create mode 100755 z3/install create mode 100755 z3/test create mode 100755 z3/uninstall diff --git a/README.md b/README.md index c836b6f..350f426 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ Installers for the following tools are included: | stego | [stegsolve](http://www.caesum.com/handbook/stego.htm) | Image steganography solver. | | android | [apktool](https://ibotpeaches.github.io/Apktool/) | Dissect, dis-assemble, and re-pack Android APKs | | android | [android-sdk](http://developer.android.com/sdk) | The android SDK (adb, emulator, etc). | +| misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | There are also some installers for non-CTF stuff to break the monotony! diff --git a/bin/manage-tools b/bin/manage-tools index 6ad811f..dd45484 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -202,8 +202,10 @@ case $ACTION in ;; bin) cd bin - ln -sf ../$TOOL/bin/* . - tool_log "bin symlinks updated" + if [ -d ../$TOOL/bin ]; then + ln -sf ../$TOOL/bin/* . + tool_log "bin symlinks updated" + fi cd .. ;; install) diff --git a/z3/install b/z3/install new file mode 100755 index 0000000..8699376 --- /dev/null +++ b/z3/install @@ -0,0 +1,16 @@ +#!/bin/bash + +git clone https://github.com/Z3Prover/z3 +cd z3 + +# move to ctftools virtual env +source ${VIRTUALENVWRAPPER_SCRIPT} +workon ctftools + +# install z3 +python scripts/mk_make.py --python +cd build +make +make install + +deactivate diff --git a/z3/test b/z3/test new file mode 100755 index 0000000..bc1ae0b --- /dev/null +++ b/z3/test @@ -0,0 +1,7 @@ +#!/bin/bash + +source ${VIRTUALENVWRAPPER_SCRIPT} + +workon ctftools +python -c 'import z3; print(z3.get_version_string())' || exit 1 +exit 0 diff --git a/z3/uninstall b/z3/uninstall new file mode 100755 index 0000000..c3e0d36 --- /dev/null +++ b/z3/uninstall @@ -0,0 +1,4 @@ +#!/bin/bash + +cd z3/build +make uninstall From 86d567e4dacfb8e9087cfa249997fe53f8309892 Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Wed, 21 Sep 2016 12:25:47 +0000 Subject: [PATCH 005/149] Fix tests * Add virtualenvwrapper script before using its functionalities * Setup PATH env var to correctly execute install scripts in travis --- .travis.yml | 4 +++- bin/ctf-tools-pip | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1963f11..ddef3fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,5 +2,7 @@ language: python python: 2.7 sudo: required dist: xenial +env: +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH install: (sudo apt-get update || true) && bin/manage-tools -s setup -script: bin/manage-tools -s test all +script: manage-tools -s test all diff --git a/bin/ctf-tools-pip b/bin/ctf-tools-pip index a55c6be..f7cbd93 100755 --- a/bin/ctf-tools-pip +++ b/bin/ctf-tools-pip @@ -35,6 +35,7 @@ fi if [[ -z "${VIRTUAL_ENV+x}" || "$VIRTUAL_ENV" != "$VE_DIR" ]]; then if [[ -n "${VIRTUAL_ENV+x}" ]]; then + source ${VIRTUAL_ENV}/bin/activate deactivate fi source "$VE_DIR/bin/activate" From 155efa8d5f3a2d44d11bb3d46e21e12f9f71ee5e Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Wed, 21 Sep 2016 18:46:00 +0000 Subject: [PATCH 006/149] pyvmmonitor: retry download because the server is not reliable --- pyvmmonitor/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyvmmonitor/install b/pyvmmonitor/install index 260a329..40f8de8 100755 --- a/pyvmmonitor/install +++ b/pyvmmonitor/install @@ -1,6 +1,7 @@ #!/bin/bash -e -wget https://bbc5a801c67991bd078f7f789065e318bdf9d509.googledrive.com/host/0BwwQN8QrgsRpOGpyc2syWkVYVkE/PyVmMonitor%201.0.1/pyvmmonitor_1.0.1_linux.x86_64.tar.gz -O - | tar xvz +# retry because the server is not reliable +wget -t 10 https://bbc5a801c67991bd078f7f789065e318bdf9d509.googledrive.com/host/0BwwQN8QrgsRpOGpyc2syWkVYVkE/PyVmMonitor%201.0.1/pyvmmonitor_1.0.1_linux.x86_64.tar.gz -O - | tar xvz mkdir -p bin cat < bin/pyvmmonitor-ui From 182dbc5fa270abdcad381d3520ae00a841a1effe Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Fri, 23 Sep 2016 09:21:02 +0000 Subject: [PATCH 007/149] Use no-use-wheel to fix capstone installation --- .travis.yml | 7 +++---- capstone/install | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index ddef3fd..747a250 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,7 @@ -language: python -python: 2.7 +language: bash sudo: required -dist: xenial +dist: trusty env: - PATH=$TRAVIS_BUILD_DIR/bin:$PATH install: (sudo apt-get update || true) && bin/manage-tools -s setup -script: manage-tools -s test all +script: VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test all diff --git a/capstone/install b/capstone/install index 600439d..c6c26a4 100755 --- a/capstone/install +++ b/capstone/install @@ -1,4 +1,4 @@ #!/bin/bash -ctf-tools-pip install -U capstone -ctf-tools-pip3 install -U capstone +ctf-tools-pip install --no-use-wheel -U capstone +ctf-tools-pip3 install --no-use-wheel -U capstone From de650e75a56ebef4223f8b470f87effbe1607422 Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Fri, 23 Sep 2016 09:34:54 +0000 Subject: [PATCH 008/149] Use ctftools virtualenv instead of system pip --- barf/install | 14 +++++++++++--- barf/uninstall | 2 +- binwalk/install | 2 +- panda/install | 2 +- ropper/install | 6 +++--- ropper/test | 5 +++++ shellsploit/install | 6 ++++++ sqlmap/install | 2 +- virtualsocket/install | 2 +- 9 files changed, 30 insertions(+), 11 deletions(-) diff --git a/barf/install b/barf/install index 92b38f1..c705f7a 100755 --- a/barf/install +++ b/barf/install @@ -1,7 +1,10 @@ #!/bin/bash # it's z3! -pip install https://github.com/zardus/z3/archive/pypy-and-setup.zip +ctf-tools-pip install https://github.com/zardus/z3/archive/pypy-and-setup.zip + +source ${VIRTUALENVWRAPPER_SCRIPT} +workon ctftools # pybfd can't be installed with pip git clone --depth 1 https://github.com/Groundworkstech/pybfd @@ -9,11 +12,16 @@ cd pybfd/ python setup.py install cd .. +# install pyasmjit +git clone --depth 1 https://github.com/programa-stic/pyasmjit.git +cd pyasmjit +python setup.py install +cd .. + # install barf git clone --depth 1 https://github.com/programa-stic/barf-project cd barf-project/ -pip install -e pyasmjit/ -pip install -e barf/ +python setup.py install cd .. mkdir -p bin diff --git a/barf/uninstall b/barf/uninstall index 9d67ede..9d78e7c 100755 --- a/barf/uninstall +++ b/barf/uninstall @@ -1,4 +1,4 @@ #!/bin/bash -pip uninstall -y barf pyasmjit +ctf-tools-pip uninstall -y barf pyasmjit rm -f $VIRTUAL_ENV/bin/BARFgadgets diff --git a/binwalk/install b/binwalk/install index 074309c..67b09a5 100755 --- a/binwalk/install +++ b/binwalk/install @@ -1,7 +1,7 @@ #!/bin/bash -e git clone --depth 1 https://github.com/devttys0/binwalk.git -pip install -e binwalk +ctf-tools-pip install -e binwalk mkdir -p bin ln -s $VIRTUAL_ENV/bin/binwalk bin diff --git a/panda/install b/panda/install index 5f1cf0a..e1a01af 100755 --- a/panda/install +++ b/panda/install @@ -11,7 +11,7 @@ cp distorm3/make/linux/*.so distorm3/*.a lib mkdir -p include cp distorm3/include/*.h include -pip install -U pycparser +ctf-tools-pip install -U pycparser sed -i -e "s|/usr/local|$PWD|" panda/qemu/build.sh export QEMU_CFLAGS="-I $PWD/include -L $PWD/lib" diff --git a/ropper/install b/ropper/install index a81cbfd..6e655c9 100755 --- a/ropper/install +++ b/ropper/install @@ -2,6 +2,6 @@ [ -e ropper ] || git clone --depth 1 https://github.com/sashs/Ropper.git ropper -pip install --no-use-wheel --no-cache-dir -I capstone -pip install filebytes -pip install -e ropper +ctf-tools-pip install --no-use-wheel --no-cache-dir -I capstone +ctf-tools-pip install filebytes +ctf-tools-pip install -e ropper diff --git a/ropper/test b/ropper/test index 0a7ecbc..8c9f618 100755 --- a/ropper/test +++ b/ropper/test @@ -1,4 +1,9 @@ #!/bin/bash -e +set +e +source ${VIRTUALENVWRAPPER_SCRIPT} +workon ctftools +set -e + [ $(ropper --file /bin/false | wc -l) -gt 400 ] || exit 1 exit 0 diff --git a/shellsploit/install b/shellsploit/install index 56a4e7a..b5411b2 100755 --- a/shellsploit/install +++ b/shellsploit/install @@ -2,6 +2,11 @@ git clone https://github.com/b3mb4m/shellsploit-framework.git cd shellsploit-framework + +set +e +source ${VIRTUALENVWRAPPER_SCRIPT} +workon ctftools +set -e python easyinstall.py install cd .. @@ -9,3 +14,4 @@ mkdir -p bin cd bin ln -sf $VIRTUAL_ENV/bin/shellsploit . cd .. +deactivate diff --git a/sqlmap/install b/sqlmap/install index 5bfd504..510f632 100755 --- a/sqlmap/install +++ b/sqlmap/install @@ -1,7 +1,7 @@ #!/bin/bash git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git -pip install pymysql psycopg2 pysqlite2 python-ntlm +ctf-tools-pip install pymysql psycopg2 pysqlite2 python-ntlm mkdir bin cd bin ln -s ../sqlmap/sqlmap.py . diff --git a/virtualsocket/install b/virtualsocket/install index 4808aa6..e448e79 100755 --- a/virtualsocket/install +++ b/virtualsocket/install @@ -1,3 +1,3 @@ git clone --depth 1 https://github.com/antoniobianchi333/virtualsocket.git -pip install -e virtualsocket/ +ctf-tools-pip install -e virtualsocket/ From ff0cf0f731dd2c57cbb17477faf032438a458974 Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Fri, 23 Sep 2016 15:14:34 +0000 Subject: [PATCH 009/149] manage-tools: add verbose mode this should also prevent travis from stopping the build in case of long running tasks (for example when building z3). --- .travis.yml | 2 +- bin/manage-tools | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 747a250..07ee828 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,4 +4,4 @@ dist: trusty env: - PATH=$TRAVIS_BUILD_DIR/bin:$PATH install: (sudo apt-get update || true) && bin/manage-tools -s setup -script: VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test all +script: VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test all diff --git a/bin/manage-tools b/bin/manage-tools index 90035ff..26dd75d 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -5,10 +5,11 @@ set -eu -o pipefail function usage() { cat <>install.log 2>&1 - then + if [ "$VERBOSE_OUTPUT" -eq 1 ]; then + env DISTRI=$DISTRI ./install 2>&1 | tee -a install.log + else + env DISTRI=$DISTRI ./install >>install.log 2>&1 + fi + if [ "$?" -eq 0 ]; then tool_log "install finished" else tool_log "INSTALL FAILED" From f07b64f7b8189667a07e1027946d481b0a47d434 Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Fri, 23 Sep 2016 19:16:16 +0000 Subject: [PATCH 010/149] travis: split testing in multiple jobs --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 07ee828..8754644 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,4 +4,8 @@ dist: trusty env: - PATH=$TRAVIS_BUILD_DIR/bin:$PATH install: (sudo apt-get update || true) && bin/manage-tools -s setup -script: VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test all +script: +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test z3 +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qemu +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qira +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test all From 791a506e821ad26d2dc278fa7dcce9e425e060a9 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 02:13:42 -0700 Subject: [PATCH 011/149] disable verbosity for tests now that they work again --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8754644..34403a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ env: - PATH=$TRAVIS_BUILD_DIR/bin:$PATH install: (sudo apt-get update || true) && bin/manage-tools -s setup script: -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test z3 -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qemu -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qira -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test all +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test z3 +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test qemu +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test qira +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test all From b4528c27bb8c6dbf22a656f7f49d9590d446aa57 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 02:24:58 -0700 Subject: [PATCH 012/149] fix the glob (doesn't expand properly in docker sometimes) --- dirb/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dirb/install b/dirb/install index 7b8409b..c497c47 100755 --- a/dirb/install +++ b/dirb/install @@ -5,7 +5,7 @@ wget -O dirb.tar.gz https://sourceforge.net/projects/dirb/files/latest/download tar -xf dirb.tar.gz chmod -R a+X dirb222/ -cd dirb* +cd dirb222 chmod a+x configure ./configure make From d443655abbec15396641a983891b5e15b92fb931 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 02:26:39 -0700 Subject: [PATCH 013/149] fix up angr install --- angr/install | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/angr/install b/angr/install index dc7bd78..835fc81 100755 --- a/angr/install +++ b/angr/install @@ -1,13 +1,18 @@ #!/bin/bash -e -[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/PyQt4 ] || ln -s /usr/lib/python2.7/dist-packages/PyQt4 $VIRTUAL_ENV/lib/python2.7/site-packages/ -[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/sip.so ] || ln -s /usr/lib/python2.7/dist-packages/sip.so $VIRTUAL_ENV/lib/python2.7/site-packages/ -[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/pygraphviz ] || ln -s /usr/lib/pymodules/python2.7/pygraphviz $VIRTUAL_ENV/lib/python2.7/site-packages/ +if [ -z "$VIRTUAL_ENV" ] +then + echo "Please activate the ctftools virtualenv before installing angr." + exit +fi + +#[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/PyQt4 ] || ln -s /usr/lib/python2.7/dist-packages/PyQt4 $VIRTUAL_ENV/lib/python2.7/site-packages/ +#[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/sip.so ] || ln -s /usr/lib/python2.7/dist-packages/sip.so $VIRTUAL_ENV/lib/python2.7/site-packages/ +#[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/pygraphviz ] || ln -s /usr/lib/pymodules/python2.7/pygraphviz $VIRTUAL_ENV/lib/python2.7/site-packages/ git clone --depth 1 https://github.com/angr/angr-dev -cd angr-dev -./setup.sh -cd .. +angr-dev/setup.sh -w -r https://git:@github.com/salls angrop +rm -rf angr-dev/wheels mkdir -p bin cd bin From e1b3533a4c99a876a7b3c91719e48fb603fce7cf Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 02:40:07 -0700 Subject: [PATCH 014/149] re-enabling verbosity to avoid travis timeouts... --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 34403a7..8754644 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ env: - PATH=$TRAVIS_BUILD_DIR/bin:$PATH install: (sudo apt-get update || true) && bin/manage-tools -s setup script: -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test z3 -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test qemu -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test qira -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s test all +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test z3 +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qemu +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qira +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test all From 3a299b657dc25d132351bf5100ca65c949188c7c Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 03:03:15 -0700 Subject: [PATCH 015/149] parallelize the build --- .travis.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8754644..dd4e92f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,10 +2,11 @@ language: bash sudo: required dist: trusty env: -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH +- SUITE="z3" PATH=$TRAVIS_BUILD_DIR/bin:$PATH +- SUITE="qemu" PATH=$TRAVIS_BUILD_DIR/bin:$PATH +- SUITE="qira" PATH=$TRAVIS_BUILD_DIR/bin:$PATH +- SUITE="afl" PATH=$TRAVIS_BUILD_DIR/bin:$PATH +- SUITE="all" PATH=$TRAVIS_BUILD_DIR/bin:$PATH install: (sudo apt-get update || true) && bin/manage-tools -s setup script: -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test z3 -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qemu -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test qira -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test all +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test $SUITE From afeb194330e99d7f44f18ab76dfd7ed69a5bb79f Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 03:13:59 -0700 Subject: [PATCH 016/149] adding a -f (force) option to manage-tools to facilitate not re-testing tools --- .travis.yml | 12 ++++++------ README.md | 6 +++--- bin/manage-tools | 9 +++++++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index dd4e92f..acd117a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,11 +2,11 @@ language: bash sudo: required dist: trusty env: -- SUITE="z3" PATH=$TRAVIS_BUILD_DIR/bin:$PATH -- SUITE="qemu" PATH=$TRAVIS_BUILD_DIR/bin:$PATH -- SUITE="qira" PATH=$TRAVIS_BUILD_DIR/bin:$PATH -- SUITE="afl" PATH=$TRAVIS_BUILD_DIR/bin:$PATH -- SUITE="all" PATH=$TRAVIS_BUILD_DIR/bin:$PATH +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="z3" OPTS="-s -v -f" +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="qemu" OPTS="-s -f" +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="qira" OPTS="-s -f" +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="afl" OPTS="-s -f" +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="all" OPTS="-s" install: (sudo apt-get update || true) && bin/manage-tools -s setup script: -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools -s -v test $SUITE +- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools $OPTS test $SUITE diff --git a/README.md b/README.md index 004f249..a52ab02 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Installers for the following tools are included: | Category | Tool | Description | |----------|------|-------------| -| binary | [afl](http://lcamtuf.coredump.cx/afl/) | State-of-the-art fuzzer. | +| binary | [afl](http://lcamtuf.coredump.cx/afl/) | State-of-the-art fuzzer. | | binary | [angr](http://angr.io) | Next-generation binary analysis engine from Shellphish. | | binary | [barf](https://github.com/programa-stic/barf-project) | Binary Analysis and Reverse-engineering Framework. | | binary | [bindead](https://bitbucket.org/mihaila/bindead/wiki/Home) | A static analysis tool for binaries. | @@ -33,7 +33,7 @@ Installers for the following tools are included: | binary | [pwntools](https://github.com/Gallopsled/pwntools) | Useful CTF utilities. | | binary | [python-pin](https://github.com/blankwall/Python_Pin) | Python bindings for pin. | | binary | [qemu](http://qemu.org) | Latest version of qemu! | -| binary | [qira](http://qira.me) | Parallel, timeless debugger. | +| binary | [qira](http://qira.me) | Parallel, timeless debugger. | | binary | [radare2](http://www.radare.org/) | Some crazy thing crowell likes. | | binary | [ropper](https://github.com/sashs/Ropper) | Another gadget finder. | | binary | [rp++](https://github.com/0vercl0k/rp) | Another gadget finder. | @@ -83,7 +83,7 @@ Installers for the following tools are included: | stego | [stegsolve](http://www.caesum.com/handbook/stego.htm) | Image steganography solver. | | android | [apktool](https://ibotpeaches.github.io/Apktool/) | Dissect, dis-assemble, and re-pack Android APKs | | android | [android-sdk](http://developer.android.com/sdk) | The android SDK (adb, emulator, etc). | -| misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | +| misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | There are also some installers for non-CTF stuff to break the monotony! diff --git a/bin/manage-tools b/bin/manage-tools index 26dd75d..848995b 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -10,6 +10,7 @@ Usage: $(basename $0) [-sv] (list|setup|install|uninstall|bin|search) tool Where: -s allow running things with sudo (i.e., to install debs) -v verbose mode. print log while installing + -f force certain actions (such as installing over an installed tool) tool the name of the tool. if "all", does the action on all tools Actions: @@ -159,6 +160,9 @@ do -s) export ALLOW_SUDO=1 ;; + -f) + export FORCE=1 + ;; -v) export VERBOSE_OUTPUT=1 ;; @@ -171,6 +175,7 @@ do done [[ -z ${ALLOW_SUDO+x} ]] && export ALLOW_SUDO=0 +[[ -z ${FORCE+x} ]] && export FORCE=0 [[ -z ${VERBOSE_OUTPUT+x} ]] && export VERBOSE_OUTPUT=0 if [[ $# -ge 1 ]]; then @@ -218,7 +223,7 @@ case $ACTION in ;; install) cd $TOOL - if git status --ignored . | egrep -q 'Untracked|Ignored' + if [ "$FORCE" -eq 0 ] && git status --ignored . | egrep -q 'Untracked|Ignored' then tool_log "appears to already be installed. Uninstall first?" exit 0 @@ -297,7 +302,7 @@ case $ACTION in cat README.md | grep "<\!--tool-->" | sed "s/<\!--[^-]*-->//g" | grep -i "$TOOL" ;; test) - if ! cat README.md | grep "<\!--tool-->" | grep "| \[$TOOL\](" | grep -q -- "--test--" + if [ "$FORCE" -eq 0 ] && ! cat README.md | grep "<\!--tool-->" | grep "| \[$TOOL\](" | grep -q -- "--test--" then tool_log "Tests not enabled." else From 89e6d2554af5b5086bace325ef423c15b150b7e4 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 02:06:36 -0700 Subject: [PATCH 017/149] use verbosity for qemu to avoid timing out --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index acd117a..b414929 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,11 +2,11 @@ language: bash sudo: required dist: trusty env: +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="all" OPTS="-s" - PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="z3" OPTS="-s -v -f" -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="qemu" OPTS="-s -f" +- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="qemu" OPTS="-s -f -v" - PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="qira" OPTS="-s -f" - PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="afl" OPTS="-s -f" -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="all" OPTS="-s" install: (sudo apt-get update || true) && bin/manage-tools -s setup script: - VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools $OPTS test $SUITE From 66c296a376bf5c5cfd14c69bf58f2a8884a5e2c1 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 02:46:51 -0700 Subject: [PATCH 018/149] split ctf-tools-pip into ctf-tools-venv-activate (a script that can be sourced by installers) and ctf-tools-pip --- bin/ctf-tools-pip | 41 +++---------------------------------- bin/ctf-tools-venv-activate | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 38 deletions(-) create mode 100755 bin/ctf-tools-venv-activate diff --git a/bin/ctf-tools-pip b/bin/ctf-tools-pip index f7cbd93..9ec042d 100755 --- a/bin/ctf-tools-pip +++ b/bin/ctf-tools-pip @@ -2,43 +2,8 @@ set -e -o pipefail #set -x -# let's stick with python 2 as default -PY_VERSION=2 -# check this scripts file ending -if [[ "$0" =~ pip3 ]]; then - PY_VERSION=3 -fi -if [[ "$0" =~ pip2 ]]; then - PY_VERSION=2 -fi - -PY_INTERPRETER=$(which "python$PY_VERSION" || which python) - -CTF_TOOLS_VE="ctftools" -if [[ $PY_VERSION -eq 3 ]]; then - CTF_TOOLS_VE="${CTF_TOOLS_VE}3" -fi - -if [[ -z "${WORKON_HOME+x}" ]]; then - export WORKON_HOME="$HOME/.virtualenvs" -fi -if [[ ! -d "$WORKON_HOME" ]]; then - mkdir -p "$WORKON_HOME" -fi - -VE_DIR="$WORKON_HOME/$CTF_TOOLS_VE" - -if [[ ! -d "$VE_DIR" || ! -e "$VE_DIR/bin/activate" ]]; then - echo "#### Creating python$PY_VERSION virtualenv '$CTF_TOOLS_VE' ####" >&2 - virtualenv --system-site-packages -p "$PY_INTERPRETER" "$VE_DIR" -fi - -if [[ -z "${VIRTUAL_ENV+x}" || "$VIRTUAL_ENV" != "$VE_DIR" ]]; then - if [[ -n "${VIRTUAL_ENV+x}" ]]; then - source ${VIRTUAL_ENV}/bin/activate - deactivate - fi - source "$VE_DIR/bin/activate" -fi +# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-which-directory-it-is-stored-in +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source $DIR/ctf-tools-venv-activate exec pip "$@" diff --git a/bin/ctf-tools-venv-activate b/bin/ctf-tools-venv-activate new file mode 100755 index 0000000..832b866 --- /dev/null +++ b/bin/ctf-tools-venv-activate @@ -0,0 +1,40 @@ +#!/bin/bash + +# let's stick with python 2 as default +PY_VERSION=2 +# check this scripts file ending +if [[ "$0" =~ pip3 ]]; then + PY_VERSION=3 +fi +if [[ "$0" =~ pip2 ]]; then + PY_VERSION=2 +fi + +PY_INTERPRETER=$(which "python$PY_VERSION" || which python) + +CTF_TOOLS_VE="ctftools" +if [[ $PY_VERSION -eq 3 ]]; then + CTF_TOOLS_VE="${CTF_TOOLS_VE}3" +fi + +if [[ -z "${WORKON_HOME+x}" ]]; then + export WORKON_HOME="$HOME/.virtualenvs" +fi +if [[ ! -d "$WORKON_HOME" ]]; then + mkdir -p "$WORKON_HOME" +fi + +VE_DIR="$WORKON_HOME/$CTF_TOOLS_VE" + +if [[ ! -d "$VE_DIR" || ! -e "$VE_DIR/bin/activate" ]]; then + echo "#### Creating python$PY_VERSION virtualenv '$CTF_TOOLS_VE' ####" >&2 + virtualenv --system-site-packages -p "$PY_INTERPRETER" "$VE_DIR" +fi + +if [[ -z "${VIRTUAL_ENV+x}" || "$VIRTUAL_ENV" != "$VE_DIR" ]]; then + if [[ -n "${VIRTUAL_ENV+x}" ]]; then + source ${VIRTUAL_ENV}/bin/activate + deactivate + fi + source "$VE_DIR/bin/activate" +fi From f9ff39d6a71c7226f72de811e6f007ee8b089f61 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 10 Oct 2016 02:47:58 -0700 Subject: [PATCH 019/149] use the new ctf-tools-venv-activate --- angr/install | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/angr/install b/angr/install index 835fc81..92c3ce4 100755 --- a/angr/install +++ b/angr/install @@ -1,10 +1,6 @@ #!/bin/bash -e -if [ -z "$VIRTUAL_ENV" ] -then - echo "Please activate the ctftools virtualenv before installing angr." - exit -fi +source ctf-tools-venv-activate #[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/PyQt4 ] || ln -s /usr/lib/python2.7/dist-packages/PyQt4 $VIRTUAL_ENV/lib/python2.7/site-packages/ #[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/sip.so ] || ln -s /usr/lib/python2.7/dist-packages/sip.so $VIRTUAL_ENV/lib/python2.7/site-packages/ From 57df3ea00f0c943215a622e905ecf58396734843 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 02:13:39 -0700 Subject: [PATCH 020/149] add note about dockerhub --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index a52ab02..bb7112b 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,12 @@ docker run -it ctf-tools The built image will have ctf-tools cloned and ready to go, but you will still need to install the tools themselves (see above). +Alternatively, you can also pull ctf-tools (with some tools preinstalled) from dockerhub: + +```bash +docker run -it zardus/ctf-tools +``` + ## Vagrant You can build a Vagrant VM with: From af7e3b4b456a6fb5ccfe364f69563070f26fe6c3 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 02:46:10 -0700 Subject: [PATCH 021/149] adding jd-gui --- README.md | 1 + jdgui/install | 10 ++++++++++ jdgui/install-root-archlinux | 4 ++++ jdgui/install-root-debian | 4 ++++ 4 files changed, 19 insertions(+) create mode 100755 jdgui/install create mode 100755 jdgui/install-root-archlinux create mode 100755 jdgui/install-root-debian diff --git a/README.md b/README.md index bb7112b..dc6e032 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ Installers for the following tools are included: | android | [apktool](https://ibotpeaches.github.io/Apktool/) | Dissect, dis-assemble, and re-pack Android APKs | | android | [android-sdk](http://developer.android.com/sdk) | The android SDK (adb, emulator, etc). | | misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | +| misc | [jdgui](http://jd.benow.ca/) | Java decompiler. | There are also some installers for non-CTF stuff to break the monotony! diff --git a/jdgui/install b/jdgui/install new file mode 100755 index 0000000..c81f0e8 --- /dev/null +++ b/jdgui/install @@ -0,0 +1,10 @@ +#!/bin/bash -e + +[ -e jd-gui-1.4.0.jar ] || wget https://github.com/java-decompiler/jd-gui/releases/download/v1.4.0/jd-gui-1.4.0.jar + +mkdir -p bin +cat < bin/jd-gui +#/bin/bash -e +java -jar $PWD/jd-gui-1.4.0.jar "\$@" +END +chmod 755 bin/jd-gui diff --git a/jdgui/install-root-archlinux b/jdgui/install-root-archlinux new file mode 100755 index 0000000..5a77a79 --- /dev/null +++ b/jdgui/install-root-archlinux @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu -o pipefail + +pacman -Syu --noconfirm --needed jre7-openjdk diff --git a/jdgui/install-root-debian b/jdgui/install-root-debian new file mode 100755 index 0000000..78b0902 --- /dev/null +++ b/jdgui/install-root-debian @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu -o pipefail + +apt-get -y install openjdk-7-jre From 862c60d508e20abfb689cbb3bbc12c4b30e04f89 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 02:51:00 -0700 Subject: [PATCH 022/149] update pyvmmonitor url --- pyvmmonitor/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyvmmonitor/install b/pyvmmonitor/install index 40f8de8..d90fe98 100755 --- a/pyvmmonitor/install +++ b/pyvmmonitor/install @@ -1,7 +1,7 @@ #!/bin/bash -e # retry because the server is not reliable -wget -t 10 https://bbc5a801c67991bd078f7f789065e318bdf9d509.googledrive.com/host/0BwwQN8QrgsRpOGpyc2syWkVYVkE/PyVmMonitor%201.0.1/pyvmmonitor_1.0.1_linux.x86_64.tar.gz -O - | tar xvz +wget -t 10 http://www.mediafire.com/download/bzmazee4bcysbi4/pyvmmonitor_1.0.1_linux.x86_64.tar.gz -O - | tar xvz mkdir -p bin cat < bin/pyvmmonitor-ui From 395daa6fbabae937d7e6e6c03a0b3591f9b118b3 Mon Sep 17 00:00:00 2001 From: Riccardo Schirone Date: Tue, 11 Oct 2016 11:43:07 +0200 Subject: [PATCH 023/149] Add libheap GDB library --- README.md | 1 + gdb/install | 5 +++++ libheap/install | 10 ++++++++++ 3 files changed, 16 insertions(+) create mode 100755 libheap/install diff --git a/README.md b/README.md index bb7112b..ba49ded 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ Installers for the following tools are included: | binary | [gdb](http://www.gnu.org/software/gdb/) | Up-to-date gdb with python2 bindings. | | binary | [gef](https://github.com/hugsy/gef) | Enhanced environment for gdb. | | binary | [hongfuzz](https://github.com/google/honggfuzz) | A general-purpose, easy-to-use fuzzer with interesting analysis options. | +| binary | [libheap](https://github.com/cloudburst/libheap) | gdb python library for examining the glibc heap (ptmalloc) | | binary | [panda](https://github.com/moyix/panda) | Platform for Architecture-Neutral Dynamic Analysis. | | binary | [pathgrind](https://github.com/codelion/pathgrind) | Path-based, symbolically-assisted fuzzer. | | binary | [peda](https://github.com/longld/peda) | Enhanced environment for gdb. | diff --git a/gdb/install b/gdb/install index 55a9047..173e43b 100755 --- a/gdb/install +++ b/gdb/install @@ -2,6 +2,11 @@ curl https://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz | tar xz cd gdb-7.11.1 + +# move to ctftools virtual env +source ${VIRTUALENVWRAPPER_SCRIPT} +workon ctftools + ./configure --prefix=$(dirname $PWD) --with-python=python2 --enable-targets=all make -j $(nproc) make install diff --git a/libheap/install b/libheap/install new file mode 100755 index 0000000..961ceea --- /dev/null +++ b/libheap/install @@ -0,0 +1,10 @@ +#!/bin/bash + +git clone https://github.com/cloudburst/libheap + +# move to ctftools virtual env +source ${VIRTUALENVWRAPPER_SCRIPT} +workon ctftools + +cd libheap +python setup.py install From 830562e1a0322a2237ef9892267dda09ebb32c52 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 18:06:51 -0700 Subject: [PATCH 024/149] fix casing to maintain list's structure --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc6e032..9252089 100644 --- a/README.md +++ b/README.md @@ -207,7 +207,7 @@ Good luck! # See Also -There's a curated list of CTF tools, but without installers, here: https://github.com/apsdehal/awesome-ctf. +There's a curated list of CTF tools, but without installers, here: https://github.com/apsdehal/aWEsoMe-cTf. There's a Vagrant config with a lot of the bigger frameworks here: https://github.com/thebarbershopper/epictreasure. From e0a442acda1cab1afdfcf3fcad7bc70d9b637b84 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 19:28:46 -0700 Subject: [PATCH 025/149] restore proper logging of failed installation attempts --- bin/manage-tools | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bin/manage-tools b/bin/manage-tools index 848995b..1b9db41 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -256,12 +256,16 @@ case $ACTION in fi # execute install script + set +e if [ "$VERBOSE_OUTPUT" -eq 1 ]; then env DISTRI=$DISTRI ./install 2>&1 | tee -a install.log else env DISTRI=$DISTRI ./install >>install.log 2>&1 fi - if [ "$?" -eq 0 ]; then + INSTALL_FAILED=$? + set -e + + if [ "$INSTALL_FAILED" -eq 1 ]; then tool_log "install finished" else tool_log "INSTALL FAILED" @@ -312,7 +316,11 @@ case $ACTION in if [ -f ./test ] then tool_log "Running test script." - ./test + if ! ./test + then + tool_log "$TOOL test failed!" + exit 1 + fi tool_log "test script succeeded!" else tool_log "Install succeeded. No test script!" From e6c236a9db1e7cc6dea9c2f6c3b27708624879fc Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 20:41:49 -0700 Subject: [PATCH 026/149] oops... --- bin/manage-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/manage-tools b/bin/manage-tools index 1b9db41..40615f0 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -265,7 +265,7 @@ case $ACTION in INSTALL_FAILED=$? set -e - if [ "$INSTALL_FAILED" -eq 1 ]; then + if [ "$INSTALL_FAILED" -eq 0 ]; then tool_log "install finished" else tool_log "INSTALL FAILED" From 0ad0c02848a7d6d79fee386dbbf2e7695c9fd6c8 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 21:14:32 -0700 Subject: [PATCH 027/149] added hashkill dependencies --- hashkill/install-root-archlinux | 3 +++ hashkill/install-root-debian | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 hashkill/install-root-archlinux create mode 100644 hashkill/install-root-debian diff --git a/hashkill/install-root-archlinux b/hashkill/install-root-archlinux new file mode 100644 index 0000000..82f8d4d --- /dev/null +++ b/hashkill/install-root-archlinux @@ -0,0 +1,3 @@ +#!/bin/bash -e + +pacman -Syu --noconfirm --needed openssl diff --git a/hashkill/install-root-debian b/hashkill/install-root-debian new file mode 100644 index 0000000..59974c3 --- /dev/null +++ b/hashkill/install-root-debian @@ -0,0 +1,3 @@ +#!/bin/bash -e + +apt-get install libssl-dev From 562a7e79ba43d2222f4a8f34402c3bf30551345e Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 11 Oct 2016 21:22:40 -0700 Subject: [PATCH 028/149] disable the lsb modules complaint from the distro detection --- bin/manage-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/manage-tools b/bin/manage-tools index 40615f0..b0defa7 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -37,7 +37,7 @@ function detect_distribution() if which pacman 2>&1 >/dev/null; then echo "archlinux" elif which apt-get 2>&1 >/dev/null; then - if lsb_release -a | grep -i ubuntu 2>&1 >/dev/null; then + if lsb_release -a 2>/dev/null | grep -i ubuntu 2>&1 >/dev/null; then echo "ubuntu" else echo "debian" From b577affabd126c6fa997a0430df78c859cfad7d6 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 13 Oct 2016 01:06:10 -0700 Subject: [PATCH 029/149] make changes discussed in PR 85 --- libheap/install | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libheap/install b/libheap/install index 961ceea..f2ac62e 100755 --- a/libheap/install +++ b/libheap/install @@ -1,10 +1,7 @@ #!/bin/bash -git clone https://github.com/cloudburst/libheap - # move to ctftools virtual env -source ${VIRTUALENVWRAPPER_SCRIPT} -workon ctftools +source ctf-tools-venv-activate -cd libheap -python setup.py install +git clone --depth 1 https://github.com/cloudburst/libheap +pip install -e libheap From 71638f76e3a9e71c809133d62203fa514939fbc4 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 13 Oct 2016 01:06:35 -0700 Subject: [PATCH 030/149] use bash -e to catch errors --- libheap/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libheap/install b/libheap/install index f2ac62e..d63dc52 100755 --- a/libheap/install +++ b/libheap/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e # move to ctftools virtual env source ctf-tools-venv-activate From 0793cb8db17b78e65ed83bf2b0e72bf521a6f09f Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 12 Oct 2016 15:41:53 +0200 Subject: [PATCH 031/149] keystone and unicorn install from git to cftools virtualenv, updated pwndbg install script --- keystone/install | 21 +++++++++++++++++++++ keystone/install-root-archlinux | 4 ++++ keystone/install-root-debian | 4 ++++ keystone/test | 5 +++++ keystone/uninstall | 9 +++++++++ pwndbg/install | 15 ++++++++++++--- unicorn/install | 16 ++++++++++++++++ unicorn/install-root-debian | 4 ++++ unicorn/uninstall | 9 +++++++++ 9 files changed, 84 insertions(+), 3 deletions(-) create mode 100755 keystone/install create mode 100755 keystone/install-root-archlinux create mode 100755 keystone/install-root-debian create mode 100755 keystone/test create mode 100755 keystone/uninstall create mode 100755 unicorn/install create mode 100755 unicorn/install-root-debian create mode 100755 unicorn/uninstall diff --git a/keystone/install b/keystone/install new file mode 100755 index 0000000..d2bc681 --- /dev/null +++ b/keystone/install @@ -0,0 +1,21 @@ +#!/bin/bash +set -eu -o pipefail + +git clone --depth 1 https://github.com/keystone-engine/keystone.git || true + +ctf-tools-venv-activate + +mkdir -p keystone/build/ +pushd keystone/build/ +cmake -DCMAKE_INSTALL_PREFIX="$VIRTUAL_ENV" \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DLLVM_TARGETS_TO_BUILD="all" \ + -G "Unix Makefiles" .. +make -j$(getconf _NPROCESSORS_ONLN) install +popd + +pushd keystone/bindings/python +#pip install -U . +make DEST_DIR="$VIRTUAL_ENV" BUILD_DIR="../../build/" install +popd diff --git a/keystone/install-root-archlinux b/keystone/install-root-archlinux new file mode 100755 index 0000000..6a22b8b --- /dev/null +++ b/keystone/install-root-archlinux @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu -o pipefail + +pacman -Syu --needed --noconfirm cmake diff --git a/keystone/install-root-debian b/keystone/install-root-debian new file mode 100755 index 0000000..f7023f0 --- /dev/null +++ b/keystone/install-root-debian @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu -o pipefail + +apt-get -y install build-essential cmake diff --git a/keystone/test b/keystone/test new file mode 100755 index 0000000..fce9d7e --- /dev/null +++ b/keystone/test @@ -0,0 +1,5 @@ +#!/bin/bash + +ctf-tools-venv-activate + +kstool x32 "add eax, ebx" diff --git a/keystone/uninstall b/keystone/uninstall new file mode 100755 index 0000000..67fd774 --- /dev/null +++ b/keystone/uninstall @@ -0,0 +1,9 @@ +#!/bin/bash + +ctf-tools-venv-activate + +pip uninstall -y keystone-engine + +pushd keystone/build +PREFIX="$VIRTUAL_ENV" make uninstall +popd diff --git a/pwndbg/install b/pwndbg/install index 4052666..de34258 100755 --- a/pwndbg/install +++ b/pwndbg/install @@ -1,7 +1,17 @@ #!/bin/bash set -eu -o pipefail -git clone --depth 1 https://github.com/zachriggle/pwndbg +git clone --depth 1 https://github.com/pwndbg/pwndbg + +pushd pwndbg +ctf-tools-pip instal -Ur ./requirements.txt +ctf-tools-pip install -U capstone + +manage-tools install unicorn + +# pwndbg brings it's own capstone/unicorn submodules +#git submodule update --init --recursive +# we ignore this for now mkdir bin cat >> bin/pwndbg < Date: Wed, 12 Oct 2016 16:45:02 +0200 Subject: [PATCH 032/149] peda/gef/pwndbg: make sure ~/.gdbinit exits before grep. just to make sure. --- gef/install | 2 ++ peda/install | 3 ++- pwndbg/install | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gef/install b/gef/install index f8d76c1..ccee510 100755 --- a/gef/install +++ b/gef/install @@ -11,6 +11,8 @@ EOF chmod +rx bin/gdb-gef cd gef +# make sure gdbinit exists +touch ~/.gdbinit if ! grep "init-gef" ~/.gdbinit; then cat >> ~/.gdbinit <> ~/.gdbinit +# make sure gdbinit exists +touch ~/.gdbinit if ! grep "init-peda" ~/.gdbinit; then cat >> ~/.gdbinit <> ~/.gdbinit < Date: Wed, 12 Oct 2016 17:39:16 +0200 Subject: [PATCH 033/149] make sure the ctf-tools-pip3 symlink exists --- bin/manage-tools | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/manage-tools b/bin/manage-tools index b0defa7..ca0b426 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -139,6 +139,10 @@ function base_build_setup() echo "set -x PATH $PWD/bin \$PATH " >> ~/.config/fish/config.fish fi + if [[ ! -e "$PWD/bin/ctf-tools-pip3" ]]; then + ln -s "$PWD/bin/ctf-tools-pip" "$PWD/bin/ctf-tools-pip3" + fi + # create the py2 virtualenv "$PWD/bin/ctf-tools-pip" freeze 2>&1 >/dev/null From ce90837ff0f169abfc8ea42adf2bc260cfe7c866 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 12 Oct 2016 17:43:56 +0200 Subject: [PATCH 034/149] Added ctf-tools-venv-activate3 script, which sources ctf-tools-activate under the hood --- bin/ctf-tools-venv-activate | 15 ++++++++++----- bin/ctf-tools-venv-activate3 | 8 ++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) create mode 100755 bin/ctf-tools-venv-activate3 diff --git a/bin/ctf-tools-venv-activate b/bin/ctf-tools-venv-activate index 832b866..1ffc6e7 100755 --- a/bin/ctf-tools-venv-activate +++ b/bin/ctf-tools-venv-activate @@ -1,7 +1,5 @@ #!/bin/bash -# let's stick with python 2 as default -PY_VERSION=2 # check this scripts file ending if [[ "$0" =~ pip3 ]]; then PY_VERSION=3 @@ -10,11 +8,18 @@ if [[ "$0" =~ pip2 ]]; then PY_VERSION=2 fi +if [[ -z "${PY_VERSION+x}" ]]; then + # if not defined otherwise let's stick with python 2 as default + PY_VERSION=2 +fi + PY_INTERPRETER=$(which "python$PY_VERSION" || which python) -CTF_TOOLS_VE="ctftools" -if [[ $PY_VERSION -eq 3 ]]; then - CTF_TOOLS_VE="${CTF_TOOLS_VE}3" +if [[ -z "${CTF_TOOLS_VE+x}" ]]; then + CTF_TOOLS_VE="ctftools" + if [[ $PY_VERSION -eq 3 ]]; then + CTF_TOOLS_VE="${CTF_TOOLS_VE}3" + fi fi if [[ -z "${WORKON_HOME+x}" ]]; then diff --git a/bin/ctf-tools-venv-activate3 b/bin/ctf-tools-venv-activate3 new file mode 100755 index 0000000..49f1918 --- /dev/null +++ b/bin/ctf-tools-venv-activate3 @@ -0,0 +1,8 @@ +#!/bin/bash + +export PY_VERSION=3 +export CTF_TOOLS_VE="ctftools3" + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$DIR/ctf-tools-venv-activate" From 565579b7da2060b4e401bd5a9ad67d5ea99a41ab Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 12 Oct 2016 17:49:55 +0200 Subject: [PATCH 035/149] updated keystone, pwndbg, unicorn installation to source ctf-tools-venv-activate --- keystone/install | 6 +++++- pwndbg/install | 14 +++++++++----- unicorn/install | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/keystone/install b/keystone/install index d2bc681..a0e1eb4 100755 --- a/keystone/install +++ b/keystone/install @@ -3,7 +3,7 @@ set -eu -o pipefail git clone --depth 1 https://github.com/keystone-engine/keystone.git || true -ctf-tools-venv-activate +source ctf-tools-venv-activate mkdir -p keystone/build/ pushd keystone/build/ @@ -19,3 +19,7 @@ pushd keystone/bindings/python #pip install -U . make DEST_DIR="$VIRTUAL_ENV" BUILD_DIR="../../build/" install popd + + +echo "WARNING: keystone installation is broken" +exit 1 diff --git a/pwndbg/install b/pwndbg/install index 1e1b1bd..9495ba6 100755 --- a/pwndbg/install +++ b/pwndbg/install @@ -3,15 +3,19 @@ set -eu -o pipefail git clone --depth 1 https://github.com/pwndbg/pwndbg -pushd pwndbg -ctf-tools-pip instal -Ur ./requirements.txt -ctf-tools-pip install -U capstone +source ctf-tools-venv-activate -manage-tools install unicorn +pushd pwndbg +pip install -Ur ./requirements.txt +popd # pwndbg brings it's own capstone/unicorn submodules +# we ignore this for now and install the deps ourselfs #git submodule update --init --recursive -# we ignore this for now + +# install capstone/unicron dependencies +pip install -U capstone +manage-tools install unicorn mkdir bin cat >> bin/pwndbg < Date: Wed, 12 Oct 2016 17:50:35 +0200 Subject: [PATCH 036/149] removed binjitsu closes #74 --- binjitsu/install | 5 ----- binjitsu/install-root-archlinux | 3 --- binjitsu/install-root-ubuntu | 6 ------ binjitsu/uninstall | 3 --- 4 files changed, 17 deletions(-) delete mode 100755 binjitsu/install delete mode 100755 binjitsu/install-root-archlinux delete mode 100755 binjitsu/install-root-ubuntu delete mode 100755 binjitsu/uninstall diff --git a/binjitsu/install b/binjitsu/install deleted file mode 100755 index f75c139..0000000 --- a/binjitsu/install +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -e - -#ctf-tools-pip install --upgrade 'git+https://github.com/binjitsu/binjitsu.git' -git clone --depth=1 'https://github.com/binjitsu/binjitsu.git' -ctf-tools-pip install --upgrade -e binjitsu diff --git a/binjitsu/install-root-archlinux b/binjitsu/install-root-archlinux deleted file mode 100755 index 24665a9..0000000 --- a/binjitsu/install-root-archlinux +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -e - -pacman -Syu --noconfirm --needed binutils openssl libffi diff --git a/binjitsu/install-root-ubuntu b/binjitsu/install-root-ubuntu deleted file mode 100755 index 50ac55e..0000000 --- a/binjitsu/install-root-ubuntu +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -e - -apt-get -y install software-properties-common -apt-add-repository -y ppa:pwntools/binutils -apt-get update -apt-get -y install binutils-.*-linux-gnu libffi-dev libssl-dev diff --git a/binjitsu/uninstall b/binjitsu/uninstall deleted file mode 100755 index 81cc9b9..0000000 --- a/binjitsu/uninstall +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -e - -ctf-tools-pip uninstall -y binjitsu || true From df69ea4b758d497b0f2cd708cc153d59b3a94d30 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 10:29:08 +0200 Subject: [PATCH 037/149] updated gdb install to use ctf-tools-venv-activate --- gdb/install | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gdb/install b/gdb/install index 173e43b..ea2fd4c 100755 --- a/gdb/install +++ b/gdb/install @@ -4,9 +4,8 @@ curl https://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz | tar xz cd gdb-7.11.1 # move to ctftools virtual env -source ${VIRTUALENVWRAPPER_SCRIPT} -workon ctftools +source ctf-tools-venv-activate -./configure --prefix=$(dirname $PWD) --with-python=python2 --enable-targets=all +./configure --prefix=$(dirname $PWD) --with-python=$(which python) --enable-targets=all make -j $(nproc) make install From b2ec338ad7c208ae8774be0cd887fa87bf057c94 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 11:54:06 +0200 Subject: [PATCH 038/149] don't use 'set -u' when sourcing ctf-tools-venv-activate --- gdb/install | 1 + keystone/install | 2 +- keystone/uninstall | 1 + pwndbg/install | 2 +- unicorn/install | 2 +- 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gdb/install b/gdb/install index ea2fd4c..3aa03a2 100755 --- a/gdb/install +++ b/gdb/install @@ -1,4 +1,5 @@ #!/bin/bash +set -e -o pipefail curl https://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz | tar xz cd gdb-7.11.1 diff --git a/keystone/install b/keystone/install index a0e1eb4..2d93562 100755 --- a/keystone/install +++ b/keystone/install @@ -1,5 +1,5 @@ #!/bin/bash -set -eu -o pipefail +set -e -o pipefail git clone --depth 1 https://github.com/keystone-engine/keystone.git || true diff --git a/keystone/uninstall b/keystone/uninstall index 67fd774..afd77fc 100755 --- a/keystone/uninstall +++ b/keystone/uninstall @@ -1,4 +1,5 @@ #!/bin/bash +set -e -o pipefail ctf-tools-venv-activate diff --git a/pwndbg/install b/pwndbg/install index 9495ba6..db2c1b8 100755 --- a/pwndbg/install +++ b/pwndbg/install @@ -1,5 +1,5 @@ #!/bin/bash -set -eu -o pipefail +set -e -o pipefail git clone --depth 1 https://github.com/pwndbg/pwndbg diff --git a/unicorn/install b/unicorn/install index 0efe619..9122834 100755 --- a/unicorn/install +++ b/unicorn/install @@ -1,5 +1,5 @@ #!/bin/bash -set -eu -o pipefail +set -e -o pipefail git clone --depth 1 https://github.com/unicorn-engine/unicorn.git || true From 13d917452f71640df0b817dd3b915973a1ae0630 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 11:57:36 +0200 Subject: [PATCH 039/149] keystone install/uninstall/test is working now --- keystone/install | 12 ++++++------ keystone/test | 13 +++++++++++-- keystone/uninstall | 13 ++++++++----- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/keystone/install b/keystone/install index 2d93562..5c6328a 100755 --- a/keystone/install +++ b/keystone/install @@ -7,7 +7,7 @@ source ctf-tools-venv-activate mkdir -p keystone/build/ pushd keystone/build/ -cmake -DCMAKE_INSTALL_PREFIX="$VIRTUAL_ENV" \ +cmake -DCMAKE_INSTALL_PREFIX="$(realpath $PWD/../../)" \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON \ -DLLVM_TARGETS_TO_BUILD="all" \ @@ -16,10 +16,10 @@ make -j$(getconf _NPROCESSORS_ONLN) install popd pushd keystone/bindings/python -#pip install -U . -make DEST_DIR="$VIRTUAL_ENV" BUILD_DIR="../../build/" install +pip install -U -e . +# create a symlink that the python bindings can find the keystone lib +ln -s $(realpath ../../../lib/libkeystone.so.0) keystone/libkeystone.so popd - -echo "WARNING: keystone installation is broken" -exit 1 +# kstool doesn't find the lib. so let's rm it +rm -r bin/ diff --git a/keystone/test b/keystone/test index fce9d7e..8013e6c 100755 --- a/keystone/test +++ b/keystone/test @@ -1,5 +1,14 @@ #!/bin/bash +set -e -o pipefail -ctf-tools-venv-activate +source ctf-tools-venv-activate -kstool x32 "add eax, ebx" +python < Date: Thu, 13 Oct 2016 12:02:36 +0200 Subject: [PATCH 040/149] removed ||true from git clones. (this was useful for testing only) --- keystone/install | 2 +- unicorn/install | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keystone/install b/keystone/install index 5c6328a..a07c4a4 100755 --- a/keystone/install +++ b/keystone/install @@ -1,7 +1,7 @@ #!/bin/bash set -e -o pipefail -git clone --depth 1 https://github.com/keystone-engine/keystone.git || true +git clone --depth 1 https://github.com/keystone-engine/keystone.git source ctf-tools-venv-activate diff --git a/unicorn/install b/unicorn/install index 9122834..ab9dc62 100755 --- a/unicorn/install +++ b/unicorn/install @@ -1,7 +1,7 @@ #!/bin/bash set -e -o pipefail -git clone --depth 1 https://github.com/unicorn-engine/unicorn.git || true +git clone --depth 1 https://github.com/unicorn-engine/unicorn.git source ctf-tools-venv-activate From f21d9d98f2d49e93bdb720aae218edf4fa8d7c00 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 12:53:58 +0200 Subject: [PATCH 041/149] unicorn added test script --- unicorn/test | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 unicorn/test diff --git a/unicorn/test b/unicorn/test new file mode 100755 index 0000000..a532cce --- /dev/null +++ b/unicorn/test @@ -0,0 +1,30 @@ +#!/bin/bash +set -e -o pipefail + +source ctf-tools-venv-activate + +python < Date: Thu, 13 Oct 2016 12:56:29 +0200 Subject: [PATCH 042/149] README updated to contain library section (unicorn/capstone/keystone) and removed binjitsu from tool listing --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7429056..1f17fae 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,6 @@ Installers for the following tools are included: | binary | [angr](http://angr.io) | Next-generation binary analysis engine from Shellphish. | | binary | [barf](https://github.com/programa-stic/barf-project) | Binary Analysis and Reverse-engineering Framework. | | binary | [bindead](https://bitbucket.org/mihaila/bindead/wiki/Home) | A static analysis tool for binaries. | -| binary | [binjitsu](https://github.com/binjitsu/binjitsu) | Useful CTF utilities. pwntools fork. | -| binary | [capstone](http://www.capstone-engine.org) | Multi-architecture disassembly framework. | | binary | [checksec](https://github.com/slimm609/checksec.sh) | Check binary hardening settings. | | binary | [codereason](https://github.com/trailofbits/codereason) | Semantic Binary Code Analysis Framework. | | binary | [crosstool-ng](http://crosstool-ng.org/) | Cross-compilers and cross-architecture tools. | @@ -87,6 +85,14 @@ Installers for the following tools are included: | misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | | misc | [jdgui](http://jd.benow.ca/) | Java decompiler. | +There are also a couple of installers for useful libraries included. Currently +only the python bindings for these libraries are installed. + +| Category | Library | Description | +| binary | [capstone](http://www.capstone-engine.org) | Multi-architecture disassembly framework. | +| binary | [keystone](http://www.keystone-engine.org) | Lightweight multi-architecture assembler framework. | +| binary | [unicorn](http://www.unicorn-engine.org) | Multi-architecture CPU emulator framework. | + There are also some installers for non-CTF stuff to break the monotony! | Category | Tool | Description | @@ -177,7 +183,7 @@ vagrant ssh ## Kali Linux Kali Linux (Sana and Rolling), due to manually setting certain libraries to not use the latest version available (sometimes being out of date by years) causes some tools to not install at all, or fail in strange ways. AFL and Panda comes to mind, in fact any tool that uses QEMU 2.30 will probably fail during compilation under Kali. -Overriding these libraries breaks other tools included in Kali so your only solution is to either live with some of Kali's tools being broken, or running another distribution seperately such as Ubuntu. +Overriding these libraries breaks other tools included in Kali so your only solution is to either live with some of Kali's tools being broken, or running another distribution seperately such as Ubuntu. Most tools aren't affected though. From 5208e73e0c97607b7c9615f785091ce3e2afdb5b Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 13:39:55 +0200 Subject: [PATCH 043/149] hopefully this fixes keystone install on travis --- keystone/install | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/keystone/install b/keystone/install index a07c4a4..f4acd1f 100755 --- a/keystone/install +++ b/keystone/install @@ -5,9 +5,11 @@ git clone --depth 1 https://github.com/keystone-engine/keystone.git source ctf-tools-venv-activate +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + mkdir -p keystone/build/ pushd keystone/build/ -cmake -DCMAKE_INSTALL_PREFIX="$(realpath $PWD/../../)" \ +cmake -DCMAKE_INSTALL_PREFIX="$DIR" \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON \ -DLLVM_TARGETS_TO_BUILD="all" \ From f34548f197ad83fb9db126904668cb32f3b10ee4 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 13:49:28 +0200 Subject: [PATCH 044/149] set +x for install-root-* scripts --- apktool/install-root-archlinux | 0 hashkill/install-root-archlinux | 0 hashkill/install-root-debian | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 apktool/install-root-archlinux mode change 100644 => 100755 hashkill/install-root-archlinux mode change 100644 => 100755 hashkill/install-root-debian diff --git a/apktool/install-root-archlinux b/apktool/install-root-archlinux old mode 100644 new mode 100755 diff --git a/hashkill/install-root-archlinux b/hashkill/install-root-archlinux old mode 100644 new mode 100755 diff --git a/hashkill/install-root-debian b/hashkill/install-root-debian old mode 100644 new mode 100755 From 7004c61182225e4365eb1e683ca5596a4aaf5d80 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 14:04:17 +0200 Subject: [PATCH 045/149] avoid realpath, as apparently it's not standard... --- keystone/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keystone/install b/keystone/install index f4acd1f..cc39507 100755 --- a/keystone/install +++ b/keystone/install @@ -20,7 +20,7 @@ popd pushd keystone/bindings/python pip install -U -e . # create a symlink that the python bindings can find the keystone lib -ln -s $(realpath ../../../lib/libkeystone.so.0) keystone/libkeystone.so +ln -s $(readlink -f ../../../lib/libkeystone.so.0) keystone/libkeystone.so popd # kstool doesn't find the lib. so let's rm it From a65e0451aea79f657def03eff21e15fcd2a2cd31 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 13 Oct 2016 14:07:40 +0200 Subject: [PATCH 046/149] build qemu also with python from virtualenv --- qemu/install | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/qemu/install b/qemu/install index 5108a7a..e68d8a4 100755 --- a/qemu/install +++ b/qemu/install @@ -1,11 +1,10 @@ #!/bin/bash +set -e -o pipefail curl http://wiki.qemu-project.org/download/qemu-2.6.1.tar.bz2 | tar xvj cd qemu-2.6.1 -if [[ "$(python --version 2>&1)" =~ Python\ 3 ]]; then - ./configure "--prefix=$(dirname $PWD)" "--python=$(which python2)" -else - ./configure "--prefix=$(dirname $PWD)" -fi + +source ctf-tools-venv-activate +./configure "--prefix=$(dirname $PWD)" "--python=$(which python)" make -j $(nproc) make install From 515924f580be085b3e6a111c86bb93d160743099 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 15 Nov 2016 15:25:11 +0100 Subject: [PATCH 047/149] apparently the order of bash fd redirections matters... --- bin/manage-tools | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/manage-tools b/bin/manage-tools index ca0b426..e98dbf9 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -34,10 +34,10 @@ function tool_log() function detect_distribution() { - if which pacman 2>&1 >/dev/null; then + if which pacman >/dev/null 2>&1; then echo "archlinux" - elif which apt-get 2>&1 >/dev/null; then - if lsb_release -a 2>/dev/null | grep -i ubuntu 2>&1 >/dev/null; then + elif which apt-get >/dev/null 2>&1; then + if lsb_release -a 2>/dev/null | grep -i ubuntu >/dev/null 2>&1; then echo "ubuntu" else echo "debian" @@ -262,9 +262,9 @@ case $ACTION in # execute install script set +e if [ "$VERBOSE_OUTPUT" -eq 1 ]; then - env DISTRI=$DISTRI ./install 2>&1 | tee -a install.log + DISTRI=$DISTRI ./install 2>&1 | tee -a install.log else - env DISTRI=$DISTRI ./install >>install.log 2>&1 + DISTRI=$DISTRI ./install >>install.log 2>&1 fi INSTALL_FAILED=$? set -e From 88f6e7c8687f635c7178f752a896d1471cbca10c Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 15 Nov 2016 15:26:57 +0100 Subject: [PATCH 048/149] install r2pipe by default --- radare2/install | 2 ++ radare2/uninstall | 3 +++ 2 files changed, 5 insertions(+) create mode 100755 radare2/uninstall diff --git a/radare2/install b/radare2/install index ed32022..8d6538b 100755 --- a/radare2/install +++ b/radare2/install @@ -17,3 +17,5 @@ LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$PWD/../lib $PWD/$i.real "\$@" END chmod 755 $i done + +ctf-tools-pip install -yU r2pipe diff --git a/radare2/uninstall b/radare2/uninstall new file mode 100755 index 0000000..470a8e5 --- /dev/null +++ b/radare2/uninstall @@ -0,0 +1,3 @@ +#/bin/bash -e + +ctf-tools-pip uninstall -y r2pipe || true From 701b8bffb4f8cac81e5733420866d135de59110b Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 15 Nov 2016 15:27:53 +0100 Subject: [PATCH 049/149] stegdetect doesn't build on archlinux, the install-root script will always fail... --- stegdetect/install-root-archlinux | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100755 stegdetect/install-root-archlinux diff --git a/stegdetect/install-root-archlinux b/stegdetect/install-root-archlinux new file mode 100755 index 0000000..bf7ded4 --- /dev/null +++ b/stegdetect/install-root-archlinux @@ -0,0 +1,7 @@ +#!/bin/bash +set -eu -o pipefail + +echo "ERROR: archlinux has no aclocal-1.4. only $(aclocal --version | head -n 1)" +exit 1 + +pacman -Syu --noconfirm --needed automake From 26039cea6d8781145637c5f3e9b86abdec6546b1 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Fri, 11 Nov 2016 10:39:06 +0100 Subject: [PATCH 050/149] fedora support in manage-tools and wcc --- bin/manage-tools | 2 ++ wcc/install | 10 +++++++++- wcc/install-root-fedora | 6 ++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100755 wcc/install-root-fedora diff --git a/bin/manage-tools b/bin/manage-tools index e98dbf9..dd3d258 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -42,6 +42,8 @@ function detect_distribution() else echo "debian" fi + elif which dnf 2>&1 >/dev/null; then + echo "fedora" else echo "" fi diff --git a/wcc/install b/wcc/install index 842b19d..98992e7 100755 --- a/wcc/install +++ b/wcc/install @@ -1,10 +1,18 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/endrazine/wcc pushd wcc git submodule init git submodule update +# fedora doesn't have stropts.h since apparently it's unsupported on linux +# anyway. wcc compiles fines without it. +if [[ "$DISTRI" == "fedora" ]]; then + sed -i "s&#include &/*#include */&g" \ + src/wsh/include/libwitch/wsh.h +fi + + make mv bin/ ../ popd diff --git a/wcc/install-root-fedora b/wcc/install-root-fedora new file mode 100755 index 0000000..506dacb --- /dev/null +++ b/wcc/install-root-fedora @@ -0,0 +1,6 @@ +#!/bin/bash +set -eu -o pipefail + +dnf install -y clang clang-libs clang-devel binutils binutils-devel \ + uthash-devel elfutils-libelf elfutils-libelf-devel capstone \ + capstone-devel readline readline-devel gsl gsl-devel From 9783438380889704414797e964fcf2207b7dd3b4 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 13 Dec 2016 17:20:48 +0100 Subject: [PATCH 051/149] Added a couple of install-root scripts for fedora --- gdb/install-root-fedora | 3 +++ pwntools/install-root-fedora | 3 +++ snowman/install-root-fedora | 4 ++++ 3 files changed, 10 insertions(+) create mode 100755 gdb/install-root-fedora create mode 100755 pwntools/install-root-fedora create mode 100755 snowman/install-root-fedora diff --git a/gdb/install-root-fedora b/gdb/install-root-fedora new file mode 100755 index 0000000..f4aeb71 --- /dev/null +++ b/gdb/install-root-fedora @@ -0,0 +1,3 @@ +#!/bin/bash -e + +dnf install -y texinfo diff --git a/pwntools/install-root-fedora b/pwntools/install-root-fedora new file mode 100755 index 0000000..5e17654 --- /dev/null +++ b/pwntools/install-root-fedora @@ -0,0 +1,3 @@ +#!/bin/bash -e + +dnf install -y binutils binutils-devel libffi-devel openssl-devel diff --git a/snowman/install-root-fedora b/snowman/install-root-fedora new file mode 100755 index 0000000..bf90063 --- /dev/null +++ b/snowman/install-root-fedora @@ -0,0 +1,4 @@ +#!/bin/bash +set -eu -o pipefail + +dnf install -y boost cmake qt5-base qqt5-base-devel From 4303fca8be9bd2f7c9b08e20ef3f40dc0f6e6184 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 13 Dec 2016 17:35:12 +0100 Subject: [PATCH 052/149] setup support for fedora in manage-tools --- bin/manage-tools | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bin/manage-tools b/bin/manage-tools index dd3d258..21d5139 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -112,6 +112,19 @@ EOF } +function base_build_setup_fedora() +{ + PACKAGE_REQS="libtool gcc gcc-c++ texinfo curl wget automake autoconf python python-devel git subversion unzip python-virtualenvwrapper" + if [ "$ALLOW_SUDO" -eq 1 ]; then + sudo dnf -y install $PACKAGE_REQS + else + TOOL=SETUP tool_log "Please install the following packages: $PACKAGE_REQS" + fi + + # TODO: check whether we have to explicitly enable i386 package support +} + + function base_build_setup() { case "$1" in @@ -124,6 +137,9 @@ function base_build_setup() base_build_setup_arch export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 ;; + "fedora") + base_build_setup_fedora + ;; *) TOOL=SETUP tool_log "Cannot detect or unsupported distribution" esac From c7be37e56f34f84a5edeabf5c57a7acd1240589b Mon Sep 17 00:00:00 2001 From: Akshay Krishnan R Date: Thu, 15 Dec 2016 23:51:07 +0530 Subject: [PATCH 053/149] Update wget link The original one was to windows binaries --- msieve/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msieve/install b/msieve/install index c9f661e..4c2f4b7 100755 --- a/msieve/install +++ b/msieve/install @@ -1,7 +1,7 @@ #!/bin/bash -e mkdir bin -wget -O msieve.tar.gz https://sourceforge.net/projects/msieve/files/latest/download +wget -O msieve.tar.gz "http://downloads.sourceforge.net/project/msieve/msieve/Msieve v1.53/msieve153_src.tar.gz" tar -xf msieve.tar.gz cd msieve-* From b62428a1b622003a0a28fa56aff88d4e99849bd6 Mon Sep 17 00:00:00 2001 From: Yan Date: Sat, 24 Dec 2016 20:30:22 -0800 Subject: [PATCH 054/149] update path to dirb --- dirb/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dirb/install b/dirb/install index c497c47..0a789bb 100755 --- a/dirb/install +++ b/dirb/install @@ -1,7 +1,7 @@ #!/bin/bash -e mkdir bin -wget -O dirb.tar.gz https://sourceforge.net/projects/dirb/files/latest/download +wget -O dirb.tar.gz http://downloads.sourceforge.net/project/dirb/dirb/2.22/dirb222.tar.gz tar -xf dirb.tar.gz chmod -R a+X dirb222/ From b9bb5504e5fbcd5705ec7099e6b23298f356c344 Mon Sep 17 00:00:00 2001 From: Yan Date: Sun, 25 Dec 2016 09:41:10 -0800 Subject: [PATCH 055/149] mark pathgring as failing -- need to figure out how to get it to build on xenial --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f17fae..06285f5 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Installers for the following tools are included: | binary | [hongfuzz](https://github.com/google/honggfuzz) | A general-purpose, easy-to-use fuzzer with interesting analysis options. | | binary | [libheap](https://github.com/cloudburst/libheap) | gdb python library for examining the glibc heap (ptmalloc) | | binary | [panda](https://github.com/moyix/panda) | Platform for Architecture-Neutral Dynamic Analysis. | -| binary | [pathgrind](https://github.com/codelion/pathgrind) | Path-based, symbolically-assisted fuzzer. | +| binary | [pathgrind](https://github.com/codelion/pathgrind) | Path-based, symbolically-assisted fuzzer. | | binary | [peda](https://github.com/longld/peda) | Enhanced environment for gdb. | | binary | [preeny](https://github.com/zardus/preeny) | A collection of helpful preloads (compiled for many architectures!). | | binary | [pwndbg](https://github.com/zachriggle/pwndbg) | Enhanced environment for gdb. Especially for pwning. | From fac217933e98d80dc9f564dcb06d812f153852e0 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 6 Dec 2016 21:09:14 +0100 Subject: [PATCH 056/149] Added zsteg tool --- zsteg/install | 3 +++ zsteg/install-root-archlinux | 3 +++ 2 files changed, 6 insertions(+) create mode 100755 zsteg/install create mode 100755 zsteg/install-root-archlinux diff --git a/zsteg/install b/zsteg/install new file mode 100755 index 0000000..fa6f102 --- /dev/null +++ b/zsteg/install @@ -0,0 +1,3 @@ +#!/bin/bash -e + +gem install zsteg diff --git a/zsteg/install-root-archlinux b/zsteg/install-root-archlinux new file mode 100755 index 0000000..cc7ee0c --- /dev/null +++ b/zsteg/install-root-archlinux @@ -0,0 +1,3 @@ +#!/bin/bash -e + +pacman -Syu --noconfirm --needed ruby From 0fcd37ab0395c473fceec1aaa5a2f5f0ab94034d Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 22 Dec 2016 15:46:04 +0100 Subject: [PATCH 057/149] Added veles tool --- veles/install | 9 +++++++++ veles/install-root-debian | 3 +++ 2 files changed, 12 insertions(+) create mode 100755 veles/install create mode 100755 veles/install-root-debian diff --git a/veles/install b/veles/install new file mode 100755 index 0000000..abb1d17 --- /dev/null +++ b/veles/install @@ -0,0 +1,9 @@ +#!/bin/bash -e + +wget -O src.tar.gz https://codisec.com/wp-content/uploads/2016/12/Veles_2016.12_Source.tar.gz +tar xf src.tar.gz +mkdir build +cd build +cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=.. ../veles-2016.12 +make -j8 +make install diff --git a/veles/install-root-debian b/veles/install-root-debian new file mode 100755 index 0000000..f14afd0 --- /dev/null +++ b/veles/install-root-debian @@ -0,0 +1,3 @@ +#!/bin/bash -e + +apt-get install -y cmake zlib zlib-dev qtbase5 qtbase5-dev From 1406b6640f788d28867c89756bd0efa69d60c6e6 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Fri, 30 Dec 2016 13:47:33 +0100 Subject: [PATCH 058/149] Added veles/install-root-archlinux --- veles/install-root-archlinux | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 veles/install-root-archlinux diff --git a/veles/install-root-archlinux b/veles/install-root-archlinux new file mode 100755 index 0000000..996240b --- /dev/null +++ b/veles/install-root-archlinux @@ -0,0 +1,3 @@ +#!/bin/bash -e + +pacman -Syu --noconfirm --needed cmake zlib qt5-base From cc1c30d65a8814d4f13e85ec620f82fcfd559d5b Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Fri, 30 Dec 2016 14:12:21 +0100 Subject: [PATCH 059/149] Install ruby for zsteg --- zsteg/install-root-debian | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 zsteg/install-root-debian diff --git a/zsteg/install-root-debian b/zsteg/install-root-debian new file mode 100755 index 0000000..9bb1b08 --- /dev/null +++ b/zsteg/install-root-debian @@ -0,0 +1,3 @@ +#!/bin/bash -e + +apt-get install -y ruby From b876c9120bb7d4f078c0f426d494c02a38ed8fd7 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Fri, 30 Dec 2016 14:19:19 +0100 Subject: [PATCH 060/149] Added veles,zsteg to the readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 06285f5..067a70b 100644 --- a/README.md +++ b/README.md @@ -80,10 +80,12 @@ Installers for the following tools are included: | stego | [steganabara](http://www.caesum.com/handbook/stego.htm) | Another image steganography solver. | | stego | [stegdetect](http://www.outguess.org/) | Steganography detection/breaking tool. | | stego | [stegsolve](http://www.caesum.com/handbook/stego.htm) | Image steganography solver. | +| stego | [zsteg](https://github.com/zed-0xff/zsteg) | detect stegano-hidden data in PNG & BMP. | | android | [apktool](https://ibotpeaches.github.io/Apktool/) | Dissect, dis-assemble, and re-pack Android APKs | | android | [android-sdk](http://developer.android.com/sdk) | The android SDK (adb, emulator, etc). | | misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | | misc | [jdgui](http://jd.benow.ca/) | Java decompiler. | +| misc | [veles](https://codisec.com/veles/) | Binary data analysis and visulalization tool. | There are also a couple of installers for useful libraries included. Currently only the python bindings for these libraries are installed. From 9394483019fc0b7f9a250fec1eacb94f21eb92da Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Fri, 30 Dec 2016 20:29:15 +0100 Subject: [PATCH 061/149] switched zsteg test off --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 067a70b..5fbf62c 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Installers for the following tools are included: | stego | [steganabara](http://www.caesum.com/handbook/stego.htm) | Another image steganography solver. | | stego | [stegdetect](http://www.outguess.org/) | Steganography detection/breaking tool. | | stego | [stegsolve](http://www.caesum.com/handbook/stego.htm) | Image steganography solver. | -| stego | [zsteg](https://github.com/zed-0xff/zsteg) | detect stegano-hidden data in PNG & BMP. | +| stego | [zsteg](https://github.com/zed-0xff/zsteg) | detect stegano-hidden data in PNG & BMP. | | android | [apktool](https://ibotpeaches.github.io/Apktool/) | Dissect, dis-assemble, and re-pack Android APKs | | android | [android-sdk](http://developer.android.com/sdk) | The android SDK (adb, emulator, etc). | | misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | From d02af498c26307c970dfae4da01b4eb65d33013d Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Fri, 30 Dec 2016 20:29:33 +0100 Subject: [PATCH 062/149] fixed r2 install --- radare2/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radare2/install b/radare2/install index 8d6538b..ad83915 100755 --- a/radare2/install +++ b/radare2/install @@ -18,4 +18,4 @@ END chmod 755 $i done -ctf-tools-pip install -yU r2pipe +ctf-tools-pip install -U r2pipe From 8838be9744fdcf3bcb9ca8423599ca8f89b3a5e6 Mon Sep 17 00:00:00 2001 From: jayssj11 Date: Thu, 5 Jan 2017 22:49:24 +0530 Subject: [PATCH 063/149] Create install.sh install pngtools on debian/ubuntu based Linux distro's !! Update README.md added pngtools in readme Delete install.sh Update README.md Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5fbf62c..01af719 100644 --- a/README.md +++ b/README.md @@ -229,6 +229,7 @@ They're not included in ctf-tools, but are included here as notes for the author |----------|---------|-------------|---------| | forensics | [foremost](http://foremost.sourceforge.net/) | File carver. | `foremost` | | dsniff | [dsniff](http://www.monkey.org/~dugsong/dsniff/) | Grabs passwords and other data from pcaps/network streams. | dsniff | +| stego | [pngtools](https://launchpad.net/ubuntu/+source/pngtools) | PNG's analysis tool. | ## Tools with unofficial Debian/Ubuntu repos or debs From 63584b49575f91fa240b2cc80d6914b8f1f3b464 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 12 Jan 2017 10:47:56 +0100 Subject: [PATCH 064/149] install libheap dependencies --- libheap/install-root-debian | 3 +++ libheap/install-root-fedora | 4 ++++ 2 files changed, 7 insertions(+) create mode 100755 libheap/install-root-debian create mode 100755 libheap/install-root-fedora diff --git a/libheap/install-root-debian b/libheap/install-root-debian new file mode 100755 index 0000000..86bcb3d --- /dev/null +++ b/libheap/install-root-debian @@ -0,0 +1,3 @@ +#!/bin/bash -e + +apt-get install libc6-dbg diff --git a/libheap/install-root-fedora b/libheap/install-root-fedora new file mode 100755 index 0000000..6c3557d --- /dev/null +++ b/libheap/install-root-fedora @@ -0,0 +1,4 @@ +#!/bin/bash -e + +dnf install -y dnf-plugins-core +dnf debuginfo-install glibc From 8a7c937af69d3c8ee2e686d49236e2acfacb7a56 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 12 Jan 2017 10:52:35 +0100 Subject: [PATCH 065/149] Create a libheap initializer gdb command --- libheap/install | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/libheap/install b/libheap/install index d63dc52..53b3734 100755 --- a/libheap/install +++ b/libheap/install @@ -5,3 +5,22 @@ source ctf-tools-venv-activate git clone --depth 1 https://github.com/cloudburst/libheap pip install -e libheap + +# make sure gdbinit exists +touch ~/.gdbinit +# check if init command exits +if ! grep "init-libheap" ~/.gdbinit; then + cat >> ~/.gdbinit < Date: Thu, 12 Jan 2017 10:58:18 +0100 Subject: [PATCH 066/149] added missing -y switch for debug info install --- libheap/install-root-debian | 2 +- libheap/install-root-fedora | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libheap/install-root-debian b/libheap/install-root-debian index 86bcb3d..d13f0eb 100755 --- a/libheap/install-root-debian +++ b/libheap/install-root-debian @@ -1,3 +1,3 @@ #!/bin/bash -e -apt-get install libc6-dbg +apt-get install -y libc6-dbg diff --git a/libheap/install-root-fedora b/libheap/install-root-fedora index 6c3557d..318f18f 100755 --- a/libheap/install-root-fedora +++ b/libheap/install-root-fedora @@ -1,4 +1,4 @@ #!/bin/bash -e dnf install -y dnf-plugins-core -dnf debuginfo-install glibc +dnf debuginfo-install -y glibc From e61b60edebed50b0a57cb3ccbe94f6081623afe6 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 12 Jan 2017 11:05:36 +0100 Subject: [PATCH 067/149] install libc debug info for pwndbg, so that the heap commands work --- pwndbg/install-root-debian | 3 +++ pwndbg/install-root-fedora | 4 ++++ 2 files changed, 7 insertions(+) create mode 100755 pwndbg/install-root-debian create mode 100755 pwndbg/install-root-fedora diff --git a/pwndbg/install-root-debian b/pwndbg/install-root-debian new file mode 100755 index 0000000..d13f0eb --- /dev/null +++ b/pwndbg/install-root-debian @@ -0,0 +1,3 @@ +#!/bin/bash -e + +apt-get install -y libc6-dbg diff --git a/pwndbg/install-root-fedora b/pwndbg/install-root-fedora new file mode 100755 index 0000000..318f18f --- /dev/null +++ b/pwndbg/install-root-fedora @@ -0,0 +1,4 @@ +#!/bin/bash -e + +dnf install -y dnf-plugins-core +dnf debuginfo-install -y glibc From b28ad9eed65964a6c97467fb26236c61ebd9e1c8 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 12 Jan 2017 11:10:47 +0100 Subject: [PATCH 068/149] added gdb-heap gdb extension --- gdb-heap/install | 22 ++++++++++++++++++++++ gdb-heap/install-root-debian | 3 +++ gdb-heap/install-root-fedora | 4 ++++ 3 files changed, 29 insertions(+) create mode 100755 gdb-heap/install create mode 100755 gdb-heap/install-root-debian create mode 100755 gdb-heap/install-root-fedora diff --git a/gdb-heap/install b/gdb-heap/install new file mode 100755 index 0000000..23d97e8 --- /dev/null +++ b/gdb-heap/install @@ -0,0 +1,22 @@ +#!/bin/bash -e + +git clone --depth=1 http://git.fedorahosted.org/git/gdb-heap.git || true + +cd gdb-heap +# make sure gdbinit exists +touch ~/.gdbinit +if ! grep "init-gdb-heap" ~/.gdbinit; then + cat >> ~/.gdbinit < Date: Thu, 12 Jan 2017 11:15:20 +0100 Subject: [PATCH 069/149] removed -x from bash shebang in wcc install script --- wcc/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wcc/install b/wcc/install index 98992e7..9f78111 100755 --- a/wcc/install +++ b/wcc/install @@ -1,4 +1,4 @@ -#!/bin/bash -ex +#!/bin/bash -e git clone --depth 1 https://github.com/endrazine/wcc pushd wcc From 302f1df350642bed6acb656a04934a1a270c4825 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 12 Jan 2017 11:22:49 +0100 Subject: [PATCH 070/149] added gdb-heap readme entry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 01af719..671e53c 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ Installers for the following tools are included: | binary | [elfparser](http://www.elfparser.com/) | Quickly determine the capabilities of an ELF binary through static analysis. | | binary | [evilize](http://www.mathstat.dal.ca/~selinger/md5collision/) | Tool to create MD5 colliding binaries | | binary | [gdb](http://www.gnu.org/software/gdb/) | Up-to-date gdb with python2 bindings. | +| binary | [gdb-heap](https://fedorahosted.org/gdb-heap/) | gdb extension for debugging heap issues. | | binary | [gef](https://github.com/hugsy/gef) | Enhanced environment for gdb. | | binary | [hongfuzz](https://github.com/google/honggfuzz) | A general-purpose, easy-to-use fuzzer with interesting analysis options. | | binary | [libheap](https://github.com/cloudburst/libheap) | gdb python library for examining the glibc heap (ptmalloc) | From 4a3477bd48a8af54fe1e025ba4330c12ddd0347a Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Thu, 12 Jan 2017 11:24:09 +0100 Subject: [PATCH 071/149] fixed typo in libheap install --- libheap/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libheap/install b/libheap/install index 53b3734..4fe5c3a 100755 --- a/libheap/install +++ b/libheap/install @@ -17,7 +17,7 @@ if ! grep "init-libheap" ~/.gdbinit; then define init-libheap python from libheap import * end -document init-pwndbg +document init-libheap Initializes the libheap gdb extension (https://github.com/cloudburst/libheap) end #### From 55cc5bd1df4fcfe7406644e23c158c617472e6b9 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Fri, 20 Jan 2017 12:10:42 +0100 Subject: [PATCH 072/149] Fixed markup of libraries table in README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 671e53c..0f9fc29 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,7 @@ There are also a couple of installers for useful libraries included. Currently only the python bindings for these libraries are installed. | Category | Library | Description | +|----------|---------|-------------| | binary | [capstone](http://www.capstone-engine.org) | Multi-architecture disassembly framework. | | binary | [keystone](http://www.keystone-engine.org) | Lightweight multi-architecture assembler framework. | | binary | [unicorn](http://www.unicorn-engine.org) | Multi-architecture CPU emulator framework. | From befe93ff5114c0fc6af0f86cebc0d9f4b358e0ba Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 20 Jan 2017 03:56:52 -0800 Subject: [PATCH 073/149] don't test taintgrind, since it doesn't compile under xenial --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f9fc29..36405cf 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Installers for the following tools are included: | binary | [shellnoob](https://github.com/reyammer/shellnoob) | Shellcode writing helper. | | binary | [shellsploit](https://github.com/b3mb4m/shellsploit-framework) | Shellcode development kit. | | binary | [snowman](https://github.com/yegord/snowman) | Cross-architecture decompiler. | -| binary | [taintgrind](https://github.com/wmkhoo/taintgrind) | A valgrind taint analysis tool. | +| binary | [taintgrind](https://github.com/wmkhoo/taintgrind) | A valgrind taint analysis tool. | | binary | [villoc](https://github.com/wapiflapi/villoc) | Visualization of heap operations. | | binary | [virtualsocket](https://github.com/antoniobianchi333/virtualsocket) | A nice library to interact with binaries. | | binary | [wcc](https://github.com/endrazine/wcc) | The Witchcraft Compiler Collection is a collection of compilation tools to perform binary black magic on the GNU/Linux and other POSIX platforms. | From 148ecc0b6a8f5c1d7fbcca6cea6d6dd7c1353b68 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 20 Jan 2017 15:02:52 -0800 Subject: [PATCH 074/149] add xspy --- README.md | 1 + xspy/install.sh | 5 +++++ 2 files changed, 6 insertions(+) create mode 100755 xspy/install.sh diff --git a/README.md b/README.md index 36405cf..0165167 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ Installers for the following tools are included: | stego | [zsteg](https://github.com/zed-0xff/zsteg) | detect stegano-hidden data in PNG & BMP. | | android | [apktool](https://ibotpeaches.github.io/Apktool/) | Dissect, dis-assemble, and re-pack Android APKs | | android | [android-sdk](http://developer.android.com/sdk) | The android SDK (adb, emulator, etc). | +| misc | [xspy](http://git.kali.org/gitweb/?p=packages/xspy.git;a=summary) | Tiny tool to spy on X sessions. | | misc | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. | | misc | [jdgui](http://jd.benow.ca/) | Java decompiler. | | misc | [veles](https://codisec.com/veles/) | Binary data analysis and visulalization tool. | diff --git a/xspy/install.sh b/xspy/install.sh new file mode 100755 index 0000000..814fd87 --- /dev/null +++ b/xspy/install.sh @@ -0,0 +1,5 @@ +#!/bin/bash -e + +[ -e xspy ] || git clone git://git.kali.org/packages/xspy.git +mkdir -p bin +gcc -o bin/xspy xspy/Xspy.c -lX11 From c454a16ef233cdb8e90d6f247d1109ee527e012a Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 20 Jan 2017 15:03:47 -0800 Subject: [PATCH 075/149] oops... --- xspy/{install.sh => install} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename xspy/{install.sh => install} (100%) diff --git a/xspy/install.sh b/xspy/install similarity index 100% rename from xspy/install.sh rename to xspy/install From f4a5aa6428f0196c2659458049145ff1783de484 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 1 Feb 2017 19:17:00 +0100 Subject: [PATCH 076/149] updated gdb to latest version --- gdb/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/install b/gdb/install index 3aa03a2..e8f04eb 100755 --- a/gdb/install +++ b/gdb/install @@ -1,8 +1,8 @@ #!/bin/bash set -e -o pipefail -curl https://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz | tar xz -cd gdb-7.11.1 +curl https://ftp.gnu.org/gnu/gdb/gdb-7.12.tar.gz | tar xz +cd gdb-7.12 # move to ctftools virtual env source ctf-tools-venv-activate From b6bb9cf1fa8420b27f721f4404d83856244827e8 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 1 Feb 2017 19:18:34 +0100 Subject: [PATCH 077/149] updated qemu to 2.8.0 --- qemu/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qemu/install b/qemu/install index e68d8a4..ec95bed 100755 --- a/qemu/install +++ b/qemu/install @@ -1,8 +1,8 @@ #!/bin/bash set -e -o pipefail -curl http://wiki.qemu-project.org/download/qemu-2.6.1.tar.bz2 | tar xvj -cd qemu-2.6.1 +curl http://wiki.qemu-project.org/download/qemu-2.8.0.tar.bz2 | tar xvj +cd qemu-2.8.0 source ctf-tools-venv-activate ./configure "--prefix=$(dirname $PWD)" "--python=$(which python)" From 75bb5b59f548d6cc56c94a382abda5e018fd2c4a Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 5 Feb 2017 18:13:29 +0100 Subject: [PATCH 078/149] setuptools needs appdirs, which is not installed for some reason --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index a93248d..4f7dd13 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,6 +18,7 @@ USER ctf WORKDIR /home/ctf/tools RUN git checkout . RUN bin/manage-tools -s setup +RUN bin/ctf-tools-pip install appdirs RUN echo "workon ctftools" >> /home/ctf/.bashrc WORKDIR /home/ctf From 761d378dd968e047437952ac851c96fd57e7329d Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 12 Feb 2017 19:11:15 +0100 Subject: [PATCH 079/149] don't ask for github username/password --- angr/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/angr/install b/angr/install index 92c3ce4..008c21b 100755 --- a/angr/install +++ b/angr/install @@ -7,7 +7,7 @@ source ctf-tools-venv-activate #[ -e $VIRTUAL_ENV/lib/python2.7/site-packages/pygraphviz ] || ln -s /usr/lib/pymodules/python2.7/pygraphviz $VIRTUAL_ENV/lib/python2.7/site-packages/ git clone --depth 1 https://github.com/angr/angr-dev -angr-dev/setup.sh -w -r https://git:@github.com/salls angrop +GIT_ASKPASS=echo angr-dev/setup.sh -w -r https://git:@github.com/salls angrop rm -rf angr-dev/wheels mkdir -p bin From 07b2483bf2bca8899957cf5e5842ae5601d0b0e5 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Mon, 13 Feb 2017 13:48:53 +0100 Subject: [PATCH 080/149] add missing packages --- angr/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/angr/install-root-debian b/angr/install-root-debian index 9282191..c9be941 100755 --- a/angr/install-root-debian +++ b/angr/install-root-debian @@ -2,7 +2,7 @@ set -eu -o pipefail # for angr -apt-get -y install virtualenvwrapper python2.7-dev build-essential libxml2-dev libxslt1-dev git libffi-dev cmake libreadline-dev libtool debootstrap debian-archive-keyring libglib2.0-dev libpixman-1-dev +apt-get -y install virtualenvwrapper python2.7-dev build-essential libxml2-dev libxslt1-dev git libffi-dev cmake libreadline-dev libtool debootstrap debian-archive-keyring libglib2.0-dev libpixman-1-dev libqt4-dev graphviz-dev binutils-multiarch nasm libc6:i386 libgcc1:i386 libstdc++6:i386 libtinfo5:i386 zlib1g:i386 # for angr-management apt-get -y install python-qt4 python-sip python-pygraphviz From 6dd5b2c034633dc31bfcd43c3641d846edb266e4 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 12 Feb 2017 21:16:26 +0100 Subject: [PATCH 081/149] install gem as user, not root --- zsteg/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zsteg/install b/zsteg/install index fa6f102..5333292 100755 --- a/zsteg/install +++ b/zsteg/install @@ -1,3 +1,3 @@ #!/bin/bash -e -gem install zsteg +gem install --user-install zsteg From 42f05e6ebc5d4ae88ac61dde9f0332705023fda2 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 23:47:29 +0100 Subject: [PATCH 082/149] adding missing packages --- xspy/install-root-debian | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 xspy/install-root-debian diff --git a/xspy/install-root-debian b/xspy/install-root-debian new file mode 100755 index 0000000..d48c2b4 --- /dev/null +++ b/xspy/install-root-debian @@ -0,0 +1,3 @@ +#!/bin/bash -e + +apt-get install -y libx11-dev From cc9ac9642f67a2e5fa1843096ca853f18ed948cd Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 21:04:56 +0100 Subject: [PATCH 083/149] fix package names --- veles/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/veles/install-root-debian b/veles/install-root-debian index f14afd0..b089aa3 100755 --- a/veles/install-root-debian +++ b/veles/install-root-debian @@ -1,3 +1,3 @@ #!/bin/bash -e -apt-get install -y cmake zlib zlib-dev qtbase5 qtbase5-dev +apt-get install -y cmake zlib1g-dev qtbase5-dev From 0ad8a5ed005472618de887ae7210790c8738a226 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 20:55:10 +0100 Subject: [PATCH 084/149] compile first, install later --- unicorn/install | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unicorn/install b/unicorn/install index ab9dc62..5e37b32 100755 --- a/unicorn/install +++ b/unicorn/install @@ -6,6 +6,8 @@ git clone --depth 1 https://github.com/unicorn-engine/unicorn.git source ctf-tools-venv-activate pushd unicorn +echo "compiling unicorn" +UNICORN_QEMU_FLAGS="--python=$(which python)" PREFIX="$VIRTUAL_ENV" ./make.sh echo "installing unicorn to $VIRTUAL_ENV" UNICORN_QEMU_FLAGS="--python=$(which python)" PREFIX="$VIRTUAL_ENV" ./make.sh install From bc23b0d9cd039f7f43c7a5b09e3a5fc4d299f1d8 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 19:10:19 +0100 Subject: [PATCH 085/149] adding required packages --- sslsplit/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sslsplit/install-root-debian b/sslsplit/install-root-debian index 3e352e1..7ef1501 100755 --- a/sslsplit/install-root-debian +++ b/sslsplit/install-root-debian @@ -1,4 +1,4 @@ #!/bin/bash set -eu -o pipefail -apt-get -y install libevent-dev +apt-get -y install libevent-dev pkg-config libssl-dev From 3ec555540a9d3917eb402b04fc01ca2306d8dcc9 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 19:37:05 +0100 Subject: [PATCH 086/149] add missing packages --- sonic-visualizer/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonic-visualizer/install-root-debian b/sonic-visualizer/install-root-debian index 1f38931..04eaacb 100755 --- a/sonic-visualizer/install-root-debian +++ b/sonic-visualizer/install-root-debian @@ -1,4 +1,4 @@ #!/bin/bash set -eu -o pipefail -apt-get -y install libbz2-dev libfftw3-dev libsndfile1-dev libsamplerate0-dev vamp-plugin-sdk librubberband-dev libsord-dev liblo-dev liblrdf0-dev liboggz2-dev libfishsound1-dev libid3tag0-dev libportaudio-dev libmad0-dev qt5-qmake +apt-get -y install libbz2-dev libfftw3-dev libsndfile1-dev libsamplerate0-dev vamp-plugin-sdk librubberband-dev libsord-dev liblo-dev liblrdf0-dev liboggz2-dev libfishsound1-dev libid3tag0-dev libportaudio-dev libmad0-dev qt5-qmake qt5-default libasound-dev From 4884cb6c0909bdb8ecbcfd887e7c7cd99e2f745b Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 19:36:53 +0100 Subject: [PATCH 087/149] avoid process explosion --- sonic-visualizer/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonic-visualizer/install b/sonic-visualizer/install index 34cbb39..8ca2e8a 100755 --- a/sonic-visualizer/install +++ b/sonic-visualizer/install @@ -5,7 +5,7 @@ INST_DIR=$PWD wget --no-check-certificate -O - https://code.soundsoftware.ac.uk/attachments/download/1675/sonic-visualiser-2.5.tar.gz | tar xz cd sonic-visualiser-2.5 ./configure --prefix=$INST_DIR -make -j +make -j $(nproc) #make install mkdir -p bin From 5006e9bcb9e9012471ec90870eabe37892fb9e6f Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 20:29:35 +0100 Subject: [PATCH 088/149] --no-cache-dir is an invalid option --- ropper/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ropper/install b/ropper/install index 6e655c9..a55ec85 100755 --- a/ropper/install +++ b/ropper/install @@ -2,6 +2,6 @@ [ -e ropper ] || git clone --depth 1 https://github.com/sashs/Ropper.git ropper -ctf-tools-pip install --no-use-wheel --no-cache-dir -I capstone +ctf-tools-pip install --no-use-wheel -I capstone ctf-tools-pip install filebytes ctf-tools-pip install -e ropper From 187743a7972b16c6592fa09d57e4ab653de70a7a Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 20:25:38 +0100 Subject: [PATCH 089/149] adding missing packages --- qemu/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu/install-root-debian b/qemu/install-root-debian index 6d0eb02..1f56b55 100755 --- a/qemu/install-root-debian +++ b/qemu/install-root-debian @@ -1,3 +1,3 @@ #!/bin/bash -e -apt-get install -y python +apt-get install -y python pkg-config zlib1g-dev libglib2.0-dev From cb23e3ceff7cadc78700c813187d018bad6a9329 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 20:13:18 +0100 Subject: [PATCH 090/149] fix qemu tarball location --- qemu/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu/install b/qemu/install index ec95bed..4333fa0 100755 --- a/qemu/install +++ b/qemu/install @@ -1,7 +1,7 @@ #!/bin/bash set -e -o pipefail -curl http://wiki.qemu-project.org/download/qemu-2.8.0.tar.bz2 | tar xvj +curl http://download.qemu-project.org/qemu-2.8.0.tar.bz2 | tar xvj cd qemu-2.8.0 source ctf-tools-venv-activate From f3e4bb0d344f101b28fca112c217bc97bd671e7c Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 19:00:31 +0100 Subject: [PATCH 091/149] adding required packages --- pemcrack/install-root-debian | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 pemcrack/install-root-debian diff --git a/pemcrack/install-root-debian b/pemcrack/install-root-debian new file mode 100755 index 0000000..5eb746d --- /dev/null +++ b/pemcrack/install-root-debian @@ -0,0 +1,5 @@ +#!/bin/bash +set -eu -o pipefail + +apt-get -y install libssl-dev + From 4eb2ed7555dd52bb182ed129334636a2505c52f2 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 12 Feb 2017 21:50:44 +0100 Subject: [PATCH 092/149] adding missing packages --- panda/install-root-debian | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/panda/install-root-debian b/panda/install-root-debian index 331a865..1039883 100755 --- a/panda/install-root-debian +++ b/panda/install-root-debian @@ -2,4 +2,6 @@ set -eu -o pipefail apt-get -y install nasm libssl-dev libpcap-dev subversion curl \ - autoconf libtool libc++-dev llvm-3.3-dev clang-3.3 unzip + autoconf libtool libc++-dev llvm-3.3-dev clang-3.3 unzip \ + protobuf-c-compiler protobuf-compiler libprotobuf-dev pkg-config \ + libglib2.0-dev libdwarf-dev From 31158b442b2ddcb2c850c7f728da9969bd63142c Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 18:03:18 +0100 Subject: [PATCH 093/149] requires libz-dev --- msieve/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msieve/install-root-debian b/msieve/install-root-debian index 4f25dcb..dc68767 100755 --- a/msieve/install-root-debian +++ b/msieve/install-root-debian @@ -1,4 +1,4 @@ #!/bin/bash set -eu -o pipefail -apt-get -y install libgmp3-dev libgmp-dev +apt-get -y install libgmp3-dev libgmp-dev libz-dev From 6a596ee50afb224839219dfb1e7b1f2175999fa3 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 18:31:11 +0100 Subject: [PATCH 094/149] adding missing packages --- mitmproxy/install | 2 +- mitmproxy/install-root-debian | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100755 mitmproxy/install-root-debian diff --git a/mitmproxy/install b/mitmproxy/install index e9a0c83..16827f3 100755 --- a/mitmproxy/install +++ b/mitmproxy/install @@ -1,3 +1,3 @@ #!/bin/bash -e -ctf-tools-pip install --upgrade mitmproxy +ctf-tools-pip install --upgrade packaging mitmproxy diff --git a/mitmproxy/install-root-debian b/mitmproxy/install-root-debian new file mode 100755 index 0000000..253f3a7 --- /dev/null +++ b/mitmproxy/install-root-debian @@ -0,0 +1,5 @@ +#!/bin/bash +set -eu -o pipefail + +apt-get -y install libssl-dev libffi-dev libtiff5-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk libxml2-dev libxslt1-dev + From 3fc751aab9e942cdbe5ffeeb23ba5807bf5404c7 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 18:01:26 +0100 Subject: [PATCH 095/149] assume yes when installing packages --- honggfuzz/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/honggfuzz/install-root-debian b/honggfuzz/install-root-debian index 7d83009..2a5564a 100755 --- a/honggfuzz/install-root-debian +++ b/honggfuzz/install-root-debian @@ -1,4 +1,4 @@ #!/bin/bash set -eu -o pipefail -apt-get install libbfd-dev libunwind8-dev +apt-get install -y libbfd-dev libunwind8-dev From 5b2590b08b2022948b1b5fed84ce7cfdc8c08625 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 17:59:04 +0100 Subject: [PATCH 096/149] assume yes when installing packages + pkg-config required --- hashkill/install-root-debian | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hashkill/install-root-debian b/hashkill/install-root-debian index 59974c3..f381365 100755 --- a/hashkill/install-root-debian +++ b/hashkill/install-root-debian @@ -1,3 +1,3 @@ #!/bin/bash -e -apt-get install libssl-dev +apt-get install -y libssl-dev pkg-config From 3f8f6d4569d2eae3d5690f0def619fc39ce0348d Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sat, 11 Feb 2017 18:10:33 +0100 Subject: [PATCH 097/149] adding missing packages --- featherduster/install-root-debian | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 featherduster/install-root-debian diff --git a/featherduster/install-root-debian b/featherduster/install-root-debian new file mode 100755 index 0000000..ed875ae --- /dev/null +++ b/featherduster/install-root-debian @@ -0,0 +1,5 @@ +#!/bin/bash +set -eu -o pipefail + +apt-get -y install libgmp3-dev libncurses5-dev + From b8711f912821777ae92076195c99d3675f6a1afc Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 12 Feb 2017 10:28:44 +0100 Subject: [PATCH 098/149] need to install bindead before compiling p9 --- bindead/install | 1 + 1 file changed, 1 insertion(+) diff --git a/bindead/install b/bindead/install index 3249791..f93550e 100755 --- a/bindead/install +++ b/bindead/install @@ -5,6 +5,7 @@ INST_DIR="$PWD" [ -e bindead ] || git clone --depth 1 https://bitbucket.org/mihaila/bindead.git cd bindead JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre ./build.sh +mvn install cd .. [ -e p9 ] || git clone --depth 1 https://bitbucket.org/mihaila/p9.git From 7144e756e51a2d33b2d9ea9a59fd61d6cb836437 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 16 Feb 2017 22:40:17 +0100 Subject: [PATCH 099/149] fail hard on any error + verify that all scripts use bash -ex to fail early on any error + anticipate that some tools can't be installed by now, but we still want the test to return success to satisfy travis-ci --- afl/install | 2 +- afl/install-root-archlinux | 2 +- afl/install-root-debian | 2 +- android-sdk/install | 2 +- android-sdk/install-root-archlinux | 2 +- android-sdk/install-root-debian | 2 +- angr/install | 2 +- angr/install-root-debian | 2 +- apktool/install | 2 +- apktool/install-root-archlinux | 2 +- apktool/install-root-debian | 2 +- barf/install | 4 +++- barf/install-root-debian | 2 +- barf/uninstall | 2 +- beef/install | 2 +- beef/install-root-archlinux | 2 +- beef/install-root-debian | 2 +- bin/manage-tools | 21 +++++++++++++++++++-- bindead/install | 2 +- bindead/install-root-debian | 2 +- binwalk/install | 2 +- burpsuite/install | 2 +- burpsuite/install-root-archlinux | 2 +- burpsuite/install-root-debian | 2 +- capstone/install | 2 +- capstone/test | 2 +- capstone/uninstall | 2 +- checksec/install | 2 +- codereason/install | 2 +- codereason/install-root-debian | 2 +- commix/install | 2 +- cribdrag/install | 2 +- cross2/install | 2 +- crosstool/install | 2 +- crosstool/install-root-archlinux | 2 +- crosstool/install-root-debian | 2 +- crosstool/uninstall | 2 +- df/install | 2 +- df/install-root-debian | 2 +- dirb/install | 2 +- dirb/install-root-archlinux | 2 +- dirb/install-root-debian | 2 +- dirsearch/install | 2 +- dislocker/install | 2 +- dislocker/install-root-archlinux | 2 +- dislocker/install-root-debian | 2 +- elfkickers/install | 2 +- elfparser/install | 2 +- elfparser/install-root-debian | 2 +- evilize/install | 2 +- exetractor/install | 2 +- featherduster/install | 2 +- featherduster/install-root-debian | 2 +- featherduster/uninstall | 2 +- firmware-mod-kit/install | 2 +- firmware-mod-kit/install-root-archlinux | 2 +- firmware-mod-kit/install-root-debian | 2 +- foresight/install | 2 +- foresight/uninstall | 2 +- gdb-heap/install | 2 +- gdb-heap/install-root-debian | 2 +- gdb-heap/install-root-fedora | 2 +- gdb/install | 2 +- gdb/install-root-archlinux | 2 +- gdb/install-root-debian | 2 +- gdb/install-root-fedora | 2 +- gef/install | 2 +- hash-identifier/install | 2 +- hash-identifier/install-root-debian | 2 +- hashkill/install | 2 +- hashkill/install-root-archlinux | 2 +- hashkill/install-root-debian | 2 +- hashpump-partialhash/install | 2 +- hashpump-partialhash/install-root-archlinux | 2 +- hashpump-partialhash/install-root-debian | 2 +- hashpump/install | 2 +- hashpump/install-root-archlinux | 2 +- hashpump/install-root-debian | 2 +- hashpump/uninstall | 2 +- honggfuzz/install | 2 +- honggfuzz/install-root-archlinux | 2 +- honggfuzz/install-root-debian | 2 +- jdgui/install | 2 +- jdgui/install-root-archlinux | 2 +- jdgui/install-root-debian | 2 +- keystone/install | 2 +- keystone/install-root-archlinux | 2 +- keystone/install-root-debian | 2 +- keystone/test | 2 +- keystone/uninstall | 2 +- libheap/install | 2 +- libheap/install-root-debian | 2 +- libheap/install-root-fedora | 2 +- littleblackbox/install | 2 +- littleblackbox/install-root-archlinux | 2 +- littleblackbox/install-root-debian | 2 +- mitmproxy/install | 2 +- mitmproxy/install-root-debian | 2 +- mitmproxy/uninstall | 2 +- msieve/install | 2 +- msieve/install-root-archlinux | 2 +- msieve/install-root-debian | 2 +- panda/install | 2 +- panda/install-root-archlinux | 2 +- panda/install-root-debian | 2 +- pathgrind/install | 2 +- pathgrind/install-root-debian | 2 +- pdf-parser/install | 2 +- peda/install | 2 +- peepdf/install | 2 +- pemcrack/install | 2 +- pemcrack/install-root-debian | 2 +- pkcrack/install | 2 +- preeny/install | 2 +- pwndbg/install | 2 +- pwndbg/install-root-debian | 2 +- pwndbg/install-root-fedora | 2 +- pwntools/install | 2 +- pwntools/install-root-archlinux | 2 +- pwntools/install-root-fedora | 2 +- pwntools/install-root-ubuntu | 2 +- pwntools/uninstall | 2 +- python-paddingoracle/install | 2 +- python-paddingoracle/uninstall | 2 +- python-pin/install | 2 +- pyvmmonitor/install | 2 +- qemu/install | 2 +- qemu/install-root-archlinux | 2 +- qemu/install-root-debian | 2 +- qira/install | 2 +- qira/install-root-archlinux | 2 +- qira/install-root-debian | 2 +- radare2/install | 2 +- radare2/uninstall | 2 +- reveng/install | 2 +- ropper/install | 2 +- ropper/test | 2 +- rp++/install | 2 +- scrdec18/install | 2 +- shellnoob/install | 2 +- shellsploit/install | 2 +- snowman/install | 2 +- snowman/install-root-archlinux | 2 +- snowman/install-root-debian | 2 +- snowman/install-root-fedora | 2 +- sonic-visualizer/install | 2 +- sonic-visualizer/install-root-archlinux | 2 +- sonic-visualizer/install-root-debian | 2 +- sqlmap/install | 2 +- sqlmap/install-root-archlinux | 2 +- sqlmap/install-root-debian | 2 +- ssh_decoder/install | 2 +- sslsplit/install | 2 +- sslsplit/install-root-archlinux | 2 +- sslsplit/install-root-debian | 2 +- steganabara/install | 2 +- stegdetect/install | 2 +- stegdetect/install-root-archlinux | 2 +- stegdetect/install-root-debian | 2 +- stegsolve/install | 2 +- subbrute/install | 2 +- taintgrind/install | 2 +- testdisk/install | 2 +- tor-browser/install | 2 +- unicorn/install | 2 +- unicorn/install-root-debian | 2 +- unicorn/test | 2 +- unicorn/uninstall | 2 +- veles/install | 2 +- veles/install-root-archlinux | 2 +- veles/install-root-debian | 2 +- villoc/install | 2 +- virtualsocket/install | 2 ++ wcc/install | 2 +- wcc/install-root-archlinux | 2 +- wcc/install-root-debian | 2 +- wcc/install-root-fedora | 2 +- xortool/install | 2 +- xortool/uninstall | 2 +- xrop/install | 2 +- xspy/install | 2 +- xspy/install-root-debian | 2 +- yafu/install | 2 +- yafu/test | 2 +- z3/install | 4 +++- z3/test | 6 ++++-- z3/uninstall | 2 +- zsteg/install | 2 +- zsteg/install-root-archlinux | 2 +- zsteg/install-root-debian | 2 +- 190 files changed, 216 insertions(+), 191 deletions(-) diff --git a/afl/install b/afl/install index dd5832d..fa7acd1 100755 --- a/afl/install +++ b/afl/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex # # AFL diff --git a/afl/install-root-archlinux b/afl/install-root-archlinux index 41ce76f..deddec6 100755 --- a/afl/install-root-archlinux +++ b/afl/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed bison qemu diff --git a/afl/install-root-debian b/afl/install-root-debian index 8ecb18e..b29082e 100755 --- a/afl/install-root-debian +++ b/afl/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y build-dep qemu diff --git a/android-sdk/install b/android-sdk/install index 9745425..d36553e 100755 --- a/android-sdk/install +++ b/android-sdk/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex [ -e android-sdk_r24.4.1-linux.tgz ] || wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz [ -e android-sdk-linux ] || tar xfz android-sdk_r24.4.1-linux.tgz diff --git a/android-sdk/install-root-archlinux b/android-sdk/install-root-archlinux index 72ef27d..1e82b03 100755 --- a/android-sdk/install-root-archlinux +++ b/android-sdk/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed jre7-openjdk jdk7-openjdk diff --git a/android-sdk/install-root-debian b/android-sdk/install-root-debian index e7ef4c5..daad486 100755 --- a/android-sdk/install-root-debian +++ b/android-sdk/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install openjdk-7-jre openjdk-7-jdk diff --git a/angr/install b/angr/install index 008c21b..c48f8b3 100755 --- a/angr/install +++ b/angr/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex source ctf-tools-venv-activate diff --git a/angr/install-root-debian b/angr/install-root-debian index c9be941..8c20534 100755 --- a/angr/install-root-debian +++ b/angr/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail # for angr diff --git a/apktool/install b/apktool/install index 4bf1ca2..56e81a8 100755 --- a/apktool/install +++ b/apktool/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex mkdir bin wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.2.0.jar diff --git a/apktool/install-root-archlinux b/apktool/install-root-archlinux index 07e5ef1..ac72556 100755 --- a/apktool/install-root-archlinux +++ b/apktool/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed jre8-openjdk diff --git a/apktool/install-root-debian b/apktool/install-root-debian index a37d5e1..21bca34 100755 --- a/apktool/install-root-debian +++ b/apktool/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get install -y default-jre diff --git a/barf/install b/barf/install index c705f7a..11d8794 100755 --- a/barf/install +++ b/barf/install @@ -1,10 +1,12 @@ -#!/bin/bash +#!/bin/bash -ex # it's z3! ctf-tools-pip install https://github.com/zardus/z3/archive/pypy-and-setup.zip +set +e source ${VIRTUALENVWRAPPER_SCRIPT} workon ctftools +set -e # pybfd can't be installed with pip git clone --depth 1 https://github.com/Groundworkstech/pybfd diff --git a/barf/install-root-debian b/barf/install-root-debian index 6696d43..a37ff21 100755 --- a/barf/install-root-debian +++ b/barf/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install binutils-multiarch-dev diff --git a/barf/uninstall b/barf/uninstall index 9d78e7c..d6e93a7 100755 --- a/barf/uninstall +++ b/barf/uninstall @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex ctf-tools-pip uninstall -y barf pyasmjit rm -f $VIRTUAL_ENV/bin/BARFgadgets diff --git a/beef/install b/beef/install index acd7f52..2ccdc7a 100755 --- a/beef/install +++ b/beef/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex git clone --depth 1 https://github.com/beefproject/beef diff --git a/beef/install-root-archlinux b/beef/install-root-archlinux index f0e09bc..e898a41 100755 --- a/beef/install-root-archlinux +++ b/beef/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex pacman -Syu --noconfirm --needed \ ruby python2 ruby-bundler \ diff --git a/beef/install-root-debian b/beef/install-root-debian index dd185e4..11fbe64 100755 --- a/beef/install-root-debian +++ b/beef/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex echo "Need to get ruby with RVM... Unsupported for now" exit 1 diff --git a/bin/manage-tools b/bin/manage-tools index 21d5139..0adb5ce 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -199,6 +199,7 @@ done [[ -z ${ALLOW_SUDO+x} ]] && export ALLOW_SUDO=0 [[ -z ${FORCE+x} ]] && export FORCE=0 [[ -z ${VERBOSE_OUTPUT+x} ]] && export VERBOSE_OUTPUT=0 +export EXPECTFAIL=${EXPECTFAIL:-0} if [[ $# -ge 1 ]]; then ACTION="$1" @@ -251,6 +252,13 @@ case $ACTION in exit 0 fi + # the first line in all install and uninstall scripts should have the -e flag, otherwise fail + if [ $(for i in install* uninstall test; do if [ -e "$i" ]; then head -1 "$i"; fi; done | sort | uniq | grep -v '^#!/bin/bash -ex$' | wc -l) -ne 0 ]; + then + tool_log "not all install/uninstall/test scripts start with '#!/bin/bash -ex', which is a must for accurate testing." + exit 1 + fi + tool_log "starting install, logging to $PWD/install.log" rm -f install.log @@ -331,10 +339,12 @@ case $ACTION in if [ "$FORCE" -eq 0 ] && ! cat README.md | grep "<\!--tool-->" | grep "| \[$TOOL\](" | grep -q -- "--test--" then tool_log "Tests not enabled." + if [ "$EXPECTFAIL" -eq "1" ]; then exit 1; fi else - $0 install $TOOL + if ( + if ! $0 install $TOOL; then exit 1; fi - cd $TOOL + cd $TOOL || exit 1 if [ -f ./test ] then tool_log "Running test script." @@ -347,6 +357,13 @@ case $ACTION in else tool_log "Install succeeded. No test script!" fi + exit 0 + ); + then + if [ "$EXPECTFAIL" -eq "1" ]; then exit 1; else exit 0; fi + else + if [ "$EXPECTFAIL" -eq "1" ]; then exit 0; else exit 1; fi + fi fi ;; *) diff --git a/bindead/install b/bindead/install index f93550e..7ff864c 100755 --- a/bindead/install +++ b/bindead/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex INST_DIR="$PWD" diff --git a/bindead/install-root-debian b/bindead/install-root-debian index 09c3f63..7175f53 100755 --- a/bindead/install-root-debian +++ b/bindead/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install maven libprotobuf-dev openjdk-7-jre openjdk-7-jdk diff --git a/binwalk/install b/binwalk/install index 67b09a5..cd85624 100755 --- a/binwalk/install +++ b/binwalk/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/devttys0/binwalk.git ctf-tools-pip install -e binwalk diff --git a/burpsuite/install b/burpsuite/install index 69826ee..49f1411 100755 --- a/burpsuite/install +++ b/burpsuite/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex wget -O ./burp.jar 'https://portswigger.net/DownloadUpdate.ashx?Product=Free' chmod 755 ./burp.jar diff --git a/burpsuite/install-root-archlinux b/burpsuite/install-root-archlinux index 5a77a79..48d875e 100755 --- a/burpsuite/install-root-archlinux +++ b/burpsuite/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed jre7-openjdk diff --git a/burpsuite/install-root-debian b/burpsuite/install-root-debian index 78b0902..0388e49 100755 --- a/burpsuite/install-root-debian +++ b/burpsuite/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install openjdk-7-jre diff --git a/capstone/install b/capstone/install index c6c26a4..715e8af 100755 --- a/capstone/install +++ b/capstone/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex ctf-tools-pip install --no-use-wheel -U capstone ctf-tools-pip3 install --no-use-wheel -U capstone diff --git a/capstone/test b/capstone/test index f7e1ebd..36e2881 100755 --- a/capstone/test +++ b/capstone/test @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex PY_TEST_FILE=$(mktemp) cat << END > $PY_TEST_FILE diff --git a/capstone/uninstall b/capstone/uninstall index 233dd9e..d8e4f24 100755 --- a/capstone/uninstall +++ b/capstone/uninstall @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex ctf-tools-pip uninstall -y capstone || true ctf-tools-pip3 uninstall -y capstone || true diff --git a/checksec/install b/checksec/install index d3d07bb..b0ad48d 100755 --- a/checksec/install +++ b/checksec/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/slimm609/checksec.sh mkdir bin diff --git a/codereason/install b/codereason/install index 4464357..073cfa0 100755 --- a/codereason/install +++ b/codereason/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/trailofbits/codereason cd codereason diff --git a/codereason/install-root-debian b/codereason/install-root-debian index ecf98f4..4798857 100755 --- a/codereason/install-root-debian +++ b/codereason/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install build-essential gcc g++ make cmake libboost-dev libprotobuf-dev protobuf-compiler libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-date-time-dev libboost-regex-dev diff --git a/commix/install b/commix/install index aeb3b94..6d9f304 100755 --- a/commix/install +++ b/commix/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex git clone --depth 1 https://github.com/stasinopoulos/commix.git mkdir bin diff --git a/cribdrag/install b/cribdrag/install index 8dbd38a..1fd414d 100755 --- a/cribdrag/install +++ b/cribdrag/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/SpiderLabs/cribdrag diff --git a/cross2/install b/cross2/install index 21508b1..1b0d534 100755 --- a/cross2/install +++ b/cross2/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex FILE=cross2-20130826.tgz INSTALL_DIR=$PWD diff --git a/crosstool/install b/crosstool/install index 905bb58..5eec21b 100755 --- a/crosstool/install +++ b/crosstool/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex mkdir -p src [ -e crosstool-ng ] || git clone --depth 1 https://github.com/crosstool-ng/crosstool-ng.git diff --git a/crosstool/install-root-archlinux b/crosstool/install-root-archlinux index b071db2..9319c65 100755 --- a/crosstool/install-root-archlinux +++ b/crosstool/install-root-archlinux @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex pacman -Syu --noconfirm gperf flex bison help2man gawk ncurses diff --git a/crosstool/install-root-debian b/crosstool/install-root-debian index b9e870d..f569ad7 100755 --- a/crosstool/install-root-debian +++ b/crosstool/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y gperf flex bison help2man gawk libncurses5-dev diff --git a/crosstool/uninstall b/crosstool/uninstall index 396e755..5c3ecb2 100755 --- a/crosstool/uninstall +++ b/crosstool/uninstall @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex [ -e x-tools ] && chmod -R u+w x-tools rm -rf crosstools-ng diff --git a/df/install b/df/install index db470e7..bb485f6 100755 --- a/df/install +++ b/df/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex wget -O - http://www.bay12games.com/dwarves/df_43_05_linux.tar.bz2 | tar xj diff --git a/df/install-root-debian b/df/install-root-debian index 4b5294d..00b6825 100755 --- a/df/install-root-debian +++ b/df/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libasound2:i386 libasyncns0:i386 libatk1.0-0:i386 libc6:i386 libcaca0:i386 libcairo2:i386 libdatrie1:i386 libdbus-1-3:i386 libdrm2:i386 libexpat1:i386 libffi6:i386 libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgdk-pixbuf2.0-0:i386 libgl1-mesa-glx:i386 libglapi-mesa:i386 libglib2.0-0:i386 libglu1-mesa:i386 libgraphite2-3:i386 libgtk2.0-0:i386 libharfbuzz0b:i386 libjbig0:i386 libjpeg-turbo8:i386 libjson-c2:i386 liblzma5:i386 libncursesw5:i386 libogg0:i386 libpango-1.0-0:i386 libpangocairo-1.0-0:i386 libpangoft2-1.0-0:i386 libpcre3:i386 libpixman-1-0:i386 libpng12-0:i386 libpulse0:i386 libsdl1.2debian:i386 libsdl-image1.2:i386 libsdl-ttf2.0-0:i386 libselinux1:i386 libslang2:i386 libsndfile1:i386 libthai0:i386 libtiff5:i386 libtinfo5:i386 libvorbis0a:i386 libvorbisenc2:i386 libwebp5:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb1:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-render0:i386 libxcb-shm0:i386 libxcb-sync1:i386 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxshmfence1:i386 libxxf86vm1:i386 zlib1g:i386 diff --git a/dirb/install b/dirb/install index 0a789bb..a12cb85 100755 --- a/dirb/install +++ b/dirb/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex mkdir bin wget -O dirb.tar.gz http://downloads.sourceforge.net/project/dirb/dirb/2.22/dirb222.tar.gz diff --git a/dirb/install-root-archlinux b/dirb/install-root-archlinux index c9eddd1..3da8976 100755 --- a/dirb/install-root-archlinux +++ b/dirb/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed curl gnutls diff --git a/dirb/install-root-debian b/dirb/install-root-debian index 86c573c..b5566fe 100755 --- a/dirb/install-root-debian +++ b/dirb/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libcurl4-gnutls-dev diff --git a/dirsearch/install b/dirsearch/install index 6a3a5c0..ec5c6f4 100755 --- a/dirsearch/install +++ b/dirsearch/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex mkdir bin git clone --depth 1 https://github.com/maurosoria/dirsearch.git diff --git a/dislocker/install b/dislocker/install index 261e0a1..426f7e7 100755 --- a/dislocker/install +++ b/dislocker/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex wget http://www.hsc.fr/ressources/outils/dislocker/download/dislocker.tar.bz2 tar xjf dislocker.tar.bz2 diff --git a/dislocker/install-root-archlinux b/dislocker/install-root-archlinux index 57c736c..4bec1db 100755 --- a/dislocker/install-root-archlinux +++ b/dislocker/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed mbedtls fuse diff --git a/dislocker/install-root-debian b/dislocker/install-root-debian index 5836fd3..851de6f 100755 --- a/dislocker/install-root-debian +++ b/dislocker/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libfuse-dev libpolarssl-dev diff --git a/elfkickers/install b/elfkickers/install index d5ed894..6f71998 100755 --- a/elfkickers/install +++ b/elfkickers/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/BR903/ELFkickers cd ELFkickers diff --git a/elfparser/install b/elfparser/install index 901eb2e..c97c8e3 100755 --- a/elfparser/install +++ b/elfparser/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex wget http://www.elfparser.com/release/elfparser_x86_64_1.4.0.deb dpkg -x elfparser_x86_64_1.4.0.deb . diff --git a/elfparser/install-root-debian b/elfparser/install-root-debian index 4d5cad2..a02a16c 100755 --- a/elfparser/install-root-debian +++ b/elfparser/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get install -y libqt5widgets5 diff --git a/evilize/install b/evilize/install index c8cf94d..5cf4105 100755 --- a/evilize/install +++ b/evilize/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex wget http://www.mscs.dal.ca/~selinger/md5collision/downloads/evilize-0.2.tar.gz tar zvxf evilize-0.2.tar.gz diff --git a/exetractor/install b/exetractor/install index 25f96eb..68652b1 100755 --- a/exetractor/install +++ b/exetractor/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/kholia/exetractor-clone.git diff --git a/featherduster/install b/featherduster/install index 409e77d..f032021 100755 --- a/featherduster/install +++ b/featherduster/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth=1 https://github.com/nccgroup/featherduster.git ctf-tools-pip install --upgrade -e featherduster diff --git a/featherduster/install-root-debian b/featherduster/install-root-debian index ed875ae..a3d8a1c 100755 --- a/featherduster/install-root-debian +++ b/featherduster/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libgmp3-dev libncurses5-dev diff --git a/featherduster/uninstall b/featherduster/uninstall index 0a69434..67ec03a 100755 --- a/featherduster/uninstall +++ b/featherduster/uninstall @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip uninstall -y featherduster || true diff --git a/firmware-mod-kit/install b/firmware-mod-kit/install index c6b4ee5..c723630 100755 --- a/firmware-mod-kit/install +++ b/firmware-mod-kit/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/mirror/firmware-mod-kit.git cd firmware-mod-kit/src diff --git a/firmware-mod-kit/install-root-archlinux b/firmware-mod-kit/install-root-archlinux index 98639df..06d80b0 100755 --- a/firmware-mod-kit/install-root-archlinux +++ b/firmware-mod-kit/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed zlib xz python2-magic diff --git a/firmware-mod-kit/install-root-debian b/firmware-mod-kit/install-root-debian index 3bcd4b2..eb00ee7 100755 --- a/firmware-mod-kit/install-root-debian +++ b/firmware-mod-kit/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install liblzma-dev python-magic zlib1g-dev diff --git a/foresight/install b/foresight/install index 4e796d3..926ca05 100755 --- a/foresight/install +++ b/foresight/install @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip3 install --upgrade 'git+https://github.com/ALSchwalm/foresight.git' diff --git a/foresight/uninstall b/foresight/uninstall index 2849572..bd6b77d 100755 --- a/foresight/uninstall +++ b/foresight/uninstall @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip3 uninstall -y foresight || true diff --git a/gdb-heap/install b/gdb-heap/install index 23d97e8..89fed9f 100755 --- a/gdb-heap/install +++ b/gdb-heap/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth=1 http://git.fedorahosted.org/git/gdb-heap.git || true diff --git a/gdb-heap/install-root-debian b/gdb-heap/install-root-debian index d13f0eb..7dea4c2 100755 --- a/gdb-heap/install-root-debian +++ b/gdb-heap/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y libc6-dbg diff --git a/gdb-heap/install-root-fedora b/gdb-heap/install-root-fedora index 318f18f..2fabca4 100755 --- a/gdb-heap/install-root-fedora +++ b/gdb-heap/install-root-fedora @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex dnf install -y dnf-plugins-core dnf debuginfo-install -y glibc diff --git a/gdb/install b/gdb/install index e8f04eb..74b7a88 100755 --- a/gdb/install +++ b/gdb/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail curl https://ftp.gnu.org/gnu/gdb/gdb-7.12.tar.gz | tar xz diff --git a/gdb/install-root-archlinux b/gdb/install-root-archlinux index e5e7959..4643e19 100755 --- a/gdb/install-root-archlinux +++ b/gdb/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --needed --noconfirm texinfo diff --git a/gdb/install-root-debian b/gdb/install-root-debian index 76cf84c..e4d0703 100755 --- a/gdb/install-root-debian +++ b/gdb/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install texinfo diff --git a/gdb/install-root-fedora b/gdb/install-root-fedora index f4aeb71..eabca0e 100755 --- a/gdb/install-root-fedora +++ b/gdb/install-root-fedora @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex dnf install -y texinfo diff --git a/gef/install b/gef/install index ccee510..8a6ecd2 100755 --- a/gef/install +++ b/gef/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail git clone --depth 1 https://github.com/hugsy/gef.git diff --git a/hash-identifier/install b/hash-identifier/install index 0a2c09d..d6d2c25 100755 --- a/hash-identifier/install +++ b/hash-identifier/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hash-identifier/Hash_ID_v1.1.py chmod 755 Hash_ID_v1.1.py diff --git a/hash-identifier/install-root-debian b/hash-identifier/install-root-debian index c9cd9b3..3c401d6 100755 --- a/hash-identifier/install-root-debian +++ b/hash-identifier/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get -y install tofrodos diff --git a/hashkill/install b/hashkill/install index cab00a1..a9452c7 100755 --- a/hashkill/install +++ b/hashkill/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex PREFIX=$PWD diff --git a/hashkill/install-root-archlinux b/hashkill/install-root-archlinux index 82f8d4d..a679d1d 100755 --- a/hashkill/install-root-archlinux +++ b/hashkill/install-root-archlinux @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex pacman -Syu --noconfirm --needed openssl diff --git a/hashkill/install-root-debian b/hashkill/install-root-debian index f381365..2ddfa08 100755 --- a/hashkill/install-root-debian +++ b/hashkill/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y libssl-dev pkg-config diff --git a/hashpump-partialhash/install b/hashpump-partialhash/install index 778bc6f..43acd89 100755 --- a/hashpump-partialhash/install +++ b/hashpump-partialhash/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/mheistermann/HashPump-partialhash.git cd HashPump-partialhash diff --git a/hashpump-partialhash/install-root-archlinux b/hashpump-partialhash/install-root-archlinux index 7beecc1..da1150a 100755 --- a/hashpump-partialhash/install-root-archlinux +++ b/hashpump-partialhash/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed openssl diff --git a/hashpump-partialhash/install-root-debian b/hashpump-partialhash/install-root-debian index f417d60..56bd6d8 100755 --- a/hashpump-partialhash/install-root-debian +++ b/hashpump-partialhash/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libssl-dev diff --git a/hashpump/install b/hashpump/install index 8db51db..0a83c46 100755 --- a/hashpump/install +++ b/hashpump/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/bwall/HashPump.git cd HashPump diff --git a/hashpump/install-root-archlinux b/hashpump/install-root-archlinux index 7beecc1..da1150a 100755 --- a/hashpump/install-root-archlinux +++ b/hashpump/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed openssl diff --git a/hashpump/install-root-debian b/hashpump/install-root-debian index f417d60..56bd6d8 100755 --- a/hashpump/install-root-debian +++ b/hashpump/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libssl-dev diff --git a/hashpump/uninstall b/hashpump/uninstall index ecc2944..b07ea74 100755 --- a/hashpump/uninstall +++ b/hashpump/uninstall @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip uninstall -y hashpumpy || true diff --git a/honggfuzz/install b/honggfuzz/install index 641bce3..4aea669 100755 --- a/honggfuzz/install +++ b/honggfuzz/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex [ -e honggfuzz ] || git clone --depth 1 https://github.com/google/honggfuzz cd honggfuzz diff --git a/honggfuzz/install-root-archlinux b/honggfuzz/install-root-archlinux index 18d63b3..d56b06e 100755 --- a/honggfuzz/install-root-archlinux +++ b/honggfuzz/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get install libbfd-dev libunwind8-dev diff --git a/honggfuzz/install-root-debian b/honggfuzz/install-root-debian index 2a5564a..4f0db23 100755 --- a/honggfuzz/install-root-debian +++ b/honggfuzz/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get install -y libbfd-dev libunwind8-dev diff --git a/jdgui/install b/jdgui/install index c81f0e8..e6a60f4 100755 --- a/jdgui/install +++ b/jdgui/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex [ -e jd-gui-1.4.0.jar ] || wget https://github.com/java-decompiler/jd-gui/releases/download/v1.4.0/jd-gui-1.4.0.jar diff --git a/jdgui/install-root-archlinux b/jdgui/install-root-archlinux index 5a77a79..48d875e 100755 --- a/jdgui/install-root-archlinux +++ b/jdgui/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed jre7-openjdk diff --git a/jdgui/install-root-debian b/jdgui/install-root-debian index 78b0902..0388e49 100755 --- a/jdgui/install-root-debian +++ b/jdgui/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install openjdk-7-jre diff --git a/keystone/install b/keystone/install index cc39507..1fe44fd 100755 --- a/keystone/install +++ b/keystone/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail git clone --depth 1 https://github.com/keystone-engine/keystone.git diff --git a/keystone/install-root-archlinux b/keystone/install-root-archlinux index 6a22b8b..5462317 100755 --- a/keystone/install-root-archlinux +++ b/keystone/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --needed --noconfirm cmake diff --git a/keystone/install-root-debian b/keystone/install-root-debian index f7023f0..7cbfac4 100755 --- a/keystone/install-root-debian +++ b/keystone/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install build-essential cmake diff --git a/keystone/test b/keystone/test index 8013e6c..23479c1 100755 --- a/keystone/test +++ b/keystone/test @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail source ctf-tools-venv-activate diff --git a/keystone/uninstall b/keystone/uninstall index 521f14b..0ac2eae 100755 --- a/keystone/uninstall +++ b/keystone/uninstall @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail source ctf-tools-venv-activate diff --git a/libheap/install b/libheap/install index 4fe5c3a..d39a5e4 100755 --- a/libheap/install +++ b/libheap/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex # move to ctftools virtual env source ctf-tools-venv-activate diff --git a/libheap/install-root-debian b/libheap/install-root-debian index d13f0eb..7dea4c2 100755 --- a/libheap/install-root-debian +++ b/libheap/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y libc6-dbg diff --git a/libheap/install-root-fedora b/libheap/install-root-fedora index 318f18f..2fabca4 100755 --- a/libheap/install-root-fedora +++ b/libheap/install-root-fedora @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex dnf install -y dnf-plugins-core dnf debuginfo-install -y glibc diff --git a/littleblackbox/install b/littleblackbox/install index 5a70401..fb4070b 100755 --- a/littleblackbox/install +++ b/littleblackbox/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/devttys0/littleblackbox.git INST_DIR=$PWD diff --git a/littleblackbox/install-root-archlinux b/littleblackbox/install-root-archlinux index 1e85e0f..de3bc5c 100755 --- a/littleblackbox/install-root-archlinux +++ b/littleblackbox/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed openssl libpcap sqlite diff --git a/littleblackbox/install-root-debian b/littleblackbox/install-root-debian index b22ec1a..74388f9 100755 --- a/littleblackbox/install-root-debian +++ b/littleblackbox/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libssl-dev libpcap-dev libsqlite3-dev diff --git a/mitmproxy/install b/mitmproxy/install index 16827f3..e576121 100755 --- a/mitmproxy/install +++ b/mitmproxy/install @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip install --upgrade packaging mitmproxy diff --git a/mitmproxy/install-root-debian b/mitmproxy/install-root-debian index 253f3a7..70ce3c8 100755 --- a/mitmproxy/install-root-debian +++ b/mitmproxy/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libssl-dev libffi-dev libtiff5-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk libxml2-dev libxslt1-dev diff --git a/mitmproxy/uninstall b/mitmproxy/uninstall index 3ca4c72..0c2fda3 100755 --- a/mitmproxy/uninstall +++ b/mitmproxy/uninstall @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip uninstall -y mitmproxy || true diff --git a/msieve/install b/msieve/install index 4c2f4b7..cdab3d5 100755 --- a/msieve/install +++ b/msieve/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex mkdir bin wget -O msieve.tar.gz "http://downloads.sourceforge.net/project/msieve/msieve/Msieve v1.53/msieve153_src.tar.gz" diff --git a/msieve/install-root-archlinux b/msieve/install-root-archlinux index 29c434a..1f571c9 100755 --- a/msieve/install-root-archlinux +++ b/msieve/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed gmp diff --git a/msieve/install-root-debian b/msieve/install-root-debian index dc68767..bcb3bc1 100755 --- a/msieve/install-root-debian +++ b/msieve/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libgmp3-dev libgmp-dev libz-dev diff --git a/panda/install b/panda/install index e1a01af..abde86f 100755 --- a/panda/install +++ b/panda/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex [ -e panda ] || git clone --depth 1 https://github.com/moyix/panda diff --git a/panda/install-root-archlinux b/panda/install-root-archlinux index 8d2ce2d..39d013d 100755 --- a/panda/install-root-archlinux +++ b/panda/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --needed --noconfirm nasm openssl libpcap subversion curl \ diff --git a/panda/install-root-debian b/panda/install-root-debian index 1039883..3ef1c3f 100755 --- a/panda/install-root-debian +++ b/panda/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install nasm libssl-dev libpcap-dev subversion curl \ diff --git a/pathgrind/install b/pathgrind/install index a7dcefa..b43d9c1 100755 --- a/pathgrind/install +++ b/pathgrind/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/codelion/pathgrind.git cd pathgrind diff --git a/pathgrind/install-root-debian b/pathgrind/install-root-debian index 961843c..8c3cb4e 100755 --- a/pathgrind/install-root-debian +++ b/pathgrind/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libc6-dev-i386 libc6-dev diff --git a/pdf-parser/install b/pdf-parser/install index 1269668..99748ec 100755 --- a/pdf-parser/install +++ b/pdf-parser/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex wget https://didierstevens.com/files/software/pdf-parser_V0_6_4.zip unzip pdf-parser_V0_6_4.zip diff --git a/peda/install b/peda/install index 6b5a4c9..7b2e820 100755 --- a/peda/install +++ b/peda/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail git clone --depth 1 https://github.com/longld/peda.git diff --git a/peepdf/install b/peepdf/install index 5df67f5..35fbbe1 100755 --- a/peepdf/install +++ b/peepdf/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex [ -e peepdf ] || git clone --depth 1 https://github.com/jesparza/peepdf diff --git a/pemcrack/install b/pemcrack/install index f49c2c8..8785918 100755 --- a/pemcrack/install +++ b/pemcrack/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/robertdavidgraham/pemcrack.git cd pemcrack diff --git a/pemcrack/install-root-debian b/pemcrack/install-root-debian index 5eb746d..f94e361 100755 --- a/pemcrack/install-root-debian +++ b/pemcrack/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libssl-dev diff --git a/pkcrack/install b/pkcrack/install index 98c544b..bcb1518 100755 --- a/pkcrack/install +++ b/pkcrack/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex wget https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack/pkcrack-1.2.2.tar.gz tar xzf pkcrack-1.2.2.tar.gz diff --git a/preeny/install b/preeny/install index 1ba3f00..2434c10 100755 --- a/preeny/install +++ b/preeny/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/zardus/preeny PATH=$PWD/../crosstool/bin:$PATH diff --git a/pwndbg/install b/pwndbg/install index db2c1b8..dad0261 100755 --- a/pwndbg/install +++ b/pwndbg/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail git clone --depth 1 https://github.com/pwndbg/pwndbg diff --git a/pwndbg/install-root-debian b/pwndbg/install-root-debian index d13f0eb..7dea4c2 100755 --- a/pwndbg/install-root-debian +++ b/pwndbg/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y libc6-dbg diff --git a/pwndbg/install-root-fedora b/pwndbg/install-root-fedora index 318f18f..2fabca4 100755 --- a/pwndbg/install-root-fedora +++ b/pwndbg/install-root-fedora @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex dnf install -y dnf-plugins-core dnf debuginfo-install -y glibc diff --git a/pwntools/install b/pwntools/install index d500de0..36a31cb 100755 --- a/pwntools/install +++ b/pwntools/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth=1 https://github.com/Gallopsled/pwntools.git ctf-tools-pip install --upgrade -e pwntools diff --git a/pwntools/install-root-archlinux b/pwntools/install-root-archlinux index 24665a9..1f52678 100755 --- a/pwntools/install-root-archlinux +++ b/pwntools/install-root-archlinux @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex pacman -Syu --noconfirm --needed binutils openssl libffi diff --git a/pwntools/install-root-fedora b/pwntools/install-root-fedora index 5e17654..1d9ffb1 100755 --- a/pwntools/install-root-fedora +++ b/pwntools/install-root-fedora @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex dnf install -y binutils binutils-devel libffi-devel openssl-devel diff --git a/pwntools/install-root-ubuntu b/pwntools/install-root-ubuntu index 50ac55e..8212652 100755 --- a/pwntools/install-root-ubuntu +++ b/pwntools/install-root-ubuntu @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get -y install software-properties-common apt-add-repository -y ppa:pwntools/binutils diff --git a/pwntools/uninstall b/pwntools/uninstall index a54b1fd..404cef5 100755 --- a/pwntools/uninstall +++ b/pwntools/uninstall @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip uninstall -y pwntools || true diff --git a/python-paddingoracle/install b/python-paddingoracle/install index 7af3e3a..e5e66f0 100755 --- a/python-paddingoracle/install +++ b/python-paddingoracle/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/mwielgoszewski/python-paddingoracle.git ctf-tools-pip install -e python-paddingoracle diff --git a/python-paddingoracle/uninstall b/python-paddingoracle/uninstall index 7ba7ec6..44c1a41 100755 --- a/python-paddingoracle/uninstall +++ b/python-paddingoracle/uninstall @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip uninstall -y python-paddingoracle || true diff --git a/python-pin/install b/python-pin/install index 453116e..5a874e9 100755 --- a/python-pin/install +++ b/python-pin/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex curl https://software.intel.com/sites/landingpage/pintool/downloads/pin-2.14-71313-gcc.4.4.7-linux.tar.gz | tar xz export PIN_ROOT=$PWD/pin-2.14-71313-gcc.4.4.7-linux diff --git a/pyvmmonitor/install b/pyvmmonitor/install index d90fe98..5dd2a13 100755 --- a/pyvmmonitor/install +++ b/pyvmmonitor/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex # retry because the server is not reliable wget -t 10 http://www.mediafire.com/download/bzmazee4bcysbi4/pyvmmonitor_1.0.1_linux.x86_64.tar.gz -O - | tar xvz diff --git a/qemu/install b/qemu/install index 4333fa0..7f4063b 100755 --- a/qemu/install +++ b/qemu/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail curl http://download.qemu-project.org/qemu-2.8.0.tar.bz2 | tar xvj diff --git a/qemu/install-root-archlinux b/qemu/install-root-archlinux index dc6ba02..216dd19 100755 --- a/qemu/install-root-archlinux +++ b/qemu/install-root-archlinux @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex pacman -Syu --noconfirm --needed python2 diff --git a/qemu/install-root-debian b/qemu/install-root-debian index 1f56b55..d453ea8 100755 --- a/qemu/install-root-debian +++ b/qemu/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y python pkg-config zlib1g-dev libglib2.0-dev diff --git a/qira/install b/qira/install index 16ebdf1..7ff7cb4 100755 --- a/qira/install +++ b/qira/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex mkdir nosudo cat < nosudo/sudo diff --git a/qira/install-root-archlinux b/qira/install-root-archlinux index c9bc049..cf17c26 100755 --- a/qira/install-root-archlinux +++ b/qira/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed python2-pip openssl libjpeg-turbo zlib \ diff --git a/qira/install-root-debian b/qira/install-root-debian index 4d822d1..76fdceb 100755 --- a/qira/install-root-debian +++ b/qira/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install python-pip libssl-dev build-essential python-dev python-pip debootstrap libjpeg-dev zlib1g-dev unzip wget graphviz software-properties-common libgmp-dev llvm-3.4-dev time clang-3.4 ocaml ocaml-native-compilers camlp4-extra opam clang python-virtualenv wget flex bison libtool automake autoconf autotools-dev pkg-config libglib2.0-dev libevent-2.0-5 diff --git a/radare2/install b/radare2/install index ad83915..300b2c3 100755 --- a/radare2/install +++ b/radare2/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/radare/radare2.git cd radare2/ diff --git a/radare2/uninstall b/radare2/uninstall index 470a8e5..28e6315 100755 --- a/radare2/uninstall +++ b/radare2/uninstall @@ -1,3 +1,3 @@ -#/bin/bash -e +#!/bin/bash -ex ctf-tools-pip uninstall -y r2pipe || true diff --git a/reveng/install b/reveng/install index b280b50..71e3a8e 100755 --- a/reveng/install +++ b/reveng/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex curl http://jaist.dl.sourceforge.net/project/reveng/1.4.4/reveng-1.4.4.tar.gz | tar xz cd reveng-1.4.4 diff --git a/ropper/install b/ropper/install index a55ec85..6bc0fb1 100755 --- a/ropper/install +++ b/ropper/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex [ -e ropper ] || git clone --depth 1 https://github.com/sashs/Ropper.git ropper diff --git a/ropper/test b/ropper/test index 8c9f618..fcb90c9 100755 --- a/ropper/test +++ b/ropper/test @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex set +e source ${VIRTUALENVWRAPPER_SCRIPT} diff --git a/rp++/install b/rp++/install index 57efbc7..9a92976 100755 --- a/rp++/install +++ b/rp++/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex # 64bit test diff --git a/scrdec18/install b/scrdec18/install index 19e946a..59aac3b 100755 --- a/scrdec18/install +++ b/scrdec18/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex wget "https://gist.githubusercontent.com/bcse/1834878/raw/7483fb72abbb32aa69b853fdcc9f6f72e7568677/scrdec18.c" mkdir -p bin diff --git a/shellnoob/install b/shellnoob/install index f41b1b3..58038b6 100755 --- a/shellnoob/install +++ b/shellnoob/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/reyammer/shellnoob diff --git a/shellsploit/install b/shellsploit/install index b5411b2..c6c8f92 100755 --- a/shellsploit/install +++ b/shellsploit/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone https://github.com/b3mb4m/shellsploit-framework.git cd shellsploit-framework diff --git a/snowman/install b/snowman/install index 0273262..4625277 100755 --- a/snowman/install +++ b/snowman/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex INST_DIR=$PWD diff --git a/snowman/install-root-archlinux b/snowman/install-root-archlinux index 453cf15..a67d742 100755 --- a/snowman/install-root-archlinux +++ b/snowman/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --needed --noconfirm boost boost-libs cmake diff --git a/snowman/install-root-debian b/snowman/install-root-debian index 9a92121..01652c4 100755 --- a/snowman/install-root-debian +++ b/snowman/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libboost-dev cmake libqt4-dev diff --git a/snowman/install-root-fedora b/snowman/install-root-fedora index bf90063..f05ba18 100755 --- a/snowman/install-root-fedora +++ b/snowman/install-root-fedora @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail dnf install -y boost cmake qt5-base qqt5-base-devel diff --git a/sonic-visualizer/install b/sonic-visualizer/install index 8ca2e8a..840bccd 100755 --- a/sonic-visualizer/install +++ b/sonic-visualizer/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex INST_DIR=$PWD diff --git a/sonic-visualizer/install-root-archlinux b/sonic-visualizer/install-root-archlinux index 73a440f..615e753 100755 --- a/sonic-visualizer/install-root-archlinux +++ b/sonic-visualizer/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed bzip2 fftw libsndfile libsamplerate \ diff --git a/sonic-visualizer/install-root-debian b/sonic-visualizer/install-root-debian index 04eaacb..71fa5ee 100755 --- a/sonic-visualizer/install-root-debian +++ b/sonic-visualizer/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libbz2-dev libfftw3-dev libsndfile1-dev libsamplerate0-dev vamp-plugin-sdk librubberband-dev libsord-dev liblo-dev liblrdf0-dev liboggz2-dev libfishsound1-dev libid3tag0-dev libportaudio-dev libmad0-dev qt5-qmake qt5-default libasound-dev diff --git a/sqlmap/install b/sqlmap/install index 510f632..c45ad61 100755 --- a/sqlmap/install +++ b/sqlmap/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git ctf-tools-pip install pymysql psycopg2 pysqlite2 python-ntlm diff --git a/sqlmap/install-root-archlinux b/sqlmap/install-root-archlinux index 6f4f7f2..f594bc2 100755 --- a/sqlmap/install-root-archlinux +++ b/sqlmap/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed sqlite diff --git a/sqlmap/install-root-debian b/sqlmap/install-root-debian index 2ff2b0e..038ac22 100755 --- a/sqlmap/install-root-debian +++ b/sqlmap/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libsqlite3-dev diff --git a/ssh_decoder/install b/ssh_decoder/install index d7b32b7..f6a8fae 100755 --- a/ssh_decoder/install +++ b/ssh_decoder/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/jjyg/ssh_decoder.git chmod 755 ssh_decoder/ssh_decoder.rb diff --git a/sslsplit/install b/sslsplit/install index 2133381..d396b11 100755 --- a/sslsplit/install +++ b/sslsplit/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/droe/sslsplit cd sslsplit diff --git a/sslsplit/install-root-archlinux b/sslsplit/install-root-archlinux index dd0b5bb..c67f458 100755 --- a/sslsplit/install-root-archlinux +++ b/sslsplit/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed libevent diff --git a/sslsplit/install-root-debian b/sslsplit/install-root-debian index 7ef1501..0564932 100755 --- a/sslsplit/install-root-debian +++ b/sslsplit/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libevent-dev pkg-config libssl-dev diff --git a/steganabara/install b/steganabara/install index 0a923b1..5bf6949 100755 --- a/steganabara/install +++ b/steganabara/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex curl http://www.caesum.com/handbook/steganabara-1.1.1.tar.gz | tar xz mkdir -p bin diff --git a/stegdetect/install b/stegdetect/install index c59a49b..0574959 100755 --- a/stegdetect/install +++ b/stegdetect/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex INST_DIR="$PWD" diff --git a/stegdetect/install-root-archlinux b/stegdetect/install-root-archlinux index bf7ded4..c1ad9db 100755 --- a/stegdetect/install-root-archlinux +++ b/stegdetect/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail echo "ERROR: archlinux has no aclocal-1.4. only $(aclocal --version | head -n 1)" diff --git a/stegdetect/install-root-debian b/stegdetect/install-root-debian index 6852027..568687f 100755 --- a/stegdetect/install-root-debian +++ b/stegdetect/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install automake1.4 diff --git a/stegsolve/install b/stegsolve/install index be5b6af..a259dbc 100755 --- a/stegsolve/install +++ b/stegsolve/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex wget http://www.caesum.com/handbook/Stegsolve.jar -O stegsolve.jar chmod +x stegsolve.jar diff --git a/subbrute/install b/subbrute/install index 864238b..a8e5186 100755 --- a/subbrute/install +++ b/subbrute/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/TheRook/subbrute.git diff --git a/taintgrind/install b/taintgrind/install index 002676c..d0c7988 100755 --- a/taintgrind/install +++ b/taintgrind/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex INST_DIR=$PWD diff --git a/testdisk/install b/testdisk/install index 0299373..2fe8a89 100755 --- a/testdisk/install +++ b/testdisk/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex curl https://www.cgsecurity.org/testdisk-7.0.linux26-x86_64.tar.bz2 | tar xj diff --git a/tor-browser/install b/tor-browser/install index c6d57ef..58ac20e 100755 --- a/tor-browser/install +++ b/tor-browser/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex REL_PATH=$(curl https://www.torproject.org/projects/torbrowser.html.en#downloads | grep -i tor-browser-linux | grep hardened | grep td | sed -e 's/.*href="//' -e 's/">.*//') wget https://www.torproject.org/projects/$REL_PATH -O - | tar xvJ diff --git a/unicorn/install b/unicorn/install index 5e37b32..a819200 100755 --- a/unicorn/install +++ b/unicorn/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail git clone --depth 1 https://github.com/unicorn-engine/unicorn.git diff --git a/unicorn/install-root-debian b/unicorn/install-root-debian index 3d71b07..90a5a90 100755 --- a/unicorn/install-root-debian +++ b/unicorn/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get -y install libglib2.0-dev diff --git a/unicorn/test b/unicorn/test index a532cce..88c7ef1 100755 --- a/unicorn/test +++ b/unicorn/test @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -e -o pipefail source ctf-tools-venv-activate diff --git a/unicorn/uninstall b/unicorn/uninstall index 7d56aa2..aa4571a 100755 --- a/unicorn/uninstall +++ b/unicorn/uninstall @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex ctf-tools-venv-activate diff --git a/veles/install b/veles/install index abb1d17..fd515bf 100755 --- a/veles/install +++ b/veles/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex wget -O src.tar.gz https://codisec.com/wp-content/uploads/2016/12/Veles_2016.12_Source.tar.gz tar xf src.tar.gz diff --git a/veles/install-root-archlinux b/veles/install-root-archlinux index 996240b..30eef46 100755 --- a/veles/install-root-archlinux +++ b/veles/install-root-archlinux @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex pacman -Syu --noconfirm --needed cmake zlib qt5-base diff --git a/veles/install-root-debian b/veles/install-root-debian index b089aa3..fe805a1 100755 --- a/veles/install-root-debian +++ b/veles/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y cmake zlib1g-dev qtbase5-dev diff --git a/villoc/install b/villoc/install index eb495c9..f09e06d 100755 --- a/villoc/install +++ b/villoc/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex curl https://software.intel.com/sites/landingpage/pintool/downloads/pin-2.14-71313-gcc.4.4.7-linux.tar.gz | tar xz export PIN_ROOT=$PWD/pin-2.14-71313-gcc.4.4.7-linux diff --git a/virtualsocket/install b/virtualsocket/install index e448e79..72b6681 100755 --- a/virtualsocket/install +++ b/virtualsocket/install @@ -1,3 +1,5 @@ +#!/bin/bash -ex + git clone --depth 1 https://github.com/antoniobianchi333/virtualsocket.git ctf-tools-pip install -e virtualsocket/ diff --git a/wcc/install b/wcc/install index 9f78111..98992e7 100755 --- a/wcc/install +++ b/wcc/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/endrazine/wcc pushd wcc diff --git a/wcc/install-root-archlinux b/wcc/install-root-archlinux index 75c5b0d..91ec20b 100755 --- a/wcc/install-root-archlinux +++ b/wcc/install-root-archlinux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail pacman -Syu --noconfirm --needed clang uthash readline capstone \ diff --git a/wcc/install-root-debian b/wcc/install-root-debian index 1c03f48..82de44a 100755 --- a/wcc/install-root-debian +++ b/wcc/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail apt-get install clang libbfd-dev uthash-dev \ diff --git a/wcc/install-root-fedora b/wcc/install-root-fedora index 506dacb..7f55248 100755 --- a/wcc/install-root-fedora +++ b/wcc/install-root-fedora @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex set -eu -o pipefail dnf install -y clang clang-libs clang-devel binutils binutils-devel \ diff --git a/xortool/install b/xortool/install index d7f733c..566b8bd 100755 --- a/xortool/install +++ b/xortool/install @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip install --upgrade 'git+https://github.com/hellman/xortool.git' diff --git a/xortool/uninstall b/xortool/uninstall index fae39d7..c7353cb 100755 --- a/xortool/uninstall +++ b/xortool/uninstall @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex ctf-tools-pip uninstall -y xortool || true diff --git a/xrop/install b/xrop/install index 6c825e8..8e887f4 100755 --- a/xrop/install +++ b/xrop/install @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex git clone --depth 1 https://github.com/acama/xrop.git cd xrop diff --git a/xspy/install b/xspy/install index 814fd87..dbabab3 100755 --- a/xspy/install +++ b/xspy/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex [ -e xspy ] || git clone git://git.kali.org/packages/xspy.git mkdir -p bin diff --git a/xspy/install-root-debian b/xspy/install-root-debian index d48c2b4..9233fb5 100755 --- a/xspy/install-root-debian +++ b/xspy/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y libx11-dev diff --git a/yafu/install b/yafu/install index 0e833cd..982b9fb 100755 --- a/yafu/install +++ b/yafu/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex mkdir yafu mkdir bin diff --git a/yafu/test b/yafu/test index 5089fb0..079a1b4 100755 --- a/yafu/test +++ b/yafu/test @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex RESULT=$(./bin/yafu 'factor(10)' | grep "^P" | tr -d '\n') [ "$RESULT" == "P1 = 2P1 = 5" ] || exit 1 diff --git a/z3/install b/z3/install index 8699376..51efe3d 100755 --- a/z3/install +++ b/z3/install @@ -1,11 +1,13 @@ -#!/bin/bash +#!/bin/bash -ex git clone https://github.com/Z3Prover/z3 cd z3 # move to ctftools virtual env +set +e source ${VIRTUALENVWRAPPER_SCRIPT} workon ctftools +set -e # install z3 python scripts/mk_make.py --python diff --git a/z3/test b/z3/test index bc1ae0b..1d53bdc 100755 --- a/z3/test +++ b/z3/test @@ -1,7 +1,9 @@ -#!/bin/bash +#!/bin/bash -ex +set +e source ${VIRTUALENVWRAPPER_SCRIPT} - workon ctftools +set -e + python -c 'import z3; print(z3.get_version_string())' || exit 1 exit 0 diff --git a/z3/uninstall b/z3/uninstall index c3e0d36..bd33492 100755 --- a/z3/uninstall +++ b/z3/uninstall @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex cd z3/build make uninstall diff --git a/zsteg/install b/zsteg/install index 5333292..290dd98 100755 --- a/zsteg/install +++ b/zsteg/install @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex gem install --user-install zsteg diff --git a/zsteg/install-root-archlinux b/zsteg/install-root-archlinux index cc7ee0c..1fd31fd 100755 --- a/zsteg/install-root-archlinux +++ b/zsteg/install-root-archlinux @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex pacman -Syu --noconfirm --needed ruby diff --git a/zsteg/install-root-debian b/zsteg/install-root-debian index 9bb1b08..8211568 100755 --- a/zsteg/install-root-debian +++ b/zsteg/install-root-debian @@ -1,3 +1,3 @@ -#!/bin/bash -e +#!/bin/bash -ex apt-get install -y ruby From c6d1f24c574bf20e48e0202e760c7ab7328f684f Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 16 Feb 2017 22:43:10 +0100 Subject: [PATCH 100/149] detect xenial and act accordingly. lsb-release should be installed to differentiate between ubuntu versions --- afl/install-root-debian | 10 +++++++++- android-sdk/install-root-debian | 10 +++++++++- bin/manage-tools | 2 +- bindead/install-root-debian | 9 ++++++++- burpsuite/install-root-debian | 9 ++++++++- dislocker/install-root-debian | 9 ++++++++- jdgui/install-root-debian | 10 +++++++++- 7 files changed, 52 insertions(+), 7 deletions(-) diff --git a/afl/install-root-debian b/afl/install-root-debian index b29082e..9b950c8 100755 --- a/afl/install-root-debian +++ b/afl/install-root-debian @@ -2,4 +2,12 @@ set -eu -o pipefail apt-get -y build-dep qemu -apt-get -y install bison + +case "$(lsb_release -cs)" in + xenial) + apt-get -y install bison libtool-bin + ;; + *) + apt-get -y install bison + ;; +esac diff --git a/android-sdk/install-root-debian b/android-sdk/install-root-debian index daad486..65b4fd9 100755 --- a/android-sdk/install-root-debian +++ b/android-sdk/install-root-debian @@ -1,4 +1,12 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install openjdk-7-jre openjdk-7-jdk +case "$(lsb_release -cs)" in + xenial) + # need to overwrite because of an ubuntu packaging error(!) + apt-get -y -o Dpkg::Options::="--force-overwrite" install openjdk-9-jre openjdk-9-jdk + ;; + *) + apt-get -y install openjdk-7-jre openjdk-7-jdk + ;; +esac diff --git a/bin/manage-tools b/bin/manage-tools index 0adb5ce..24c6e0e 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -52,7 +52,7 @@ function detect_distribution() function base_build_setup_debian() { - PACKAGE_REQS="build-essential libtool g++ gcc texinfo curl wget automake autoconf python python-dev git subversion unzip virtualenvwrapper" + PACKAGE_REQS="build-essential libtool g++ gcc texinfo curl wget automake autoconf python python-dev git subversion unzip virtualenvwrapper lsb-release" PACKAGE_COUNT=$(echo $PACKAGE_REQS | tr ' ' '\n' | wc -l) if [ $(dpkg -l $PACKAGE_REQS | grep "^ii" | wc -l) -ne $PACKAGE_COUNT ] then diff --git a/bindead/install-root-debian b/bindead/install-root-debian index 7175f53..4032d59 100755 --- a/bindead/install-root-debian +++ b/bindead/install-root-debian @@ -1,4 +1,11 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install maven libprotobuf-dev openjdk-7-jre openjdk-7-jdk +case "$(lsb_release -cs)" in + xenial) + apt-get -o Dpkg::Options::="--force-overwrite" -y install maven libprotobuf-dev openjdk-9-jre openjdk-9-jdk + ;; + *) + apt-get -y install maven libprotobuf-dev openjdk-7-jre openjdk-7-jdk + ;; +esac diff --git a/burpsuite/install-root-debian b/burpsuite/install-root-debian index 0388e49..d414ddc 100755 --- a/burpsuite/install-root-debian +++ b/burpsuite/install-root-debian @@ -1,4 +1,11 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install openjdk-7-jre +case "$(lsb_release -cs)" in + xenial) + apt-get -o Dpkg::Options::="--force-overwrite" -y install openjdk-9-jre + ;; + *) + apt-get -y install openjdk-7-jre + ;; +esac diff --git a/dislocker/install-root-debian b/dislocker/install-root-debian index 851de6f..d67146d 100755 --- a/dislocker/install-root-debian +++ b/dislocker/install-root-debian @@ -1,4 +1,11 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install libfuse-dev libpolarssl-dev +case "$(lsb_release -cs)" in + xenial) + apt-get -y install gcc cmake make libfuse-dev libmbedtls-dev ruby-dev + ;; + *) + apt-get -y install gcc cmake make libfuse-dev libpolarssl-dev ruby-dev + ;; +esac diff --git a/jdgui/install-root-debian b/jdgui/install-root-debian index 0388e49..10eff87 100755 --- a/jdgui/install-root-debian +++ b/jdgui/install-root-debian @@ -1,4 +1,12 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install openjdk-7-jre + +case "$(lsb_release -cs)" in + xenial) + apt-get -o Dpkg::Options::="--force-overwrite" -y install openjdk-9-jre + ;; + *) + apt-get -y install openjdk-7-jre + ;; +esac From 5af71a1a9f1c23616291a4ee55b70f7b50e469ca Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 16 Feb 2017 22:45:02 +0100 Subject: [PATCH 101/149] bunch of fixes to get things to build --- codereason/install | 2 ++ codereason/install-root-debian | 3 ++- dislocker/install | 22 +++++++++++++--------- sqlmap/install | 2 +- sqlmap/install-root-debian | 2 +- stegdetect/install | 7 ++----- stegdetect/install-root-debian | 2 +- xrop/install | 4 ++-- 8 files changed, 24 insertions(+), 20 deletions(-) diff --git a/codereason/install b/codereason/install index 073cfa0..2d8a115 100755 --- a/codereason/install +++ b/codereason/install @@ -2,7 +2,9 @@ git clone --depth 1 https://github.com/trailofbits/codereason cd codereason +find . -type f -exec sed -i 's:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain::g' {} \; ./install_vex.sh +# This step fails in travis-ci because of CMake 3.2 not finding Boost, while docker has CMake 2.8 which finds Boost just fine ./make.sh cd .. diff --git a/codereason/install-root-debian b/codereason/install-root-debian index 4798857..8232d7a 100755 --- a/codereason/install-root-debian +++ b/codereason/install-root-debian @@ -1,4 +1,5 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install build-essential gcc g++ make cmake libboost-dev libprotobuf-dev protobuf-compiler libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-date-time-dev libboost-regex-dev +apt-get -y install build-essential gcc g++ make cmake libboost-dev libprotobuf-dev protobuf-compiler libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-date-time-dev libboost-regex-dev libboost-all-dev + diff --git a/dislocker/install b/dislocker/install index 426f7e7..6ccd217 100755 --- a/dislocker/install +++ b/dislocker/install @@ -1,14 +1,18 @@ #!/bin/bash -ex -wget http://www.hsc.fr/ressources/outils/dislocker/download/dislocker.tar.bz2 -tar xjf dislocker.tar.bz2 -cd dislocker/src -sed 's?override LDFLAGS.*?& -Wl,-rpath,'`pwd`'?' < Makefile > Makefile.tmp && mv Makefile.tmp Makefile +wget -O dislocker.tar.gz https://github.com/Aorimn/dislocker/archive/v0.7.1.tar.gz +tar xf dislocker.tar.gz +DISLOCKERDIR=$(ls -d dislocker-*) +cd $DISLOCKERDIR + +cmake . make -j $(nproc) -cd ../.. +cd .. mkdir bin cd bin -ln -s ../dislocker/src/dislocker-bek . -ln -s ../dislocker/src/dislocker-file . -ln -s ../dislocker/src/dislocker-fuse . -ln -s ../dislocker/src/dislocker-metadata . +ls -l ../$DISLOCKERDIR/src/ + +ln -s ../$DISLOCKERDIR/src/dislocker-bek . +ln -s ../$DISLOCKERDIR/src/dislocker-file . +ln -s ../$DISLOCKERDIR/src/dislocker-fuse . +ln -s ../$DISLOCKERDIR/src/dislocker-metadata . diff --git a/sqlmap/install b/sqlmap/install index c45ad61..e701829 100755 --- a/sqlmap/install +++ b/sqlmap/install @@ -1,7 +1,7 @@ #!/bin/bash -ex git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git -ctf-tools-pip install pymysql psycopg2 pysqlite2 python-ntlm +ctf-tools-pip install pymysql psycopg2 pysqlite python-ntlm mkdir bin cd bin ln -s ../sqlmap/sqlmap.py . diff --git a/sqlmap/install-root-debian b/sqlmap/install-root-debian index 038ac22..16da7d8 100755 --- a/sqlmap/install-root-debian +++ b/sqlmap/install-root-debian @@ -1,4 +1,4 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install libsqlite3-dev +apt-get -y install libsqlite3-dev libpq-dev diff --git a/stegdetect/install b/stegdetect/install index 0574959..aea2646 100755 --- a/stegdetect/install +++ b/stegdetect/install @@ -2,13 +2,10 @@ INST_DIR="$PWD" -#wget -O - http://www.outguess.org/stegdetect-0.6.tar.gz | tar xz -#cd stegdetect-0.6 -git clone --depth 1 https://github.com/abeluck/stegdetect stegdetect-0.6 -wget -O - http://archive.debian.org/debian-archive/debian/pool/main/s/stegdetect/stegdetect_0.6-3.tar.gz | tar xz stegdetect-0.6/file/Magdir/varied.out +git clone --depth 1 https://github.com/AlexandreFournier/stegdetect.git mkdir -p bin etc man/man1 share/stegbreak -cd stegdetect-0.6 +cd stegdetect linux32 ./configure --prefix="$INST_DIR" linux32 make linux32 make install diff --git a/stegdetect/install-root-debian b/stegdetect/install-root-debian index 568687f..3034e68 100755 --- a/stegdetect/install-root-debian +++ b/stegdetect/install-root-debian @@ -1,4 +1,4 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get -y install automake1.4 +apt-get -y install automake1.4 automake autotools-dev libevent-dev diff --git a/xrop/install b/xrop/install index 8e887f4..4adfdb9 100755 --- a/xrop/install +++ b/xrop/install @@ -3,10 +3,10 @@ git clone --depth 1 https://github.com/acama/xrop.git cd xrop git submodule update --init --recursive -make -j $(nproc) +make -j 1 # Watch out!! -j $(nproc) makes the build fail cd .. mkdir bin cd bin -ln -s ../xrop/xrop . +ln -s ../xrop cd .. From 035f49f632db60cbf5051e64b447332d449bef0a Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 16 Feb 2017 22:45:48 +0100 Subject: [PATCH 102/149] sudo is not automatically installed? --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4f7dd13..e5f863f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ maintainer yans@yancomm.net RUN apt-get update && apt-get install -y build-essential libtool g++ gcc \ texinfo curl wget automake autoconf python python-dev git subversion \ - unzip virtualenvwrapper + unzip virtualenvwrapper sudo RUN useradd -m ctf COPY .git /home/ctf/tools/.git From 823c080d4f1912a742d20963e64fc392021b892f Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 16 Feb 2017 22:46:25 +0100 Subject: [PATCH 103/149] use CMD instead of ENTRYPOINT so we can execute other commands with docker run --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e5f863f..ee2cfb5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,4 +22,4 @@ RUN bin/ctf-tools-pip install appdirs RUN echo "workon ctftools" >> /home/ctf/.bashrc WORKDIR /home/ctf -ENTRYPOINT bash -i +CMD bash -i From b649961a0392efaf0b1bb7621e0bbfde6e4745a8 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 16 Feb 2017 22:47:00 +0100 Subject: [PATCH 104/149] Dockerfile for xenial --- Dockerfile.xenial | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Dockerfile.xenial diff --git a/Dockerfile.xenial b/Dockerfile.xenial new file mode 100644 index 0000000..70f2e20 --- /dev/null +++ b/Dockerfile.xenial @@ -0,0 +1,25 @@ +from ubuntu:xenial +maintainer yans@yancomm.net + +RUN apt-get update && apt-get install -y build-essential libtool g++ gcc \ + texinfo curl wget automake autoconf python python-dev git subversion \ + unzip virtualenvwrapper sudo + +RUN useradd -m ctf +COPY .git /home/ctf/tools/.git +RUN chown -R ctf.ctf /home/ctf/tools + +RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf +RUN apt-get update +RUN apt-get -y install git virtualenvwrapper + +USER ctf + +WORKDIR /home/ctf/tools +RUN git checkout . +RUN bin/manage-tools -s setup +RUN bin/ctf-tools-pip install appdirs +RUN echo "workon ctftools" >> /home/ctf/.bashrc + +WORKDIR /home/ctf +CMD bash -i From 9a14639af4fb06f096342ce36172954d368f918f Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 16 Feb 2017 22:48:12 +0100 Subject: [PATCH 105/149] testing in actual ubuntu trusty and xenial docker containers instead of travis-ci's weird 'trusty' environment --- .travis.yml | 192 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 184 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index b414929..8b0d1c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,188 @@ language: bash sudo: required -dist: trusty +services: +- docker +before_install: +- if [ "$DISTRO" = "xenial" ]; then docker build -t ctftools -f Dockerfile.xenial .; fi +- if [ "$DISTRO" = "trusty" ]; then docker build -t ctftools -f Dockerfile .; fi + env: -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="all" OPTS="-s" -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="z3" OPTS="-s -v -f" -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="qemu" OPTS="-s -f -v" -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="qira" OPTS="-s -f" -- PATH=$TRAVIS_BUILD_DIR/bin:$PATH SUITE="afl" OPTS="-s -f" -install: (sudo apt-get update || true) && bin/manage-tools -s setup +- DISTRO="trusty" TOOL="afl" +- DISTRO="trusty" TOOL="android-sdk" +- DISTRO="trusty" TOOL="angr" EXPECTFAIL=1 +- DISTRO="trusty" TOOL="apktool" +- DISTRO="trusty" TOOL="barf" +- DISTRO="trusty" TOOL="beef" EXPECTFAIL=1 ### unsupported for now, needs ruby with RVM +- DISTRO="trusty" TOOL="bindead" +- DISTRO="trusty" TOOL="binwalk" +- DISTRO="trusty" TOOL="burpsuite" +- DISTRO="trusty" TOOL="capstone" +- DISTRO="trusty" TOOL="checksec" +- DISTRO="trusty" TOOL="codereason" +- DISTRO="trusty" TOOL="commix" +- DISTRO="trusty" TOOL="cribdrag" +#- DISTRO="trusty" TOOL="cross2" ### takes too long for travis +#- DISTRO="trusty" TOOL="crosstool" ### takes too long for travis +- DISTRO="trusty" TOOL="df" +- DISTRO="trusty" TOOL="dirb" +- DISTRO="trusty" TOOL="dirsearch" +- DISTRO="trusty" TOOL="dislocker" +- DISTRO="trusty" TOOL="elfkickers" +- DISTRO="trusty" TOOL="elfparser" +- DISTRO="trusty" TOOL="evilize" +- DISTRO="trusty" TOOL="exetractor" +- DISTRO="trusty" TOOL="featherduster" +- DISTRO="trusty" TOOL="firmware-mod-kit" +- DISTRO="trusty" TOOL="foresight" +- DISTRO="trusty" TOOL="gdb" +- DISTRO="trusty" TOOL="gdb-heap" +- DISTRO="trusty" TOOL="gef" +- DISTRO="trusty" TOOL="hash-identifier" +- DISTRO="trusty" TOOL="hashkill" +- DISTRO="trusty" TOOL="hashpump" +- DISTRO="trusty" TOOL="hashpump-partialhash" +- DISTRO="trusty" TOOL="honggfuzz" +- DISTRO="trusty" TOOL="jdgui" +- DISTRO="trusty" TOOL="keystone" +- DISTRO="trusty" TOOL="libheap" +- DISTRO="trusty" TOOL="littleblackbox" +- DISTRO="trusty" TOOL="mitmproxy" +- DISTRO="trusty" TOOL="msieve" +- DISTRO="trusty" TOOL="panda" EXPECTFAIL=1 ### not sure why this fails, compilation errors +- DISTRO="trusty" TOOL="pathgrind" EXPECTFAIL=1 ### only works on kernel 2.4 or 2.6 +- DISTRO="trusty" TOOL="pdf-parser" +- DISTRO="trusty" TOOL="peda" +- DISTRO="trusty" TOOL="peepdf" +- DISTRO="trusty" TOOL="pemcrack" +- DISTRO="trusty" TOOL="pkcrack" +- DISTRO="trusty" TOOL="preeny" +- DISTRO="trusty" TOOL="pwndbg" +- DISTRO="trusty" TOOL="pwntools" EXPECTFAIL=1 +- DISTRO="trusty" TOOL="python-paddingoracle" +- DISTRO="trusty" TOOL="python-pin" +- DISTRO="trusty" TOOL="pyvmmonitor" +- DISTRO="trusty" TOOL="qemu" +- DISTRO="trusty" TOOL="qira" +- DISTRO="trusty" TOOL="radare2" +- DISTRO="trusty" TOOL="reveng" +- DISTRO="trusty" TOOL="ropper" +- DISTRO="trusty" TOOL="rp++" +- DISTRO="trusty" TOOL="scrdec18" +- DISTRO="trusty" TOOL="shellnoob" +- DISTRO="trusty" TOOL="shellsploit" +- DISTRO="trusty" TOOL="snowman" +- DISTRO="trusty" TOOL="sonic-visualizer" EXPECTFAIL=1 ### build errors +- DISTRO="trusty" TOOL="sqlmap" +- DISTRO="trusty" TOOL="ssh_decoder" +- DISTRO="trusty" TOOL="sslsplit" +- DISTRO="trusty" TOOL="steganabara" +- DISTRO="trusty" TOOL="stegdetect" +- DISTRO="trusty" TOOL="stegsolve" +- DISTRO="trusty" TOOL="subbrute" +- DISTRO="trusty" TOOL="taintgrind" EXPECTFAIL=1 ### missing Iop_* declarations +- DISTRO="trusty" TOOL="testdisk" +- DISTRO="trusty" TOOL="tor-browser" +- DISTRO="trusty" TOOL="unicorn" +- DISTRO="trusty" TOOL="veles" EXPECTFAIL=1 ### Cmake is too old +- DISTRO="trusty" TOOL="villoc" +- DISTRO="trusty" TOOL="virtualsocket" +- DISTRO="trusty" TOOL="wcc" EXPECTFAIL=1 ### depends on xenial +- DISTRO="trusty" TOOL="xortool" +- DISTRO="trusty" TOOL="xrop" EXPECTFAIL=1 +- DISTRO="trusty" TOOL="xspy" +- DISTRO="trusty" TOOL="yafu" +- DISTRO="trusty" TOOL="z3" +- DISTRO="trusty" TOOL="zsteg" + +- DISTRO="xenial" TOOL="afl" +- DISTRO="xenial" TOOL="android-sdk" +- DISTRO="xenial" TOOL="angr" +- DISTRO="xenial" TOOL="apktool" +- DISTRO="xenial" TOOL="barf" +- DISTRO="xenial" TOOL="beef" EXPECTFAIL=1 ### unsupported for now, needs ruby with RVM +- DISTRO="xenial" TOOL="bindead" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="binwalk" +- DISTRO="xenial" TOOL="burpsuite" +- DISTRO="xenial" TOOL="capstone" +- DISTRO="xenial" TOOL="checksec" +- DISTRO="xenial" TOOL="codereason" +- DISTRO="xenial" TOOL="commix" +- DISTRO="xenial" TOOL="cribdrag" +#- DISTRO="xenial" TOOL="cross2" ### takes too long for travis +#- DISTRO="xenial" TOOL="crosstool" ### takes too long for travis +- DISTRO="xenial" TOOL="df" +- DISTRO="xenial" TOOL="dirb" +- DISTRO="xenial" TOOL="dirsearch" +- DISTRO="xenial" TOOL="dislocker" +- DISTRO="xenial" TOOL="elfkickers" +- DISTRO="xenial" TOOL="elfparser" +- DISTRO="xenial" TOOL="evilize" +- DISTRO="xenial" TOOL="exetractor" +- DISTRO="xenial" TOOL="featherduster" +- DISTRO="xenial" TOOL="firmware-mod-kit" +- DISTRO="xenial" TOOL="foresight" +- DISTRO="xenial" TOOL="gdb" +- DISTRO="xenial" TOOL="gdb-heap" +- DISTRO="xenial" TOOL="gef" +- DISTRO="xenial" TOOL="hash-identifier" +- DISTRO="xenial" TOOL="hashkill" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="hashpump" +- DISTRO="xenial" TOOL="hashpump-partialhash" +- DISTRO="xenial" TOOL="honggfuzz" +- DISTRO="xenial" TOOL="jdgui" +- DISTRO="xenial" TOOL="keystone" +- DISTRO="xenial" TOOL="libheap" +- DISTRO="xenial" TOOL="littleblackbox" +- DISTRO="xenial" TOOL="mitmproxy" +- DISTRO="xenial" TOOL="msieve" +- DISTRO="xenial" TOOL="panda" EXPECTFAIL=1 ### not sure why this fails, compilation errors +- DISTRO="xenial" TOOL="pathgrind" EXPECTFAIL=1 ### only works on kernel 2.4 or 2.6 +- DISTRO="xenial" TOOL="pdf-parser" +- DISTRO="xenial" TOOL="peda" +- DISTRO="xenial" TOOL="peepdf" +- DISTRO="xenial" TOOL="pemcrack" +- DISTRO="xenial" TOOL="pkcrack" +- DISTRO="xenial" TOOL="preeny" +- DISTRO="xenial" TOOL="pwndbg" +- DISTRO="xenial" TOOL="pwntools" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="python-paddingoracle" +- DISTRO="xenial" TOOL="python-pin" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="pyvmmonitor" +- DISTRO="xenial" TOOL="qemu" +- DISTRO="xenial" TOOL="qira" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="radare2" +- DISTRO="xenial" TOOL="reveng" +- DISTRO="xenial" TOOL="ropper" +- DISTRO="xenial" TOOL="rp++" +- DISTRO="xenial" TOOL="scrdec18" +- DISTRO="xenial" TOOL="shellnoob" +- DISTRO="xenial" TOOL="shellsploit" +- DISTRO="xenial" TOOL="snowman" +- DISTRO="xenial" TOOL="sonic-visualizer" EXPECTFAIL=1 ### build errors +- DISTRO="xenial" TOOL="sqlmap" +- DISTRO="xenial" TOOL="ssh_decoder" +- DISTRO="xenial" TOOL="sslsplit" +- DISTRO="xenial" TOOL="steganabara" +- DISTRO="xenial" TOOL="stegdetect" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="stegsolve" +- DISTRO="xenial" TOOL="subbrute" +- DISTRO="xenial" TOOL="taintgrind" EXPECTFAIL=1 ### missing Iop_* declarations +- DISTRO="xenial" TOOL="testdisk" +- DISTRO="xenial" TOOL="tor-browser" +- DISTRO="xenial" TOOL="unicorn" +- DISTRO="xenial" TOOL="veles" +- DISTRO="xenial" TOOL="villoc" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="virtualsocket" +- DISTRO="xenial" TOOL="wcc" EXPECTFAIL=1 ### depends on xenial +- DISTRO="xenial" TOOL="xortool" +- DISTRO="xenial" TOOL="xrop" EXPECTFAIL=1 +- DISTRO="xenial" TOOL="xspy" +- DISTRO="xenial" TOOL="yafu" +- DISTRO="xenial" TOOL="z3" +- DISTRO="xenial" TOOL="zsteg" EXPECTFAIL=1 + + script: -- VIRTUALENVWRAPPER_SCRIPT=/usr/share/virtualenvwrapper/virtualenvwrapper.sh manage-tools $OPTS test $SUITE +- docker run --rm ctftools lsb_release -a +- docker run -e EXPECTFAIL="$EXPECTFAIL" -e TOOL="$TOOL" --rm ctftools bash -ic 'manage-tools -s -f -v test $TOOL' + From fce5bb37c065c03d10ae1d16be281c616b5a5b7f Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 00:30:51 +0100 Subject: [PATCH 106/149] fix apt-get commands --- beef/install-root-debian | 2 +- honggfuzz/install-root-archlinux | 2 +- wcc/install-root-debian | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/beef/install-root-debian b/beef/install-root-debian index 11fbe64..66e6b73 100755 --- a/beef/install-root-debian +++ b/beef/install-root-debian @@ -2,7 +2,7 @@ echo "Need to get ruby with RVM... Unsupported for now" exit 1 -apt-get install build-essential openssl libreadline6 \ +apt-get -y install build-essential openssl libreadline6 \ libreadline6-dev zlib1g zlib1g-dev libssl-dev \ libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 \ libxml2-dev libxslt1-dev autoconf libc6-dev \ diff --git a/honggfuzz/install-root-archlinux b/honggfuzz/install-root-archlinux index d56b06e..1560aa1 100755 --- a/honggfuzz/install-root-archlinux +++ b/honggfuzz/install-root-archlinux @@ -1,5 +1,5 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get install libbfd-dev libunwind8-dev +# apt-get install libbfd-dev libunwind8-dev pacman -Syu --noconfirm --needed libunwind binutils diff --git a/wcc/install-root-debian b/wcc/install-root-debian index 82de44a..24c5307 100755 --- a/wcc/install-root-debian +++ b/wcc/install-root-debian @@ -1,7 +1,7 @@ #!/bin/bash -ex set -eu -o pipefail -apt-get install clang libbfd-dev uthash-dev \ +apt-get -y install clang libbfd-dev uthash-dev \ libelf-dev libcapstone-dev \ libreadline6 libreadline6-dev \ libiberty-dev libgsl-dev From e44aec1e9db1ff372ef94d442a73ffafab97d93d Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 00:32:22 +0100 Subject: [PATCH 107/149] allow testing multiple tools per travis-ci build --- .travis.yml | 3 +-- bin/travis-ci.sh | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 bin/travis-ci.sh diff --git a/.travis.yml b/.travis.yml index 8b0d1c8..a26f7bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -183,6 +183,5 @@ env: script: -- docker run --rm ctftools lsb_release -a -- docker run -e EXPECTFAIL="$EXPECTFAIL" -e TOOL="$TOOL" --rm ctftools bash -ic 'manage-tools -s -f -v test $TOOL' +- ./bin/travis-ci.sh diff --git a/bin/travis-ci.sh b/bin/travis-ci.sh new file mode 100644 index 0000000..3fc79fa --- /dev/null +++ b/bin/travis-ci.sh @@ -0,0 +1,30 @@ +#!/bin/bash -e + +export EXPECTFAIL=${EXPECTFAIL:-0} + +failed="" +for t in $TOOL; +do + set +e + if ! docker run -e EXPECTFAIL="$EXPECTFAIL" -e TOOL="$t" --rm ctftools bash -ic 'manage-tools -s -f -v test $TOOL'; + then + failed="$failed$t " + fi + set -e +done + +if [ "$failed" != "" ]; +then + echo "===================================================" + failcount=$(echo "$failed" | wc -w) + totalcount=$(echo "$TOOL" | wc -w) + if [ "$EXPECTFAIL" -eq "1" ]; + then + echo "ERROR: $failcount/$totalcount tools succeeded while they were expected to fail: $failed" + else + echo "ERROR: $failcount/$totalcount tools failed while they should have succeeded: $failed" + fi + echo "===================================================" + exit 1 +fi +exit 0 From 92f16b91d1262c8b5bc390dbc2c1b011f4e00fb9 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 00:33:12 +0100 Subject: [PATCH 108/149] combine tools in travis-ci tests, add archlinux and fedora builds --- .travis.yml | 208 ++++++++-------------------------------------- Dockerfile.fedora | 19 +++++ 2 files changed, 55 insertions(+), 172 deletions(-) create mode 100644 Dockerfile.fedora diff --git a/.travis.yml b/.travis.yml index a26f7bd..f545817 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,184 +3,48 @@ sudo: required services: - docker before_install: +- if [ "$DISTRO" = "archlinux" ]; then docker build -t ctftools -f Dockerfile.archlinux .; fi +- if [ "$DISTRO" = "fedora" ]; then docker build -t ctftools -f Dockerfile.fedora .; fi - if [ "$DISTRO" = "xenial" ]; then docker build -t ctftools -f Dockerfile.xenial .; fi - if [ "$DISTRO" = "trusty" ]; then docker build -t ctftools -f Dockerfile .; fi env: -- DISTRO="trusty" TOOL="afl" -- DISTRO="trusty" TOOL="android-sdk" -- DISTRO="trusty" TOOL="angr" EXPECTFAIL=1 -- DISTRO="trusty" TOOL="apktool" -- DISTRO="trusty" TOOL="barf" -- DISTRO="trusty" TOOL="beef" EXPECTFAIL=1 ### unsupported for now, needs ruby with RVM -- DISTRO="trusty" TOOL="bindead" -- DISTRO="trusty" TOOL="binwalk" -- DISTRO="trusty" TOOL="burpsuite" -- DISTRO="trusty" TOOL="capstone" -- DISTRO="trusty" TOOL="checksec" -- DISTRO="trusty" TOOL="codereason" -- DISTRO="trusty" TOOL="commix" -- DISTRO="trusty" TOOL="cribdrag" -#- DISTRO="trusty" TOOL="cross2" ### takes too long for travis -#- DISTRO="trusty" TOOL="crosstool" ### takes too long for travis -- DISTRO="trusty" TOOL="df" -- DISTRO="trusty" TOOL="dirb" -- DISTRO="trusty" TOOL="dirsearch" -- DISTRO="trusty" TOOL="dislocker" -- DISTRO="trusty" TOOL="elfkickers" -- DISTRO="trusty" TOOL="elfparser" -- DISTRO="trusty" TOOL="evilize" -- DISTRO="trusty" TOOL="exetractor" -- DISTRO="trusty" TOOL="featherduster" -- DISTRO="trusty" TOOL="firmware-mod-kit" -- DISTRO="trusty" TOOL="foresight" -- DISTRO="trusty" TOOL="gdb" -- DISTRO="trusty" TOOL="gdb-heap" -- DISTRO="trusty" TOOL="gef" -- DISTRO="trusty" TOOL="hash-identifier" -- DISTRO="trusty" TOOL="hashkill" -- DISTRO="trusty" TOOL="hashpump" -- DISTRO="trusty" TOOL="hashpump-partialhash" -- DISTRO="trusty" TOOL="honggfuzz" -- DISTRO="trusty" TOOL="jdgui" -- DISTRO="trusty" TOOL="keystone" -- DISTRO="trusty" TOOL="libheap" -- DISTRO="trusty" TOOL="littleblackbox" -- DISTRO="trusty" TOOL="mitmproxy" -- DISTRO="trusty" TOOL="msieve" -- DISTRO="trusty" TOOL="panda" EXPECTFAIL=1 ### not sure why this fails, compilation errors -- DISTRO="trusty" TOOL="pathgrind" EXPECTFAIL=1 ### only works on kernel 2.4 or 2.6 -- DISTRO="trusty" TOOL="pdf-parser" -- DISTRO="trusty" TOOL="peda" -- DISTRO="trusty" TOOL="peepdf" -- DISTRO="trusty" TOOL="pemcrack" -- DISTRO="trusty" TOOL="pkcrack" -- DISTRO="trusty" TOOL="preeny" -- DISTRO="trusty" TOOL="pwndbg" -- DISTRO="trusty" TOOL="pwntools" EXPECTFAIL=1 -- DISTRO="trusty" TOOL="python-paddingoracle" -- DISTRO="trusty" TOOL="python-pin" -- DISTRO="trusty" TOOL="pyvmmonitor" -- DISTRO="trusty" TOOL="qemu" -- DISTRO="trusty" TOOL="qira" -- DISTRO="trusty" TOOL="radare2" -- DISTRO="trusty" TOOL="reveng" -- DISTRO="trusty" TOOL="ropper" -- DISTRO="trusty" TOOL="rp++" -- DISTRO="trusty" TOOL="scrdec18" -- DISTRO="trusty" TOOL="shellnoob" -- DISTRO="trusty" TOOL="shellsploit" -- DISTRO="trusty" TOOL="snowman" -- DISTRO="trusty" TOOL="sonic-visualizer" EXPECTFAIL=1 ### build errors -- DISTRO="trusty" TOOL="sqlmap" -- DISTRO="trusty" TOOL="ssh_decoder" -- DISTRO="trusty" TOOL="sslsplit" -- DISTRO="trusty" TOOL="steganabara" -- DISTRO="trusty" TOOL="stegdetect" -- DISTRO="trusty" TOOL="stegsolve" -- DISTRO="trusty" TOOL="subbrute" -- DISTRO="trusty" TOOL="taintgrind" EXPECTFAIL=1 ### missing Iop_* declarations -- DISTRO="trusty" TOOL="testdisk" -- DISTRO="trusty" TOOL="tor-browser" -- DISTRO="trusty" TOOL="unicorn" -- DISTRO="trusty" TOOL="veles" EXPECTFAIL=1 ### Cmake is too old -- DISTRO="trusty" TOOL="villoc" -- DISTRO="trusty" TOOL="virtualsocket" -- DISTRO="trusty" TOOL="wcc" EXPECTFAIL=1 ### depends on xenial -- DISTRO="trusty" TOOL="xortool" -- DISTRO="trusty" TOOL="xrop" EXPECTFAIL=1 -- DISTRO="trusty" TOOL="xspy" -- DISTRO="trusty" TOOL="yafu" -- DISTRO="trusty" TOOL="z3" -- DISTRO="trusty" TOOL="zsteg" -- DISTRO="xenial" TOOL="afl" -- DISTRO="xenial" TOOL="android-sdk" -- DISTRO="xenial" TOOL="angr" -- DISTRO="xenial" TOOL="apktool" -- DISTRO="xenial" TOOL="barf" -- DISTRO="xenial" TOOL="beef" EXPECTFAIL=1 ### unsupported for now, needs ruby with RVM -- DISTRO="xenial" TOOL="bindead" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="binwalk" -- DISTRO="xenial" TOOL="burpsuite" -- DISTRO="xenial" TOOL="capstone" -- DISTRO="xenial" TOOL="checksec" -- DISTRO="xenial" TOOL="codereason" -- DISTRO="xenial" TOOL="commix" -- DISTRO="xenial" TOOL="cribdrag" -#- DISTRO="xenial" TOOL="cross2" ### takes too long for travis -#- DISTRO="xenial" TOOL="crosstool" ### takes too long for travis -- DISTRO="xenial" TOOL="df" -- DISTRO="xenial" TOOL="dirb" -- DISTRO="xenial" TOOL="dirsearch" -- DISTRO="xenial" TOOL="dislocker" -- DISTRO="xenial" TOOL="elfkickers" -- DISTRO="xenial" TOOL="elfparser" -- DISTRO="xenial" TOOL="evilize" -- DISTRO="xenial" TOOL="exetractor" -- DISTRO="xenial" TOOL="featherduster" -- DISTRO="xenial" TOOL="firmware-mod-kit" -- DISTRO="xenial" TOOL="foresight" -- DISTRO="xenial" TOOL="gdb" -- DISTRO="xenial" TOOL="gdb-heap" -- DISTRO="xenial" TOOL="gef" -- DISTRO="xenial" TOOL="hash-identifier" -- DISTRO="xenial" TOOL="hashkill" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="hashpump" -- DISTRO="xenial" TOOL="hashpump-partialhash" -- DISTRO="xenial" TOOL="honggfuzz" -- DISTRO="xenial" TOOL="jdgui" -- DISTRO="xenial" TOOL="keystone" -- DISTRO="xenial" TOOL="libheap" -- DISTRO="xenial" TOOL="littleblackbox" -- DISTRO="xenial" TOOL="mitmproxy" -- DISTRO="xenial" TOOL="msieve" -- DISTRO="xenial" TOOL="panda" EXPECTFAIL=1 ### not sure why this fails, compilation errors -- DISTRO="xenial" TOOL="pathgrind" EXPECTFAIL=1 ### only works on kernel 2.4 or 2.6 -- DISTRO="xenial" TOOL="pdf-parser" -- DISTRO="xenial" TOOL="peda" -- DISTRO="xenial" TOOL="peepdf" -- DISTRO="xenial" TOOL="pemcrack" -- DISTRO="xenial" TOOL="pkcrack" -- DISTRO="xenial" TOOL="preeny" -- DISTRO="xenial" TOOL="pwndbg" -- DISTRO="xenial" TOOL="pwntools" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="python-paddingoracle" -- DISTRO="xenial" TOOL="python-pin" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="pyvmmonitor" -- DISTRO="xenial" TOOL="qemu" -- DISTRO="xenial" TOOL="qira" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="radare2" -- DISTRO="xenial" TOOL="reveng" -- DISTRO="xenial" TOOL="ropper" -- DISTRO="xenial" TOOL="rp++" -- DISTRO="xenial" TOOL="scrdec18" -- DISTRO="xenial" TOOL="shellnoob" -- DISTRO="xenial" TOOL="shellsploit" -- DISTRO="xenial" TOOL="snowman" -- DISTRO="xenial" TOOL="sonic-visualizer" EXPECTFAIL=1 ### build errors -- DISTRO="xenial" TOOL="sqlmap" -- DISTRO="xenial" TOOL="ssh_decoder" -- DISTRO="xenial" TOOL="sslsplit" -- DISTRO="xenial" TOOL="steganabara" -- DISTRO="xenial" TOOL="stegdetect" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="stegsolve" -- DISTRO="xenial" TOOL="subbrute" -- DISTRO="xenial" TOOL="taintgrind" EXPECTFAIL=1 ### missing Iop_* declarations -- DISTRO="xenial" TOOL="testdisk" -- DISTRO="xenial" TOOL="tor-browser" -- DISTRO="xenial" TOOL="unicorn" -- DISTRO="xenial" TOOL="veles" -- DISTRO="xenial" TOOL="villoc" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="virtualsocket" -- DISTRO="xenial" TOOL="wcc" EXPECTFAIL=1 ### depends on xenial -- DISTRO="xenial" TOOL="xortool" -- DISTRO="xenial" TOOL="xrop" EXPECTFAIL=1 -- DISTRO="xenial" TOOL="xspy" -- DISTRO="xenial" TOOL="yafu" -- DISTRO="xenial" TOOL="z3" -- DISTRO="xenial" TOOL="zsteg" EXPECTFAIL=1 +# Tests for fedora +- DISTRO="fedora" TOOL="apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gdb-heap gef jdgui libheap" +- DISTRO="fedora" TOOL="pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 reveng ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket" +- DISTRO="fedora" TOOL="xortool yafu z3" +- DISTRO="fedora" EXPECTFAIL=1 TOOL="afl android-sdk angr barf beef bindead codereason df dirb dislocker" +- DISTRO="fedora" EXPECTFAIL=1 TOOL="elfparser featherduster firmware-mod-kit hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone" +- DISTRO="fedora" EXPECTFAIL=1 TOOL="littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin" +- DISTRO="fedora" EXPECTFAIL=1 TOOL="qemu qira snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser" +- DISTRO="fedora" EXPECTFAIL=1 TOOL="veles villoc wcc xrop xspy zsteg" +# Tests for archlinux +- DISTRO="archlinux" TOOL="afl android-sdk apktool binwalk burpsuite checksec commix cribdrag" +- DISTRO="archlinux" TOOL="df dirb dirsearch evilize exetractor featherduster firmware-mod-kit foresight gdb gdb-heap gef" +- DISTRO="archlinux" TOOL="hashpump hashpump-partialhash jdgui keystone libheap msieve pdf-parser peda peepdf pemcrack pkcrack pwndbg" +- DISTRO="archlinux" TOOL="pwntools python-paddingoracle pyvmmonitor" +# - DISTRO="archlinux" TOOL="qemu" ### takes too long for travis-ci +- DISTRO="archlinux" TOOL="radare2 reveng rp++ scrdec18 shellnoob ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser" +- DISTRO="archlinux" TOOL="unicorn veles virtualsocket xortool xrop yafu zsteg elfkickers honggfuzz" +- DISTRO="archlinux" EXPECTFAIL=1 TOOL="angr barf beef bindead capstone codereason dislocker elfparser hash-identifier" +- DISTRO="archlinux" EXPECTFAIL=1 TOOL="hashkill littleblackbox mitmproxy panda pathgrind preeny qira ropper shellsploit" +- DISTRO="archlinux" EXPECTFAIL=1 TOOL="snowman sonic-visualizer sqlmap stegdetect taintgrind villoc wcc xspy z3 python-pin" + +# Tests for trusty, grouped together to most optimally use a single build process +- DISTRO="trusty" TOOL="afl android-sdk apktool barf binwalk burpsuite capstone checksec codereason" +- DISTRO="trusty" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute bindead hashkill python-pin qira stegdetect villoc zsteg" +- DISTRO="trusty" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk tor-browser unicorn virtualsocket xortool xspy yafu z3" +- DISTRO="trusty" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor qemu radare2 reveng ropper rp++" +- DISTRO="trusty" EXPECTFAIL=1 TOOL="angr beef panda pathgrind pwntools sonic-visualizer taintgrind veles wcc xrop" + +# Tests for xenial, grouped together to most optimally use a single build process +- DISTRO="xenial" TOOL="afl android-sdk angr apktool barf binwalk burpsuite capstone checksec codereason" +- DISTRO="xenial" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute" +- DISTRO="xenial" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk tor-browser unicorn veles virtualsocket xortool xspy yafu z3" +- DISTRO="xenial" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor qemu radare2 reveng ropper rp++" +- DISTRO="xenial" EXPECTFAIL=1 TOOL="beef bindead hashkill panda pathgrind pwntools python-pin qira sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg" script: - ./bin/travis-ci.sh diff --git a/Dockerfile.fedora b/Dockerfile.fedora new file mode 100644 index 0000000..71f00f7 --- /dev/null +++ b/Dockerfile.fedora @@ -0,0 +1,19 @@ +FROM fedora + +RUN dnf -y install which sudo git + +RUN useradd -m ctf +COPY .git /home/ctf/tools/.git +RUN chown -R ctf.ctf /home/ctf/tools + +RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf +USER ctf + +WORKDIR /home/ctf/tools +RUN git checkout . +RUN bin/manage-tools -s setup +RUN bin/ctf-tools-pip install appdirs +RUN echo "workon ctftools" >> /home/ctf/.bashrc + +WORKDIR /home/ctf +CMD bash -i From 5caa32dedbdeffbf16693fdd1f9ab6f6ea939f1f Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 00:38:59 +0100 Subject: [PATCH 109/149] fix travis-ci.sh permission --- bin/travis-ci.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/travis-ci.sh diff --git a/bin/travis-ci.sh b/bin/travis-ci.sh old mode 100644 new mode 100755 From cf4b4c11256ffc404f3f16b792e01a6052190063 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 10:44:33 +0100 Subject: [PATCH 110/149] adding redhat-lsb to fedora for some basics like "patch" --- Dockerfile.fedora | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.fedora b/Dockerfile.fedora index 71f00f7..24c059f 100644 --- a/Dockerfile.fedora +++ b/Dockerfile.fedora @@ -1,6 +1,6 @@ FROM fedora -RUN dnf -y install which sudo git +RUN dnf -y install which sudo git redhat-lsb RUN useradd -m ctf COPY .git /home/ctf/tools/.git From 14a9bcfbbd0af2938668b99959d5fdf4d1e30238 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 10:50:13 +0100 Subject: [PATCH 111/149] combining some tests, trying to remove linewrapping --- .travis.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index f545817..51704f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,20 +14,20 @@ env: - DISTRO="fedora" TOOL="apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gdb-heap gef jdgui libheap" - DISTRO="fedora" TOOL="pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 reveng ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket" - DISTRO="fedora" TOOL="xortool yafu z3" -- DISTRO="fedora" EXPECTFAIL=1 TOOL="afl android-sdk angr barf beef bindead codereason df dirb dislocker" -- DISTRO="fedora" EXPECTFAIL=1 TOOL="elfparser featherduster firmware-mod-kit hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone" -- DISTRO="fedora" EXPECTFAIL=1 TOOL="littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin" -- DISTRO="fedora" EXPECTFAIL=1 TOOL="qemu qira snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser" -- DISTRO="fedora" EXPECTFAIL=1 TOOL="veles villoc wcc xrop xspy zsteg" +- DISTRO="fedora" EXPECTFAIL=1 TOOL="afl android-sdk angr barf beef bindead codereason df dirb dislocker + elfparser featherduster firmware-mod-kit hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone + littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin + qemu qira snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser + veles villoc wcc xrop xspy zsteg" # Tests for archlinux - DISTRO="archlinux" TOOL="afl android-sdk apktool binwalk burpsuite checksec commix cribdrag" - DISTRO="archlinux" TOOL="df dirb dirsearch evilize exetractor featherduster firmware-mod-kit foresight gdb gdb-heap gef" - DISTRO="archlinux" TOOL="hashpump hashpump-partialhash jdgui keystone libheap msieve pdf-parser peda peepdf pemcrack pkcrack pwndbg" -- DISTRO="archlinux" TOOL="pwntools python-paddingoracle pyvmmonitor" # - DISTRO="archlinux" TOOL="qemu" ### takes too long for travis-ci -- DISTRO="archlinux" TOOL="radare2 reveng rp++ scrdec18 shellnoob ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser" -- DISTRO="archlinux" TOOL="unicorn veles virtualsocket xortool xrop yafu zsteg elfkickers honggfuzz" +- DISTRO="archlinux" TOOL="pwntools python-paddingoracle pyvmmonitor + radare2 reveng rp++ scrdec18 shellnoob ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser + unicorn veles virtualsocket xortool xrop yafu zsteg elfkickers honggfuzz" - DISTRO="archlinux" EXPECTFAIL=1 TOOL="angr barf beef bindead capstone codereason dislocker elfparser hash-identifier" - DISTRO="archlinux" EXPECTFAIL=1 TOOL="hashkill littleblackbox mitmproxy panda pathgrind preeny qira ropper shellsploit" - DISTRO="archlinux" EXPECTFAIL=1 TOOL="snowman sonic-visualizer sqlmap stegdetect taintgrind villoc wcc xspy z3 python-pin" From 48332b5dcf3bc1f3fafdd6b9ac58236c795a32d1 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 12:13:49 +0100 Subject: [PATCH 112/149] record timing information --- bin/travis-ci.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/travis-ci.sh b/bin/travis-ci.sh index 3fc79fa..a092dfc 100755 --- a/bin/travis-ci.sh +++ b/bin/travis-ci.sh @@ -2,14 +2,18 @@ export EXPECTFAIL=${EXPECTFAIL:-0} +starttime=$SECONDS failed="" for t in $TOOL; do set +e + toolstarttime=$SECONDS + echo "[-] TOOL $t TEST STARTED: $((SECONDS - starttime)) seconds since start of script" if ! docker run -e EXPECTFAIL="$EXPECTFAIL" -e TOOL="$t" --rm ctftools bash -ic 'manage-tools -s -f -v test $TOOL'; then failed="$failed$t " fi + echo "[-] TOOL $t TEST ENDED: $((SECONDS - toolstarttime)) seconds, $((SECONDS - starttime)) seconds since start of script" set -e done From fe1c407399971c2241d373817c4e365862ba523c Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 12:56:30 +0100 Subject: [PATCH 113/149] nicely formatting .travis.yml --- .travis.yml | 81 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 26 deletions(-) diff --git a/.travis.yml b/.travis.yml index 51704f6..0d01852 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,40 +11,69 @@ before_install: env: # Tests for fedora -- DISTRO="fedora" TOOL="apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gdb-heap gef jdgui libheap" -- DISTRO="fedora" TOOL="pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 reveng ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket" +- DISTRO="fedora" TOOL="apktool binwalk burpsuite capstone checksec commix + cribdrag dirsearch elfkickers evilize exetractor foresight gdb gdb-heap gef + jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor + radare2 reveng ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder + steganabara stegsolve subbrute unicorn virtualsocket" - DISTRO="fedora" TOOL="xortool yafu z3" -- DISTRO="fedora" EXPECTFAIL=1 TOOL="afl android-sdk angr barf beef bindead codereason df dirb dislocker - elfparser featherduster firmware-mod-kit hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone - littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin - qemu qira snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser - veles villoc wcc xrop xspy zsteg" +- DISTRO="fedora" EXPECTFAIL=1 TOOL="afl android-sdk angr barf beef bindead + codereason df dirb dislocker elfparser featherduster firmware-mod-kit + hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone + littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools + python-pin qemu qira snowman sonic-visualizer sqlmap sslsplit stegdetect + taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg" +# - DISTRO="fedora" TOOL="cross2 crosstool" ### takes too long for travis-ci # Tests for archlinux -- DISTRO="archlinux" TOOL="afl android-sdk apktool binwalk burpsuite checksec commix cribdrag" -- DISTRO="archlinux" TOOL="df dirb dirsearch evilize exetractor featherduster firmware-mod-kit foresight gdb gdb-heap gef" -- DISTRO="archlinux" TOOL="hashpump hashpump-partialhash jdgui keystone libheap msieve pdf-parser peda peepdf pemcrack pkcrack pwndbg" -# - DISTRO="archlinux" TOOL="qemu" ### takes too long for travis-ci -- DISTRO="archlinux" TOOL="pwntools python-paddingoracle pyvmmonitor - radare2 reveng rp++ scrdec18 shellnoob ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser +- DISTRO="archlinux" TOOL="afl android-sdk apktool binwalk burpsuite checksec + commix cribdrag df dirb dirsearch evilize exetractor featherduster + firmware-mod-kit foresight gdb gdb-heap gef" +- DISTRO="archlinux" TOOL="hashpump hashpump-partialhash jdgui keystone libheap + msieve pdf-parser peda peepdf pemcrack pkcrack pwndbg pwntools + python-paddingoracle pyvmmonitor radare2 reveng rp++ scrdec18 shellnoob + ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn veles virtualsocket xortool xrop yafu zsteg elfkickers honggfuzz" -- DISTRO="archlinux" EXPECTFAIL=1 TOOL="angr barf beef bindead capstone codereason dislocker elfparser hash-identifier" -- DISTRO="archlinux" EXPECTFAIL=1 TOOL="hashkill littleblackbox mitmproxy panda pathgrind preeny qira ropper shellsploit" -- DISTRO="archlinux" EXPECTFAIL=1 TOOL="snowman sonic-visualizer sqlmap stegdetect taintgrind villoc wcc xspy z3 python-pin" +- DISTRO="archlinux" EXPECTFAIL=1 TOOL="angr barf beef bindead capstone + codereason dislocker elfparser hash-identifier hashkill littleblackbox + mitmproxy panda pathgrind preeny qira ropper shellsploit" +- DISTRO="archlinux" EXPECTFAIL=1 TOOL="snowman sonic-visualizer sqlmap + stegdetect taintgrind villoc wcc xspy z3 python-pin" +# - DISTRO="archlinux" TOOL="cross2 crosstool qemu" ### takes too long for travis-ci # Tests for trusty, grouped together to most optimally use a single build process -- DISTRO="trusty" TOOL="afl android-sdk apktool barf binwalk burpsuite capstone checksec codereason" -- DISTRO="trusty" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute bindead hashkill python-pin qira stegdetect villoc zsteg" -- DISTRO="trusty" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk tor-browser unicorn virtualsocket xortool xspy yafu z3" -- DISTRO="trusty" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor qemu radare2 reveng ropper rp++" -- DISTRO="trusty" EXPECTFAIL=1 TOOL="angr beef panda pathgrind pwntools sonic-visualizer taintgrind veles wcc xrop" +- DISTRO="trusty" TOOL="afl android-sdk apktool barf binwalk burpsuite capstone + checksec codereason" +- DISTRO="trusty" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers + elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy + msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman + sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute bindead hashkill + python-pin qira stegdetect villoc zsteg" +- DISTRO="trusty" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap + gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk + tor-browser unicorn virtualsocket xortool xspy yafu z3" +- DISTRO="trusty" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor + qemu radare2 reveng ropper rp++" +- DISTRO="trusty" EXPECTFAIL=1 TOOL="angr beef panda pathgrind pwntools + sonic-visualizer taintgrind veles wcc xrop" +# - DISTRO="trusty" TOOL="cross2 crosstool" ### takes too long for travis-ci # Tests for xenial, grouped together to most optimally use a single build process -- DISTRO="xenial" TOOL="afl android-sdk angr apktool barf binwalk burpsuite capstone checksec codereason" -- DISTRO="xenial" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute" -- DISTRO="xenial" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk tor-browser unicorn veles virtualsocket xortool xspy yafu z3" -- DISTRO="xenial" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor qemu radare2 reveng ropper rp++" -- DISTRO="xenial" EXPECTFAIL=1 TOOL="beef bindead hashkill panda pathgrind pwntools python-pin qira sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg" +- DISTRO="xenial" TOOL="afl android-sdk angr apktool barf binwalk burpsuite + capstone checksec codereason" +- DISTRO="xenial" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers + elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy + msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman + sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute" +- DISTRO="xenial" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap + gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk + tor-browser unicorn veles virtualsocket xortool xspy yafu z3" +- DISTRO="xenial" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor + qemu radare2 reveng ropper rp++" +- DISTRO="xenial" EXPECTFAIL=1 TOOL="beef bindead hashkill panda pathgrind + pwntools python-pin qira sonic-visualizer stegdetect taintgrind villoc wcc xrop + zsteg" +# - DISTRO="xenial" TOOL="cross2 crosstool" ### takes too long for travis-ci script: - ./bin/travis-ci.sh From 97a870060d5b12b65dbaee5c785270f9d681e014 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 14:46:22 +0100 Subject: [PATCH 114/149] isolate qemu since it takes so long. Adding extra logging --- .travis.yml | 6 ++++-- bin/travis-ci.sh | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0d01852..14f002d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,7 +53,8 @@ env: gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk tor-browser unicorn virtualsocket xortool xspy yafu z3" - DISTRO="trusty" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor - qemu radare2 reveng ropper rp++" + radare2 reveng ropper rp++" +- DISTRO="trusty" TOOL="qemu" - DISTRO="trusty" EXPECTFAIL=1 TOOL="angr beef panda pathgrind pwntools sonic-visualizer taintgrind veles wcc xrop" # - DISTRO="trusty" TOOL="cross2 crosstool" ### takes too long for travis-ci @@ -69,7 +70,8 @@ env: gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk tor-browser unicorn veles virtualsocket xortool xspy yafu z3" - DISTRO="xenial" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor - qemu radare2 reveng ropper rp++" + radare2 reveng ropper rp++" +- DISTRO="xenial" TOOL="qemu" - DISTRO="xenial" EXPECTFAIL=1 TOOL="beef bindead hashkill panda pathgrind pwntools python-pin qira sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg" diff --git a/bin/travis-ci.sh b/bin/travis-ci.sh index a092dfc..dd90528 100755 --- a/bin/travis-ci.sh +++ b/bin/travis-ci.sh @@ -31,4 +31,12 @@ then echo "===================================================" exit 1 fi + +if [ "$EXPECTFAIL" -eq "1" ]; +then + echo "DONE: $totalcount tools failed as expected." +else + echo "DONE: $totalcount tools succeeded as expected." +fi + exit 0 From e8ce574b681c6ded9e426e63161b1a9ff5822338 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 19 Feb 2017 15:38:31 +0100 Subject: [PATCH 115/149] trigger travis... --- bin/travis-ci.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/travis-ci.sh b/bin/travis-ci.sh index dd90528..92b9c59 100755 --- a/bin/travis-ci.sh +++ b/bin/travis-ci.sh @@ -8,12 +8,12 @@ for t in $TOOL; do set +e toolstarttime=$SECONDS - echo "[-] TOOL $t TEST STARTED: $((SECONDS - starttime)) seconds since start of script" + echo "[-] TOOL $t TEST STARTED: $((SECONDS - starttime)) seconds since start of script." if ! docker run -e EXPECTFAIL="$EXPECTFAIL" -e TOOL="$t" --rm ctftools bash -ic 'manage-tools -s -f -v test $TOOL'; then failed="$failed$t " fi - echo "[-] TOOL $t TEST ENDED: $((SECONDS - toolstarttime)) seconds, $((SECONDS - starttime)) seconds since start of script" + echo "[-] TOOL $t TEST ENDED: $((SECONDS - toolstarttime)) seconds, $((SECONDS - starttime)) seconds since start of script." set -e done From d83aa4ecb9d8db49ddd49c1b0735906a2e5aa5a8 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Wed, 8 Mar 2017 19:25:38 +0100 Subject: [PATCH 116/149] fix archlinux --- Dockerfile.archlinux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.archlinux b/Dockerfile.archlinux index f364ae0..11efc6e 100644 --- a/Dockerfile.archlinux +++ b/Dockerfile.archlinux @@ -20,7 +20,7 @@ RUN pacman -Syu --noconfirm --needed \ python2-pip python-pip \ unzip python-virtualenvwrapper \ zsh grml-zsh-config \ - sudo \ + sudo which \ && pacman -Scc --noconfirm RUN useradd -m ctf From 8bf148f336a18888bf12aeb437784f47f732e23b Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Wed, 8 Mar 2017 19:31:06 +0100 Subject: [PATCH 117/149] fixing likely timeouts --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 14f002d..1945017 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,14 +48,15 @@ env: elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute bindead hashkill - python-pin qira stegdetect villoc zsteg" + python-pin" - DISTRO="trusty" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk tor-browser unicorn virtualsocket xortool xspy yafu z3" - DISTRO="trusty" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor - radare2 reveng ropper rp++" + radare2 reveng ropper rp++ qira stegdetect villoc zsteg" - DISTRO="trusty" TOOL="qemu" -- DISTRO="trusty" EXPECTFAIL=1 TOOL="angr beef panda pathgrind pwntools +- DISTRO="trusty" EXPECTFAIL=1 TOOL="angr" +- DISTRO="trusty" EXPECTFAIL=1 TOOL="beef panda pathgrind pwntools sonic-visualizer taintgrind veles wcc xrop" # - DISTRO="trusty" TOOL="cross2 crosstool" ### takes too long for travis-ci From 9995819f8464a0e2e020e62482bf7d258226f6e1 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 9 Mar 2017 09:30:07 +0100 Subject: [PATCH 118/149] parseable logging --- bin/travis-ci.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/travis-ci.sh b/bin/travis-ci.sh index 92b9c59..be0f314 100755 --- a/bin/travis-ci.sh +++ b/bin/travis-ci.sh @@ -12,6 +12,9 @@ do if ! docker run -e EXPECTFAIL="$EXPECTFAIL" -e TOOL="$t" --rm ctftools bash -ic 'manage-tools -s -f -v test $TOOL'; then failed="$failed$t " + echo "[ACCOUNTING]=====[ $DISTRO $t FAILED $((SECONDS - toolstarttime)) ]" + else + echo "[ACCOUNTING]=====[ $DISTRO $t SUCCEEDED $((SECONDS - toolstarttime)) ]" fi echo "[-] TOOL $t TEST ENDED: $((SECONDS - toolstarttime)) seconds, $((SECONDS - starttime)) seconds since start of script." set -e From 292be51073251aa3eb1e7853335c8663f77799f1 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 9 Mar 2017 10:36:51 +0100 Subject: [PATCH 119/149] fix EXPECTFAIL --- bin/travis-ci.sh | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/bin/travis-ci.sh b/bin/travis-ci.sh index be0f314..1a09f97 100755 --- a/bin/travis-ci.sh +++ b/bin/travis-ci.sh @@ -2,6 +2,25 @@ export EXPECTFAIL=${EXPECTFAIL:-0} +function flipstatus() { + if [ $EXPECTFAIL -eq 0 ]; + then + echo $1 + else + case $1 in + FAILED) + echo SUCCEEDED + ;; + SUCCEEDED) + echo FAILED + ;; + *) + echo $1 + ;; + esac + fi +} + starttime=$SECONDS failed="" for t in $TOOL; @@ -12,9 +31,9 @@ do if ! docker run -e EXPECTFAIL="$EXPECTFAIL" -e TOOL="$t" --rm ctftools bash -ic 'manage-tools -s -f -v test $TOOL'; then failed="$failed$t " - echo "[ACCOUNTING]=====[ $DISTRO $t FAILED $((SECONDS - toolstarttime)) ]" + echo "[ACCOUNTING]=====[ $DISTRO $t $(flipstatus FAILED) $((SECONDS - toolstarttime)) ]" else - echo "[ACCOUNTING]=====[ $DISTRO $t SUCCEEDED $((SECONDS - toolstarttime)) ]" + echo "[ACCOUNTING]=====[ $DISTRO $t $(flipstatus SUCCEEDED) $((SECONDS - toolstarttime)) ]" fi echo "[-] TOOL $t TEST ENDED: $((SECONDS - toolstarttime)) seconds, $((SECONDS - starttime)) seconds since start of script." set -e From ae2eb00db086dfd548837e18025ac2324a0ca4b4 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 9 Mar 2017 14:53:41 +0100 Subject: [PATCH 120/149] binpacked travis-ci test --- .travis.yml | 86 ++++++++++++----------------------------------------- 1 file changed, 19 insertions(+), 67 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1945017..113b7c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,73 +10,25 @@ before_install: env: -# Tests for fedora -- DISTRO="fedora" TOOL="apktool binwalk burpsuite capstone checksec commix - cribdrag dirsearch elfkickers evilize exetractor foresight gdb gdb-heap gef - jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor - radare2 reveng ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder - steganabara stegsolve subbrute unicorn virtualsocket" -- DISTRO="fedora" TOOL="xortool yafu z3" -- DISTRO="fedora" EXPECTFAIL=1 TOOL="afl android-sdk angr barf beef bindead - codereason df dirb dislocker elfparser featherduster firmware-mod-kit - hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone - littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools - python-pin qemu qira snowman sonic-visualizer sqlmap sslsplit stegdetect - taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg" -# - DISTRO="fedora" TOOL="cross2 crosstool" ### takes too long for travis-ci - -# Tests for archlinux -- DISTRO="archlinux" TOOL="afl android-sdk apktool binwalk burpsuite checksec - commix cribdrag df dirb dirsearch evilize exetractor featherduster - firmware-mod-kit foresight gdb gdb-heap gef" -- DISTRO="archlinux" TOOL="hashpump hashpump-partialhash jdgui keystone libheap - msieve pdf-parser peda peepdf pemcrack pkcrack pwndbg pwntools - python-paddingoracle pyvmmonitor radare2 reveng rp++ scrdec18 shellnoob - ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser - unicorn veles virtualsocket xortool xrop yafu zsteg elfkickers honggfuzz" -- DISTRO="archlinux" EXPECTFAIL=1 TOOL="angr barf beef bindead capstone - codereason dislocker elfparser hash-identifier hashkill littleblackbox - mitmproxy panda pathgrind preeny qira ropper shellsploit" -- DISTRO="archlinux" EXPECTFAIL=1 TOOL="snowman sonic-visualizer sqlmap - stegdetect taintgrind villoc wcc xspy z3 python-pin" -# - DISTRO="archlinux" TOOL="cross2 crosstool qemu" ### takes too long for travis-ci - -# Tests for trusty, grouped together to most optimally use a single build process -- DISTRO="trusty" TOOL="afl android-sdk apktool barf binwalk burpsuite capstone - checksec codereason" -- DISTRO="trusty" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers - elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy - msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman - sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute bindead hashkill - python-pin" -- DISTRO="trusty" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap - gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk - tor-browser unicorn virtualsocket xortool xspy yafu z3" -- DISTRO="trusty" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor - radare2 reveng ropper rp++ qira stegdetect villoc zsteg" -- DISTRO="trusty" TOOL="qemu" -- DISTRO="trusty" EXPECTFAIL=1 TOOL="angr" -- DISTRO="trusty" EXPECTFAIL=1 TOOL="beef panda pathgrind pwntools - sonic-visualizer taintgrind veles wcc xrop" -# - DISTRO="trusty" TOOL="cross2 crosstool" ### takes too long for travis-ci - -# Tests for xenial, grouped together to most optimally use a single build process -- DISTRO="xenial" TOOL="afl android-sdk angr apktool barf binwalk burpsuite - capstone checksec codereason" -- DISTRO="xenial" TOOL="commix cribdrag df dirb dirsearch dislocker elfkickers - elfparser evilize exetractor jdgui keystone libheap littleblackbox mitmproxy - msieve pdf-parser peda peepdf pemcrack scrdec18 shellnoob shellsploit snowman - sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute" -- DISTRO="xenial" TOOL="featherduster firmware-mod-kit foresight gdb gdb-heap - gef hash-identifier hashpump hashpump-partialhash honggfuzz testdisk - tor-browser unicorn veles virtualsocket xortool xspy yafu z3" -- DISTRO="xenial" TOOL="pkcrack preeny pwndbg python-paddingoracle pyvmmonitor - radare2 reveng ropper rp++" -- DISTRO="xenial" TOOL="qemu" -- DISTRO="xenial" EXPECTFAIL=1 TOOL="beef bindead hashkill panda pathgrind - pwntools python-pin qira sonic-visualizer stegdetect taintgrind villoc wcc xrop - zsteg" -# - DISTRO="xenial" TOOL="cross2 crosstool" ### takes too long for travis-ci +- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef pathgrind python-pin zsteg qira taintgrind stegdetect villoc gdb-heap pwntools wcc reveng bindead xrop hashkill panda sonic-visualizer' # estimated 451 seconds +- DISTRO='xenial' TOOL='qemu' # estimated 1962 seconds +- DISTRO='xenial' TOOL='afl barf pwndbg z3' # estimated 1928 seconds +- DISTRO='xenial' TOOL='snowman firmware-mod-kit gdb keystone angr android-sdk' # estimated 1882 seconds +- DISTRO='xenial' TOOL='pkcrack testdisk steganabara pdf-parser virtualsocket peda apktool peepdf xspy python-paddingoracle dislocker stegsolve libheap xortool tor-browser cribdrag sslsplit elfkickers capstone ssh_decoder pyvmmonitor commix sqlmap preeny jdgui df hash-identifier littleblackbox pemcrack dirb exetractor gef unicorn yafu binwalk veles featherduster elfparser foresight checksec dirsearch hashpump-partialhash ropper shellnoob codereason msieve burpsuite mitmproxy honggfuzz shellsploit radare2 rp++ scrdec18 subbrute hashpump evilize' # estimated 1115 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer z3' # estimated 1928 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='snowman barf panda xspy dislocker reveng beef stegdetect wcc capstone preeny python-pin hash-identifier littleblackbox villoc gdb-heap hashkill elfparser pathgrind ropper taintgrind codereason mitmproxy angr shellsploit bindead' # estimated 693 seconds +- DISTRO='archlinux' TOOL='unicorn gdb pwndbg apktool afl yafu firmware-mod-kit jdgui tor-browser sslsplit keystone pyvmmonitor sqlmap zsteg dirb xrop pwntools android-sdk veles featherduster hashpump-partialhash msieve burpsuite honggfuzz radare2 hashpump' # estimated 1997 seconds +- DISTRO='archlinux' TOOL='pkcrack testdisk virtualsocket peda peepdf ssh_decoder python-paddingoracle stegsolve libheap xortool cribdrag elfkickers pdf-parser scrdec18 df pemcrack shellnoob exetractor gef checksec rp++ binwalk dirsearch foresight commix subbrute steganabara evilize' # estimated 47 seconds +- DISTRO='archlinux' TOOL='qemu' # unknown duration... +- DISTRO='fedora' EXPECTFAIL=1 TOOL='snowman testdisk pwntools pwndbg barf qemu panda xspy sonic-visualizer afl dislocker firmware-mod-kit beef sslsplit tor-browser qira wcc keystone sqlmap preeny stegdetect zsteg df hash-identifier littleblackbox villoc gdb-heap dirb reveng xrop hashkill android-sdk veles featherduster elfparser pemcrack pathgrind hashpump-partialhash taintgrind codereason msieve mitmproxy angr honggfuzz python-pin bindead hashpump' # estimated 507 seconds +- DISTRO='fedora' TOOL='pkcrack unicorn pdf-parser gdb virtualsocket peda apktool peepdf python-paddingoracle stegsolve libheap xortool cribdrag elfkickers capstone ssh_decoder pyvmmonitor scrdec18 jdgui shellnoob exetractor gef checksec yafu binwalk z3 rp++ ropper burpsuite foresight dirsearch commix shellsploit steganabara subbrute radare2 evilize' # estimated 1825 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='reveng pathgrind sonic-visualizer beef taintgrind gdb-heap wcc xrop veles panda' # estimated 882 seconds +- DISTRO='trusty' TOOL='df android-sdk elfparser barf z3' # estimated 1975 seconds +- DISTRO='trusty' TOOL='qemu' # estimated 2174 seconds +- DISTRO='trusty' TOOL='snowman msieve qira gdb exetractor bindead capstone' # estimated 1993 seconds +- DISTRO='trusty' TOOL='afl sqlmap firmware-mod-kit jdgui codereason apktool burpsuite mitmproxy pwntools keystone pwndbg unicorn hashkill featherduster radare2' # estimated 1973 seconds +- DISTRO='trusty' TOOL='pkcrack testdisk steganabara virtualsocket peda peepdf ssh_decoder xspy python-paddingoracle dislocker stegsolve libheap xortool tor-browser cribdrag sslsplit elfkickers pdf-parser pyvmmonitor scrdec18 preeny rp++ stegdetect zsteg hash-identifier littleblackbox villoc pemcrack dirb gef checksec yafu binwalk dirsearch hashpump-partialhash ropper shellnoob foresight honggfuzz shellsploit commix python-pin subbrute hashpump evilize' # estimated 317 seconds +- DISTRO='trusty' TOOL='angr' # unknown duration... script: - ./bin/travis-ci.sh From e7becdba32db431783d3a0189ba6147ecfb06fee Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 9 Mar 2017 16:53:12 +0100 Subject: [PATCH 121/149] sorted tools --- .travis.yml | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/.travis.yml b/.travis.yml index 113b7c5..50674c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,26 +10,25 @@ before_install: env: -- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef pathgrind python-pin zsteg qira taintgrind stegdetect villoc gdb-heap pwntools wcc reveng bindead xrop hashkill panda sonic-visualizer' # estimated 451 seconds -- DISTRO='xenial' TOOL='qemu' # estimated 1962 seconds -- DISTRO='xenial' TOOL='afl barf pwndbg z3' # estimated 1928 seconds -- DISTRO='xenial' TOOL='snowman firmware-mod-kit gdb keystone angr android-sdk' # estimated 1882 seconds -- DISTRO='xenial' TOOL='pkcrack testdisk steganabara pdf-parser virtualsocket peda apktool peepdf xspy python-paddingoracle dislocker stegsolve libheap xortool tor-browser cribdrag sslsplit elfkickers capstone ssh_decoder pyvmmonitor commix sqlmap preeny jdgui df hash-identifier littleblackbox pemcrack dirb exetractor gef unicorn yafu binwalk veles featherduster elfparser foresight checksec dirsearch hashpump-partialhash ropper shellnoob codereason msieve burpsuite mitmproxy honggfuzz shellsploit radare2 rp++ scrdec18 subbrute hashpump evilize' # estimated 1115 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer z3' # estimated 1928 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='snowman barf panda xspy dislocker reveng beef stegdetect wcc capstone preeny python-pin hash-identifier littleblackbox villoc gdb-heap hashkill elfparser pathgrind ropper taintgrind codereason mitmproxy angr shellsploit bindead' # estimated 693 seconds -- DISTRO='archlinux' TOOL='unicorn gdb pwndbg apktool afl yafu firmware-mod-kit jdgui tor-browser sslsplit keystone pyvmmonitor sqlmap zsteg dirb xrop pwntools android-sdk veles featherduster hashpump-partialhash msieve burpsuite honggfuzz radare2 hashpump' # estimated 1997 seconds -- DISTRO='archlinux' TOOL='pkcrack testdisk virtualsocket peda peepdf ssh_decoder python-paddingoracle stegsolve libheap xortool cribdrag elfkickers pdf-parser scrdec18 df pemcrack shellnoob exetractor gef checksec rp++ binwalk dirsearch foresight commix subbrute steganabara evilize' # estimated 47 seconds -- DISTRO='archlinux' TOOL='qemu' # unknown duration... -- DISTRO='fedora' EXPECTFAIL=1 TOOL='snowman testdisk pwntools pwndbg barf qemu panda xspy sonic-visualizer afl dislocker firmware-mod-kit beef sslsplit tor-browser qira wcc keystone sqlmap preeny stegdetect zsteg df hash-identifier littleblackbox villoc gdb-heap dirb reveng xrop hashkill android-sdk veles featherduster elfparser pemcrack pathgrind hashpump-partialhash taintgrind codereason msieve mitmproxy angr honggfuzz python-pin bindead hashpump' # estimated 507 seconds -- DISTRO='fedora' TOOL='pkcrack unicorn pdf-parser gdb virtualsocket peda apktool peepdf python-paddingoracle stegsolve libheap xortool cribdrag elfkickers capstone ssh_decoder pyvmmonitor scrdec18 jdgui shellnoob exetractor gef checksec yafu binwalk z3 rp++ ropper burpsuite foresight dirsearch commix shellsploit steganabara subbrute radare2 evilize' # estimated 1825 seconds -- DISTRO='trusty' EXPECTFAIL=1 TOOL='reveng pathgrind sonic-visualizer beef taintgrind gdb-heap wcc xrop veles panda' # estimated 882 seconds -- DISTRO='trusty' TOOL='df android-sdk elfparser barf z3' # estimated 1975 seconds -- DISTRO='trusty' TOOL='qemu' # estimated 2174 seconds -- DISTRO='trusty' TOOL='snowman msieve qira gdb exetractor bindead capstone' # estimated 1993 seconds -- DISTRO='trusty' TOOL='afl sqlmap firmware-mod-kit jdgui codereason apktool burpsuite mitmproxy pwntools keystone pwndbg unicorn hashkill featherduster radare2' # estimated 1973 seconds -- DISTRO='trusty' TOOL='pkcrack testdisk steganabara virtualsocket peda peepdf ssh_decoder xspy python-paddingoracle dislocker stegsolve libheap xortool tor-browser cribdrag sslsplit elfkickers pdf-parser pyvmmonitor scrdec18 preeny rp++ stegdetect zsteg hash-identifier littleblackbox villoc pemcrack dirb gef checksec yafu binwalk dirsearch hashpump-partialhash ropper shellnoob foresight honggfuzz shellsploit commix python-pin subbrute hashpump evilize' # estimated 317 seconds +- DISTRO='trusty' TOOL='android-sdk barf dirsearch gef hashpump libheap peda pkcrack python-paddingoracle pyvmmonitor rp++ sqlmap ssh_decoder testdisk virtualsocket xspy z3 zsteg' # estimated 1987 seconds +- DISTRO='trusty' TOOL='qemu' # estimated 2163 seconds +- DISTRO='trusty' TOOL='bindead checksec df elfkickers elfparser exetractor featherduster gdb littleblackbox msieve peepdf pemcrack preeny python-pin qira scrdec18 shellnoob snowman sslsplit steganabara subbrute xortool yafu' # estimated 1987 seconds +- DISTRO='trusty' TOOL='afl apktool binwalk burpsuite capstone codereason commix cribdrag dirb dislocker evilize firmware-mod-kit foresight hash-identifier hashkill hashpump-partialhash honggfuzz jdgui keystone mitmproxy pdf-parser pwndbg pwntools radare2 ropper shellsploit stegdetect stegsolve tor-browser unicorn villoc' # estimated 1986 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap panda pathgrind reveng sonic-visualizer taintgrind veles wcc xrop' # estimated 830 seconds - DISTRO='trusty' TOOL='angr' # unknown duration... +- DISTRO='archlinux' TOOL='afl android-sdk apktool burpsuite dirb featherduster firmware-mod-kit gdb hashpump jdgui keystone msieve pwndbg pwntools radare2 tor-browser unicorn veles xrop yafu zsteg' # estimated 1988 seconds +- DISTRO='archlinux' TOOL='binwalk checksec commix cribdrag df dirsearch evilize exetractor foresight gef hashpump-partialhash honggfuzz libheap pdf-parser peda peepdf pemcrack pkcrack python-paddingoracle pyvmmonitor rp++ scrdec18 shellnoob sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk virtualsocket xortool' # estimated 109 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer z3' # estimated 1772 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfkickers elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman stegdetect taintgrind villoc wcc xspy' # estimated 653 seconds +# - DISTRO='archlinux' TOOL='qemu' # unknown duration... +- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1820 seconds +- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 615 seconds +- DISTRO='xenial' TOOL='qemu' # estimated 1983 seconds +- DISTRO='xenial' TOOL='barf pwndbg snowman z3' # estimated 1923 seconds +- DISTRO='xenial' TOOL='afl android-sdk angr codereason firmware-mod-kit gdb keystone mitmproxy veles' # estimated 1934 seconds +- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn virtualsocket xortool xspy yafu' # estimated 777 seconds +- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 447 seconds script: -- ./bin/travis-ci.sh +- travis_wait 50 ./bin/travis-ci.sh From fdde620ebba8019809d71d45aea86e6591d5e346 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 9 Mar 2017 18:52:12 +0100 Subject: [PATCH 122/149] last fixes --- .travis.yml | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 50674c5..e063812 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,24 +10,25 @@ before_install: env: -- DISTRO='trusty' TOOL='android-sdk barf dirsearch gef hashpump libheap peda pkcrack python-paddingoracle pyvmmonitor rp++ sqlmap ssh_decoder testdisk virtualsocket xspy z3 zsteg' # estimated 1987 seconds -- DISTRO='trusty' TOOL='qemu' # estimated 2163 seconds -- DISTRO='trusty' TOOL='bindead checksec df elfkickers elfparser exetractor featherduster gdb littleblackbox msieve peepdf pemcrack preeny python-pin qira scrdec18 shellnoob snowman sslsplit steganabara subbrute xortool yafu' # estimated 1987 seconds -- DISTRO='trusty' TOOL='afl apktool binwalk burpsuite capstone codereason commix cribdrag dirb dislocker evilize firmware-mod-kit foresight hash-identifier hashkill hashpump-partialhash honggfuzz jdgui keystone mitmproxy pdf-parser pwndbg pwntools radare2 ropper shellsploit stegdetect stegsolve tor-browser unicorn villoc' # estimated 1986 seconds -- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap panda pathgrind reveng sonic-visualizer taintgrind veles wcc xrop' # estimated 830 seconds -- DISTRO='trusty' TOOL='angr' # unknown duration... -- DISTRO='archlinux' TOOL='afl android-sdk apktool burpsuite dirb featherduster firmware-mod-kit gdb hashpump jdgui keystone msieve pwndbg pwntools radare2 tor-browser unicorn veles xrop yafu zsteg' # estimated 1988 seconds -- DISTRO='archlinux' TOOL='binwalk checksec commix cribdrag df dirsearch evilize exetractor foresight gef hashpump-partialhash honggfuzz libheap pdf-parser peda peepdf pemcrack pkcrack python-paddingoracle pyvmmonitor rp++ scrdec18 shellnoob sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk virtualsocket xortool' # estimated 109 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer z3' # estimated 1772 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfkickers elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman stegdetect taintgrind villoc wcc xspy' # estimated 653 seconds -# - DISTRO='archlinux' TOOL='qemu' # unknown duration... -- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1820 seconds -- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 615 seconds -- DISTRO='xenial' TOOL='qemu' # estimated 1983 seconds -- DISTRO='xenial' TOOL='barf pwndbg snowman z3' # estimated 1923 seconds -- DISTRO='xenial' TOOL='afl android-sdk angr codereason firmware-mod-kit gdb keystone mitmproxy veles' # estimated 1934 seconds -- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn virtualsocket xortool xspy yafu' # estimated 777 seconds -- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 447 seconds +- DISTRO='xenial' TOOL='qemu' # estimated 1933 seconds +- DISTRO='xenial' TOOL='barf snowman z3' # estimated 1971 seconds +- DISTRO='xenial' TOOL='afl android-sdk angr codereason firmware-mod-kit gdb keystone mitmproxy pwndbg' # estimated 1932 seconds +- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn veles virtualsocket xortool xspy yafu' # estimated 888 seconds +- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 441 seconds +- DISTRO='archlinux' TOOL='afl android-sdk apktool burpsuite featherduster firmware-mod-kit gdb jdgui keystone msieve pwndbg pwntools radare2 unicorn veles xrop yafu' # estimated 1978 seconds +- DISTRO='archlinux' TOOL='binwalk checksec commix cribdrag df dirb dirsearch evilize exetractor foresight gef hashpump hashpump-partialhash honggfuzz libheap pdf-parser peda peepdf pemcrack pkcrack python-paddingoracle pyvmmonitor rp++ scrdec18 shellnoob sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser virtualsocket xortool zsteg' # estimated 200 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer taintgrind z3' # estimated 1940 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfkickers elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman stegdetect villoc wcc xspy' # estimated 437 seconds +- DISTRO='archlinux' TOOL='qemu' # unknown duration... +- DISTRO='trusty' TOOL='barf bindead capstone sslsplit stegdetect tor-browser yafu z3' # estimated 1999 seconds +- DISTRO='trusty' TOOL='qemu' # estimated 2106 seconds +- DISTRO='trusty' TOOL='df dirb dislocker elfparser gdb pwntools qira snowman sqlmap' # estimated 1993 seconds +- DISTRO='trusty' TOOL='afl android-sdk apktool burpsuite codereason featherduster firmware-mod-kit hashkill jdgui keystone mitmproxy msieve pwndbg radare2 ropper unicorn' # estimated 1989 seconds +- DISTRO='trusty' TOOL='binwalk checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz libheap littleblackbox pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle python-pin pyvmmonitor rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute testdisk villoc virtualsocket xortool xspy zsteg' # estimated 175 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='angr panda sonic-visualizer taintgrind veles xrop' # estimated 1988 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap pathgrind reveng wcc' # estimated 32 seconds +- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1884 seconds +- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 530 seconds script: - travis_wait 50 ./bin/travis-ci.sh From 0ec3896124ac3b802181df8d4d96c8dcbdab0c8e Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Thu, 9 Mar 2017 18:54:02 +0100 Subject: [PATCH 123/149] disable archlinux qemu --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e063812..38e1e81 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ env: - DISTRO='archlinux' TOOL='binwalk checksec commix cribdrag df dirb dirsearch evilize exetractor foresight gef hashpump hashpump-partialhash honggfuzz libheap pdf-parser peda peepdf pemcrack pkcrack python-paddingoracle pyvmmonitor rp++ scrdec18 shellnoob sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser virtualsocket xortool zsteg' # estimated 200 seconds - DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer taintgrind z3' # estimated 1940 seconds - DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfkickers elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman stegdetect villoc wcc xspy' # estimated 437 seconds -- DISTRO='archlinux' TOOL='qemu' # unknown duration... +#- DISTRO='archlinux' TOOL='qemu' # unknown duration... - DISTRO='trusty' TOOL='barf bindead capstone sslsplit stegdetect tor-browser yafu z3' # estimated 1999 seconds - DISTRO='trusty' TOOL='qemu' # estimated 2106 seconds - DISTRO='trusty' TOOL='df dirb dislocker elfparser gdb pwntools qira snowman sqlmap' # estimated 1993 seconds From d2746ceb9f9573cff66a2dbf9ea171e1c22f3ac2 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Fri, 10 Mar 2017 07:20:01 +0100 Subject: [PATCH 124/149] make elfkickers build more dependable --- elfkickers/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elfkickers/install b/elfkickers/install index 6f71998..fb0f7b3 100755 --- a/elfkickers/install +++ b/elfkickers/install @@ -2,6 +2,6 @@ git clone --depth 1 https://github.com/BR903/ELFkickers cd ELFkickers -make -j +make -j $(nproc) cd .. mv ELFkickers/bin ./bin From 3d9604ce092dc9118aaad6dd0a2b653c3a937c3c Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Fri, 10 Mar 2017 07:25:41 +0100 Subject: [PATCH 125/149] fix elfkickers --- .travis.yml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.travis.yml b/.travis.yml index 38e1e81..6372b14 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,25 +10,25 @@ before_install: env: -- DISTRO='xenial' TOOL='qemu' # estimated 1933 seconds -- DISTRO='xenial' TOOL='barf snowman z3' # estimated 1971 seconds -- DISTRO='xenial' TOOL='afl android-sdk angr codereason firmware-mod-kit gdb keystone mitmproxy pwndbg' # estimated 1932 seconds -- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn veles virtualsocket xortool xspy yafu' # estimated 888 seconds -- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 441 seconds -- DISTRO='archlinux' TOOL='afl android-sdk apktool burpsuite featherduster firmware-mod-kit gdb jdgui keystone msieve pwndbg pwntools radare2 unicorn veles xrop yafu' # estimated 1978 seconds -- DISTRO='archlinux' TOOL='binwalk checksec commix cribdrag df dirb dirsearch evilize exetractor foresight gef hashpump hashpump-partialhash honggfuzz libheap pdf-parser peda peepdf pemcrack pkcrack python-paddingoracle pyvmmonitor rp++ scrdec18 shellnoob sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser virtualsocket xortool zsteg' # estimated 200 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer taintgrind z3' # estimated 1940 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfkickers elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman stegdetect villoc wcc xspy' # estimated 437 seconds -#- DISTRO='archlinux' TOOL='qemu' # unknown duration... -- DISTRO='trusty' TOOL='barf bindead capstone sslsplit stegdetect tor-browser yafu z3' # estimated 1999 seconds -- DISTRO='trusty' TOOL='qemu' # estimated 2106 seconds -- DISTRO='trusty' TOOL='df dirb dislocker elfparser gdb pwntools qira snowman sqlmap' # estimated 1993 seconds -- DISTRO='trusty' TOOL='afl android-sdk apktool burpsuite codereason featherduster firmware-mod-kit hashkill jdgui keystone mitmproxy msieve pwndbg radare2 ropper unicorn' # estimated 1989 seconds -- DISTRO='trusty' TOOL='binwalk checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz libheap littleblackbox pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle python-pin pyvmmonitor rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute testdisk villoc virtualsocket xortool xspy zsteg' # estimated 175 seconds -- DISTRO='trusty' EXPECTFAIL=1 TOOL='angr panda sonic-visualizer taintgrind veles xrop' # estimated 1988 seconds -- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap pathgrind reveng wcc' # estimated 32 seconds -- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1884 seconds -- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 530 seconds +- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1944 seconds +- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 555 seconds +- DISTRO='archlinux' TOOL='afl android-sdk burpsuite firmware-mod-kit gdb jdgui keystone pwndbg pwntools radare2 unicorn veles xrop yafu' # estimated 1986 seconds +- DISTRO='archlinux' TOOL='apktool binwalk checksec commix cribdrag df dirb dirsearch elfkickers evilize exetractor featherduster foresight gef hashpump hashpump-partialhash honggfuzz libheap msieve pdf-parser peda peepdf pemcrack pkcrack python-paddingoracle pyvmmonitor rp++ scrdec18 shellnoob sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser virtualsocket xortool zsteg' # estimated 362 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer taintgrind z3' # estimated 1976 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman stegdetect villoc wcc xspy' # estimated 461 seconds +# - DISTRO='archlinux' TOOL='qemu' # unknown duration... +- DISTRO='trusty' TOOL='android-sdk barf df featherduster stegdetect z3' # estimated 1984 seconds +- DISTRO='trusty' TOOL='qemu' # estimated 2066 seconds +- DISTRO='trusty' TOOL='bindead capstone dirb gdb jdgui qira ropper snowman' # estimated 1985 seconds +- DISTRO='trusty' TOOL='afl apktool burpsuite codereason elfparser firmware-mod-kit hashkill keystone mitmproxy msieve pwndbg pwntools radare2 tor-browser unicorn yafu' # estimated 1984 seconds +- DISTRO='trusty' TOOL='binwalk checksec commix cribdrag dirsearch dislocker elfkickers evilize exetractor foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz libheap littleblackbox pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle python-pin pyvmmonitor rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk villoc virtualsocket xortool xspy zsteg' # estimated 221 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='angr panda sonic-visualizer taintgrind' # estimated 1949 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap pathgrind reveng veles wcc xrop' # estimated 147 seconds +- DISTRO='xenial' TOOL='qemu' # estimated 1915 seconds +- DISTRO='xenial' TOOL='barf snowman z3' # estimated 1946 seconds +- DISTRO='xenial' TOOL='afl android-sdk angr codereason firmware-mod-kit gdb keystone mitmproxy veles' # estimated 1928 seconds +- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny pwndbg python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn virtualsocket xortool xspy yafu' # estimated 998 seconds +- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 486 seconds script: - travis_wait 50 ./bin/travis-ci.sh From 6cb4058d12b7ea41baaa21f5f6422a1972bb9d83 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Fri, 10 Mar 2017 13:30:13 +0100 Subject: [PATCH 126/149] page with buildstatus per tool --- .travis.yml | 37 ++++---- .travis.yml.footer | 3 + .travis.yml.header | 12 +++ _buildstatus/fail.png | Bin 0 -> 1316 bytes _buildstatus/index.md | 86 ++++++++++++++++++ _buildstatus/success.png | Bin 0 -> 1536 bytes _buildstatus/unknown.png | Bin 0 -> 633 bytes bin/travis-ci-status/Dockerfile | 13 +++ .../fetch_latest_timingdata.inside-docker.sh | 23 +++++ .../fetch_latest_timingdata.sh | 17 ++++ .../make_binpacked_travis_ci_conf.py | 53 +++++++++++ bin/travis-ci-status/make_build_status_md.py | 20 ++++ 12 files changed, 245 insertions(+), 19 deletions(-) create mode 100644 .travis.yml.footer create mode 100644 .travis.yml.header create mode 100644 _buildstatus/fail.png create mode 100644 _buildstatus/index.md create mode 100644 _buildstatus/success.png create mode 100644 _buildstatus/unknown.png create mode 100644 bin/travis-ci-status/Dockerfile create mode 100755 bin/travis-ci-status/fetch_latest_timingdata.inside-docker.sh create mode 100755 bin/travis-ci-status/fetch_latest_timingdata.sh create mode 100755 bin/travis-ci-status/make_binpacked_travis_ci_conf.py create mode 100755 bin/travis-ci-status/make_build_status_md.py diff --git a/.travis.yml b/.travis.yml index 6372b14..e1cfd51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,26 +10,25 @@ before_install: env: -- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1944 seconds -- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 555 seconds -- DISTRO='archlinux' TOOL='afl android-sdk burpsuite firmware-mod-kit gdb jdgui keystone pwndbg pwntools radare2 unicorn veles xrop yafu' # estimated 1986 seconds -- DISTRO='archlinux' TOOL='apktool binwalk checksec commix cribdrag df dirb dirsearch elfkickers evilize exetractor featherduster foresight gef hashpump hashpump-partialhash honggfuzz libheap msieve pdf-parser peda peepdf pemcrack pkcrack python-paddingoracle pyvmmonitor rp++ scrdec18 shellnoob sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser virtualsocket xortool zsteg' # estimated 362 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira sonic-visualizer taintgrind z3' # estimated 1976 seconds -- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman stegdetect villoc wcc xspy' # estimated 461 seconds +- DISTRO='archlinux' TOOL='afl android-sdk apktool binwalk burpsuite checksec df dirb elfkickers evilize featherduster firmware-mod-kit gdb hashpump hashpump-partialhash honggfuzz jdgui keystone libheap msieve pkcrack pwndbg pwntools python-paddingoracle pyvmmonitor radare2 sqlmap sslsplit testdisk tor-browser unicorn veles virtualsocket xortool xrop yafu zsteg' # estimated 2000 seconds +- DISTRO='archlinux' TOOL='commix cribdrag dirsearch exetractor foresight gef pdf-parser peda peepdf pemcrack rp++ scrdec18 shellnoob ssh_decoder steganabara stegsolve subbrute' # estimated 16 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='qira taintgrind z3' # estimated 1831 seconds +- DISTRO='archlinux' EXPECTFAIL=1 TOOL='angr barf beef bindead capstone codereason dislocker elfparser gdb-heap hash-identifier hashkill littleblackbox mitmproxy panda pathgrind preeny python-pin reveng ropper shellsploit snowman sonic-visualizer stegdetect villoc wcc xspy' # estimated 764 seconds # - DISTRO='archlinux' TOOL='qemu' # unknown duration... -- DISTRO='trusty' TOOL='android-sdk barf df featherduster stegdetect z3' # estimated 1984 seconds -- DISTRO='trusty' TOOL='qemu' # estimated 2066 seconds -- DISTRO='trusty' TOOL='bindead capstone dirb gdb jdgui qira ropper snowman' # estimated 1985 seconds -- DISTRO='trusty' TOOL='afl apktool burpsuite codereason elfparser firmware-mod-kit hashkill keystone mitmproxy msieve pwndbg pwntools radare2 tor-browser unicorn yafu' # estimated 1984 seconds -- DISTRO='trusty' TOOL='binwalk checksec commix cribdrag dirsearch dislocker elfkickers evilize exetractor foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz libheap littleblackbox pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle python-pin pyvmmonitor rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk villoc virtualsocket xortool xspy zsteg' # estimated 221 seconds -- DISTRO='trusty' EXPECTFAIL=1 TOOL='angr panda sonic-visualizer taintgrind' # estimated 1949 seconds -- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap pathgrind reveng veles wcc xrop' # estimated 147 seconds -- DISTRO='xenial' TOOL='qemu' # estimated 1915 seconds -- DISTRO='xenial' TOOL='barf snowman z3' # estimated 1946 seconds -- DISTRO='xenial' TOOL='afl android-sdk angr codereason firmware-mod-kit gdb keystone mitmproxy veles' # estimated 1928 seconds -- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny pwndbg python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn virtualsocket xortool xspy yafu' # estimated 998 seconds -- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 486 seconds - +- DISTRO='fedora' TOOL='apktool binwalk burpsuite capstone checksec commix cribdrag dirsearch elfkickers evilize exetractor foresight gdb gef jdgui libheap pdf-parser peda peepdf pkcrack python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit ssh_decoder steganabara stegsolve subbrute unicorn virtualsocket xortool yafu z3' # estimated 1779 seconds +- DISTRO='fedora' EXPECTFAIL=1 TOOL='afl android-sdk angr barf beef bindead codereason df dirb dislocker elfparser featherduster firmware-mod-kit gdb-heap hash-identifier hashkill hashpump hashpump-partialhash honggfuzz keystone littleblackbox mitmproxy msieve panda pathgrind pemcrack preeny pwndbg pwntools python-pin qemu qira reveng snowman sonic-visualizer sqlmap sslsplit stegdetect taintgrind testdisk tor-browser veles villoc wcc xrop xspy zsteg' # estimated 549 seconds +- DISTRO='trusty' TOOL='barf capstone jdgui stegdetect yafu z3' # estimated 1995 seconds +- DISTRO='trusty' TOOL='qemu' # estimated 2160 seconds +- DISTRO='trusty' TOOL='apktool bindead featherduster gdb qira snowman' # estimated 1976 seconds +- DISTRO='trusty' TOOL='afl android-sdk burpsuite codereason df firmware-mod-kit hashkill keystone mitmproxy pwndbg pwntools radare2 unicorn' # estimated 1976 seconds +- DISTRO='trusty' TOOL='binwalk checksec commix cribdrag dirb dirsearch dislocker elfkickers elfparser evilize exetractor foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny python-paddingoracle python-pin pyvmmonitor ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser villoc virtualsocket xortool xspy zsteg' # estimated 374 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='angr panda sonic-visualizer' # estimated 1877 seconds +- DISTRO='trusty' EXPECTFAIL=1 TOOL='beef gdb-heap pathgrind reveng taintgrind veles wcc xrop' # estimated 303 seconds +- DISTRO='xenial' TOOL='qemu' # estimated 1928 seconds +- DISTRO='xenial' TOOL='barf keystone mitmproxy z3' # estimated 1920 seconds +- DISTRO='xenial' TOOL='afl android-sdk angr firmware-mod-kit gdb snowman' # estimated 1985 seconds +- DISTRO='xenial' TOOL='apktool binwalk burpsuite capstone checksec codereason commix cribdrag df dirb dirsearch dislocker elfkickers elfparser evilize exetractor featherduster foresight gef hash-identifier hashpump hashpump-partialhash honggfuzz jdgui libheap littleblackbox msieve pdf-parser peda peepdf pemcrack pkcrack preeny pwndbg python-paddingoracle pyvmmonitor radare2 ropper rp++ scrdec18 shellnoob shellsploit sqlmap ssh_decoder sslsplit steganabara stegsolve subbrute testdisk tor-browser unicorn veles virtualsocket xortool xspy yafu' # estimated 1230 seconds +- DISTRO='xenial' EXPECTFAIL=1 TOOL='beef bindead gdb-heap hashkill panda pathgrind pwntools python-pin qira reveng sonic-visualizer stegdetect taintgrind villoc wcc xrop zsteg' # estimated 457 seconds script: - travis_wait 50 ./bin/travis-ci.sh diff --git a/.travis.yml.footer b/.travis.yml.footer new file mode 100644 index 0000000..31b6918 --- /dev/null +++ b/.travis.yml.footer @@ -0,0 +1,3 @@ +script: +- travis_wait 50 ./bin/travis-ci.sh + diff --git a/.travis.yml.header b/.travis.yml.header new file mode 100644 index 0000000..4a52d26 --- /dev/null +++ b/.travis.yml.header @@ -0,0 +1,12 @@ +language: bash +sudo: required +services: +- docker +before_install: +- if [ "$DISTRO" = "archlinux" ]; then docker build -t ctftools -f Dockerfile.archlinux .; fi +- if [ "$DISTRO" = "fedora" ]; then docker build -t ctftools -f Dockerfile.fedora .; fi +- if [ "$DISTRO" = "xenial" ]; then docker build -t ctftools -f Dockerfile.xenial .; fi +- if [ "$DISTRO" = "trusty" ]; then docker build -t ctftools -f Dockerfile .; fi + +env: + diff --git a/_buildstatus/fail.png b/_buildstatus/fail.png new file mode 100644 index 0000000000000000000000000000000000000000..976f6e53c813304d04a0338369d91a60120d1076 GIT binary patch literal 1316 zcmeAS@N?(olHy`uVBq!ia0vp^MnEhgzyu@(EL8h|6id3JuOkD)#(wTUiL5|AV{wqX z6T`Z5GB1G~g=CK)Uj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C(G( z@^*Lm|GxtW7zCx7fFhg)9+AaB+5?Q;PG;LNFfjk~ba4!cIGp_F|Ng~`7dI!02r$lI zyT$0t*~2ErnP9TPgJE%_E0YATjt~QP-Ai?UJEPi^NmFz6v-J-zJ$5H%Tg0{>M>=yZ z<^(3K*;D-d?Yix|Lqd0dFMYpyUD=+u71oLeRqm?DMlM-;w07<9TaA1&Ld@Kf5z(jp zr_Y}^Dd}47wO$=Pty6!e{nlk>Zq{H9Y*f`cm3ut*`u+Eh-#^aJ(_5~%{NRBD3Fi~+ zFE~0%OqjsCbm>p;pWe1MSE{a5P4Fx)Hx)CTR{#Is{@?%CElJV-9+qdg@mcQK+c$2k z3RxWz8nVl0x6k#pyOkZ^JDfmW?rAFt~T|h#a++N+bdVN1w`)5_Ps6@cW>A7Qh!;QG^z6@`zk*E-1_`_hET-nu-IQkFT0nd zWCvsm7*#$zWPCq;-*o-`6(1iRJvVpzzdOHzLsCwsp59ttKg)X-w@ZHR+jZ8v-(9eJ zc7ASk*4Hap$9fhlS+Hb|%<9u&)A{B1$=BK2XlDBUn)PLdgtNNy@?Po3{m0}}lafS| zM7Vfjp6ovH{r&y=mH&e}4d=Jyym+)|(#lDZF*(*J%Y-)Vm^DjdzJ|QKe6?-$-!|St zvqH1m+wX_$UTKzo?&YP+OY`s7UH-T1?8%eAdcH~mV@0c3OZDK#|NsAg`u~)NhsTn~ za>k~K6WLDlPHS&_W%k<4+2z!!ZL+t^cn-}oc*yZw@LZ>Gf1GvITc88D|LOkt`#b-_ zeFcx5I{Nx26g>7Gm^AH~_CxKD9|GQozIUCxDt$%!5>5O4tv9(h@7;6d`ReohT$ebn zbM7yF?fYQ%0e1d-cdN_$8yge(4$CCHNlHn1lk%oz12Dp+|CrBcY<#GD`1bnv`jh`A z9bM`jF~hsvn>~_6NJik>%gZ~Zi_BN7>@?{xv8n#%`DAiO14Fu8x}3Opwn?^$;krdp zmmfYjSiSChO#RbGNLs z*Z29w$HvQkyg4DOaq6@*yX!UUX3jjLJu_TRt~mSIH5L{ft4%LD7A~C9JLT-^@Oa&Q zQG05Brv9D&^~emim4>fh%{e{iv_flb#Enb$z3Z*5SK9Q8eV{r(~v8;?|(`@b*EV O1_n=8KbLh*2~7ZhVo6qquv-*2n+%MfT{=9 z4F@6;EU5Yxu&dh{TmnHZ0_}wc0Cs`$cj8u%%f#a_E^5dabp05EqF035CXfL3f-r;j5j$e%ilaih~WH|ccg<&78ML@5><7!M-$pK>3F zLV@dEd$^(T0ldXOqOfBjyB?3$kId8wad^}EAp2{)phKaV_KbUXI}j?*(mmOyiO=%1 zi6cP{185iTh&ir-7%$XCA~_{j7!6_9IpS{Iv9f*SW5Vf|d6POl&lj(59$fe~x3c0i zx@=!5p=_Il=jOs$EXDCKS|KI4d(-25!2bSigYvJ4uWqFF;@-ZOT;=4_tS$>m%xA5DJVs4T9%GRp7B3P|ZD=&AO~pM>J0tF+YruGw+GSz3 znn4F?wY;3PN(ug+3J8+2yg3yz1zkQ=>RVP}eQj-F{ljo7oNW(zGIA;X=zxU<>qBXD zM{@lE>z&m8A-tsXKHo91B=N_Ol+|RvTt<-J6T#3%$<3R;DQ7P)k4{CTBqR(=P1PUv zDamC;nVDrp2`EW~nb|e&kiT^OgPBB++a=L^sI9h#Zf$-hywzYBQO$?B-z-0UH_Ha}}Gt0{`?=`Hzw>fqz^N0x2&+u<5v<-UvE;GOO0ppdrSpaK?;!Y$xnk+?+dze@}ktcYa#s zL4Vo1xVGbFZI4=0G%iiJDw^-e>8_6rI*x0fyybgynNLE4cSVatI|kO<5gRjJL}?_y zw>MHFIyKQQdh@G_x^g;PGYx!X-BQ!#r3zDpB6T^vhJ`X+Q_5s7RrZ@E{byJ{HXi0) zQ=SzzO{290JMPZ^B^l~XNagGAWanBHW2EUu>)|@UN^yrhJ|3C>(e{oC5wdP2&=rxw(HVbOrfNN@;=!_x1J`@R>8O{o$2cFMH9BgKXd zgMu=QjgJq;W~F^zBaiBVJP1Dnj?qb8BDbEidFL zB_>Jp9>Oo@9I-Nz1b;dW1Zc5uwG5NEWPHT5KQ#YEMqK_Ig zX!|+qM4uVxt1# zE_DH4RZ#*H2tL8yl|32Ag-q8j;E7cWP%b4?GCQ(;#HfPR=;b)&f=YZ!c0k%XAQ5H=D+dH3h)YWO ekKxyt&@Okadz{+mR1K%+0rN zZ4p1Yk%#A#-ib@Mlz4ayOP#L@{Y_)bjAK1!GHseb{RGv8mvrt&|VZ+<9>oj z!jBW>Y7Z5>n^wf$;y%VI6MQLd!{5iT&5QUFI|J1wsorkvlK3K|tR!I~QtdEpgKokv zNx_NVm?C3LTMwS>xf(e$&|#0qEB)e$t8JUv4(lz5X$Vx?WToPLX0C*U%=hJcJ1(au z1n4nnGVN@9xFg5-gizbh9>t0O6{a0H!fHKZmxGn%vVtSk+(rf*FN=HZRchYeQi5&9=k=A_<5s&7b64A@x+sLA}ZW80?&Lcfr#Lt9F%y|-9 zk!E1=vCb*9eNv0*YRUb^GmNA>bP0l+XkK$C}^; literal 0 HcmV?d00001 diff --git a/bin/travis-ci-status/Dockerfile b/bin/travis-ci-status/Dockerfile new file mode 100644 index 0000000..8f3a6c3 --- /dev/null +++ b/bin/travis-ci-status/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:xenial + +RUN apt-get update +RUN apt-get -y install python-software-properties software-properties-common build-essential git python-pip ipython vim +RUN apt-add-repository ppa:brightbox/ruby-ng +RUN apt-get update +RUN apt-get -y install ruby2.1 ruby2.1-dev ruby-switch +RUN ruby-switch --set ruby2.1 + +RUN gem install travis -v 1.8.8 --no-rdoc --no-ri +RUN pip install binpacking + +WORKDIR /gitdata diff --git a/bin/travis-ci-status/fetch_latest_timingdata.inside-docker.sh b/bin/travis-ci-status/fetch_latest_timingdata.inside-docker.sh new file mode 100755 index 0000000..a8b2300 --- /dev/null +++ b/bin/travis-ci-status/fetch_latest_timingdata.inside-docker.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +tmpfile=$(mktemp) + +# Fetch data +( +for i in $(travis show --skip-completion-check --no-interactive | grep '^#' | awk '{print $1}' | tr "#" " "); +do + travis logs --skip-completion-check --no-interactive "$i" | grep '^\[ACCOUNTING\]=====\[' | cut -d' ' -f2-5 +done +) > $tmpfile + +# generate travis-ci data +( +cat /gitdata/.travis.yml.header +/gitdata/bin/travis-ci-status/make_binpacked_travis_ci_conf.py $tmpfile +cat /gitdata/.travis.yml.footer +) > /gitdata/.travis.yml + +# generate build status data +/gitdata/bin/travis-ci-status/make_build_status_md.py $tmpfile > /gitdata/_buildstatus/index.md + +rm -f $tmpfile diff --git a/bin/travis-ci-status/fetch_latest_timingdata.sh b/bin/travis-ci-status/fetch_latest_timingdata.sh new file mode 100755 index 0000000..65ce75b --- /dev/null +++ b/bin/travis-ci-status/fetch_latest_timingdata.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +dockerimage=ctf-tools-travisbuildcheck +gitdir=$(git rev-parse --show-toplevel) + +if ! docker history $dockerimage &> /dev/null; +then + echo "Docker image \"$dockerimage\" does not exist. Run" + echo + echo " docker build -t $dockerimage ." + echo + echo "first, then retry this command." + exit 1 +fi + +docker run --rm -v $gitdir:/gitdata -ti $dockerimage /gitdata/bin/travis-ci-status/fetch_latest_timingdata.inside-docker.sh + diff --git a/bin/travis-ci-status/make_binpacked_travis_ci_conf.py b/bin/travis-ci-status/make_binpacked_travis_ci_conf.py new file mode 100755 index 0000000..31137e2 --- /dev/null +++ b/bin/travis-ci-status/make_binpacked_travis_ci_conf.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +import binpacking, sys, pprint + +MAXBINDURATION = 2000 # seconds + +def parseOutput(fn): + lines = [l.strip() for l in open(fn).readlines()] + out = {} + + for l in lines: + [distro, tool, success, duration] = l.split(" ") + if not distro in out: + out[distro] = {} + out[distro][tool] = { + "success": success == "SUCCEEDED", + "duration": int(duration) + } + return out + +def printBins(timingdata, distro, expectfail): + inputs = dict([(t, v["duration"]) for (t, v) in timingdata[distro].items() if v["success"] != expectfail]) + bins = binpacking.to_constant_volume(inputs, MAXBINDURATION) + + for b in bins: + tools = " ".join(sorted(b.keys())) + duration = sum(b.values()) + if expectfail: + print("- DISTRO='{}' EXPECTFAIL=1 TOOL='{}' # estimated {} seconds".format(distro, tools, duration)) + else: + print("- DISTRO='{}' TOOL='{}' # estimated {} seconds".format(distro, tools, duration)) + +def getToolsFromTimingdata(timingdata): + out = {} + for d, dd in timingdata.items(): + for t, td in dd.items(): + out[t] = 1 + return out.keys() + +if __name__ == "__main__": + timingdata = parseOutput(sys.argv[1]) + distros = sorted(timingdata.keys()) # all distros seen during previous build + tools = sorted(getToolsFromTimingdata(timingdata)) # all tools seen during previous build + + for distro in distros: + printBins(timingdata, distro, False) + printBins(timingdata, distro, True) + + # no timing data, assume the build took too long for this tool on this distro + nodata = [t for t in tools if t not in timingdata[distro]] + for tool in nodata: + print("# - DISTRO='{}' TOOL='{}' # unknown duration...".format(distro, tool)) + diff --git a/bin/travis-ci-status/make_build_status_md.py b/bin/travis-ci-status/make_build_status_md.py new file mode 100755 index 0000000..870661c --- /dev/null +++ b/bin/travis-ci-status/make_build_status_md.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python + +from make_binpacked_travis_ci_conf import * + +if __name__ == "__main__": + timingdata = parseOutput(sys.argv[1]) + distros = sorted(timingdata.keys()) # all distros seen during previous build + tools = sorted(getToolsFromTimingdata(timingdata)) # all tools seen during previous build + + print(" | ".join([""] + distros)) + print(" | ".join(["-----"] * (1+len(distros)))) + + for tool in tools: + parts = [] + for distro in distros: + val = "unknown" + if tool in timingdata[distro]: + val = "success" if timingdata[distro][tool]["success"] else "fail" + parts += [val] + print(" | ".join([tool] + ["![{0}]({0}.png)".format(x) for x in parts])) From 5a9c226a0ebdb5eaa98adb4048e6adf8d80da419 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Fri, 10 Mar 2017 15:53:50 +0100 Subject: [PATCH 127/149] add summary [ci skip] --- _buildstatus/index.md | 6 ++++++ bin/travis-ci-status/make_build_status_md.py | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/_buildstatus/index.md b/_buildstatus/index.md index d3c7849..43f51b1 100644 --- a/_buildstatus/index.md +++ b/_buildstatus/index.md @@ -84,3 +84,9 @@ xspy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![succe yafu | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) z3 | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) zsteg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) + | archlinux | fedora | trusty | xenial +----- | ----- | ----- | ----- | ----- +![success](success.png) | 54 | 37 | 73 | 67 +![fail](fail.png) | 29 | 47 | 11 | 17 +![unknown](unknown.png) | 1 | 0 | 0 | 0 +total | 84 | 84 | 84 | 84 diff --git a/bin/travis-ci-status/make_build_status_md.py b/bin/travis-ci-status/make_build_status_md.py index 870661c..ead3921 100755 --- a/bin/travis-ci-status/make_build_status_md.py +++ b/bin/travis-ci-status/make_build_status_md.py @@ -10,6 +10,7 @@ if __name__ == "__main__": print(" | ".join([""] + distros)) print(" | ".join(["-----"] * (1+len(distros)))) + summary = {} for tool in tools: parts = [] for distro in distros: @@ -17,4 +18,20 @@ if __name__ == "__main__": if tool in timingdata[distro]: val = "success" if timingdata[distro][tool]["success"] else "fail" parts += [val] + if distro not in summary: + summary[distro] = { + "unknown": 0, + "success": 0, + "fail": 0, + "total": 0, + } + summary[distro][val] += 1 + summary[distro]["total"] += 1 print(" | ".join([tool] + ["![{0}]({0}.png)".format(x) for x in parts])) + + print(" | ".join([""] + distros)) + print(" | ".join(["-----"] * (1+len(distros)))) + for x in ["success", "fail", "unknown"]: + print(" | ".join(["![{0}]({0}.png)".format(x)] + ["{}".format(summary[d][x]) for d in distros])) + for x in ["total"]: + print(" | ".join([x] + ["{}".format(summary[d][x]) for d in distros])) From f629015eff9fbbf74cb56ec32bc840fa5d039058 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Fri, 10 Mar 2017 16:03:49 +0100 Subject: [PATCH 128/149] put summary on top [ci skip] --- _buildstatus/index.md | 13 ++++++------ bin/travis-ci-status/make_build_status_md.py | 21 +++++++++++++------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/_buildstatus/index.md b/_buildstatus/index.md index 43f51b1..ff6caf5 100644 --- a/_buildstatus/index.md +++ b/_buildstatus/index.md @@ -1,5 +1,12 @@ | archlinux | fedora | trusty | xenial ----- | ----- | ----- | ----- | ----- +![success](success.png) | 54 | 37 | 73 | 67 +![fail](fail.png) | 29 | 47 | 11 | 17 +![unknown](unknown.png) | 1 | 0 | 0 | 0 +total | 84 | 84 | 84 | 84 + + | archlinux | fedora | trusty | xenial +----- | ----- | ----- | ----- | ----- afl | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) android-sdk | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![success](success.png) angr | ![fail](fail.png) | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) @@ -84,9 +91,3 @@ xspy | ![fail](fail.png) | ![fail](fail.png) | ![success](success.png) | ![succe yafu | ![success](success.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) z3 | ![fail](fail.png) | ![success](success.png) | ![success](success.png) | ![success](success.png) zsteg | ![success](success.png) | ![fail](fail.png) | ![success](success.png) | ![fail](fail.png) - | archlinux | fedora | trusty | xenial ------ | ----- | ----- | ----- | ----- -![success](success.png) | 54 | 37 | 73 | 67 -![fail](fail.png) | 29 | 47 | 11 | 17 -![unknown](unknown.png) | 1 | 0 | 0 | 0 -total | 84 | 84 | 84 | 84 diff --git a/bin/travis-ci-status/make_build_status_md.py b/bin/travis-ci-status/make_build_status_md.py index ead3921..6265184 100755 --- a/bin/travis-ci-status/make_build_status_md.py +++ b/bin/travis-ci-status/make_build_status_md.py @@ -7,8 +7,11 @@ if __name__ == "__main__": distros = sorted(timingdata.keys()) # all distros seen during previous build tools = sorted(getToolsFromTimingdata(timingdata)) # all tools seen during previous build - print(" | ".join([""] + distros)) - print(" | ".join(["-----"] * (1+len(distros)))) + fulltable = [] + summarytable = [] + + fulltable += [" | ".join([""] + distros)] + fulltable += [" | ".join(["-----"] * (1+len(distros)))] summary = {} for tool in tools: @@ -27,11 +30,15 @@ if __name__ == "__main__": } summary[distro][val] += 1 summary[distro]["total"] += 1 - print(" | ".join([tool] + ["![{0}]({0}.png)".format(x) for x in parts])) + fulltable += [" | ".join([tool] + ["![{0}]({0}.png)".format(x) for x in parts])] - print(" | ".join([""] + distros)) - print(" | ".join(["-----"] * (1+len(distros)))) + summarytable += [" | ".join([""] + distros)] + summarytable += [" | ".join(["-----"] * (1+len(distros)))] for x in ["success", "fail", "unknown"]: - print(" | ".join(["![{0}]({0}.png)".format(x)] + ["{}".format(summary[d][x]) for d in distros])) + summarytable += [" | ".join(["![{0}]({0}.png)".format(x)] + ["{}".format(summary[d][x]) for d in distros])] for x in ["total"]: - print(" | ".join([x] + ["{}".format(summary[d][x]) for d in distros])) + summarytable += [" | ".join([x] + ["{}".format(summary[d][x]) for d in distros])] + + print("\n".join(summarytable)) + print("") + print("\n".join(fulltable)) From da60260eefe3c81ae041cf332ab636c968a1ff21 Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 12 Mar 2017 15:41:25 +0100 Subject: [PATCH 129/149] add link to build status [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0165167..c5e5d33 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ This is a collection of setup scripts to create an install of various security r Of course, this isn't a hard problem, but it's really nice to have them in one place that's easily deployable to new machines and so forth. Installers for the following tools are included: +(The install-scripts for these tools are checked regularly, the results can be found on [the build status page](_buildstatus/index.md)) | Category | Tool | Description | |----------|------|-------------| From ce3980e65a00bffc929b8deeb67b15421afea7fb Mon Sep 17 00:00:00 2001 From: Steven Van Acker Date: Sun, 12 Mar 2017 15:42:26 +0100 Subject: [PATCH 130/149] better placement for the link [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c5e5d33..7d8dbd9 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ This is a collection of setup scripts to create an install of various security research tools. Of course, this isn't a hard problem, but it's really nice to have them in one place that's easily deployable to new machines and so forth. +The install-scripts for these tools are checked regularly, the results can be found on [the build status page](_buildstatus/index.md). Installers for the following tools are included: -(The install-scripts for these tools are checked regularly, the results can be found on [the build status page](_buildstatus/index.md)) | Category | Tool | Description | |----------|------|-------------| From 5a22a7107d91b001dfbb1ae012a7906db48d8063 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 20 Mar 2017 16:14:25 -0700 Subject: [PATCH 131/149] adding fastcoll --- README.md | 1 + fastcoll/install | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100755 fastcoll/install diff --git a/README.md b/README.md index 7d8dbd9..e75721b 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ Installers for the following tools are included: | forensics | [scrdec](https://gist.github.com/bcse/1834878) | A decoder for encoded Windows Scripts. | | forensics | [testdisk](http://www.cgsecurity.org/wiki/TestDisk) | Testdisk and photorec for file recovery. | | crypto | [cribdrag](https://github.com/SpiderLabs/cribdrag) | Interactive crib dragging tool (for crypto). | +| crypto | [fastcoll](https://www.win.tue.nl/hashclash/) | An md5sum collision generator. | | crypto | [foresight](https://github.com/ALSchwalm/foresight) | A tool for predicting the output of random number generators. To run, launch "foresee". | | crypto | [featherduster](https://github.com/nccgroup/featherduster) | An automated, modular cryptanalysis tool. | | crypto | [hashkill](https://github.com/gat3way/hashkill) | Hash cracker. | diff --git a/fastcoll/install b/fastcoll/install new file mode 100755 index 0000000..2d3b37e --- /dev/null +++ b/fastcoll/install @@ -0,0 +1,9 @@ +#!/bin/bash -ex + +[ -e fastcoll ] || git clone https://github.com/upbit/clone-fastcoll fastcoll +cd fastcoll +make + +cd .. +mkdir bin +cp fastcoll/fastcoll bin From 62136a6d09d5aa34627bfee6049d7d2816543ada Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 24 Jan 2017 15:51:11 +0100 Subject: [PATCH 132/149] Added rr tool installer --- README.md | 1 + rr/install | 8 ++++++++ rr/install-root-arch | 3 +++ rr/install-root-debian | 4 ++++ rr/install-root-fedora | 5 +++++ 5 files changed, 21 insertions(+) create mode 100755 rr/install create mode 100755 rr/install-root-arch create mode 100755 rr/install-root-debian create mode 100755 rr/install-root-fedora diff --git a/README.md b/README.md index e75721b..d7fc5d7 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ Installers for the following tools are included: | binary | [radare2](http://www.radare.org/) | Some crazy thing crowell likes. | | binary | [ropper](https://github.com/sashs/Ropper) | Another gadget finder. | | binary | [rp++](https://github.com/0vercl0k/rp) | Another gadget finder. | +| binary | [rr](http://rr-project.org) | Record and Replay Debugging Framework | | binary | [shellnoob](https://github.com/reyammer/shellnoob) | Shellcode writing helper. | | binary | [shellsploit](https://github.com/b3mb4m/shellsploit-framework) | Shellcode development kit. | | binary | [snowman](https://github.com/yegord/snowman) | Cross-architecture decompiler. | diff --git a/rr/install b/rr/install new file mode 100755 index 0000000..75fd7bc --- /dev/null +++ b/rr/install @@ -0,0 +1,8 @@ +#!/bin/bash -e + +git clone https://github.com/mozilla/rr.git +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=.. -G Ninja ../rr +ninja || ninja-build +ninja install || ninja-build install diff --git a/rr/install-root-arch b/rr/install-root-arch new file mode 100755 index 0000000..328f5ed --- /dev/null +++ b/rr/install-root-arch @@ -0,0 +1,3 @@ +#!/bin/bash -e +pacman -Syu --noconfirm --needed \ + ccache cmake gdb python2-pexpect ninja zlib diff --git a/rr/install-root-debian b/rr/install-root-debian new file mode 100755 index 0000000..5582615 --- /dev/null +++ b/rr/install-root-debian @@ -0,0 +1,4 @@ +#!/bin/bash -e +apt-get install -y ccache cmake make g++-multilib gdb \ + pkg-config libz-dev realpath python-pexpect manpages-dev git zlib1g-dev \ + ninja-build diff --git a/rr/install-root-fedora b/rr/install-root-fedora new file mode 100755 index 0000000..be55c34 --- /dev/null +++ b/rr/install-root-fedora @@ -0,0 +1,5 @@ +#!/bin/bash -e +dnf install -y \ + ccache cmake make gcc gcc-c++ gdb \ + glibc-devel glibc-devel.i686 libstdc++-devel libstdc++-devel.i686 zlib-devel \ + python-pexpect man-pages ninja-build From 67555ab8edc93113ca505cbe32942b81132eac62 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 24 Jan 2017 15:55:57 +0100 Subject: [PATCH 133/149] oops wrong name for install-root script --- rr/{install-root-arch => install-root-archlinux} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rr/{install-root-arch => install-root-archlinux} (100%) diff --git a/rr/install-root-arch b/rr/install-root-archlinux similarity index 100% rename from rr/install-root-arch rename to rr/install-root-archlinux From e49aaa5286ed05c88072061a085f9518df7dfb53 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 24 Jan 2017 16:17:55 +0100 Subject: [PATCH 134/149] rr requires some sysctl config --- rr/configure-system | 3 +++ rr/install-root-archlinux | 1 + rr/install-root-debian | 1 + rr/install-root-fedora | 1 + 4 files changed, 6 insertions(+) create mode 100755 rr/configure-system diff --git a/rr/configure-system b/rr/configure-system new file mode 100755 index 0000000..f5b17b6 --- /dev/null +++ b/rr/configure-system @@ -0,0 +1,3 @@ +#!/bin/bash -e + +echo 'kernel.perf_event_paranoid = 1' | sudo tee /etc/sysctl.d/10-rr.conf diff --git a/rr/install-root-archlinux b/rr/install-root-archlinux index 328f5ed..e4cca3b 100755 --- a/rr/install-root-archlinux +++ b/rr/install-root-archlinux @@ -1,3 +1,4 @@ #!/bin/bash -e pacman -Syu --noconfirm --needed \ ccache cmake gdb python2-pexpect ninja zlib +./configure-system diff --git a/rr/install-root-debian b/rr/install-root-debian index 5582615..dad37c1 100755 --- a/rr/install-root-debian +++ b/rr/install-root-debian @@ -2,3 +2,4 @@ apt-get install -y ccache cmake make g++-multilib gdb \ pkg-config libz-dev realpath python-pexpect manpages-dev git zlib1g-dev \ ninja-build +./configure-system diff --git a/rr/install-root-fedora b/rr/install-root-fedora index be55c34..d897155 100755 --- a/rr/install-root-fedora +++ b/rr/install-root-fedora @@ -3,3 +3,4 @@ dnf install -y \ ccache cmake make gcc gcc-c++ gdb \ glibc-devel glibc-devel.i686 libstdc++-devel libstdc++-devel.i686 zlib-devel \ python-pexpect man-pages ninja-build +./configure-system From d583267a151f54f627650b18d78143f7ba2e7b9c Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Tue, 7 Feb 2017 17:41:27 +0100 Subject: [PATCH 135/149] Added miasm2 installer --- miasm2/install | 8 ++++++++ miasm2/install-root-fedora | 2 ++ 2 files changed, 10 insertions(+) create mode 100755 miasm2/install create mode 100755 miasm2/install-root-fedora diff --git a/miasm2/install b/miasm2/install new file mode 100755 index 0000000..f73bfcf --- /dev/null +++ b/miasm2/install @@ -0,0 +1,8 @@ +#!/bin/bash -e + +git clone --depth 1 https://github.com/serpilliere/elfesteem.git +git clone --depth 1 https://github.com/cea-sec/miasm.git + +ctf-tools-pip install -U llvmlite +ctf-tools-pip install -e elfesteem +ctf-tools-pip install -e miasm diff --git a/miasm2/install-root-fedora b/miasm2/install-root-fedora new file mode 100755 index 0000000..547411d --- /dev/null +++ b/miasm2/install-root-fedora @@ -0,0 +1,2 @@ +#!/bin/bash +dnf install -y zlib zlib-devel libstdc++-devel libstdc++ libstdc++-static llvm-3.5.0 llvm-devel-3.5.0 libedit libedit-devel From 6778ebd3c7f186e1eb93383741cedce14066c831 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 11:54:11 +0200 Subject: [PATCH 136/149] added lief installer --- README.md | 1 + lief/install | 13 +++++++++++++ lief/install-root-debian | 3 +++ 3 files changed, 17 insertions(+) create mode 100755 lief/install create mode 100755 lief/install-root-debian diff --git a/README.md b/README.md index d7fc5d7..ce8504a 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ only the python bindings for these libraries are installed. | binary | [capstone](http://www.capstone-engine.org) | Multi-architecture disassembly framework. | | binary | [keystone](http://www.keystone-engine.org) | Lightweight multi-architecture assembler framework. | | binary | [unicorn](http://www.unicorn-engine.org) | Multi-architecture CPU emulator framework. | +| binary | [lief](https://lief.quarkslab.com/) | Library to Instrument Executable Formats. | There are also some installers for non-CTF stuff to break the monotony! diff --git a/lief/install b/lief/install new file mode 100755 index 0000000..26c0c33 --- /dev/null +++ b/lief/install @@ -0,0 +1,13 @@ +#!/bin/bash -ex + +git clone --depth=1 https://github.com/lief-project/LIEF lief \ + || cd lief && git pull && cd .. +source ctf-tools-venv-activate +rm -rf build || true +mkdir build +cd build +cmake -DLIEF_PYTHON_API=on -DPYTHON_VERSION=2.7 -DCMAKE_BUILD_TYPE=Release ../lief/ +cmake --build . --target LIB_LIEF_STATIC --config Release +cmake --build . --target LIB_LIEF_SHARED --config Release # for the shared one +cmake --build . --target pyLIEF --config Release +pip install api/python/ diff --git a/lief/install-root-debian b/lief/install-root-debian new file mode 100755 index 0000000..66a66e7 --- /dev/null +++ b/lief/install-root-debian @@ -0,0 +1,3 @@ +#!/bin/bash -ex + +apt-get -y install cmake python2-dev From dc82b8cdb80f92eb915d03cda123504a8ff4118b Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 12:01:38 +0200 Subject: [PATCH 137/149] Added miasm to README and dropped the 2 from miasm2 --- README.md | 1 + {miasm2 => miasm}/install | 0 {miasm2 => miasm}/install-root-fedora | 0 3 files changed, 1 insertion(+) rename {miasm2 => miasm}/install (100%) rename {miasm2 => miasm}/install-root-fedora (100%) diff --git a/README.md b/README.md index ce8504a..aa9bc9f 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ Installers for the following tools are included: | binary | [gef](https://github.com/hugsy/gef) | Enhanced environment for gdb. | | binary | [hongfuzz](https://github.com/google/honggfuzz) | A general-purpose, easy-to-use fuzzer with interesting analysis options. | | binary | [libheap](https://github.com/cloudburst/libheap) | gdb python library for examining the glibc heap (ptmalloc) | +| binary | [miasm](https://github.com/cea-sec/miasm) | Reverse engineering framework in Python. | | binary | [panda](https://github.com/moyix/panda) | Platform for Architecture-Neutral Dynamic Analysis. | | binary | [pathgrind](https://github.com/codelion/pathgrind) | Path-based, symbolically-assisted fuzzer. | | binary | [peda](https://github.com/longld/peda) | Enhanced environment for gdb. | diff --git a/miasm2/install b/miasm/install similarity index 100% rename from miasm2/install rename to miasm/install diff --git a/miasm2/install-root-fedora b/miasm/install-root-fedora similarity index 100% rename from miasm2/install-root-fedora rename to miasm/install-root-fedora From 9aab94daf01e7be9c5e69917ddbbc379e8b54405 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 12:25:50 +0200 Subject: [PATCH 138/149] miasm: added install-root-debian --- miasm/install-root-debian | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 miasm/install-root-debian diff --git a/miasm/install-root-debian b/miasm/install-root-debian new file mode 100755 index 0000000..1bcf371 --- /dev/null +++ b/miasm/install-root-debian @@ -0,0 +1,4 @@ +#!/bin/bash + +apt-get install -y zlib zlib-dev libstdc++6-4.9-dev libstdc++6 \ + llvm-3.5 llvm--3.5-dev libedit libedit-dev From 80f422f593a788341048b417f475705c55c2a49d Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 12:38:37 +0200 Subject: [PATCH 139/149] Install keystone/unicorn from pypi instead of from source fixes #122 --- keystone/install | 28 +++------------------------- keystone/install-root-archlinux | 4 ---- keystone/install-root-debian | 4 ---- keystone/uninstall | 9 +++------ unicorn/install | 18 ++---------------- unicorn/install-root-debian | 1 - unicorn/uninstall | 9 ++------- 7 files changed, 10 insertions(+), 63 deletions(-) delete mode 100755 keystone/install-root-archlinux delete mode 100755 keystone/install-root-debian diff --git a/keystone/install b/keystone/install index 1fe44fd..8d73cc0 100755 --- a/keystone/install +++ b/keystone/install @@ -1,27 +1,5 @@ #!/bin/bash -ex -set -e -o pipefail -git clone --depth 1 https://github.com/keystone-engine/keystone.git - -source ctf-tools-venv-activate - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -mkdir -p keystone/build/ -pushd keystone/build/ -cmake -DCMAKE_INSTALL_PREFIX="$DIR" \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ - -DLLVM_TARGETS_TO_BUILD="all" \ - -G "Unix Makefiles" .. -make -j$(getconf _NPROCESSORS_ONLN) install -popd - -pushd keystone/bindings/python -pip install -U -e . -# create a symlink that the python bindings can find the keystone lib -ln -s $(readlink -f ../../../lib/libkeystone.so.0) keystone/libkeystone.so -popd - -# kstool doesn't find the lib. so let's rm it -rm -r bin/ +ctf-tools-pip install -U keystone +# seems to be broken? +#ctf-tools-pip3 install -U keystone diff --git a/keystone/install-root-archlinux b/keystone/install-root-archlinux deleted file mode 100755 index 5462317..0000000 --- a/keystone/install-root-archlinux +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -ex -set -eu -o pipefail - -pacman -Syu --needed --noconfirm cmake diff --git a/keystone/install-root-debian b/keystone/install-root-debian deleted file mode 100755 index 7cbfac4..0000000 --- a/keystone/install-root-debian +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -ex -set -eu -o pipefail - -apt-get -y install build-essential cmake diff --git a/keystone/uninstall b/keystone/uninstall index 0ac2eae..f1c724e 100755 --- a/keystone/uninstall +++ b/keystone/uninstall @@ -4,10 +4,7 @@ set -e -o pipefail source ctf-tools-venv-activate pip uninstall -y keystone-engine || true +#!/bin/bash -ex -if [[ -d keystone && -d keystone/build ]]; then - export PREFIX="$PWD" - pushd keystone/build - make uninstall - popd -fi +ctf-tools-pip uninstall -y keystone || true +ctf-tools-pip3 uninstall -y keystone || true diff --git a/unicorn/install b/unicorn/install index a819200..f3291f1 100755 --- a/unicorn/install +++ b/unicorn/install @@ -1,18 +1,4 @@ #!/bin/bash -ex -set -e -o pipefail -git clone --depth 1 https://github.com/unicorn-engine/unicorn.git - -source ctf-tools-venv-activate - -pushd unicorn -echo "compiling unicorn" -UNICORN_QEMU_FLAGS="--python=$(which python)" PREFIX="$VIRTUAL_ENV" ./make.sh -echo "installing unicorn to $VIRTUAL_ENV" -UNICORN_QEMU_FLAGS="--python=$(which python)" PREFIX="$VIRTUAL_ENV" ./make.sh install - -pushd bindings/python -#pip install -U . -make DEST_DIR="$VIRTUAL_ENV" install -popd -popd +ctf-tools-pip install -U unicorn +ctf-tools-pip3 install -U unicorn diff --git a/unicorn/install-root-debian b/unicorn/install-root-debian index 90a5a90..dac4551 100755 --- a/unicorn/install-root-debian +++ b/unicorn/install-root-debian @@ -1,4 +1,3 @@ #!/bin/bash -ex -set -eu -o pipefail apt-get -y install libglib2.0-dev diff --git a/unicorn/uninstall b/unicorn/uninstall index aa4571a..a5c8c56 100755 --- a/unicorn/uninstall +++ b/unicorn/uninstall @@ -1,9 +1,4 @@ #!/bin/bash -ex -ctf-tools-venv-activate - -pip uninstall -y unicorn - -pushd unicorn -PREFIX="$VIRTUAL_ENV" ./make.sh uninstall -popd +ctf-tools-pip uninstall -y unicorn || true +ctf-tools-pip3 uninstall -y unicorn || true From e8065b72f6161c72fe3c1997b314e8126445b42a Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 12:48:43 +0200 Subject: [PATCH 140/149] keystone: fixed uninstall --- keystone/uninstall | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keystone/uninstall b/keystone/uninstall index f1c724e..673488a 100755 --- a/keystone/uninstall +++ b/keystone/uninstall @@ -1,10 +1,4 @@ #!/bin/bash -ex -set -e -o pipefail - -source ctf-tools-venv-activate - -pip uninstall -y keystone-engine || true -#!/bin/bash -ex ctf-tools-pip uninstall -y keystone || true ctf-tools-pip3 uninstall -y keystone || true From 3e4e93edf81e2f0727bdc849b540e8ba95e59c03 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 12:51:51 +0200 Subject: [PATCH 141/149] added bash -ex to install scripts --- miasm/install | 2 +- miasm/install-root-debian | 2 +- miasm/install-root-fedora | 6 ++++-- rr/install | 2 +- rr/install-root-archlinux | 3 ++- rr/install-root-debian | 3 ++- rr/install-root-fedora | 3 ++- 7 files changed, 13 insertions(+), 8 deletions(-) diff --git a/miasm/install b/miasm/install index f73bfcf..e7d9954 100755 --- a/miasm/install +++ b/miasm/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone --depth 1 https://github.com/serpilliere/elfesteem.git git clone --depth 1 https://github.com/cea-sec/miasm.git diff --git a/miasm/install-root-debian b/miasm/install-root-debian index 1bcf371..1453e56 100755 --- a/miasm/install-root-debian +++ b/miasm/install-root-debian @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -ex apt-get install -y zlib zlib-dev libstdc++6-4.9-dev libstdc++6 \ llvm-3.5 llvm--3.5-dev libedit libedit-dev diff --git a/miasm/install-root-fedora b/miasm/install-root-fedora index 547411d..3f1fc06 100755 --- a/miasm/install-root-fedora +++ b/miasm/install-root-fedora @@ -1,2 +1,4 @@ -#!/bin/bash -dnf install -y zlib zlib-devel libstdc++-devel libstdc++ libstdc++-static llvm-3.5.0 llvm-devel-3.5.0 libedit libedit-devel +#!/bin/bash -ex + +dnf install -y zlib zlib-devel libstdc++-devel libstdc++ libstdc++-static \ + llvm-3.5.0 llvm-devel-3.5.0 libedit libedit-devel diff --git a/rr/install b/rr/install index 75fd7bc..8a7b128 100755 --- a/rr/install +++ b/rr/install @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex git clone https://github.com/mozilla/rr.git mkdir build diff --git a/rr/install-root-archlinux b/rr/install-root-archlinux index e4cca3b..429bd9c 100755 --- a/rr/install-root-archlinux +++ b/rr/install-root-archlinux @@ -1,4 +1,5 @@ -#!/bin/bash -e +#!/bin/bash -ex + pacman -Syu --noconfirm --needed \ ccache cmake gdb python2-pexpect ninja zlib ./configure-system diff --git a/rr/install-root-debian b/rr/install-root-debian index dad37c1..a0431f6 100755 --- a/rr/install-root-debian +++ b/rr/install-root-debian @@ -1,4 +1,5 @@ -#!/bin/bash -e +#!/bin/bash -ex + apt-get install -y ccache cmake make g++-multilib gdb \ pkg-config libz-dev realpath python-pexpect manpages-dev git zlib1g-dev \ ninja-build diff --git a/rr/install-root-fedora b/rr/install-root-fedora index d897155..53d66ac 100755 --- a/rr/install-root-fedora +++ b/rr/install-root-fedora @@ -1,4 +1,5 @@ -#!/bin/bash -e +#!/bin/bash -ex + dnf install -y \ ccache cmake make gcc gcc-c++ gdb \ glibc-devel glibc-devel.i686 libstdc++-devel libstdc++-devel.i686 zlib-devel \ From 44a822890d4918e9a7a86a8849b1978f7d2a846a Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 12:55:43 +0200 Subject: [PATCH 142/149] lief: added uninstall script --- lief/uninstall | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 lief/uninstall diff --git a/lief/uninstall b/lief/uninstall new file mode 100644 index 0000000..52f3c42 --- /dev/null +++ b/lief/uninstall @@ -0,0 +1,3 @@ +#!/bin/bash -ex + +ctf-tools-pip uninstall -y lief || true From d5ec06f02dc6a1fa444f4b7e0c0685900de6a32e Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 14:09:59 +0200 Subject: [PATCH 143/149] updated install-root scripts --- lief/install-root-archlinux | 3 +++ lief/install-root-debian | 2 +- lief/install-root-fedora | 3 +++ miasm/install | 9 ++++++++- miasm/install-root-debian | 7 +++++-- miasm/install-root-fedora | 6 ++++-- 6 files changed, 24 insertions(+), 6 deletions(-) create mode 100755 lief/install-root-archlinux create mode 100755 lief/install-root-fedora diff --git a/lief/install-root-archlinux b/lief/install-root-archlinux new file mode 100755 index 0000000..85ead51 --- /dev/null +++ b/lief/install-root-archlinux @@ -0,0 +1,3 @@ +#!/bin/bash -ex + +pacman -Syu --noconfirm --needed cmake diff --git a/lief/install-root-debian b/lief/install-root-debian index 66a66e7..ab750cc 100755 --- a/lief/install-root-debian +++ b/lief/install-root-debian @@ -1,3 +1,3 @@ #!/bin/bash -ex -apt-get -y install cmake python2-dev +apt-get -y install cmake diff --git a/lief/install-root-fedora b/lief/install-root-fedora new file mode 100755 index 0000000..9bede70 --- /dev/null +++ b/lief/install-root-fedora @@ -0,0 +1,3 @@ +#!/bin/bash -ex + +dnf install -y cmake diff --git a/miasm/install b/miasm/install index e7d9954..4119152 100755 --- a/miasm/install +++ b/miasm/install @@ -3,6 +3,13 @@ git clone --depth 1 https://github.com/serpilliere/elfesteem.git git clone --depth 1 https://github.com/cea-sec/miasm.git -ctf-tools-pip install -U llvmlite +if which llvm-config-3.9 2>&1 >/dev/null; then + export LLVM_CONFIG=$(which llvm-config-3.9) + ctf-tools-pip install -U enum34 "llvmlite==0.16" +elif which llvm-config-3.8 2>&1 >/dev/null; then + export LLVM_CONFIG=$(which llvm-config-3.8) + ctf-tools-pip install -U enum34 "llvmlite==0.15" +fi + ctf-tools-pip install -e elfesteem ctf-tools-pip install -e miasm diff --git a/miasm/install-root-debian b/miasm/install-root-debian index 1453e56..9fe368f 100755 --- a/miasm/install-root-debian +++ b/miasm/install-root-debian @@ -1,4 +1,7 @@ #!/bin/bash -ex -apt-get install -y zlib zlib-dev libstdc++6-4.9-dev libstdc++6 \ - llvm-3.5 llvm--3.5-dev libedit libedit-dev +apt-get install -y \ + zlib1g zlib1g-dev \ + libstdc++6 \ + llvm-3.8 llvm-3.8-dev clang-3.8 \ + libedit2 libedit-dev diff --git a/miasm/install-root-fedora b/miasm/install-root-fedora index 3f1fc06..9424c31 100755 --- a/miasm/install-root-fedora +++ b/miasm/install-root-fedora @@ -1,4 +1,6 @@ #!/bin/bash -ex -dnf install -y zlib zlib-devel libstdc++-devel libstdc++ libstdc++-static \ - llvm-3.5.0 llvm-devel-3.5.0 libedit libedit-devel +dnf install -y zlib zlib-devel \ + libstdc++-devel libstdc++ libstdc++-static \ + llvm llvm-devel \ + libedit libedit-devel From e83f0784b8658044589da75059be6fcc8d57c32a Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 15:35:44 +0200 Subject: [PATCH 144/149] miasm: fixed install of llvmlite (optional dep) --- miasm/install | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/miasm/install b/miasm/install index 4119152..6e8e8fa 100755 --- a/miasm/install +++ b/miasm/install @@ -3,12 +3,17 @@ git clone --depth 1 https://github.com/serpilliere/elfesteem.git git clone --depth 1 https://github.com/cea-sec/miasm.git -if which llvm-config-3.9 2>&1 >/dev/null; then +if which llvm-config-3.9 >/dev/null 2>&1 ; then export LLVM_CONFIG=$(which llvm-config-3.9) ctf-tools-pip install -U enum34 "llvmlite==0.16" -elif which llvm-config-3.8 2>&1 >/dev/null; then +elif which llvm-config-3.8 >/dev/null 2>&1 ; then export LLVM_CONFIG=$(which llvm-config-3.8) ctf-tools-pip install -U enum34 "llvmlite==0.15" +elif which llvm-config >/dev/null 2>&1; then + # let's hope for the best + ctf-tools-pip install -U enum34 llvmlite +else + echo "Skipping llvmlite install!" fi ctf-tools-pip install -e elfesteem From 6929aefaa7e86a9ef5b88cc927c63ca0bfb7ac0e Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 15:39:00 +0200 Subject: [PATCH 145/149] Fixed fedora distri detection with bash std(err|out) redirction swapped --- bin/manage-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/manage-tools b/bin/manage-tools index 24c6e0e..9fa4ffa 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -42,7 +42,7 @@ function detect_distribution() else echo "debian" fi - elif which dnf 2>&1 >/dev/null; then + elif which dnf >/dev/null 2>&1; then echo "fedora" else echo "" From 1e6c96168cb9fc4bc53d0c4261872ac106e22b2a Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 15:40:20 +0200 Subject: [PATCH 146/149] miasm: added install-root-archlinux --- miasm/install-root-archlinux | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 miasm/install-root-archlinux diff --git a/miasm/install-root-archlinux b/miasm/install-root-archlinux new file mode 100755 index 0000000..df89e80 --- /dev/null +++ b/miasm/install-root-archlinux @@ -0,0 +1,4 @@ +#!/bin/bash -ex + +pacman -Syu --needed --noconfirm \ + zlib libstdc++5 llvm clang libedit From 23942c318d3c1fad743530a2ac5e558291fcda07 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 16:23:50 +0200 Subject: [PATCH 147/149] miasm: fixed llvmlite install --- miasm/install | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/miasm/install b/miasm/install index 6e8e8fa..8e4eb44 100755 --- a/miasm/install +++ b/miasm/install @@ -3,15 +3,16 @@ git clone --depth 1 https://github.com/serpilliere/elfesteem.git git clone --depth 1 https://github.com/cea-sec/miasm.git +ctf-tools-pip install -U enum34 if which llvm-config-3.9 >/dev/null 2>&1 ; then export LLVM_CONFIG=$(which llvm-config-3.9) - ctf-tools-pip install -U enum34 "llvmlite==0.16" + ctf-tools-pip install "llvmlite==0.16" elif which llvm-config-3.8 >/dev/null 2>&1 ; then export LLVM_CONFIG=$(which llvm-config-3.8) - ctf-tools-pip install -U enum34 "llvmlite==0.15" + ctf-tools-pip install "llvmlite==0.15" elif which llvm-config >/dev/null 2>&1; then # let's hope for the best - ctf-tools-pip install -U enum34 llvmlite + ctf-tools-pip install llvmlite else echo "Skipping llvmlite install!" fi From a635ff7f74a510b2d2133c08233b55f4d51424df Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 16:26:03 +0200 Subject: [PATCH 148/149] miasm: added uninstall script --- miasm/uninstall | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 miasm/uninstall diff --git a/miasm/uninstall b/miasm/uninstall new file mode 100755 index 0000000..e9af19a --- /dev/null +++ b/miasm/uninstall @@ -0,0 +1,3 @@ +#!/bin/bash -ex + +ctf-tools-pip uninstall -y llvmlite elfesteem miasm || true From 119540810776a92b7f99d139fa14ed9bbe369d46 Mon Sep 17 00:00:00 2001 From: Michael Rodler Date: Wed, 5 Apr 2017 16:28:56 +0200 Subject: [PATCH 149/149] manage-tools: install more devtools for fedora --- bin/manage-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/manage-tools b/bin/manage-tools index 9fa4ffa..b036492 100755 --- a/bin/manage-tools +++ b/bin/manage-tools @@ -114,7 +114,7 @@ EOF function base_build_setup_fedora() { - PACKAGE_REQS="libtool gcc gcc-c++ texinfo curl wget automake autoconf python python-devel git subversion unzip python-virtualenvwrapper" + PACKAGE_REQS="libtool gcc gcc-c++ clang cmake texinfo curl wget automake autoconf python python-devel git subversion unzip python-virtualenvwrapper redhat-rpm-config" if [ "$ALLOW_SUDO" -eq 1 ]; then sudo dnf -y install $PACKAGE_REQS else