[2.1. 区分大小写的搜索](#2.1. 区分大小写的搜索)
[2.2. 精确匹配](#2.2. 精确匹配)
[2.3. 严格搜索](#2.3. 严格搜索)
[3.1. 以JSON格式显示结果](#3.1. 以JSON格式显示结果)
[3.2. 允许利用标题溢出到其列中](#3.2. 允许利用标题溢出到其列中)
[3.3. 显示利用的完整路径](#3.3. 显示利用的完整路径)
[3.4. 显示更多输出信息](#3.4. 显示更多输出信息)
[3.5. 显示指向地址,而不是本地路径](#3.5. 显示指向地址,而不是本地路径)
[4.1. EXP的检查(即打开)利用](#4.1. EXP的检查(即打开)利用)
[4.2. 获取exp](#4.2. 获取exp)
[4.3. 帮助和更新](#4.3. 帮助和更新)
searchsploit
通过本地的 Exploit Database(EDB)数据库提供一个快速的搜索接口,允许用户在没有互联网连接的情况下,直接查找已知的漏洞和相应的利用脚本。这个工具是许多渗透测试人员和安全研究人员的必备利器,因为它不仅能帮助他们在渗透测试过程中提高效率,还能让他们了解已知的安全漏洞和它们的攻击方法。随着安全研究的不断深入,searchsploit
也持续更新,确保了用户能够访问到最新的漏洞和利用代码。
一、帮助手册
我们接下来就围绕着searchsploit 自身的帮助手册来对searchsploit 参数的使用进行讲解。
bash
Usage: searchsploit [options] term1 [term2] ... [termN]
==========
示例
==========
searchsploit afd windows local
searchsploit -t oracle windows
searchsploit -p 39446
searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"
searchsploit -s Apache Struts 2.0.0
searchsploit linux reverse password
searchsploit -j 55555 | jq
searchsploit --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. 区分大小写的搜索
bash
-c, --case [term] 执行区分大小写的搜索(默认是忽略大小写)
这里举一个示例,当我们区分大小写搜索包含小写openssl的exp的时候,前面的exp即便也有OpenSSL也不会输出。(默认是忽略大小写都输出的)
2.2. 精确匹配
bash
e, --exact [term] 执行精确匹配,并按照标题顺序匹配(默认是每个词的"与"匹配)
2.3. 严格搜索
bash
-s, --strict 执行严格搜索,输入值必须存在,禁用版本范围模糊搜索
2.4.仅根据特定exp和排除指定的值
bash
-t, --title [term] 仅搜索利用标题(默认是搜索标题和文件路径)
--exclude="term" 从结果中排除指定的值。可以通过 "|" 分隔多个值进行链式排除
例如 --exclude="term1|term2|term3"
--cve [CVE] 根据常见漏洞和暴露(CVE)编号进行搜索
-
-t是没啥用的,因为它默认就是模糊搜索标题
-
--exclude可以根据需要来进行一个排除,演示中就只排除了两个,实际使用中可以直接去排除高版本,如输入3.来排除所有的3.x的版本。
-
--cve让我们可以搜索这个cve漏洞所有的exp,演示图片中为脏牛exp。
三、结果的输出方式
3.1. 以JSON格式显示结果
bash
-j, --json [term] 以JSON格式显示结果
3.2. 允许利用标题溢出到其列中
bash
-o, --overflow [term] 允许利用标题溢出到其列中
3.3. 显示利用的完整路径
bash
-p, --path [EDB-ID] 显示利用的完整路径(并在可能的情况下将路径复制到剪贴板)
这里可以搜索exp的文件名来代替ID
3.4. 显示更多输出信息
bash
-v, --verbose 显示更多输出信息
3.5. 显示指向地址,而不是本地路径
bash
-w, --www [term] 显示指向 Exploit-DB.com 的URL,而不是本地路径
--id 显示EDB-ID值,而不是本地路径
--disable-colour 禁用搜索结果中的颜色高亮
四、非搜索操作
4.1. EXP的检查(即打开)利用
bash
-m, --mirror [EDB-ID] 将利用复制到当前工作目录
4.2. 获取exp
bash
-x, --examine [EDB-ID] 检查(即打开)利用,使用$PAGER进行查看
这个命令就是查看这个exp里面的内容,相当于不用复制exp就可以直接cat这个exp
4.3. 帮助和更新
bash
-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的联动
bash
--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
**的联动,您可以进一步提升漏洞扫描与利用的工作效率,从而更加快速和精准地发现潜在的安全风险。希望您能够灵活运用这些功能,提升自己的安全研究和渗透测试技能,确保在网络安全领域能够始终保持领先。