windows下打造顺手的搬砖环境-PentestBox

字数:2k

推荐阅读时间:5min

前言

这是一篇给使用windows,但是找不到一个很好的渗透环境的萌新的文章。

其实在刚开始工作的时候,用windows系统干活总是觉得很麻烦,尤其是工具很多的情况下,比如用sqlmap,或者一些python脚本,用的大多是git的bash,但是它真的很丑,或者是cmd,复制粘贴不方便并且命令都是特有的,而powershell…..默认界面….真的有点丑。

一开始又经常是kali、windows双开的,但是我们通常又只需要用到kali的一两个小工具,同时两个系统目录文件不通总是有着各种各样的麻烦。每天都因此浪费大量的时间。

偷懒、觉得麻烦是解决问题的第一生产力。于是就想着能不能在 windows下有一个集成的、命令行的、用的是linux命令的、用的舒服的、长得好看的命令行。

于是——PentestBox

PentestBox

刚开始是yp老哥推荐的,一开始觉得也就还行吧马马虎虎,同时国内确实没有多少有关pentestBox的教程,有也就一笔带过,其实在使用的时候有很多的坑,有很多不去注意不会发现的好用功能,在自己摸索了一些也算是上手了之后,写出来分享给大家。

PentestBox,可以从官网中下载,毫无疑问装有MSF的版本,官网描述了它很多优点,这边就再补充他让我觉得最爽的一点:

  1. 可以很方便的自定义命令,越用越爽

我们在最后再详细解释,先来讲讲安装和一些环境问题的坑。

PentestBox安装与配置

安装

PentestBox默认安装是在C盘,理所当然安装乖乖地在C盘会为我们减少很多意料之外的麻烦,但是搞IT的一般都没法忍受东西被安装在C盘。

那么先来说说如果逆天改命,想要安装在D盘会遇上的一些坑点:

path与系统path不共享,导致系统命令无法找到

可能是自己把pentestbox移动到了D盘的原因,pentestbox中的path不与系统中的path共享
可以通过修改配置文件手动添加path

  1. 找到PentestBox\config\init.bat
  2. 搜索path,在后面添加上系统path全部路径
  3. 保存,重启pentestbox

这样,docker什么命令就都可以用了。
但是目前是静态配置,再修改windows path路径还要回来再改一下,不清楚如何动态配置,但也算是有用了呢

另一个坑 bundler

如果我们要在pentextbox中使用到ruby。如果安装在D盘下,ruby的一些包会没有用,比如bundler
需要在目录base ruby bin下修改对应的bundler.bat里面的C盘至D盘就可以了。

其他配置

安装完不同的系统会遇上一些不同的问题:比如最头疼的就是命令行无法显示中文。

命令行无法显示中文

PentestBox使用的是ConEmu命令行。

ConEmu命令行ls无法显示中文,解决:

  1. 打开settings面板,找到Startup -> Envrioment选项
  2. 在下面的文本框里添加一行:set LANG=zh_CN.UTF-8

中文.png

参考:https://blog.csdn.net/DpangD/article/details/79254951

命令行文字重叠

关闭Monospace然后重启。

重叠.png

命令补齐

非常重要的命令补齐,PentestBox不自带这个功能,我们使用ConEmu里面的Clink作为命令补齐

PentestBox补齐.png

如果报错了,只要根据提示去http://mridgers.github.oi/clink/下载clink,然后解压到
D:\PentestBox\vendor\conemu-maximus5\ConEmu\clink路径下,再次启动就不会报错了。

参考:http://gv7.me/articles/2018/pentestbox-search-tools/,选择了其中我觉得最方便的一种补齐方式,也觉得够用了。

Pentestbox使用

安装配置完成后,打开就是一个好看的命令行了,已经内置一些常用的工具,

  1. 比如sqlmap,nc,nmap、msfconsole、dnsrecon、dirsearch等等,直接敲命令就可以使用。想不到命令也可以使用tab补齐。

    同时,我们可以使用list命令可以查看环境中默认安装好的工具。

  2. 复制粘贴:选中文字即是复制,左键即粘贴,非常方便

  3. e.命令打开当前目录的资源管理器,可以快速打开windows目录进行操作

  4. shbash命令会打开linux命令行,这个命令行界面就会跟linux一毛一样。

  5. pentestbox会使用自己的独立的java、python环境。但是有时候会觉得几个环境会弄混。
    个人在配置好windows path环境下,默认直接可以用py -2py -3调用windows下的python;
    python2python3调用pentestbox里的python

Pentestbox软件管理

其中自带一个toolsmanager命令是可以进行一些默认工具的管理、添加、删除、更新。

比如下载whatweb、xsssniper、wafw00f等,安装、更新都有说明信息,就不赘述了。

Pentestbox aliases优化

