欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker构建Web渗透测试工具容器

程序员文章站 2022-03-29 16:01:47
使用Docker容器,我们可以根据需要创建渗透测试环境或者审计环境。我们也可以将容器作为证据的一部分向客户展示,或者将容器交给客户让他们进行审计... 16-08-08...

Docker构建Web渗透测试工具容器


docker是世界领先的软件集装化平台,针对不同的渗透测试类型,我们完全可以使用docker创建相应的环境。有了docker容器,你可以把测试环境放到u盘或者云端。

docker是什么

docker是一个开源的技术,在软件容器中,你可以创建、运行、测试和部署应用程序。dcoker可以让你在任何环境中快速、可靠、稳定地部署应用程序。

容器具有可移植、方便、快速的优点。使用docker,我们可以创建一个映像,在这个映像的基础上再创建其它环境。比如,我们下载了kali linux作为基础容器,这里面没装我们需要的工具。我们将它看做基础容器,在上面安装需要的工具,然后保存成一个新的映像,不会影响原始的映像。

也就是说,可以以原始映像为基础,创建出包含取证工具、web渗透测试工具的容器。

用于web渗透测试的工具

在这篇文章中,只使用了控制台工具。

w3af-console

sqlmap

arachni

nikto

websploit

nmap

安装

docker的安装依赖于你使用的操作系统,但是,现在我们可以在官方仓库中找到针对大部分系统的安装包。

在这篇文章中,我们使用opensuse系统。

_0x4a0x72@pwned ~ sudo zypper se docker

s | nome | resumo | tipo

–+——————————+————————————————————–+————-

| docker | the linux container runtime | pacote

_0x4a0x72@pwned ~ sudo zypper in docker


安装成功后,你必须启用并启动服务

_0x4a0x72@pwned ~ sudo systemctl enable docker

_0x4a0x72@pwned ~ sudo systemctl start docker

_0x4a0x72@pwned ~ sudo docker info

containers: 0

running: 0

paused: 0

stopped: 0

images: 0

server version: 1.11.2

storage driver: btrfs

build version: btrfs v4.5.3+20160516

…….

docker root dir: /var/lib/docker

debug mode (client): false

debug mode (server): false

registry: https://index.docker.io/v1/

warning: no swap limit support


容器安装

kali发布者在hub docker上有一个官方映像,这可以大大加快我们的工作。

使用命令:sudo docker search kali,可以列出docker hub上的映像,我们选择第一个。

_0x4a0x72@pwned ~ sudo docker search kali

name description stars official automated

kalilinux/kali-linux-docker kali linux rolling distribution base image 193 [ok]

let’s do the pull image for our machine, this step depends on the internet connection.

_0x4a0x72@pwned ~ sudo docker pull kalilinux/kali-linux-docker

using default tag: latest

latest: pulling from kalilinux/kali-linux-docker

b2860afd831e: pull complete

340395ad18db: pull complete

d4ecedcfaa73: pull complete

3f96326089c0: pull complete

e5b4b7133863: pull complete

digest: sha256:0aa8342172aacbe79957f66e7029c1fb38e14765bf35eff30624f90cb813a56f

status: downloaded newer image for kalilinux/kali-linux-docker:latest

_0x4a0x72@pwned ~ sudo docker images

repository tag image id created size

kalilinux/kali-linux-docker latest f321257d50f7 6 days ago 602.4 mb


使用下面的命令,可以开启容器。

_0x4a0x72@pwned ~ sudo docker run –name webpentest -t -d kalilinux/kali-linux-docker

_0x4a0x72@pwned ~ sudo docker ps

container id image command created status ports names

a5fb073e53c8 kalilinux/kali-linux-docker “/bin/bash” 10 seconds ago up 8 seconds webpentest


工具安装

我们可以在容器外面进行安装,但是这里我会演示如何像虚拟机一样访问容器。

我们执行下面的命令获取容器的shell。

_0x4a0x72@pwned ~ sudo docker exec -it webpentest bash

root@a5fb073e53c8:/#


在拿到shell后,我们更新容器,安装web渗透测试时需要的工具。

root@a5fb073e53c8:/# apt-get update

root@a5fb073e53c8:/# apt-get upgrade

root@a5fb073e53c8:/# apt-get install websploit w3af-console arachni nikto sqlmap websploit nmap


安装完成后,我们可以在容器里面正常执行命令

root@a5fb073e53c8:/# nmap localhost

starting nmap 7.12 ( https://nmap.org ) at 2016-06-30 09:09 utc

nmap scan report for localhost (127.0.0.1)

host is up (0.000010s latency).

other addresses for localhost (not scanned): ::1

all 1000 scanned ports on localhost (127.0.0.1) are closed

nmap done: 1 ip address (1 host up) scanned in 0.18 seconds


或者也可以在容器外面运行。在完成命令之后,使用转义序列ctrl-p + ctrl-q,你可以不退出shell,而是断开连接。

_0x4a0x72@pwned ~ sudo docker exec -it webpentest nikto

– nikto v2.1.6

—————————————————————————

+ error: no host specified

-config+ use this config file

…….

+ requires a value

note: this is the short help output. use -h for full help text.


使用commit,可以将所做的改变保存成映像。

_0x4a0x72@pwned ~ sudo docker commit -a “junior carreiro” -m “install web pentest tools” webpentest


结论

使用docker容器,我们可以根据需要创建渗透测试环境或者审计环境。我们也可以将容器作为证据的一部分向客户展示,或者将容器交给客户让他们进行审计。