内容简介:手把手教你如何使用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无线模块进行钓鱼渗透测试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First HTML5 Programming
Eric Freeman、Elisabeth Robson / O'Reilly Media / 2011-10-18 / USD 49.99
What can HTML5 do for you? If you're a web developer looking to use this new version of HTML, you might be wondering how much has really changed. Head First HTML5 Programming introduces the key featur......一起来看看 《Head First HTML5 Programming》 这本书的介绍吧!