下面进入正题,在"D:\PentestBox\config\aliases"这个文件中保存着一些命令缩写的配置文件。

我们可以根据自己的使用习惯进行相应的配置,因为我们可能经常会需要来修改添加这个aliases文件。

第一步先把打开这个aliases配置文件设置为config命令,我们使用vs code作为编辑器来打开

1
config="D:\VS Code\bin\code.cmd" "D:\PentestBox\config\aliases"

再手动把编辑器配置成命令吧

1
2
vscode="D:\VS Code\bin\code.cmd" $*
ty= D:\Typora\Typora.exe $*

其中$*为外部输入参数

这样vscode <文件名>就可以直接用编辑器打开

由于pentestbox中默认cd命令在windows环境下需要cd后,再手动换盘符。很麻烦。我们来自定义下cd完成直接跳转盘符。

1
cd= cd /d $*

还可以把经常要去的目录写成命令,比如去日常搬砖工具目录:

1
bzgj=cd /d "F:/BanZ"

自定义工具/命令

除了一些以上这些基础的优化。aliases文件还可以帮助我们不用再敲这些很长的命令。

比如在目录爆破的时候经常要换自定义字典,但是字典又要使用绝对路径,命令就变得很复杂,经常用到,但是用了忘,忘了找,找了敲,敲了忘,很浪费时间。这时候我们就可以在alases文件里面来构造dirsearch-x命令:

1
2
dirsearch-2=python3 "%pentestbox_ROOT%\bin\WebApplications\dirsearch\dirsearch.py" -w D:\PentestBox\bin\WebApplications\dirsearch\db\top10000.txt $*
dirsearch-3=python3 "%pentestbox_ROOT%\bin\WebApplications\dirsearch\dirsearch.py" -w D:\PentestBox\bin\WebApplications\dirsearch\db\raft-large-directories.txt $*

使用时只需要和dirsearch一样敲dirsearch-2 -u xxx -e jsp就可以默认换更全的字典进行爆破,而不用记这些不常用的命令。

除此之外,一些经常需要用的命令行工具,比如xray,每次都要切换目录,再:

1
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output .\output\123.html

很麻烦,直接写入命令到aliases:

1
xray-listen=cd /d E:\xray && xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output .\output\$*.html -new_console

-new_console为自动打开新窗口,就不用手动来 方便点

这时候只要指定一下文件名,即:xray-listen 文件名就可以直接运行起来。

再快速切换到xray结果目录:

1
xray-result=cd /d "E:\xray\output"

再比如命令很长的爬虫工具crawlergo,一样:

1
crawlergo=cd /d E:\xray\crawlergo && ./crawlergo.exe -c "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -t 20 -f smart --fuzz-path --robots-path --output-mode console --push-to-proxy http://127.0.0.1:7777/ $* -new_console

还有ysoserial的exploit模块:

1
ysoserial-exploit= java -cp F:\BanZ\java\ysoserial.jar ysoserial.exploit.$*

使用exploit模块就只需要

1
ysoserial-exploit JRMPListener 1199 CommonsCollections5 "calc"

就好了,但是还是觉得太长仍然可以继续修改aliases,直到你觉得舒服。

小结

每天找命令敲命令10分钟,再又忘记又找又敲,再又敲错又找又敲;

或者一个记事本里记一大堆命令,每次都打开,复制粘贴再改改改的日子。

你可以跟它说再见啦。

当然如果你还有让windows下的搬砖变得更加效率的办法,也欢迎跟我交流~

0731更新-java图形化工具过小

在使用图形化java工具的时候遇到一个问题,就是编写alias命令

fofa=java -jar "F:\BanZ\ForPentestBox\Fofa-collect\Fofa-collect.jar"

在命令行运行fofa的时候,虽然能够正常打开但是打开的图形化界面不会根据当前电脑的分辨率来放大,导致字体很小

实际上这个问题是因为java使用的是环境中的java,而不是电脑中的安装java所导致的,当然具体底层原理就不细究了。

fofa="D:\Java\jdk1.8.0_241\jre\bin\java.exe" -jar "F:\BanZ\ForPentestBox\Fofa-collect\Fofa-collect.jar"

这样改一下JAVA的路径就可以了。

参考

https://blog.csdn.net/DpangD/article/details/79254951

http://gv7.me/articles/2018/pentestbox-search-tools/

膜拜高中生:https://0chen.live/2017/08/31/%E6%AF%94PentestBox%E5%B1%8C%E7%9C%8B%E6%88%91%E5%A6%82%E4%BD%95%E6%89%93%E9%80%A0%E9%AB%98%E6%95%88%E7%8E%87%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83%E4%BB%A5%E5%8F%8A%E5%85%B6%E4%BB%96%E4%BC%98%E5%8C%96/