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

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

内容简介:手把手教你如何使用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 -mInstall Web Pentest Tools WebPentest

总结

在Docker容器的帮助下,我们可以根据自己的需要来分门别类地创建渗透测试环境。除此之外, 我们还可以将容器当作取证结果来提供给不同的人员进行审核。总而言之,容器的作用也许比我们想象中的还要强大。

* 参考来源:pentestmag, FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM


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

查看所有标签

猜你喜欢:

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

Head First HTML5 Programming

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》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

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

HEX CMYK 互转工具