内容简介:手把手教你如何使用Docker进行Web渗透测试
介绍
Docker是目前世界上最为先进的应用软件容器平台,Docker允许我们为每一种渗透测试任务创建不同的测试环境。在应用容器的帮助下,我们既可以将每一种测试环境存储在U盘中以方便携带,我们也可以将其保存在云端以便随时随地进行访问。比如说,你可以直接从云端下载测试环境,或者将测试环境直接拷贝到本地计算机中,而无需再花时间进行环境搭建了。没错,这一切Docker都可以帮你完成!
Live CD与容器
在此之前,很多测试人员会将各种不同的测试环境以LiveCD的形式进行存储,但LiveCD的使用则需要我们进行额外的配置。比如说,我们必须创建一个闪存驱动器或可启动的CD,甚至有时还需要使用到VirtualBox这样的虚拟机。
但是当我们使用Docker容器时,我们唯一要做的就是下载并安装Docker,而这个过程是非常简单的。安装完成之后,我们就可以从云端、U盘、或者DockerHUB中直接使用测试环境镜像了,这样不仅能为我们节省大量的时间,而且也提升了可移植性。
Docker到底是什么?
从本质上来说,Docker是一种在软件容器中帮助你创建、运行、测试和部署分布式应用的开源技术。Docker允许用户迅速地在任何系统环境中稳定且高效地部署应用。
我们为什么选择Docker?
我们之所以选择使用Docker,正是因为容器的可移植性、便捷性和高效性。在Docker的帮助下,我们只需要一个镜像,就能够适配不同的测试环境。比如说,我们先下载了一个Kali Linux作为基础容器,而这个容器并没有事先安装任何的工具。那么当我们需要进行信息取证的时候,我们就可以下载所需工具,然后将系统另存为取证镜像。当我们需要进行Web渗透测试时,我们又可以下载渗透测试工具,然后再将容器进行重新保存,而整个过程不会对基础容器产生影响。
如果你想了解更多有关Docker的详细内容,请参考这篇文章《Bullet Proof Your Docker》。
用于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 Once installed, you must enable and start the service _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
容器安装
首先我们要准备好KaliLinux发行版镜像,如果你手中有HUB Doccker的官方镜像那就再好不过了。
接下来,使用命令“sudo docker search Kali”我们可以列出DockerHUB中的所有镜像文件,然后选择第一个,因为这个是官方推荐的选项。
_0x4a0x72@pwned ~ sudo docker search kali NAME DESCRIPTION STARS OFFICIAL AUTOMATED kalilinux/kali-linux-docker Kali Linux Rolling DistributionBase Image 193 [OK]
接下来,将镜像下载到我们的设备中,这一步操作需要联网。
_0x4a0x72@pwned ~ sudo docker pullkalilinux/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 forkalilinux/kali-linux-docker:latest _0x4a0x72@pwned ~ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE kalilinux/kali-linux-docker latest f321257d50f7 6 days ago602.4 MB
接下来,使用下面的命令运行我们的容器:
_0x4a0x72@pwned ~ sudo docker run –name WebPentest -t -dkalilinux/kali-linux-docker _0x4a0x72@pwned ~ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a5fb073e53c8 kalilinux/kali-linux-docker “/bin/bash” 10seconds 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-consolearachni nikto sqlmap websploit nmap
安装完成之后,你可以直接在容器中执行相应的命令:
root@a5fb073e53c8:/# nmap localhost Starting Nmap 7.12 ( https://nmap.org ) at 2016-06-30 09:09UTC 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
当然了,你也可以在容器外运行命令:
_0x4a0x72@pwned ~ sudo docker exec -it WebPentest nikto –Nikto v2.1.6 ————————————————————————— + ERROR: No host specified -config+ Use this config file ……. + requires a value
最后,我们可以使用命令“commit”来保存更改并保存镜像:
_0x4a0x72@pwned ~ sudo docker commit -a “Junior Carreiro” -m“Install Web Pentest Tools” WebPentest
总结
在Docker容器的帮助下,我们可以根据自己的需要来分门别类地创建渗透测试环境。除此之外, 我们还可以将容器当作取证结果来提供给不同的人员进行审核。总而言之,容器的作用也许比我们想象中的还要强大。
* 参考来源:pentestmag, FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 利用 js 文件进行渗透
- 新手科普 | 如何脱离Metasploit进行渗透测试
- 如何滥用PowerShell DSC进行横向渗透
- 技术分享 | 如何通过PowerShell DSC进行横向渗透
- 如何使用LES对Linux进行渗透测试研究
- 技术讨论 | 用ESP8266无线模块进行钓鱼渗透测试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。