不试你可能会后悔,Windows渗透测试利器Pentest Box
前言
写这个专题还得从前几天FreeBuf上的一篇文章说起,这篇文章就是 《专访Kapustkiy——那个最近黑了多国大使馆的黑客》,当时评论里面对这个黑客是各种嘲讽。
但是居然还有人说FreeBuf各种不好了各种话!这个我就不服了!唉…..这位读者朋友还是太年轻啊,不会看重点——作为窃.格瓦拉驻FreeBuf办公室主任,我有必要发一篇文章来说明一下上面那篇文章的重点。
注意看下面这段话,这个黑客说他只用一个叫做Pentest Box的工具就把全球的大使馆黑了个遍!
哎哟,我去!这个究竟是什么黑科技! 当我查阅完Pentest Box的官方文档介绍后,我像下面这个树袋熊一样震惊了!
Pentest Box是一款Windows平台下预配置的便携式开源渗透测试环境,而它也是著名黑客Kapustkiy常用的工具之一。在安全测试的过程中,大部分脚本工具都是基于Linux平台运行,比如bash、cat、chmod、curl、git、gzip、ls、mv、ps、ssh、sh、uname等。Linux相比windows,安装和更新软件更加高效,排除故障更加方便和稳定。windows窗口化界面操作和特殊工具的兼容性,也导致大部分安全人员严重依赖于windows系统,因此使用windows的安全测试人员大部分都会在虚拟机内运行各式各样的Linux操作系统。但是虚拟机运行Linux也有相对应的缺点,首先是内存占用过高,其次是操作没有那么方便。基于以上问题,Pentest Box被开发出来了。如果要说Kali中阿D最好使,我认为windows中Pentest Box最好使。
特性
易于使用
Pentest Box和Linux有些相似,可以完全依靠命令行工具进行使用,这点很符合Linux和Mac OS发烧友的口味。
设计简洁
整个Pentest从安装到使用非常简洁,就靠一个exe文件来启动,并且安装也是一键式安装。除了安装目录以外,没有多余的地方需要设置。
性能卓越
和虚拟机相比,Pentest Box完全运行于Windows系统上,不依赖任何虚拟系统,有着更加强悍的性能。
没有依赖需求
如果我们要在windows上使用SQLMAP或者metasploit之类的工具,可能需要安装各种各样的语言环境,比如python,ruby,php,Java等。但是所有的依赖需求都已经安装在Pentest Box内部,你无需再去安装任何环境,设置任何环境变量等。
方便携带
Pentest Box不需要安装注册表,不需要特别的驱动,因此有极强的携带性,可以直接拷贝到U盘内运行。
Linux 工具集
Pentest Box工具包内含有各式各样的Linux工具,包括但不限于bash、cat、chmod、curl、git、gzip、ls、mv、ps、ssh、sh、uname等,它甚至包含了Linux编辑神器 “vim”。
无驱动问题
在VM中运行Linux最头疼的主要是驱动兼容问题,就算有VM TOOL的支持,有时候也会爆出各种各样的bug。但是在Pentest Box无需担心这个问题。只要windows内安装了相关驱动,就没必要再去考虑驱动问题。
模块化
虽然Pentest Box已经集成了非常多优秀的Linux工具,但是你依然可以自定义添加自己的模块。Pentest Box中的toolsmanager可以对Pentest Box内部的工具进行更新,卸载和安装。
更少的内存占用
一般情况下,在虚拟机中运行Linux系统可能需要2GB的内存,但是在Pentest Box中只需要20MB的内存。
更少的磁盘占用
我安装完带MSF的Pentest Box,大约占用了4.5GB的硬盘,而我安装完Kali Linux 64位的VM后则占用了20多GB的硬盘。可见相对于虚拟机Linux来说,Pentest Box占用更小的空间。
内置浏览器
Pentest Box中内置一个Firefox浏览器,并且已经安装好优秀的安全测试插件。测试插件的列表我等等会在下方写出来。
可更新特性
虽然Pentest Box中的toolsmanager功能可以对脚本进行更新,但是Pentest Box依然有自己的更新指令,可以对框架,配置文件,环境等进行更新。
易于分享
正如我所说,Pentest Box有着优秀的携带性,因此它还可以安装在云端,达到一个多人共用协作的功能,比如dropbox,百度云盘,google云盘等。
32位和64位系统支持
大部分工具可能并不太会关心windows 32位的兼容性,但是Pentest Box可以完美兼容32位和64位的windows系统。Pentest Box的开发人员已经在ASUS X205TA(售价200美元的低配电脑)上以windows 32位系统完美运行Pentest Box。
下载安装
这个感觉没什么好说的,进入官网下载页面,点击下载即可。
Pentest Box官方下载页面: https://pentestbox.org/zh/#download
安装也没什么复杂的,随便安装再哪个磁盘都可以,你安装在Dropbox或者百度云盘内都没问题。
但是下载的时候注意了,下载选项上有两个选项,一个是包含Metasploit的,一个是未包含Metasploit的。这里根据大家的需求来选择下载。
脚本程序安装/更新/卸载
默认安装的脚本
在Pentest Box中已经安装多个优秀的Linux脚本,大家可以对着下面的链接,以防重复添加脚本程序。
Pentest Box内置默认工具名单列表: https://tools.pentestbox.org/#linux-utilities
使用很简单,如果你要使用sqlmap,你直接在命令行上敲打sqlmap就可以了。每个工具的使用命令都在上面的列表里,大家自行查找。
Pentest Box中内置了一个火狐浏览器,浏览器已经安装了几个非常实用的插件,具体的插件列表名单请浏览下面的链接。
Pentest Box 火狐浏览器已安装插件: https://addons.mozilla.org/en-US/firefox/collections/pentestbox/pentestbox-addons-collection/?page=1
更新脚本
Pentest Box全部的源码都在GitHub上,而Pentest Box的更新全部是基于GitHub的代码库。GitHub地址如下。
Pentest Box GitHub地址: https://github.com/pentestbox
如果要对Pentest Box更新,你可以使用update命令,以下是update的更新脚本源代码所在位置。
update的更新脚本: https://github.com/pentestbox/scripts/blob/master/update.py
2013年和2014年因为某次事件,导致GitHub被墙了两次。虽然现在已经解封了,但是有时候还是有点抽风,如果遇到无法更新的情况,请自备梯子。
安装已知未被安装脚本
Pentest Box安装脚本程序主要是采用ToolsManager这个工具。Pentest Box除了默认已经安装的脚本以外,还有一些未被安装的已知脚本程序。已知脚本程序列表大家可以访问下方连接获取到。
Pentest Box已知未被安装脚本列表: https://modules.pentestbox.org/
首先输入toolsmanager,然后你会得到一个工具分类的列表。再根据列表对应的编号选择进入列表查看所包含的工具。比如我输入了1就进入了Exploitation Tools列表内。
然后你会看到这个列表内所包含的工具集合,下面是相关指令(这里用weevely作例子,请自行更换工具名称)。
安装:install weevely
更新:update weevely
卸载:uninstall weevely
返回目录菜单:back
退出:exit
安装未知第三方脚本
除了Pentest Box已知的脚本程序外,我们可能还会需要安装第三方脚本,比如自己编写的脚本程序等。在Pentest Box上也能够满足这个要求。在Pentest Box里安装脚本程序可以自定义脚本的alias(别名)。这个alias可以这么理解,比如sqlmap的启动文件为sqlmap.py,而启动命令为sqlmap。那么sqlmap就是sqlmap.py的alias。这里我用Python脚本做例子,以达到一个抛砖引玉的效果。
1. 将脚本程序或者文件夹移动到C:/PentestBox/bin/customtools目录下。(这里请参考你Pentest Box所在目录)
2. 部分脚本程序可能需要第三方python库,比如我需要BeautifulSoup4库,那么就执行下面的语句。
python -m pip install BeautifulSoup4
当然其它的语言库可以可以随意安装,比如ruby就可以使用gem来安装第三方库。
3. 因为在Pentest Box中已经预先配置了python环境,你可以直接以python命令运行脚本程序。
4. 然后就是添加alias了,alias的配置文件是D:\pentestsBox\bin\customtools中的customaliases文件。如果我要添加sqlmap为sqlmap.py的alias,那么就在该文件中写入下面的命令(注意命令中的路径),然后保存即可。
sqlmap=python "%pentestbox_ROOT%\bin\customtools\sqlmap\sqlmap.py" $*
同理,针对ruby脚本使用以下命令(以wpscan做例子)
wpscan=ruby "%pentestbox_ROOT%\bin\customtools\wpscan\wpscan.rb" $*
可执行程序使用以下例子
tool="%pentestbox_ROOT%\bin\customtools\tool.exe" $*
java脚本使用以下例子
tool=start javaw -jar "%pentestbox_ROOT%\bin\customtools\tool.jar" $*
5. 重启Pentest Box后你就可以使用你自定义的alias了。
剩下的大家自己扩展,不再多言。
Pentest Box全部相关链接
Pentest Box官网: https://www.pentestbox.org
Pentest Box官方下载页面: https://pentestbox.org/zh/#download
Pentest Box官方文档: https://docs.pentestbox.org
Pentest Box twitter: https://twitter.com/pentestbox
Pentest Box Facebook: https://www.facebook.com/pentestbox
Pentest Box Telegram: https://telegram.me/pentestbox
Pentest Box论坛: https://groups.google.com/forum/#!forum/pentest-box-forum
Pentest Box GitHub地址: https://github.com/pentestbox
Pentest Box 火狐浏览器已安装插件: https://addons.mozilla.org/en-US/firefox/collections/pentestbox/pentestbox-addons-collection/?page=1
Pentest Box已知未被安装脚本列表: https://modules.pentestbox.org/
Pentest Box内置默认工具名单列表: https://tools.pentestbox.org/#linux-utilities
Pentest Box相关信息
Pentest Box在2015年发布,具体月份不详。Pentest Box开源项目的创始人是Aditya Agrawa,就是下面图片里这位小哥。
这位小哥是一位印度人,网名为exploitprotocol,也是bugcrowd和hackerone众测平台的白帽子。虽然在bugcrowd上的排名只有259名,但是漏洞接收率却是百分之百。
排名低的原因主要是这位小哥在2015年的时候离开了众测平台,应该是忙着开发Pentest Box了,在昨天才宣布要回到漏洞平台继续挖掘漏洞。
这位小哥宣传自己的也非常低调,只说自己是一名安全研究人员和美食爱好者,并没有加上什么名头,但是他开发的工具已经获得业内一致的好评!不过这位印度小哥开发了这么牛逼的工具,结果却被Kapustkiy拿来黑了众多印度大使馆……..还真是有点讽刺。
印度小哥的twitter: https://twitter.com/exploitprotocol
印度小哥的个人博客: https://manifestsecurity.com
印度小哥的hackerone主页: https://hackerone.com/exploitprotocol
印度小哥的bugcrowd主页: https://bugcrowd.com/exploitprotocol
在帮助页面上有这个项目的捐助地址,大家可以用paypal或者比特币进行打赏。
Pentest Box帮助页面: https://pentestbox.org/zh/#contribute
实际上,Pentest Box作为商业用途非常广泛。它的可移植性和兼容性,,必定会有大批量的忠实用户。你可以随意幻想一下,4.5G的Pentest Box,拷到U盘内,走到哪里都可以渗透,只要有windows系统。超强的兼容性,可以复制到云端,大家集体共用一个Pentest Box来做渗透测试,简直是事半功倍。
就算商业用途再广泛,这里非常佩服这位印度小哥的开源共享精神。在一些安全大会上,我也见到过国内一些非常出色的安全工具,有些是基于开源代码优化而来的,有些是自己完全开发的,但是大多都不愿意开源共享。不过国内做开源的确非常难做,很多人开源的东西,经常会被他人不注明来源就随意引用。而且因为XX原因,在某国做开源的安全工具非常困难,可能会被“CSB”等等的。我见到过国内很多开源工具到后面都因为不可告人的原因被迫停止了,非常可惜。等等,好像有人送快递给我,但是我想说的就是我讠
*文章原创作者: ArthurKiller(卒),转载请注明来自FreeBuf(FreeBuf.COM)