手把手教你如何使用Docker进行Web渗透测试

栏目: 编程工具 · 发布时间: 7年前

内容简介:手把手教你如何使用Docker进行Web渗透测试

手把手教你如何使用 <a href='https://www.codercto.com/topics/20577.html'>Docker</a> 进行Web渗透测试

介绍

Docker是目前世界上最为先进的应用软件容器平台,Docker允许我们为每一种渗透测试任务创建不同的测试环境。在应用容器的帮助下,我们既可以将每一种测试环境存储在U盘中以方便携带,我们也可以将其保存在云端以便随时随地进行访问。比如说,你可以直接从云端下载测试环境,或者将测试环境直接拷贝到本地计算机中,而无需再花时间进行环境搭建了。没错,这一切Docker都可以帮你完成!

Live CD与容器

在此之前,很多测试人员会将各种不同的测试环境以LiveCD的形式进行存储,但LiveCD的使用则需要我们进行额外的配置。比如说,我们必须创建一个闪存驱动器或可启动的CD,甚至有时还需要使用到VirtualBox这样的虚拟机。

但是当我们使用Docker容器时,我们唯一要做的就是下载并安装Docker,而这个过程是非常简单的。安装完成之后,我们就可以从云端、U盘、或者DockerHUB中直接使用测试环境镜像了,这样不仅能为我们节省大量的时间,而且也提升了可移植性。

Docker到底是什么?

从本质上来说,Docker是一种在软件容器中帮助你创建、运行、测试和部署分布式应用的开源技术。Docker允许用户迅速地在任何系统环境中稳定且高效地部署应用。

手把手教你如何使用Docker进行Web渗透测试

我们为什么选择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

容器安装

手把手教你如何使用Docker进行Web渗透测试

首先我们要准备好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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

iOS Web应用开发

iOS Web应用开发

皮基 (Andrea Picchi) / 罗晴明 / 人民邮电出版社 / 2013-8-1 / CNY 79.00

本书介绍了如何使用Web标准技术来为iPhone和iPad制作Web应用。书中利用最前沿的Web和移动技术,演示了如何使用HTML5来完成繁重的基础工作,如何使用CSS3来制作外观,以及如何使用JavaScript来为移动网站或Web应用添加程序逻辑。 通过阅读本书,读者可以掌握面向移动的项目的开发流程。作者逐章递进,引导读者了解iOS设计与开发的各个步骤。读者可以学习到如下知识: 设......一起来看看 《iOS Web应用开发》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具