本文为作者原创文章,为尊重作者劳动成果禁止非授权转载,若需转载请在【全栈工程师修炼指南】公众号留言,或者发送邮件到 master@weiyigeek.top 中我将及时回复。
免责申明:本文分享旨在给网络安全从业人员、网站开发人员以及运维管理人员在日常工作中进行安全测试以及防范恶意攻击, 请勿恶意使用下面介绍技术进行非法网络攻击,作者不为此承担任何责任,所有渗透都需获取授权,谨防从入门到入狱!
【中华人民共和国网络安全法】: http://www.npc.gov.cn/npc/c30834/201611/270b43e8b35e4f7ea98502b6f0e26f8a.shtml
0x00 前言介绍
描述: PentestBox是一个基于Windows的便携式渗透测试环境, 它基于ConEmu 和 cmder进行设计的。它包含了许多常用的渗透测试工具和应用程序,如Metasploit、Nmap、Burp Suite
等。PentestBox的设计初衷是为了方便渗透测试人员在Windows系统上进行测试,无需进行复杂的安装和配置。它可以直接从USB驱动器或其他便携设备上运行,而不会对主机系统产生任何影响, PentestBox还提供了图形用户界面,使得渗透测试工作更加简单和直观。
简单的说:PentestBox是一款Windows平台下预配置的便携式开源渗透测试工具集环境,适合初学者和专业人士使用。
PentestBox 官网:https://pentestbox.org/zh/
Q: 为什么又有一个渗透测试环境?
PentestBox不同于运行在虚拟机或者双启动环境的Linux渗透测试发行版。它打包了所有的安全工具,并且可以在Windows系统中原生地运行,有效地降低了对虚拟机或者双启动环境的需求。我们发现超过50%的渗透测试发行版是运行在Windows系统下的虚拟机程序中,这激发我们创造了它。
Q: PentestBox功能特性
- 设计简洁,易于使用,方便携带
- 性能卓越,更少的内存占用,更少的磁盘占用
- 没有依赖需求,无驱动问题
- Linux 工具集,工具模块化
- 内置浏览器,可更新特性
- 32位系统支持
PentestBox 帮助文档: https://docs.pentestbox.org/
0x01 安装部署
描述: 从官网上下载速度还是蛮快的,这里我下载的是附带 metasploit 版本的 PentestBox,目前最新版本为 V2.2
代码语言:javascript复制PentestBox:https://sourceforge.net/projects/pentestbox/files/PentestBox-v2.2.exe/download
# 种子:https://pentestbox.org/PentestBox-v2.2.torrent
# 安装有 Metasploit 的 PentestBox
https://sourceforge.net/projects/pentestbox/files/PentestBox-with-Metasploit-v2.2.exe/download
# 种子:https://pentestbox.org/PentestBox-with-Metasploit-v2.2.torrent
个人提示:建议在虚拟机里面进行安装测试后面可以直接从网络共享过来即可,当然您也可以将它安装到U盘上; 官网提示:按照带有metasploit 的版本的时候得关闭windows自带的防火墙,因为metasploit生成的攻击载荷 对于windows的安全来说是个威胁。
防火墙的关闭:
- Windows7直接在控制面板里面关闭防火墙即可
- Windows 10的话,除了关闭上述的防火墙还得关闭 Windows Defender (设置-更新和安全-Windows Defender 中关闭)
安装非常简单:直接运行 文件 选择安装的文件位置路径,即可安装,安装其实就是文件的释放,最后整个文件夹大小为4.55GB左右(2018年7月3日12:52:40);
知识补充:
- 采用安装在U盘或者文件网络共享都能直接运行pentestBox;
- 文件网络共享:共享该文件夹作为一个驱动器上的其他计算机在同一个网络;更改读取权限读/写,并单击共享。现在在局域网的其他电脑上的的 资源管理器 中的 网络 可以看到共享的文件夹
0x02 工具结构说明
描述:从上面我们可以看到是PentestBox共5个文件夹,2个库文件,一个bat批处理和一个exe启动程序(bat和exe都可以启动PentestBox)。
工具快捷键
- CTRL T :要打开新的标签页
- CTRL C :要关闭脚本/程序运行。
- CTRL w :这将关闭当前活动的控制台。
- ALT Enter :Pentestbox 会去全屏。
- SHIFT ALT number : 则打开 cmd 和 poweshell 新的窗口,可以自己设置;
工具集结构
描述:PentextBox 工具集一览表参考地址,可以看到实际上其中的工具都是kali系统中的一些常见工具。
代码语言:javascript复制# 信息收集:
dnsrecon (DNS)
sublist3r
subbrute
automater (URL /域名,IP地址和Md5 hash OSINT工具旨在使分析过程更容易入侵分析师)
urlcrazy (RL劫持,钓鱼,和企业间谍活动)
theharvester
Responder (是一个LLMNR NBT-NS和mdn投毒者)- 探测内网获取域控权限总结
crackmapexec (其中的瑞士军刀Windows /活动目录环境。多亏了托马斯。编译的版本。)
# Web漏洞扫描器:
msfconsole
Burp Suite
sqlmap
Nmap
ncat
ndiff
nping
Wireshark
SnmpWalk (允许你检测一组变量可用于某一设备上阅读。)
ipscan (C段扫描)
dirbuster(目录爆破)
Commix(系统命令注入漏洞自动化测试工具)
Vega (扫描仪和测试平台) -- 实用
jSQL(SQL注入)-- 可以学习SQL - 实用
testsslserver (PentestBox SSL / TLS服务器(名称和端口给出参数))
sslscan (SSL扫描)
Nikto(web服务器(GPL)扫描仪对web服务器执行全面测试多个项目)
dotdotpwn(目录遍历模糊器)
fimap(webapps本地和远程文件包含漏洞)
Golismero(安全性测试的是一个开源框架)
PadBuster 自动化脚本执行Padding Oracle的攻击
wpscan (kali)
joomscan(kali)
cmsmap (python开源CMS扫描),自动检测安全漏洞的过程中最受欢迎的CMS
VBScan (基于perl编程语言是)一个开源项目的检测链入页面CMS漏洞和分析。
joomscan(kali)Joomla它可能是最广泛使用的CMS,由于其灵活性,用户友好性,可扩展性命名一些;
Instarecon (自动化的基本数字侦察)伟大的目标获得最初的足迹,发现额外的子域。InstaRecon会做的事:DNS(直接、PTR MX,NS)查找域名查询服务(域和IP)查找谷歌在搜索的
SpiderFoot(信息收集-不行)
sslstrip(不行)
sslyze(不行)
#开发工具(框架):
Metasploit Framework
beefproject (beef是浏览器开发框架。这是一个渗透测试工具,它关注的是web浏览器。)
温馨提示: 若想添加自定义工具到PentestBox中,你可以参照如下方法指南进行手动操作。
- 1.下载/克隆工具文件,2.设置别名 别名是基本上是需要PentestBox控制台通过;
Step1.首先复制文件到 C:/PentestBox/bin/customtools/下添加一个别名,需要编辑customaliases文件 位于/PentestBox/bin/customtools/文件夹下。
代码语言:javascript复制hello=python "%pentestbox_ROOT%bincustomtoolsHello.py" $* /**python*/
tool="%pentestbox_ROOT%bincustomtoolstool.exe" $* /**exe*/
tool=start javaw -jar "%pentestbox_ROOT%bincustomtoolstool.jar" $* /**Java */
wpscan=ruby "%pentestbox_ROOT%bincustomtoolswpscanwpscan.rb" $* /**Ruby */
在PentestBox 中添加自己的Java 和 Ruby工具,方法的原理是一样的,只是在编辑 customaliases文件的时候,语法格式有点区别工具格式参考上面的格式。
0x03 基本操作
安装升级卸载
描述:在PentextBox中软件安装 安装/升级/卸载 软件:toolsmanager
它会从github上进行检测是否存在更新;
- 首先,它会从GitHub的信息库自动更新,然后会显示菜单。如果没有互联网连接,脚本会等待一段时间,然后显示菜单。
- 其次,可以通过选择编号进入相关的模块进行
安装、升级、卸载
- 安装:例如如果我选择了Web应用程序类别然后按10;
- 更新:如果要更新的话这里直接输入编号 11将会升级所有安装的模块;
- 卸载:在toolsmanager 的软件目录里面 我们现在想卸载已经安装过的软件的话,直接键入uninstall 软件名比如uninstall xssless
- 现在,如果你想安装imagejs然后键入install imagejs它会安装它。安装后重启 PentestBox,你所安装的工具会生效。
weiyigeek.top-软件升级
由于PentestBox是一个开源项目,让在PentestBox使用的所有文件都存在于它的Github上库。终端下输入:update
从它的Github上库,如果有任何更改,然后显示菜单将先进行自我更新。如果没有互联网连接,脚本会等待一段时间,然后显示菜单。
渗透利器详解
描述: 功能界面设置介绍, 请参考【PentestBox简明使用教程】这个PDF文件。
comspec设置
weiyigeek.top-功能设置图
环境变量设置
weiyigeek.top-环境变量设置图
功能特性设置
weiyigeek.top-功能特性设置图
若需要PentestBox完整的功能界面介绍PDF文件,请关注公众号回复【PentestBox】或者【10011】进行获取.
0x04 工具使用
描述:更多PentestBox
工具模块请参考 modules.pentestbox.com 网站。
SpiderFoot - 开源情报自动化工具
描述: SpiderFoot
是一个开源情报自动化工具。它的目标是实现自动化的过程对给定目标收集情报,这可能是一个IP地址,域名、主机名或网络子网。它可以用来进攻,即作为黑盒的一部分渗透测试收集的信息目标或防守来识别你的组织是免费提供什么信息对你攻击者使用。
weiyigeek.top-SpiderFoot开源情报自动化工具图
TestSSLServer - 测试SSL服务器工具
描述: TestSSLServer 是一个简单的命令行工具,联系一个SSL / TLS服务器(名称和端口给出参数)获得一些SSL相关信息。
weiyigeek.top-TestSSLServer测试SSL服务器工具图
0x05 入坑解决
问题1:MSF(metasploit)无法在PenTeseBox中启用
注意:安装好后,一定不要 updata all , 发如果运行了这个命令,因为盒子本身有的工具和环境是老版本的,update all 命令会导致环境错误而工具无法使用!否则会导致msf打不开,非要升级采用独立升级;问题:
解决方法:
代码语言:javascript复制vim 72 C:/PentestBox/bin/metasploit-framework/lib/msf/core/payload/dalvik.rb; /**将时间改小一点*/
保存启动 msfconsole
问题2:Python 依赖无法下载问题
错误信息:
解决方法:
代码语言:javascript复制python –m pip install --upgrade pip
python –m pip install BeautifulSoup4
问题3:MSF 与 RUBY更新问题 |http以及https源的问题完成实例
Weiyigeek
需要下载的文件:
- ruby(2.3.3)32位:https://dl.bintray.com/oneclick/rubyinstaller/ruby-2.3.3-i386-mingw32.7z
- msf:git clone https://github.com/rapid7/metasploit-framework.git
- ruby_devkit:http://dl.bintray.com/oneclick/rubyinstaller/DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe
- WpdPack:http://www.winpcap.org/install/bin/WpdPack_4_1_2.zip
分别解压在:(1)替换ruby,删除原C:PentestBoxbaseruby 内的文件 替换文件 (2)ruby_devkit 删除原文件 打开DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe 并解压到C:PentestBoxbaseruby_devkit (3)替换下载最新版本的msf
路径设置:ruby:%Pentestbox%baseruby ruby_devkit:%Pentestbox%baseruby_devkit msf:%Pentestbox%binmetasploit-framework
查看ruby是不是按照成功
代码语言:javascript复制ruby -v
ruby 2.2.6p396 (2016-11-15 revision 56800) [i386-mingw32]
进行下一步->解决法子:我们就需要将原本https的证书更替掉
代码语言:javascript复制gem update --system ##gem更新系统,不行就下面
#更新源 自己按情况来
gem sources --add http://rubygems.org/--remove https://rubygems.org/
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
gem sources --add http://gems.ruby-china.org/ --remove https://rubygems.org/
gem sources -l --##查看源
gem sources –u --##更新源的缓存
#再进行更新:
update all ##更新全部应用
gem install bundler
gem install bundle
gem update bundler ---##更新bundler
Weiyigeek
切入到msfconsole及metasploit-framwork的中,在metasploit下执行:
代码语言:javascript复制bundle update
bundle install
应该会出现下面的错误
下一步-> 接着修改%Pentestbox%baserubylibrubygems2.3.0gemspcaprub-0.12.4extpcaprub_c下的extconf.rb文件,在pcap_libdir 和have_library之间添加两行代码:
代码语言:javascript复制$CFLAGS = "-I#{pcap_includedir}"
$LDFLAGS = "-L#{pcap_libdir}"
Weiyigeek
然后直接安装pcaprub 0.12.4 :gem install pcaprub -v '0.12.4' --source 'https://rubygems.org/'
安装完成后使用,有可能要下载其他依赖这时执行 bundle insatall 即可
下一步->由于WpdPack默认在C盘,但是作为渗透测试盒子,怎么可以不方便。这里的WpdPack路径可以修改。复制之前解压到C盘的WpdPack文件夹到PentestBox目录。C:PentestBoxbaserubylibrubygems2.3.0gemspcaprub-0.12.4extpcaprub_cextconf.rb
完成后执行:bundle install
问题4:MSF(metasploit)无法连接PostGreSql数据库?
Weiyigeek
在PentestBox的bincustomtoolscustomaliases进行修改 (F代表:pentest box整个路径)
其中 msfupdate = cd / d“%pentestbox_ROOT% (d代表:pentestbox文件路径) msfupdate = cd /d "%pentestbox_ROOT%binmetasploit-framework" * 下载PostgrepSQL::http://www.enterprisedb.com/products-services-training/pgdownload
安装
即可:
创建一个msf数据库切且postgres的用户;
修改binmetasploit-frameworkconfig 的database.yml?文件,更改以下代码并保存:
- database: msf //新建的数据库名称
- username: postgres //数据库用户
- password: passwod //数据库用户的密码
Weiyigeek
使用以下代码链接数据库:
代码语言:javascript复制db_connect postgres:密码@localhost/数据库名称
db_status
Weiyigeek
问题5:ettercap无法运行,缺少packet.dll.wpcap.dll ?
http://www.33lc.com/soft/32448.html http://www.3987.com/xiazai/1/18/43559.html#down
- 退出正在运行的所有程序,并将xapofx1_5.dll文件复制到系统目录下 Windows 95/98/Me系统,则复制到C:WINdowssystem32 目录下。Windows NT/2000系统,则复制到C:WINNTsystem32 目录下。Windows XP系统,则复制到C:WINdowssystem32 目录下。Windows 7/8系统,则复制到C:WINdowssystem32目录下。
- 单击开始,然后单击运行。
- 输入 regsvr32 xapofx1_5.dll,然后单击确定。wpcap.dll
- 当收到“DllRegisterServer in Rld.dll succeeded”即成功修复。
问题6:输入’beef‘命令,为什么会提示以下命令提示?
解答疑惑:因为你没去看官方文档,默认启动命令根本不是所谓的’beef‘,而是‘beefproject’,
代码语言:javascript复制{lamb} beefproject
C:PentestBoxbinbeef {git}
{lamb} Could not find addressable-2.4.0 in any of the sources
Weiyigeek
Weiyigeek
亲,文章就要看完了,不关注一下【全栈工程师修炼指南】吗?
问题7:PentestBox 面封装的atom 编辑器是无法输入汉语的,而且插件也会出现一些问题,比如minimap等得重新配置?
因为是国外开源项目的原因,有些配置不符合我们国内的本土风情,举个例子:解决方法:将自己原来的atom安装的文里件夹替换PentestBox里面的atom即可
C:UsersCTFAppDataLocalatomapp-1.12.6 (‘CTF’是我自己电脑的用户名)
Weiyigeek
问题8:PentestBox封装Burpsuite的是Free版本的,功能上自然比不上 国内的专业破解版的Burpsuite
解决方法:把专业版破解版的burpsuite替换进去,并重命名即可。
本文至此完毕,更多技术文章,尽情等待下篇好文!
原文地址: https://cloud.tencent.com/developer/article/2128561