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
IMDSpoof — IMDSPOOF es una herramienta de engaño cibernético que falsifica el servicio AWS IMDS para devolver HoneyTokens que pueden ser alertados. | Kitploit
Herramientas/GitHubGitHub/grahamhelton/imdspoof
Herramientas DefensivasSeguridad en la NubeRespuesta a Incidentes
GitHubgrahamhelton/imdspoof

IMDSpoof

IMDSPOOF es una herramienta de engaño cibernético que falsifica el servicio AWS IMDS para devolver HoneyTokens que pueden ser alertados.

Ver Repositorio
1064hace 2 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

IMDSPOOF

IMDSPOOF es una herramienta de ciberdecepción que suplanta el servicio IMDS de AWS. Una forma en que los atacantes pueden escalar privilegios o moverse lateralmente en un entorno en la nube es recuperando claves de acceso de AWS desde el servicio IMDS en el endpoint http://169.254.169.254/latest/meta-data/iam/security-credentials/<usuario>. Esta herramienta suplanta ese endpoint y redirige el tráfico enviado a 169.254.169.254 a un servidor web local que sirve datos falsos. Esto puede aprovecharse para detecciones altamente ajustadas insertando tokens honey de AWS en la respuesta de la IMDS suplantada.

IMDSPOOF

¿Para quién es?

Esta herramienta está pensada para ser usada por equipos azules en instancias AWS que NO estén usando activamente el IMDS (versión 1 o 2).

Desde la perspectiva de un atacante, no tiene idea de si el IMDS está siendo usado en la instancia EC2 en la que se encuentra. El objetivo de IMDSPOOF es engañar a un atacante que aterriza en tu entorno en la nube para que piense que está interactuando con un servicio IMDS legítimo.

⚠️ Advertencia ⚠️

Una vez más, si las aplicaciones que se ejecutan en tu instancia EC2 están usando el servicio IMDS, ¡esta herramienta causará problemas!

Pruébalo

Para probar IMDSPOOF en un entorno de prueba, crea una instancia EC2 y asegúrate de que iptables esté instalado (yum install iptables-services si usas Amazon Linux).

  • Compila y ejecuta IMDS.go (Cómo compilar código Go)
  • Para probar el aspecto de la salida, ejecuta curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2-admin
  • Deberías ver la siguiente salida:
root@kitploit:~
{
  "Code": "Success",
  "Message": "The request was successfully processed.",
  "LastUpdated": "2023-11-22T03:33:51Z",
  "Type": "AWS-HMAC",
  "AccessKeyId": "InsertHoneyToken",
  "SecretAccessKey": "InsertHoneyToken",
  "Token": "HoneyToken",
  "Expiration": "2023-11-22T09:33:51Z"
}

  • Para revertir los cambios del comando anterior de iptables, ejecuta lo siguiente: iptables -t nat -D OUTPUT -p tcp -d 169.254.169.254 --dport 80 -j DNAT --to-destination 127.0.0.1:54321

Personalización

Para que esto sea útil, debes cambiar las variables al inicio del archivo IMDS.go para que parezcan más reales. Recomiendo encarecidamente colocar tokens honey en el archivo. Puedes dejar la variable token como está o cambiarla por una personalizada.

  • Cambia estas variables al inicio de IMDS.go por lo que quieras que se devuelva al acceder a http://169.254.169.254/latest/meta-data/iam/security-credentials/ec2-admin
root@kitploit:~
var accessKey string = "InsertHoneyToken"
var secretAccessKey string = "InsertHoneyToken"
var token string = "IQoJb3Jpz2cXpQRkpVX3Uf////////////xMdLZHNjb<snip>"

Obteniendo HoneyTokens

El equipo de Thinkst Canary tiene una herramienta maravillosa que te permite generar fácilmente credenciales AWS que generarán una alerta al usarse.

  1. Visita CanaryTokens
  2. Selecciona AWS Keys, ingresa un correo electrónico para que llegue la alerta y una nota sobre para qué es la alerta

Pasted image 20231124171011

  1. Anota el honeytoken proporcionado
root@kitploit:~
aws_access_key_id = AKIA....
aws_secret_access_key = uZF0y/l5X....
  1. Dentro del código fuente de IMDS.go, reemplaza las variables accessKey y secretAccessKey con los valores aws_access_key_id y aws_secret_access_key que te proporcionó CanaryTokens.

Pasted image 20231124171422

  1. Compila IMDS.go. IMDS ahora devolverá los tokens honey cuando se consulte el IMDS.

Pasted image 20231124172134

  1. Espera a que un atacante intente usar las credenciales

Pasted image 20231124172935

  1. Alerta por correo electrónico de Canary Token

Pasted image 20231124173123

Ejecutar al inicio

Ejecutar IMDSPOOF al inicio se puede hacer fácilmente creando un servicio systemd y habilitándolo.

  • Crea un archivo de servicio: sudo vim /etc/systemd/system/IMDS.service (Puedes nombrarlo de otra manera más sigilosa si lo deseas, pero los siguientes comandos systemctl esperan que el servicio se llame IMDS.service)
  • Agrega lo siguiente al archivo IMDS.service recién creado
root@kitploit:~
[Unit]
# Cambia esto por otra cosa si lo deseas
Description=IMDSPOOF 

# Después de que las dependencias estén disponibles
After=multi-user.target

[Service]
# Tipo de servicio
Type=simple

# Comando para ejecutar el programa del servicio
ExecStart=/bin/IMDS

# Usuario bajo el cual ejecutar el servicio
User=root

# Reiniciar si el servicio falla
Restart=always

# Retardo de reinicio en segundos
RestartSec=10

[Install]
# Habilitar el servicio al arrancar
WantedBy=multi-user.target
  • Asegúrate de que el binario IMDS esté en el directorio /bin/: sudo mv IMDS /bin/
  • Habilita el servicio para que se inicie al arrancar: sudo systemctl enable IMDS
  • Inicia el servicio ahora: sudo systemctl start IMDS
  • Verifica que todo funcione correctamente con: sudo systemctl status IMDS

¿Funciona esto con SSRF?

¡Sí! Debido a la forma en que IMDSpoof manipula las iptables en la instancia EC2, no importa de dónde provenga el tráfico. Esto significa que, además de funcionar a través de la utilidad curl en la instancia EC2, IMDSpoof también funciona si se encuentra una vulnerabilidad SSRF a través de una aplicación web alojada en la instancia EC2. Usando la siguiente aplicación vulnerable del blog de AlexanderHose sobre pruebas de penetración en IMDS, podemos explotar la vulnerabilidad SSRF, lo que también devolverá las credenciales falsas de IMDSpoof.

Pasted image 20231124180610

Revertir

  • Para detener el servicio systemd: sudo systemctl stop IMDS
  • Para evitar que el servicio systemd se ejecute al inicio: sudo systemctl disable IMDS
  • Para revertir los cambios que IMDSPOOF hace en iptables, ejecuta el siguiente comando: iptables -t nat -D OUTPUT -p tcp -d 169.254.169.254 --dport 80 -j DNAT --to-destination 127.0.0.1:54321
Descargar herramienta