Exploit-DB (网址:https://www.exploit-db.com) 是一个漏洞库网站 ,存储了大量的漏洞利用程序,可以帮助安全研究者和渗透测试工程师更好的进行安全测试工作,目前是世界上公开收集漏洞最全的数据库,该仓库每天都会更新。
searchsploit 是一个用于搜索 Exploit-DB 漏洞数据的命令行工具(Kali默认已安装),可以离线搜索 Exploit 数据库,这对于有时候不能联网的渗透工作非常的有用。
更新数据库
searchsploit -u
查看帮助信息
searchsploit -h
Usage: searchsploit [options] term1 [term2] ... [termN]
==========
Examples
==========
searchsploit afd windows local
searchsploit -t oracle windows
searchsploit -p 39446
searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"
searchsploit linux reverse password
=========
Options
=========
-c, --case [Term] 执行区分大小写的搜索 (默认是不敏感)。
-e, --exact [Term] 对漏洞标题执行精确匹配(默认是和)[Implies "-t"].
-h, --help 显示这个帮助屏幕。
-j, --json [Term] 以JSON格式显示结果
-m, --mirror [EDB-ID] 将漏洞镜像复制到当前工作目录。
-o, --overflow [Term] 允许利用标题溢出它们的列。
-p, --path [EDB-ID] 显示攻击的完整路径(如果可能,还将路径复制到剪贴板)。
-t, --title [Term] 只搜索攻击标题(默认是标题和文件的路径)。
-u, --update 检查并安装任何的开发包更新(deb或git)。
-w, --www [Term] 显示url到Exploit-DB.com,而不是本地路径。
-x, --examine [EDB-ID] 使用$PAGER检查漏洞使用方式。
--colour 在搜索结果中禁用颜色高亮。
--id 显示EDB-ID值,而不是本地路径。
--nmap [file.xml] 使用服务版本(例如:Nmap -sV -oX file.xml)检查Nmap XML输出中的所有结果。使用“-v”尝试更多的组合
--exclude="term" 从结果中排除。通过使用“|”进行分隔,可以将多个值链接起来。e.g. --exclude="term1|term2|term3".
查找漏洞
1、基本搜索:
查找特定词的漏洞:
searchsploit afd windows local
searchsploit使用AND运算符,而不是OR运算符。 使用的术语越多,将滤除的结果越多。
专家提示:如果您没有收到预期的结果,请尝试使用更一般的术语进行更广泛的搜索。
例如:Kernel 2.6.25 -> Kernel 2.6 // Kernel 2.x
提示:请不要使用缩写
例如:SQLi -> SQL Injection
2、标题搜索 -t
默认情况下,searchsploit将检查漏洞的标题以及路径。 根据不同的搜索条件,这可能会弹出误报。可以使用 -t
选项将搜索限制为标题:
searchsploit -t oracle windows
3、管道输出(删除不需要的结果)
searchsploit的输出可以通过管道传输到任何其他程序,这在以JSON格式为输出结果(使用-j
选项)时特别有用。 有了这个,可以通过使用 grep 删除任何不必要的 exploit。 在以下示例中,我们使用grep去掉目录为/dos/的结果:
searchsploit XnView | grep -v '/dos/'
4、复制路径 -p
找到了漏洞文件名后(39446是该漏洞的ID号),可以通过-p
选项快速复制路径。
searchsploit -p 39446.py
or
searchsploit -p 39446
5、复制到文件夹 -m
建议不要更改数据库的本地副本中的漏洞利用。我们可以把脚本复制到一个文件夹中。
searchsploit -m 39446 39525
可以一次保存多个,默认是当前目录下,也可以指定目录
6、Exploit-DB在线 -w
使用 -w
选项就可以看见 exploit 在Exploit-DB上的URL:
searchsploit WarFTP 1.65 -w