combine tools in travis-ci tests, add archlinux and fedora builds

This commit is contained in:
Steven Van Acker 2017-02-19 00:33:12 +01:00
parent e44aec1e9d
commit 92f16b91d1
2 changed files with 55 additions and 172 deletions

View file

@ -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

19
Dockerfile.fedora Normal file
View file

@ -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