一、帮助手册
二、搜索的参数
2.1. 区分大小写的搜索
2.2. 精确匹配
2.3. 严格搜索
2.4.仅根据特定exp和排除指定的值
三、结果的输出方式
3.1. 以JSON格式显示结果
3.2. 允许利用标题溢出到其列中
3.3. 显示利用的完整路径
3.4. 显示更多输出信息
3.5. 显示指向地址,而不是本地路径
四、非搜索操作
4.1. EXP的检查(即打开)利用
4.2. 获取exp
4.3. 帮助和更新
五、使用示例
六、nmap和searchsploit的联动
结语
searchsploit
通过本地的 Exploit Database(EDB)数据库提供一个快速的搜索接口,允许用户在没有互联网连接的情况下,直接查找已知的漏洞和相应的利用脚本。这个工具是许多渗透测试人员和安全研究人员的必备利器,因为它不仅能帮助他们在渗透测试过程中提高效率,还能让他们了解已知的安全漏洞和它们的攻击方法。随着安全研究的不断深入,searchsploit
也持续更新,确保了用户能够访问到最新的漏洞和利用代码。
一、帮助手册
我们接下来就围绕着searchsploit 自身的帮助手册来对searchsploit 参数的使用进行讲解。
Usage: searchsploit [options] term1 [term2] ... [termN]==========示例
==========searchsploit afd windows localsearchsploit -t oracle windowssearchsploit -p 39446searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"searchsploit -s Apache Struts 2.0.0searchsploit linux reverse passwordsearchsploit -j 55555 | jqsearchsploit --cve 2021-44228更多示例,请参见手册: https://www.exploit-db.com/searchsploit=========选项
=========
## 搜索词-c, --case [term] 执行区分大小写的搜索(默认是忽略大小写)-e, --exact [term] 执行精确匹配,并按照标题顺序匹配(默认是每个词的“与”匹配)例如 "WordPress 4.1" 不会匹配 "WordPress Core 4.1"-s, --strict 执行严格搜索,输入值必须存在,禁用版本范围模糊搜索例如 "1.1" 将不会匹配 "1.0 < 1.3"-t, --title [term] 仅搜索利用标题(默认是搜索标题和文件路径)--exclude="term" 从结果中排除指定的值。可以通过 "|" 分隔多个值进行链式排除例如 --exclude="term1|term2|term3"--cve [CVE] 根据常见漏洞和暴露(CVE)编号进行搜索## 输出-j, --json [term] 以JSON格式显示结果-o, --overflow [term] 允许利用标题溢出到其列中-p, --path [EDB-ID] 显示利用的完整路径(并在可能的情况下将路径复制到剪贴板)-v, --verbose 显示更多输出信息-w, --www [term] 显示指向 Exploit-DB.com 的URL,而不是本地路径--id 显示EDB-ID值,而不是本地路径--disable-colour 禁用搜索结果中的颜色高亮## 非搜索操作-m, --mirror [EDB-ID] 将利用复制到当前工作目录-x, --examine [EDB-ID] 检查(即打开)利用,使用$PAGER进行查看## 非搜索操作-h, --help 显示帮助屏幕-u, --update 检查并安装任何 ExploitDB 包的更新(支持brew, deb 和 git)## 自动化--nmap [file.xml] 检查Nmap的XML输出中的所有结果与服务版本例如:nmap [host] -sV -oX file.xml=======注意事项
=======* 可以使用任意数量的搜索词* 默认情况下,搜索词不区分大小写,顺序无关,并且会搜索版本范围* 使用 '-c' 以进行区分大小写的搜索* 使用 '-e' 进行精确匹配* 使用 '-s' 查找精确版本匹配* 使用 '-t' 排除文件路径来过滤搜索结果* 排除假阳性结果(特别是搜索数字时,例如版本号)* 使用 '--nmap' 时,添加 '-v'(详细模式)将搜索更多的组合* 更新或显示帮助时,搜索词将被忽略
二、搜索的参数
2.1. 区分大小写的搜索
-c, --case [term] 执行区分大小写的搜索(默认是忽略大小写)
这里举一个示例,当我们区分大小写搜索包含小写openssl的exp的时候,前面的exp即便也有OpenSSL也不会输出。(默认是忽略大小写都输出的)
2.2. 精确匹配
e, --exact [term] 执行精确匹配,并按照标题顺序匹配(默认是每个词的“与”匹配)
2.3. 严格搜索
-s, --strict 执行严格搜索,输入值必须存在,禁用版本范围模糊搜索
2.4.仅根据特定exp和排除指定的值
-t, --title [term] 仅搜索利用标题(默认是搜索标题和文件路径)--exclude="term" 从结果中排除指定的值。可以通过 "|" 分隔多个值进行链式排除例如 --exclude="term1|term2|term3"--cve [CVE] 根据常见漏洞和暴露(CVE)编号进行搜索
-
-t是没啥用的,因为它默认就是模糊搜索标题
-
--exclude可以根据需要来进行一个排除,演示中就只排除了两个,实际使用中可以直接去排除高版本,如输入3.来排除所有的3.x的版本。
-
--cve让我们可以搜索这个cve漏洞所有的exp,演示图片中为脏牛exp。
三、结果的输出方式
3.1. 以JSON格式显示结果
-j, --json [term] 以JSON格式显示结果
3.2. 允许利用标题溢出到其列中
-o, --overflow [term] 允许利用标题溢出到其列中
3.3. 显示利用的完整路径
-p, --path [EDB-ID] 显示利用的完整路径(并在可能的情况下将路径复制到剪贴板)
这里可以搜索exp的文件名来代替ID
3.4. 显示更多输出信息
-v, --verbose 显示更多输出信息
3.5. 显示指向地址,而不是本地路径
-w, --www [term] 显示指向 Exploit-DB.com 的URL,而不是本地路径--id 显示EDB-ID值,而不是本地路径--disable-colour 禁用搜索结果中的颜色高亮
四、非搜索操作
4.1. EXP的检查(即打开)利用
-m, --mirror [EDB-ID] 将利用复制到当前工作目录
4.2. 获取exp
-x, --examine [EDB-ID] 检查(即打开)利用,使用$PAGER进行查看
这个命令就是查看这个exp里面的内容,相当于不用复制exp就可以直接cat这个exp
4.3. 帮助和更新
-u, --update 检查并安装任何 ExploitDB 包的更新(支持brew, deb 和 git)
-h, --help 显示帮助屏幕
-
可以自己执行试试
-
searchsploit -u
-
searchsploit -h
-
五、使用示例
拿Kioptrix Level 1靶场来演示,拿nmap扫描端口和版本,相关文档一篇文章带你理解nmap的使用-nmap使用手册
搜索mod_ssl的exp,然后用-m参数移动到当前目录。
查看使用方法,这时候的终端是gcc编译的地方,只需要修改里面的exp名字。
有些许警告可以忽略,警告是蓝色只要不报错就可以了
可以发现当前目录出现了一个47080可执行文件,执行一下看需要什么参数。
根据exp提示,用grep搜索可用版本的索引,对靶机进行攻击。
使用示例就到这里了,后面还有提权操作看相关文章类OCSP靶场-Kioptrix系列-Kioptrix Level 1
六、nmap和searchsploit的联动
--nmap [file.xml] 检查Nmap的XML输出中的所有结果与服务版本例如:nmap [host] -sV -oX file.xml
拿刚才使用示例的靶机来演示
-
nmap -sT -sV -O --min-rate 10000 -p- 192.168.150.128 -oX file.xml
-
searchsploit --nmap file.xml
结语
通过本手册的学习,您已经掌握了 searchsploit
的各种搜索功能和操作技巧,包括如何区分大小写、精确匹配、严格搜索等多种搜索方式,以及如何根据特定需求排除无关的结果。我们还介绍了如何以不同格式展示搜索结果,如 JSON 格式、完整的路径信息等,帮助您更高效地查找漏洞与利用代码。
同时,我们也探讨了非搜索操作的使用,包括如何检查漏洞的可利用性、获取漏洞利用代码和查看帮助与更新信息。这些功能将有助于您在渗透测试与漏洞验证中更加得心应手。
最后,通过结合 nmap
与 searchsploit
的联动,您可以进一步提升漏洞扫描与利用的工作效率,从而更加快速和精准地发现潜在的安全风险。希望您能够灵活运用这些功能,提升自己的安全研究和渗透测试技能,确保在网络安全领域能够始终保持领先。