├── README.md ├── alpine-sqlmap ├── Dockerfile └── README.md ├── alpine-nikto-git ├── Dockerfile └── README.md ├── alpine-nikto ├── README.md └── Dockerfile ├── alpine-wapiti ├── README.md └── Dockerfile ├── alpine-dvcs-ripper ├── Dockerfile └── README.md ├── alpine-skipfish ├── Dockerfile └── README.md ├── debian-arachni ├── Dockerfile ├── README.md └── LICENSE └── LICENSE /README.md: -------------------------------------------------------------------------------- 1 | # docker-webscan 2 | Docker containters for web security scanning 3 | 4 | Current docker images: 5 | 6 | - k0st/alpine-dvcs-ripper 7 | - k0st/alpine-nikto 8 | - k0st/alpine-nikto-git 9 | - k0st/alpine-skipfish 10 | - k0st/alpine-sqlmap 11 | - k0st/alpine-wapiti 12 | - k0st/debian-arachni 13 | -------------------------------------------------------------------------------- /alpine-sqlmap/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gliderlabs/alpine 2 | MAINTAINER kost - https://github.com/kost 3 | 4 | RUN apk --update add python openssl git && rm -f /var/cache/apk/* && \ 5 | mkdir /opt && cd /opt && git clone https://github.com/sqlmapproject/sqlmap.git && \ 6 | cd /opt/sqlmap && \ 7 | chmod 755 /opt/sqlmap/sqlmap.py && \ 8 | mkdir /work && \ 9 | adduser -D -s /bin/sh user user && chown -R user /work 10 | 11 | USER user 12 | 13 | VOLUME /work 14 | WORKDIR /opt/sqlmap 15 | 16 | ENTRYPOINT ["/opt/sqlmap/sqlmap.py"] 17 | 18 | CMD ["--help"] 19 | -------------------------------------------------------------------------------- /alpine-nikto-git/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gliderlabs/alpine 2 | MAINTAINER kost - https://github.com/kost 3 | 4 | RUN apk --update add perl openssl perl-net-ssleay git && rm -f /var/cache/apk/* && \ 5 | mkdir /opt && cd /opt && git clone https://github.com/sullo/nikto.git nikto-git && \ 6 | ln -sf /opt/nikto-git/program /opt/nikto && cd /opt/nikto && \ 7 | chmod 755 /opt/nikto/nikto.pl && /opt/nikto/nikto.pl -update && \ 8 | mkdir /work && \ 9 | adduser -D -s /bin/sh user user && chown -R user /work 10 | 11 | USER user 12 | 13 | VOLUME /work 14 | WORKDIR /opt/nikto 15 | 16 | ENTRYPOINT ["/opt/nikto/nikto.pl"] 17 | 18 | CMD ["-h"] 19 | -------------------------------------------------------------------------------- /alpine-nikto/README.md: -------------------------------------------------------------------------------- 1 | # k0st/alpine-nikto 2 | 3 | Dockerized nikto 4 | 5 | Image is based on the [gliderlabs/alpine](https://registry.hub.docker.com/u/gliderlabs/alpine/) base image 6 | 7 | ## Docker image size 8 | 9 | [![Latest](https://badge.imagelayers.io/k0st/alpine-nikto.svg)](https://imagelayers.io/?images=k0st/alpine-nikto:latest 'latest') 10 | 11 | ## Docker image usage 12 | 13 | ``` 14 | docker run --rm -it k0st/alpine-nikto -host www.example.org -port 443 -ssl 15 | ``` 16 | 17 | ## Examples 18 | 19 | Run scan on https://www.example.org: 20 | 21 | ``` 22 | docker run --rm -it k0st/alpine-nikto -host www.example.org -port 443 -ssl 23 | ``` 24 | 25 | ### Todo 26 | - [ ] Check volume and data 27 | 28 | -------------------------------------------------------------------------------- /alpine-nikto/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gliderlabs/alpine 2 | MAINTAINER kost - https://github.com/kost 3 | 4 | ENV VERSION_NIKTO 2.1.5 5 | 6 | RUN apk --update add perl openssl perl-net-ssleay && rm -f /var/cache/apk/* && \ 7 | mkdir /opt && cd /opt && wget "https://cirt.net/nikto/nikto-$VERSION_NIKTO.tar.bz2" && \ 8 | tar xvjf nikto-$VERSION_NIKTO.tar.bz2 && rm -f nikto-$VERSION_NIKTO.tar.bz2 && \ 9 | ln -sf nikto-$VERSION_NIKTO nikto && cd nikto-$VERSION_NIKTO && \ 10 | chmod 755 /opt/nikto/nikto.pl && /opt/nikto/nikto.pl -update && \ 11 | mkdir /work && \ 12 | adduser -D -s /bin/sh user user && chown -R user /work 13 | 14 | USER user 15 | 16 | VOLUME /work 17 | WORKDIR /opt/nikto 18 | 19 | ENTRYPOINT ["/opt/nikto/nikto.pl"] 20 | 21 | CMD ["-h"] 22 | -------------------------------------------------------------------------------- /alpine-sqlmap/README.md: -------------------------------------------------------------------------------- 1 | # k0st/alpine-sqlmap-git 2 | 3 | Dockerized sqlmap from github (git) 4 | 5 | Image is based on the [gliderlabs/alpine](https://registry.hub.docker.com/u/gliderlabs/alpine/) base image 6 | 7 | ## Docker image size 8 | 9 | [![Latest](https://badge.imagelayers.io/k0st/alpine-sqlmap-git.svg)](https://imagelayers.io/?images=k0st/alpine-sqlmap-git:latest 'latest') 10 | 11 | ## Docker image usage 12 | 13 | ``` 14 | docker run --rm -it k0st/alpine-sqlmap-git -u http://vuln.site.com/i?=1 -p i 15 | ``` 16 | 17 | ## Examples 18 | 19 | Run scan on https://www.example.org: 20 | 21 | ``` 22 | docker run --rm -it k0st/alpine-sqlmap-git -u http://vuln.site.com/i?=1 -p i 23 | ``` 24 | 25 | ### Todo 26 | - [ ] Check volume and data 27 | 28 | -------------------------------------------------------------------------------- /alpine-wapiti/README.md: -------------------------------------------------------------------------------- 1 | # k0st/alpine-nikto-git 2 | 3 | Dockerized nikto from github (git) 4 | 5 | Image is based on the [gliderlabs/alpine](https://registry.hub.docker.com/u/gliderlabs/alpine/) base image 6 | 7 | ## Docker image size 8 | 9 | [![Latest](https://badge.imagelayers.io/k0st/alpine-nikto-git.svg)](https://imagelayers.io/?images=k0st/alpine-nikto-git:latest 'latest') 10 | 11 | ## Docker image usage 12 | 13 | ``` 14 | docker run --rm -it k0st/alpine-nikto-git -host www.example.org -port 443 -ssl 15 | ``` 16 | 17 | ## Examples 18 | 19 | Run scan on https://www.example.org: 20 | 21 | ``` 22 | docker run --rm -it k0st/alpine-nikto-git -host www.example.org -port 443 -ssl 23 | ``` 24 | 25 | ### Todo 26 | - [ ] Check volume and data 27 | 28 | -------------------------------------------------------------------------------- /alpine-nikto-git/README.md: -------------------------------------------------------------------------------- 1 | # k0st/alpine-nikto-git 2 | 3 | Dockerized nikto from github (git) 4 | 5 | Image is based on the [gliderlabs/alpine](https://registry.hub.docker.com/u/gliderlabs/alpine/) base image 6 | 7 | ## Docker image size 8 | 9 | [![Latest](https://badge.imagelayers.io/k0st/alpine-nikto-git.svg)](https://imagelayers.io/?images=k0st/alpine-nikto-git:latest 'latest') 10 | 11 | ## Docker image usage 12 | 13 | ``` 14 | docker run --rm -it k0st/alpine-nikto-git -host www.example.org -port 443 -ssl 15 | ``` 16 | 17 | ## Examples 18 | 19 | Run scan on https://www.example.org: 20 | 21 | ``` 22 | docker run --rm -it k0st/alpine-nikto-git -host www.example.org -port 443 -ssl 23 | ``` 24 | 25 | ### Todo 26 | - [ ] Check volume and data 27 | 28 | -------------------------------------------------------------------------------- /alpine-dvcs-ripper/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gliderlabs/alpine 2 | MAINTAINER kost - https://github.com/kost 3 | 4 | 5 | RUN apk --update add bash perl openssl perl-io-socket-ssl perl-dbi perl-dbd-sqlite perl-lwp-protocol-https git subversion cvs mercurial bzr perl-dev make gcc musl-dev perl-test-warn && \ 6 | rm -f /var/cache/apk/* && \ 7 | (echo y;echo o conf prerequisites_policy follow;echo o conf commit)|cpan && \ 8 | cpan -f Parallell::ForkManager Redis Algorithm::Combinatorics && \ 9 | mkdir /opt && cd /opt && git clone https://github.com/kost/dvcs-ripper.git && \ 10 | chmod 755 /opt/dvcs-ripper/*pl && \ 11 | mkdir /work && \ 12 | adduser -D -s /bin/sh user user && chown -R user /work 13 | 14 | USER user 15 | 16 | ENV PATH /opt/dvcs-ripper:$PATH 17 | 18 | VOLUME /work 19 | WORKDIR /work 20 | 21 | CMD ["cat","/opt/dvcs-ripper/README.md"] 22 | -------------------------------------------------------------------------------- /alpine-skipfish/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gliderlabs/alpine 2 | MAINTAINER kost - https://github.com/kost 3 | 4 | ENV VERSION_SKIPFISH 2.10b 5 | 6 | RUN apk --update add libc-dev make gcc openssl openssl-dev pcre-dev libidn-dev && rm -f /var/cache/apk/* && \ 7 | mkdir /opt && cd /opt && wget "https://skipfish.googlecode.com/files/skipfish-$VERSION_SKIPFISH.tgz" && \ 8 | tar xvzf skipfish-$VERSION_SKIPFISH.tgz && rm -f skipfish-$VERSION_SKIPFISH.tgz && \ 9 | ln -sf skipfish-$VERSION_SKIPFISH skipfish && cd skipfish-$VERSION_SKIPFISH && \ 10 | make && \ 11 | mkdir /work && \ 12 | adduser -D -s /bin/sh user user && chown -R user /work /opt/skipfish-$VERSION_SKIPFISH 13 | 14 | USER user 15 | 16 | # install -m 755 skipfish /usr/local/bin/ 17 | 18 | VOLUME /work 19 | WORKDIR /opt/skipfish 20 | 21 | ENTRYPOINT ["/opt/skipfish/skipfish"] 22 | 23 | CMD ["-h"] 24 | -------------------------------------------------------------------------------- /alpine-wapiti/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gliderlabs/alpine 2 | MAINTAINER kost - https://github.com/kost 3 | 4 | ENV VERSION_WAPITI 2.3.0 5 | 6 | RUN apk --update add python openssl py-pip py-xml && rm -f /var/cache/apk/* && \ 7 | pip install BeautifulSoup requests && \ 8 | mkdir /opt && cd /opt && \ 9 | wget "http://downloads.sourceforge.net/project/wapiti/wapiti/wapiti-$VERSION_WAPITI/wapiti-$VERSION_WAPITI.tar.gz" && \ 10 | tar xvzf wapiti-$VERSION_WAPITI.tar.gz && \ 11 | rm wapiti-$VERSION_WAPITI.tar.gz && \ 12 | cd wapiti-$VERSION_WAPITI && \ 13 | ln -sf /opt/wapiti-$VERSION_WAPITI /opt/wapiti && \ 14 | chmod 755 /opt/wapiti/bin/wapiti && \ 15 | mkdir /work && \ 16 | adduser -D -s /bin/sh user user && chown -R user /work 17 | 18 | USER user 19 | 20 | ENV LANG en 21 | ENV PATH /opt/wapiti/bin:$PATH 22 | 23 | VOLUME /work 24 | WORKDIR /work 25 | 26 | ENTRYPOINT ["wapiti"] 27 | 28 | CMD ["--help"] 29 | -------------------------------------------------------------------------------- /debian-arachni/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:jessie 2 | MAINTAINER kost - https://github.com/kost 3 | 4 | ENV VERSION_FRAMEWORK 1.4 5 | ENV VERSION_ARACHNI $VERSION_FRAMEWORK-0.5.10 6 | 7 | RUN apt-get -qq update && \ 8 | apt-get install -yq wget ruby bash && \ 9 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ 10 | cd /opt && \ 11 | wget https://github.com/Arachni/arachni/releases/download/v$VERSION_FRAMEWORK/arachni-$VERSION_ARACHNI-linux-x86_64.tar.gz && \ 12 | tar xvzf arachni-$VERSION_ARACHNI-linux-x86_64.tar.gz && \ 13 | rm -f arachni-$VERSION_ARACHNI-linux-x86_64.tar.gz && \ 14 | ln -sf /opt/arachni-$VERSION_ARACHNI /opt/arachni && \ 15 | useradd -m -s /bin/sh user && \ 16 | mkdir /work && \ 17 | chown -R user /work /opt/arachni-$VERSION_ARACHNI && \ 18 | echo "Success" 19 | 20 | USER user 21 | 22 | ENV PATH /opt/arachni/bin:$PATH 23 | 24 | VOLUME ["/work"] 25 | EXPOSE 9292 26 | # WORKDIR / 27 | 28 | ENTRYPOINT ["/opt/arachni/bin/arachni_web"] 29 | 30 | 31 | -------------------------------------------------------------------------------- /alpine-dvcs-ripper/README.md: -------------------------------------------------------------------------------- 1 | # k0st/alpine-dvcs-ripper 2 | 3 | Dockerized dvcs-ripper from github 4 | 5 | Image is based on the [gliderlabs/alpine](https://registry.hub.docker.com/u/gliderlabs/alpine/) base image 6 | 7 | ## Docker image size 8 | 9 | [![Latest](https://badge.imagelayers.io/k0st/alpine-dvcs-ripper.svg)](https://imagelayers.io/?images=k0st/alpine-dvcs-ripper:latest 'latest') 10 | 11 | ## Docker image usage 12 | 13 | ``` 14 | docker run --rm -it k0st/alpine-dvcs-ripper [rip-command] [options] -u [URL] 15 | ``` 16 | 17 | ## Examples 18 | 19 | Rip .git file from http://www.example.org/.git : 20 | ``` 21 | docker run --rm -it -v /path/to/host/work:/work:rw k0st/alpine-dvcs-ripper rip-git.pl -v -u http://www.example.org/.git 22 | ``` 23 | 24 | Rip .hg file from http://www.example.org/.hg : 25 | ``` 26 | docker run --rm -it -v /path/to/host/work:/work:rw k0st/alpine-dvcs-ripper rip-hg.pl -v -u http://www.example.org/.hg 27 | ``` 28 | 29 | ### Todo 30 | - [ ] Check volume and data 31 | 32 | -------------------------------------------------------------------------------- /alpine-skipfish/README.md: -------------------------------------------------------------------------------- 1 | # k0st/alpine-skipfish 2 | 3 | Dockerized skipfish 4 | 5 | Image is based on the [gliderlabs/alpine](https://registry.hub.docker.com/u/gliderlabs/alpine/) base image 6 | 7 | ## Docker image size 8 | 9 | [![Latest](https://badge.imagelayers.io/k0st/alpine-skipfish.svg)](https://imagelayers.io/?images=k0st/alpine-skipfish:latest 'latest') 10 | 11 | ## Docker image usage 12 | 13 | ``` 14 | docker run k0st/alpine-skipfish [skipfish option] [skipfish option] ... 15 | ``` 16 | 17 | ## Examples 18 | 19 | Run scan on http://127.0.0.1: 20 | 21 | ``` 22 | docker run --rm -v /path/to/host/work:/work:rw k0st/alpine-skipfish -S /opt/skipfish/dictionaries/medium.wl -o /work/skipfish.out http://127.0.0.1 23 | ``` 24 | 25 | Run scan on http://192.168.1.1 with minimal dict: 26 | ``` 27 | docker run -it --rm -v /path/to/host/work:/work:rw k0st/alpine-skipfish -o /work/192 -S /opt/skipfish/dictionaries/minimal.wl http://192.168.1.1 28 | ``` 29 | 30 | 31 | ### Todo 32 | - [ ] Check volume and data paths 33 | 34 | -------------------------------------------------------------------------------- /debian-arachni/README.md: -------------------------------------------------------------------------------- 1 | # k0st/debian-arachni 2 | 3 | Docker Arachni Scanner container 4 | 5 | Image is based on the [debian](https://registry.hub.docker.com/u/debian/) base image 6 | 7 | ## Docker image size 8 | 9 | [![Latest](https://badge.imagelayers.io/k0st/debian-arachni.svg)](https://imagelayers.io/?images=k0st/debian-arachni:latest 'latest') 10 | 11 | ## Docker image usage 12 | 13 | ``` 14 | docker run k0st/debian-arachni 15 | ``` 16 | 17 | ## Default credentials 18 | 19 | Consult https://github.com/Arachni/arachni-ui-web/wiki 20 | 21 | Usually they are 22 | 23 | **Administrator account** 24 | 25 | E-mail: `admin@admin.admin`
26 | Password: `administrator` 27 | 28 | **Regular user account** 29 | 30 | E-mail: `user@user.user`
31 | Password: `regular_user` 32 | 33 | ## Examples 34 | 35 | Run web UI: 36 | 37 | ``` 38 | docker run -p 9292:9292 k0st/debian-arachni 39 | ``` 40 | 41 | Run RPC service: 42 | ``` 43 | docker run --entrypoint=arachni_rpcd k0st/debian-arachni 44 | ``` 45 | 46 | Run console: 47 | ``` 48 | docker run --entrypoint=arachni_console k0st/debian-arachni 49 | ``` 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 kost 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /debian-arachni/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 kost 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | --------------------------------------------------------------------------------