引言
通过一些技术手段(比如前几篇文章介绍的信息搜集),掌握到一些软件的版本信息应该如何利用呢?举个栗子:我们通过一些手段得知目标系统的软件版本是tomcat 6.0.18,就可以到tomcat的补丁升级上面去找这个版本之前的补丁,研究其中的漏洞,然后再去利用漏洞。这个思路可行,但是工作量太大了。那有没有这么一个工具,输入软件的关键字,直接给出相应的漏洞呢。答案是有,而且还买一送一,还把漏洞利用的攻击脚本贡献上。它就是searchsploit。
searchsploit
Exploit-db是Kali linux 官方团队维护的一个安全项目,存储了大量的漏洞利用程序,是公认的世界上最大的搜集漏洞的数据库。它的在线版本是https://www.exploit-db.com/ ,离线版本是:https://github.com/offensive-security/exploit-database 。而searchsploit可以利用exploit-db提供的数据库进行离线搜索,加上参数又可以到exploit-db.com上进行在线搜索。可以帮助安全研究者和渗透测试工程师更好的进行安全测试工作。Kali Linux或者其他的渗透测试系统默认安装了searchsploit,因此本文不再讲其安装过程。使用方法是使用终端,键入其语法。
语法
searchsploit [options] term1 [term2] ... [termN]
searchsploit [选项] 关键字1 [关键字2] ... [关键字N]
选项
-c, --case[Term]执行区分大小写的搜索,缺省是对大小写不敏感。
-e, --exact [Term]对exploit标题执行EXACT匹配(默认为AND)
-h, --help在屏幕上显示帮助
-j, --json[Term]以JSON格式显示结果
-m, --mirror [EDB-ID]将一个漏洞利用镜像(副本)到当前工作目录,后面跟漏洞ID号
-o, --overflow [Term]Exploit标题被允许溢出其列
-p, --path[EDB-ID]显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号
-t, --title[Term]仅仅搜索漏洞标题(默认是标题和文件的路径)
-u, --update检查并安装任何exploitdb软件包更新(deb或git)
-w, --www [Term]显示Exploit-DB.com的URL而不是本地路径(在线搜索)
-x, --examine[EDB-ID]使用$ PAGER检查(副本)漏洞利用
-v --verbose 显示更多的输出信息
--colour在搜索结果中禁用颜色突出显示.
--id显示EDB-ID值而不是本地路径
--nmap[file.xml]使用服务版本检查Nmap XML输出中的所有结果(例如:nmap -sV -oX file.xml)
使用实例
漏洞更新
searchsploit -u
基本搜索
基本搜索会同时匹配标题和路径中的内容
如:searchsploit smb windows remote
标题搜索
标题搜索只匹配标题,不会对路径中的关键词进行匹配
如:searchsploit -t smb windows remote
联网搜索
searchsploit EternalBlue
复制到文件夹
不建议在本地的漏洞数据库中修改exp,建议使用-m参数复制那些有用的到当前的工作目录
如:searchsploit -m 42031.py
复制到剪贴板
-p参数可以获取更多关于该漏洞的信息,以及将完整的路径复制到剪贴板上(如果可能的话)
如:searchsploit -p 42031.py
删除不想要的结果
使用--exclude=选项删除不想要的结果
如:searchsploit smb windows remote --exclude="(POC)|txt"
利用管道输出(删除不想要的结果的另一种方法)
如:searchsploit smb windows remote | grep rb 只显示rb文件
最后
查询关键字使用的是AND运输,关键字越多,过滤的也就越多,结果也就越准确;使用名称搜索最好是使用全称;如果要搜索微软的漏洞,可以直接使用searchsploit 搜索微软漏洞名称或者漏洞的编号和名字。
领取专属 10元无门槛券
私享最新 技术干货