xeca es un proyecto que crea cargas útiles (payloads) de PowerShell cifradas con fines ofensivos.
También es posible crear código de shell independiente de la posición a partir de archivos DLL.
Instalar
En primer lugar, asegúrate de que Rust esté instalado, luego crea el proyecto con el siguiente comando:
cargo build
Cómo Funciona
- Identifica y cifra la carga útil. Carga la payload cifrada en un script de PowerShell y guárdalo en un archivo llamado “launch.txt”
- La clave para descifrar la carga útil se guarda en un archivo llamado “safe.txt”
- Ejecuta “launch.txt” en un host remoto
- El script volverá a llamar al servidor web definido por el atacante para recuperar la clave de descifrado “safe.txt”
- Descifra la carga útil prevista en la memoria
- Ejecuta la carga útil prevista en la memoria
Mitigaciones
Si los usuarios deben tener acceso a programas como powershell.exe, considera minimizar los riesgos de seguridad con Just Enough Administration y PowerShell Logging. Las políticas de control de aplicaciones se pueden implementar a través de una tecnología de listas blancas como AppLocker.
Ejemplos
Covenant
Covenant .NET assembly donut payload.

Empire
Empire PowerShell payload.

Merlin
Merlin DLL payload.

Silver
Sliver Shellcode payload

xeca (este enlace se abre en una nueva ventana) por postrequest (este enlace se abre en una nueva ventana)
PowerShell payload generator