
Un helper per la generazione di fingerprint per i template di rete di nuclei
Cattura coppie richiesta/risposta di pacchetti per una porta e/o un IP per facilitare la creazione di template Nuclei basati su protocolli di rete.
▶ network-fingerprint -h
Questo mostrerà l'aiuto per lo strumento. Di seguito puoi trovare tutti gli switch supportati:
| Flag | Descrizione | Example |
|---|---|---|
| iface | Interfaccia su cui eseguire la cattura (predefinita lo0) | network-fingerprint -iface eth0 |
| ip | IP per cui filtrare i pacchetti | network-fingerprint -ip 127.0.0.1 |
| port | Porta su cui catturare i pacchetti | network-fingerprint -port 27017 |
network-fingerprint richiede go1.17+ per installarsi correttamente e libpcap-dev installato sul sistema.
Per installare libpcap-dev:
▶ apt install -y libpcap-dev
▶ go install -v github.com/projectdiscovery/network-fingerprint@latest
Per eseguire lo strumento su un target e catturare il traffico su una porta, basta usare il seguente comando.
▶ network-fingerprint -port <port>
dove <port> è la porta per cui vuoi catturare il traffico.
Per filtrare anche per IP quando si opera su porte più comuni come la 80, dove c'è molto rumore, puoi usare il flag ip.
▶ network-fingerprint -port <port> -ip <destination-ip>
Ecco un blog dettagliato che mostra gli usi di network-fingerprint - https://blog.projectdiscovery.io/writing-network-templates-with-nuclei/
testing@local# network-fingerprint -port 27017 -ip 127.0.0.1
2021/04/08 23:15:07 network-fingerprint: nuclei-helper by @pdiscoveryio
2021/04/08 23:15:07 [device] en0 IP: 192.168.1.9
2021/04/08 23:15:07 [device] bridge100 IP: 192.168.64.1
2021/04/08 23:15:07 [device] lo0 IP: 127.0.0.1
{
"data": "\ufffd",
"hex": "dd",
"request": true
}
{
"data": "?\u0001",
"hex": "3f01",
"response": true
}
I messaggi di richiesta (Client verso Destinazione) hanno request: true, mentre le risposte (Destinazione verso Client) hanno response: true impostato per aiutare a identificare facilmente i fingerprint corretti.