
Uno strumento di automazione che scansiona sottodomini, sub-domain takeover, poi filtra XSS, SSTI, SSRF e altri parametri di punti di injection e scansiona automaticamente alcune vulnerabilità semplici da trovare.
Ho creato questo strumento per automatizzare la mia fase di ricognizione e risparmiare tempo. Era davvero fastidioso dover sempre digitare comandi e poi aspettare che un comando finisse per poterne digitare un altro. Così ho raccolto alcuni degli strumenti più usati nel campo del bug bounty. Questo script utilizza Assetfinder, subfinder, amass, httpx, sublister, gauplus e gf patterns, e poi sfrutta dirsearch, dalfox, nuclei e kxss per trovare alcune vulnerabilità semplici.
Lo script prima enumera tutti i sottodomini del dominio target usando assetfinder, sublister, subfinder e amass, poi filtra i domini attivi dall'intera lista di sottodomini, quindi estrae i titoli dei sottodomini con httpx e successivamente esegue una scansione per takeover di sottodomini con nuclei. Dopodiché usa gauplus per estrarre i parametri dai sottodomini forniti e applica gf patterns per filtrare i parametri vulnerabili a XSS, SSTI, SSRF, SQLi, e infine cerca vulnerabilità semplici. Alla fine salva tutto l'output in un file di testo come target-xss.txt e invia notifiche sulla scansione tramite notify.
Novità nella v4.0: risolti alcuni problemi precedenti, rimossi i falsi positivi che facevano perdere tempo (dovete trovarli manualmente) e aggiunto il dorking.

Requisiti: Go Language e Python 3.
Requisiti di sistema: Si consiglia di eseguirlo su un VPS con 1VCPU e 2GB RAM.
Strumenti utilizzati - Devi installare questi strumenti per usare lo script
subfinder •
sublist3r •
gf patterns •
dnsx •
assetfinder •
httpx •
kxss •
nuclei •
dalfox •
anew •
notify •
•
•
•
•
•
•
•
•
•
•
#Assicurati di essere root prima di installare lo strumento
garud:~ sudo su
garud:~ apt install git
garud:~ git clone https://github.com/R0X4R/Garud.git && cd Garud/ && chmod +x garud install.sh && mv garud /usr/bin/ && ./install.sh
Nota: Se incontri problemi nell'esecuzione del file
install.sho digarud, eseguised -i -e 's/\r$//' install.sh
█▀▀▀ █▀▀█ █▀▀█ █░░█ █▀▀▄
█░▀█ █▄▄█ █▄▄▀ █░░█ █░░█
▀▀▀▀ ▀░░▀ ▀░▀▀ ░▀▀▀ ▀▀▀░
[GARUD] == UNA SUITE DI RICOGNIZIONE PER BUG BOUNTY (@R0X4R)
Esempio di utilizzo:
garud [-d dominio.tld] [-x domini da escludere] [--json] [-s]
Flags:
-d, --domain string Aggiungi il tuo target -d dominio.tld
-x, --exclude string Escludi domini fuori dal perimetro -x /home/domini.list
Flags Opzionali:
-s, --silent Nascondi l'output nel terminale Default: False
-j, --json Salva l'output in un unico file json Default: False
-v, --version Stampa la versione corrente di Garud
Correggere errori durante l'uso o l'installazione di Garud
garud:~ chmod +x install.sh && ./install.sh
Error: ./install.sh : /bin/bash^M : bad interpretor: No such file or directory
# risoluzione
garud:~ sed -i -e 's/\r$//' install.sh
Puoi anche copiare l'errore e cercarlo su Google: questo migliorerà le tue capacità di debugging ;)
Esempi di utilizzo
# garud -d hackerone.com
Escludi domini fuori dal perimetro
# echo test.hackerone.com > ossdomain.txt
# garud -d hackerone.com -x ~/ossdomain.txt
Con tutti i flags
# garud -d hackerone.com -j -s -x /home/oss.txt
Nascondi l'output nel terminale
# garud -d hackerone.com -s
Salva l'output in un singolo file json
# garud -d hackerone.com -s -j
# cd hackerone
# cat output.json | jq
{
"nuclei_critical": [],
"vuln_crlf": [],
"dalfox": [
"[POC][V][GET][inATTR-double(3)-URL] http://subdomain.target.tld/hpp?pp=FUZZ%22onpointerout%3Dconfirm.call%28null%2C1%29+class%3Ddalfox+",
----------------------snip----------------------
"subdomains": [
"sub.target.tld",
"tub.target.tld",
"subdomain.target.tld"
],
"vuln_xss": [
"[POTENTIAL XSS] - http://subdomain.target.tld/hpp/?pp=%22%3E%2F%3E%3Csvg%2Fonload%3Dconfirm%28document.domain%29%3E ",
"[POTENTIAL XSS] - http://subdomain.target.tld:80/hpp/?pp=%22%3E%2F%3E%3Csvg%2Fonload%3Dconfirm%28document.domain%29%3E ",
"[POTENTIAL XSS] - http://subdomain.target.tld:80/hpp/index.php?pp=%22%3E%2F%3E%3Csvg%2Fonload%3Dconfirm%28document.domain%29%3E "
]
}
Docker
Contribuito da @frost19k
Questa immagine deve essere costruita con Buildkit
garud:~ git clone https://github.com/R0X4R/Garud.git
garud:~ cd Garud
garud:~ docker buildx build -t garud -f Dockerfile .
Per eseguire il container
garud:~ docker run -t --rm \
-v "/percorso/sulla/host":"/output" \ # Monta la cartella di output dell'host su "/output"
-v "/percorso/delle/config":"/Garud/.config/notify" \ # Monta i file di configurazione di Notify su "/Garud/.config/notify"
garud -d hackerone.com
Garud viene eseguito come root all'interno del container, quindi è consigliabile configurare i namespace Linux
@slack •
@discord •
@telegram •
configure-notify
@aboul3la @tomnomnom @lc @hahwul @projectdiscovery @maurosoria @shelld3v @devanshbatham @michenriksen @defparam @projectdiscovery
Grazie a tutti i collaboratori contributors.md
Avvertenza: Questo codice è stato creato originariamente per uso personale; genera un volume di traffico considerevole, usalo con cautela.