打造个人专属的渗透工具箱
成品工具箱:https://download.csdn.net/download/phfred/23836979
虽然现在有PentestBox渗透工具箱但是国外制作的一款工具箱,国内使用体验不好,首先是它已经是两年前发布的了,好多工具太老,有些工具无法更新比如metasploit官方不建议更新
虽然它有些工具还在更新但是通过他的tools manager更新需要翻墙才可以而且比较慢,不太方便
所以我打算做一款自己的专属渗透工具箱
下载, 安装Cmder
我研究了一下PentestBox它是基于ConEmu开发的
而Cmder也是基于ConEmu开发的, 而且Cmder集成了git和Cilnk还有vim
所以我们使用Cmder为基础来打造专属工具箱
Cmder官网:https://cmder.net/
官网提供两种版本:mini版和完整版
我们下载完整版
下载好后我们解压, 以管理员身份运行Cmder.exe
出现这个界面点Download下载, 更新一下
然后提示重启一下,就可以了
现在可以看到Cmder的文件夹下有这些文件
我们去config文件夹下可以看到配置文件也生成了
定制Cmder
定制Cmder我们需要一些东西:
- 一个logo==.ico格式==
- 一款本地IDE
第一步 定制logo
我们需要一个logo.ico文件
没有的可以去做一个
这里推荐两个在线制作logo的网站:
- hatchfull:https://hatchful.shopify.com/zh-CN/
- logaster:https://www.logaster.cn/
也可以找一个喜欢的图片然后转换格式
这里推荐一个在线格式转换网站:aconver https://www.aconvert.com/
我们需要把logo放到icons文件夹下(我的logo名是how.ico)
第二步 定制exe执行文件
现在我们要做一个专属的exe可执行文件
-
给你的工具箱取一个名字; 我打算叫它PentesTools ,然后把Cmder的文件夹名字换了
-
在Cmder.exe文件夹下创建一个PentesTools.bat文件(工具名.bat下面我就都直接用我的工具名了)
-
编辑它,保存
@echo off SET PentesTools_ROOT=%CD% start %CD%/\vendor\conemu-maximus5/ConEmu.exe /Icon "%PentesTools_ROOT%\icons\how.ico" /Title "PentesTools" /LoadCfgFile "%PentesTools_ROOT%\config\user-ConEmu.xml"
这里我们先设置一个path
启动\vendor\conemu-maximus5/文件夹下的ConEmu.exe文件
加载我们的how.ico
设置标题为PentesTools
加载\config文件夹下的user-ConEmu.xml文件(这个是ConEmu的配置文件)
-
在创建一个PentesTools.cs文件,编辑保存
using System; using System.Diagnostics; using System.IO; //C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:winexe /out:C:\Users\howhacker\Desktop\PentesTools\PentesTools.exe /win32icon:C:\Users\howhacker\Desktop\PentesTools\icons\how.ico C:\Users\howhacker\Desktop\PentesTools\PentesTools.cs namespace PentesTools { static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { string startbp_seconde = "PentesTools.bat"; if (File.Exists("config.cfg")) { Exec(startbp_seconde); } else { string first = "PentesTools.bat"; Exec(first); } } static void Exec(string cmd) { Process p = new Process(); //设置要启动的应用程序 p.StartInfo.FileName = "cmd.exe"; //是否使用操作系统shell启动 p.StartInfo.UseShellExecute = false; // 接受来自调用程序的输入信息 p.StartInfo.RedirectStandardInput = true; //输出信息 p.StartInfo.RedirectStandardOutput = true; // 输出错误 p.StartInfo.RedirectStandardError = true; //不显示程序窗口 p.StartInfo.CreateNoWindow = true; //启动程序 p.Start(); //向cmd窗口发送输入信息 p.StandardInput.WriteLine(cmd+ "&exit"); p.StandardInput.AutoFlush = true; //获取输出信息 string strOuput = p.StandardOutput.ReadToEnd(); //等待程序执行完退出进程 //p.WaitForExit(); p.Close(); } } }
-
生成PentesTools.exe
打开CMD,输入第四行的注释,回车运行
里面的路径需要自己改一下
可以看到我们的PentesTools.exe就做好了我们可以删除Cmder.exe了
第三步 修改配置文件
既然是我们自己专属的工具箱那里面的配置就要用我们自己的path,自己的logo,自己的title
我们需要用到本地IDE,推荐使用VScode(它的搜索可以区分大小写)
-
修改\vendor\init.bat
- 搜索CMDER全部改成PentesTools
- 搜索cmder全部改成pentestools
-
修改\vendor\clink.lua
- 搜索CMDER全部改成PentesTools
- 搜索cmder全部改成pentestools
- 搜索Cmder全部改成PentesTools
-
修改\vendor\ConEmu.xml.default; 和\config\ConEmu.xml
- 搜索Cmder全部改成PentesTools
- 搜索CMDER全部改成PentesTools
- 搜索cdmer全部改成how
-
修改\vendor\cmder_exinit
- 搜索cmder全部改成pentestools
- 搜索Cmder全部改成PentesTools
- 搜索CMDER全部改成PentesTools
-
修改\vendor\profile.ps1
- 搜索CMDER全部改成PentesTools
- 搜索Cmder全部改成PentesTools
- 搜索cmder全部改成pentestools
-
修改\vendor\user_aliases.cmd.default ; 和\config\user_aliases.cmd
把cmderr=cd /d "%CMDER_ROOT%"修改成pentestools=cd /d “%PentesTools_ROOT%”
-
修改\vendor\user_profile.cmd.default; 和\config\user_profile.cmd
把:: set "PATH=%CMDER_ROOT%\vendor\whatever;%PATH%"改成:: set “PATH=%PentesTools_ROOT%\vendor\whatever;%PATH%”
这里可以不改不影响使用
-
修改\vendor\user_profile.ps1.default
- 搜索CMDER全部改成PentesTools
- 搜索Cmder全部改成PentesTools
- 搜索cmder全部改成pentestools
-
修改\vendor\user_profile.sh.default
搜索CMDER全部改成PentesTools
-
修改\vendor\lib\lib_base.cmd
- 搜索CMDER全部改成PentesTools
- 搜索cmder全部改成pentestools
-
lib_path.cmd
- 搜索cmder全部改成pentestools
好了到此就全部修改完成了
我们可以打开PentesTools.exe看看效果了
第四步 设置你的专属工具箱
下面设置一下我们的PentesTools
语言改成中文,把自动更新去掉
外观栏里把滚动条隐藏, 隐藏标题, 去掉搜索栏
标签栏里标签页设置一直显示, 标签页双击行为选择Close tab
在确认栏里确认动作全部去掉,关闭确认全部去掉
在任务栏里在cmd和PowerShell四个任务的命令组的命令后面添加==-new_console:d:%USERPROFILE%/Desktop==
在环境里加上set LANG=zh_CN.UTF-8和set LC_ALL=zh_CN.utf8解决中文乱码
保存设置然后重启PentesTools
关于它的其他美化这里就不讲了,有需要的可以百度,一搜一大把
制作工具箱
制作好了我们的框架下面我们就来制作我们的专属工具箱吧
配置环境
我们的使用一些工具会需要特定的语言环境
我用到了Python环境, Java环境, ruby环境
我配置了wget环境,strawberry-perl环境
-
新建一个base文件夹专门放我们的环境
-
然后把我们的Python环境, Java环境, Ruby环境, strawberry-perl环境, wget环境放进去
-
把我们的环境添加到PATH里
在\config\user_profile.cmd里加上 set "PATH=%PentesTools_ROOT%\base\python;%PentesTools_ROOT%\base\python3;%PentesTools_ROOT%\base\Ruby27\bin;%PentesTools_ROOT%\base\ruby\bin;%PentesTools_ROOT%\base\ruby_devkit\bin;%PentesTools_ROOT%\base\ruby_devkit\mingw\bin;%PentesTools_ROOT%\base\jdk8\bin;%PentesTools_ROOT%\base\jdk8\jre\bin;%PentesTools_ROOT%\base\jdk8\jre\lib;%PentesTools_ROOT%\base\jdk11\bin;%PentesTools_ROOT%\base\jdk11\jre\bin;%PentesTools_ROOT%\base\jdk11\jre\lib;%PentesTools_ROOT%\base\jdk16\bin;%PentesTools_ROOT%\base\jdk16\jre\bin;%PentesTools_ROOT%\base\jdk16\jre\lib;%PentesTools_ROOT%\base\strawberry-perl\perl\bin;%PentesTools_ROOT%\base\strawberry-perl\c\bin;%PentesTools_ROOT%\base\strawberry-perl;%PentesTools_ROOT%\base\wget;%PATH%" exit /b
-
打开PentesTools看看效果
好的现在我们的环境都配置完了
添加工具, 配置别名
环境配置好了那就得加入我们的渗透工具了
我们把工具都放在bin文件夹下
然后我们需要配置一下\config\user_aliases.cmd
:: user_aliase.cmd格式
:: exe文件
nmap="%PentesTools_ROOT%\bin\InformationGathering\nmap\nmap.exe" $*
:: .py文件
sqlmap1.5=python3 "%PentesTools_ROOT%\bin\WebVulnerabilityScanners\SqlMap\sqlmap-1.5\sqlmap.py" $*
:: .pl文件
vbscan=portableshell "%PentesTools_ROOT%\bin\WebVulnerabilityScanners\vbscan\vbscan.pl" $*
:: .jar文件
burpsuite_community=java -jar --illegal-access=permit "%PentesTools_ROOT%\bin\WebVulnerabilityScanners\BurpSuite\burpsuite_community\burpsuite_community_v2021.8.3.jar" $*
:: .rb文件
msf5console=cd /d "%PentesTools_ROOT%\bin\ExploitationTools\metasploit-framework5\" $T ruby "%PentesTools_ROOT%\bin\ExploitationTools\metasploit-framework5\msfconsole" $*
:: 有的时候文件无法启动需要cd /d 到文件路径下启动用$T连接两个命令
好了现在我们的专属渗透工具箱就做好了
参考: https://github.com/cmderdev/cmder/blob/master/README.md
https://docs.pentestbox.org/