填坑:PentestBox之工具名称搜索

PentestBox是我在Windows上很喜欢的一款移动渗透工具,我一直把它当做我的移动kali。所以我将很多自己常用的Python脚本和其他常用软件引入到PentestBox中。这导致现在PentestBox下工具很多,根本无法记得它们的名称。所以在使用的时候,还得去PentestBox目录查看它们的名称,这很浪费时间!这个问题我也是想了很多方法,也去了各个论坛提问。

方法一:list

list命令是PentestBox自带的命令,它可以列取某个模块下所有的工具。缺点是无法列取我们自定义引入的工具。不过Cra5h大佬在这个命令的基础上,修复了这个缺陷。大家可以去看一下他的文章,不失为一种解决思路。修复之后list可以列区我们引入的工具名称。

但list还是有硬伤,它是通列取模块下所有工具来找到目标工具名称。所以你得知道工具在那个模块下,同时该模块下如果工具很多,你还得从多工具名称中找到目标工具。

方法二:开启自动补全

使用kali的小伙伴对此应该深有体会:很多安全工具记不住它的名称,但通过TAB键能轻松补全。

PentestBox使用clink来实现自动补全,默认不启用,所以我们需要去setting中启用它。

图1-启动clink

可能有的童鞋启用时会报以下错误

图2-报错

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

开启之后,我们就可以

  • 输入burp,一个TAB就自动补全为burpsuite
  • 输入wire,一个TAB就自动补全为wireshark
  • ……

当然自动补全还是有一点硬伤,那就是如果你输入前几个字母是错误的,那么自动补全是无法补全出你想要的工具名称。所以我们继续填坑吧!

方法三:py大法

一直觉得搜索才能彻底解决这个问题。我认真观察了一下文件D:\PentestBox\config\aliases里保存有PentestBox自带工具名称,文件D:\PentestBox\bin\customtools\customaliases里保存有我们自定义引入的工具名称。所以可以写一个py脚本从这两个文件的内容中搜索出目标工具名称。

我自己写了一个小工具,可以把它引入到PentestBox中来实现PentestBox的搜索功能。代码虽然不是很多,但还是占点行数,所以我上传到了github。有兴趣的小伙伴可以下载玩玩。

github地址:https://github.com/c0ny1/pentestbox-search-tools

工具实现了:

  • 全词搜索
  • 模糊搜索
  • 通配符搜索
  • 是否区分大小写

图3-pentestbox-search-tools演示

方法四:通过编写lua脚本扩展clink实现搜索

方法三其实已经算是解决问题了,但是我还是觉得不完美。原谅我对优美如此执着。方法四是我目前觉得更完美的设想方案,不知道技术上是否能实现(我认为是可行的,哈哈)。如果能实现,我甚至建议PentestBox作者能在下一版本考虑一下集成这样的功能。

先说三个发现

  • 第一个发现,启用了clink之后,如果你按两次TAB键,clink是可以列取出PentestBox下所有工具名称(包括自带的和自定义的)。这说明clink是可以获取到PentestBox的所有工具名称。
  • 第二个发现,clink可以通ctr+r/ctr+s来搜索历史执行的命令,自更加坚定clink是可以实现搜索的。
  • 第三个发现,我看了clink的官方网站,说是可以通过编写lua脚本扩展clink。

由这三个发现我认为通过写lua脚本来实现clink的搜索功能,在技术上应该可行!无奈clink官方没有相关api文档,我暂时无法实现。

最后欢迎有想法的小伙伴留言,交流 如何实现PentestBox搜索工具名称功能?