Introduction
The Exploit Database is an archive of public exploits and corresponding vulnerable software, developed by penetration testers and vulnerability researchers. It is the most comprehensive collection of exploits, shellcode and papers gathered through different sources. Exploit Database is available for free and very easy to use and navigate. It also comes with SearchSploit utility, which will help you search through repository.
Exploit Database Git Repository: SearchSploit
Exploit Database is updating on a daily basis, but you can always check some additional resources in binary exploits repository. Look for exploits in the /exploit/
directory, and for shellcode in the /shellcode/
directory.
SearchSploit is a command line search tool, included in the Exploit database on Git Repository, which allows you to perform off-line searches. You can take a copy of Exploit Database with you, wherever you go. This is very useful for security assessments on networks without Internet access. You just need to make sure you’ve checked both repositories if you are without Internet access on an assessment, since many exploits links to the binary files.
SearchSploit Requirements
- CoreUtils (
bash
,sed
,grep
,awk
, etc.) git
: for self-updating functionxmllint
: for Nmap XML option (libxml2-utils
package in Debian-based systems)
Install
Kali-Linux:
Exploit-DB/SearchSploit is already packaged inside of Kali-Linux, by default. Just run the following:
root@kali:~# apt -y install exploitdb
To install the additional packages, exploitdb-paperes and exploitdb-bin-sploits, run:
root@kali:~# apt -y install exploitdb-bin-sploits exploitdb-papers
Linux:
Clone it from the git repository:
$ git clone https://github.com/offensive-security/exploitdb.git /opt/exploitdb
Then include SearchSploit into your $PATH
, to make it easier for usage. You also need to edit config file to reflect the git $PATH
:
$ sed 's|path_array+=(.*)|path_array+=("/opt/exploitdb")|g' /opt/exploitdb/.searchsploit_rc > ~/.searchsploit_rc $ sudo ln -sf /opt/exploitdb/searchsploit /usr/local/bin/searchsploit
Apple OS X/macOS:
If you have homebrew installed, just run the following:
user@MacBook:~$ brew update && brew install exploitdb
Update
ExploitDB and SearchSploit are updated regularly. If you’re on Kali Linux, on a weekly basis, but if you’re using git or homebrew you can expect updates on a daily basis.
Just run the following:
$ searchsploit -u
Usage
To see all available options and features, type -h
:
root@kali:~# 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 For more examples, see the manual: https://www.exploit-db.com/searchsploit/ ========= Options ========= -c, --case [Term] Perform a case-sensitive search (Default is inSEnsITiVe). -e, --exact [Term] Perform an EXACT match on exploit title (Default is AND) [Implies "-t"]. -h, --help Show this help screen. -j, --json [Term] Show result in JSON format. -m, --mirror [EDB-ID] Mirror (aka copies) an exploit to the current working directory. -o, --overflow [Term] Exploit titles are allowed to overflow their columns. -p, --path [EDB-ID] Show the full path to an exploit (and also copies the path to the clipboard if possible). -t, --title [Term] Search JUST the exploit title (Default is title AND the file's path). -u, --update Check for and install any exploitdb package updates (deb or git). -w, --www [Term] Show URLs to Exploit-DB.com rather than the local path. -x, --examine [EDB-ID] Examine (aka opens) the exploit using $PAGER. --colour Disable colour highlighting in search results. --id Display the EDB-ID value rather than local path. --nmap [file.xml] Checks all results in Nmap's XML output with service version (e.g.: nmap -sV -oX file.xml). Use "-v" (verbose) to try even more combinations --exclude="term" Remove values from results. By using "|" to separated you can chain multiple values. e.g. --exclude="term1|term2|term3". ======= Notes ======= * You can use any number of search terms. * Search terms are not case-sensitive (by default), and ordering is irrelevant. * Use '-c' if you wish to reduce results by case-sensitive searching. * And/Or '-e' if you wish to filter results by using an exact match. * Use '-t' to exclude the file's path to filter the search results. * Remove false positives (especially when searching using numbers - i.e. versions). * When updating or displaying help, search terms will be ignored.
Basic Search
You can also add any number of search terms you wish to look for:
root@kali:~# searchsploit afd windows local --------------------------------------------------------------------------------------- ------------------------------------------ Exploit Title | Path | (/usr/share/exploitdb/) --------------------------------------------------------------------------------------- ------------------------------------------ Microsoft Windows (x86) - 'afd.sys' Local Privilege Escalation (MS11-046) | exploits/windows_x86/local/40564.c Microsoft Windows - 'AfdJoinLeaf' Local Privilege Escalation (MS11-080) (Metasploit) | exploits/windows/local/21844.rb Microsoft Windows - 'afd.sys' Local Kernel (PoC) (MS11-046) | exploits/windows/dos/18755.c Microsoft Windows 7 (x64) - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040) | exploits/windows_x86-64/local/39525.py Microsoft Windows 7 (x86) - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040) | exploits/windows_x86/local/39446.py Microsoft Windows XP - 'afd.sys' Local Kernel Denial of Service | exploits/windows/dos/17133.c Microsoft Windows XP/2003 - 'afd.sys' Local Privilege Escalation (K-plugin) (MS08-066) | exploits/windows/local/6757.txt Microsoft Windows XP/2003 - 'afd.sys' Local Privilege Escalation (MS11-080) | exploits/windows/local/18176.py --------------------------------------------------------------------------------------- ------------------------------------------ Shellcodes: No Result root@kali:~#