首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Docker构建Web渗透测试工具容器

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

作者头像
FB客服
发布2018-02-08 14:38:59
1.7K0
发布2018-02-08 14:38:59
举报
文章被收录于专栏:FreeBufFreeBuf

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker是什么
  • 用于Web渗透测试的工具
  • 安装
  • 容器安装
  • 工具安装
  • 结论
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档