├── .gitignore ├── Dockerfile ├── apt-fast.conf └── docker-entrypoint.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | run/ -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM kalilinux/kali-linux-docker 2 | MAINTAINER menzo@menzo.io 3 | 4 | ENV LC_ALL C.UTF-8 5 | ENV INSTALL_DIR /usr/share/sniper 6 | ENV LOOT_DIR /usr/share/sniper/loot 7 | ENV PLUGINS_DIR /usr/share/sniper/plugins 8 | ENV SNIPER_SKIP_DEPENDENCIES true 9 | ENV DISPLAY :99 10 | ENV DEBIAN_FRONTEND noninteractive 11 | 12 | ### START BASE LAYER ### 13 | 14 | RUN apt-get update && apt-get install -y aria2 curl && /bin/bash -c "$(curl -sL https://git.io/vokNn)" && apt-get update 15 | COPY ["apt-fast.conf", "/etc/apt-fast.conf"] 16 | RUN apt-fast install -y \ 17 | ruby \ 18 | rubygems \ 19 | dos2unix \ 20 | python \ 21 | zenmap \ 22 | sslyze \ 23 | uniscan \ 24 | xprobe2 \ 25 | cutycapt \ 26 | unicornscan \ 27 | host \ 28 | whois \ 29 | iputils-ping \ 30 | xvfb \ 31 | dirb \ 32 | dnsrecon \ 33 | curl \ 34 | nmap \ 35 | php \ 36 | php-curl \ 37 | hydra \ 38 | iceweasel \ 39 | wpscan \ 40 | sqlmap \ 41 | nbtscan \ 42 | enum4linux \ 43 | cisco-torch \ 44 | metasploit-framework \ 45 | theharvester \ 46 | ruby-dev \ 47 | dnsenum \ 48 | libsqlite3-dev \ 49 | nikto \ 50 | smtp-user-enum \ 51 | whatweb \ 52 | dnsutils \ 53 | sslscan \ 54 | amap \ 55 | arachni \ 56 | bsdmainutils && \ 57 | mv /usr/bin/python /usr/bin/python.unknown && \ 58 | ln -s /usr/bin/python2.7 /usr/bin/python && \ 59 | curl https://bootstrap.pypa.io/get-pip.py | python && \ 60 | gem install \ 61 | mechanize \ 62 | bcrypt \ 63 | sqlite3 \ 64 | net-http-persistent \ 65 | rake \ 66 | ruby-nmap \ 67 | text-table && \ 68 | pip install \ 69 | colorama \ 70 | dnspython \ 71 | ipaddress \ 72 | tldextract \ 73 | urllib3 && \ 74 | git clone https://github.com/1N3/Sn1per.git && \ 75 | cd Sn1per && \ 76 | printf 'yes\nyes\nyes\n' | /bin/bash ./install.sh && \ 77 | sniper update && \ 78 | echo Cleaning up package index && \ 79 | apt-get clean && \ 80 | rm -rf /etc/apt/apt.conf.d/30autoproxy && \ 81 | rm -rf /var/lib/apt/lists/* && \ 82 | echo "Image creation complete" 83 | 84 | # Loot volume, used for output 85 | VOLUME /usr/share/sniper/loot 86 | 87 | # Wordlists volume 88 | VOLUME /usr/share/sniper/wordlists 89 | 90 | ADD ["docker-entrypoint.sh", "/root/"] 91 | ENTRYPOINT ["/root/docker-entrypoint.sh"] -------------------------------------------------------------------------------- /apt-fast.conf: -------------------------------------------------------------------------------- 1 | ################################################################### 2 | # CONFIGURATION OPTIONS 3 | ################################################################### 4 | # Every item has a default value besides MIRRORS (which is unset). 5 | 6 | # Use aptitude, apt-get, or apt? 7 | # Note that apt-get is used as a fallback for outputting the 8 | # package URI list for e.g. aptitude, which can't do this 9 | # Optionally add the FULLPATH to apt-get or apt-rpm or aptitude 10 | # e.g. /usr/bin/aptitude 11 | # 12 | # Default: apt-get 13 | # 14 | #_APTMGR=apt-get 15 | 16 | 17 | # Enable DOWNLOADBEFORE to suppress apt-fast confirmation dialog and download 18 | # packages directly. 19 | # 20 | # Default: dialog enabled 21 | # 22 | #DOWNLOADBEFORE=true 23 | 24 | 25 | # Choose mirror list to speed up downloads from same archive. To select some 26 | # mirrors take a look at your distribution's archive mirror lists. 27 | # Debian: http://www.debian.org/mirror/list 28 | # Ubuntu: https://launchpad.net/ubuntu/+archivemirrors 29 | # 30 | # It is required to add mirrors in the sources.list to this array as well, so 31 | # apt-fast can destinguish between different distributions. 32 | # 33 | # Examples: 34 | # 35 | # Different distributions (as in operating systems): 36 | # 37 | # sources.list: 38 | # deb http://deb.debian.org/debian/ unstable main non-free contrib 39 | # deb http://de.archive.ubuntu.com/ubuntu/ bionic main universe 40 | # 41 | # apt-fast.conf: 42 | # MIRRORS=( 'http://deb.debian.org/debian','http://ftp.debian.org/debian,http://ftp2.de.debian.org/debian,http://ftp.de.debian.org/debian,ftp://ftp.uni-kl.de/debian' 43 | # 'http://archive.ubuntu.com/ubuntu,http://de.archive.ubuntu.com/ubuntu,http://ftp.halifax.rwth-aachen.de/ubuntu,http://ftp.uni-kl.de/pub/linux/ubuntu,http://mirror.informatik.uni-mannheim.de/pub/linux/distributions/ubuntu/' ) 44 | # 45 | # 46 | # Single distribution: 47 | # 48 | # sources.list: 49 | # deb http://fr.archive.ubuntu.com/ubuntu/ bionic main 50 | # deb http://fr.archive.ubuntu.com/ubuntu/ artful main 51 | # 52 | # apt-fast.conf: 53 | # MIRRORS=( 'http://fr.archive.ubuntu.com/ubuntu,http://bouyguestelecom.ubuntu.lafibre.info/ubuntu,http://mirror.ovh.net/ubuntu,http://ubuntu-archive.mirrors.proxad.net/ubuntu' ) 54 | # 55 | # Default: disabled 56 | # 57 | #MIRRORS=( 'none' ) 58 | 59 | 60 | # Maximum number of connections 61 | # You can use this value in _DOWNLOADER command. Escape with ${}: ${_MAXNUM} 62 | # 63 | # Default: 5 64 | # 65 | _MAXNUM=512 66 | 67 | 68 | # Maximum number of connections per server 69 | # Default: 10 70 | # 71 | _MAXCONPERSRV=16 72 | 73 | 74 | # Download file using given number of connections 75 | # If more than N URIs are given, first N URIs are used and remaining URIs are used for backup. 76 | # If less than N URIs are given, those URIs are used more than once so that N connections total are made simultaneously. 77 | # 78 | _SPLITCON=8 79 | 80 | 81 | # Split size i.e. size of each piece 82 | # Possible Values: 1M-1024M 83 | # 84 | _MINSPLITSZ="64M" 85 | 86 | 87 | # Piece selection algorithm to use 88 | # Available values are: default, inorder, geom 89 | # default: selects piece so that it reduces the number of establishing connection, reasonable for most cases 90 | # inorder: selects pieces in sequential order starting from first piece 91 | # geom: selects piece which has minimum index like inorder, but it exponentially increasingly keeps space from previously selected pieces 92 | # 93 | #_PIECEALGO="default" 94 | 95 | 96 | # Downloadmanager listfile 97 | # You can use this value in _DOWNLOADER command. Escape with ${}: ${DLLIST} 98 | # 99 | # Default: /tmp/apt-fast.list 100 | # 101 | #DLLIST=/tmp/apt-fast.list 102 | 103 | 104 | # Download command to use. Temporary download list is designed for aria2. But 105 | # you can choose another download command or download manager. It has to 106 | # support following input file syntax (\t is tab character): 107 | # 108 | # # Comment 109 | # MIRROR1\tMIRROR2\tMIRROR3... 110 | # out=FILENAME1 111 | # MIRROR1\tMIRROR2\tMIRROR3... 112 | # out=FILENAME2 113 | # ... 114 | # 115 | # Examples: 116 | # aria2c with a proxy (set username, proxy, ip and password!) 117 | # _DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} --http-proxy=http://username:password@proxy_ip:proxy_port -i ${DLLIST}' 118 | # 119 | # Default: _DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} -i ${DLLIST} --connect-timeout=600 --timeout=600 -m0' 120 | # 121 | #_DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} -i ${DLLIST} --connect-timeout=600 --timeout=600 -m0' 122 | _DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} -i ${DLLIST} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} --connect-timeout=600 --timeout=600 -m0 --header "Accept: */*"' 123 | 124 | # Download temp folder for Downloadmanager 125 | # example /tmp/apt-fast. Standard is /var/cache/apt-fast 126 | # 127 | # Default: /var/cache/apt/apt-fast 128 | # 129 | #DLDIR=/var/cache/apt/apt-fast 130 | 131 | 132 | # APT archives cache directory 133 | # 134 | # Default /var/cache/apt/archives 135 | # (APT configuration items Dir::Cache and Dir::Cache::archives) 136 | # 137 | #APTCACHE=/var/cache/apt/archives 138 | 139 | 140 | # apt-fast colors 141 | # Colors are disabled when not using a terminal. 142 | # 143 | # Default colors are: 144 | # cGreen='\e[0;32m' 145 | # cRed='\e[0;31m' 146 | # cBlue='\e[0;34m' 147 | # endColor='\e[0m' -------------------------------------------------------------------------------- /docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Create display server foor cutycapt. 4 | Xvfb :99 -ac -screen 0 1024x768x16 >> /var/log/xvfb.log 2>&1 & 5 | disown -ar 6 | export DISPLAY=:99 7 | export DEBIAN_FRONTEND=noninteractive 8 | export INSTALL_DIR=/usr/share/sniper 9 | export LOOT_DIR=/usr/share/sniper/loot 10 | export PLUGINS_DIR=/usr/share/sniper/plugins 11 | export SNIPER_SKIP_DEPENDENCIES=true 12 | exec "$@" --------------------------------------------------------------------------------