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.
Tabla de Contenido
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.
https://github.com/cobbr/Covenant
Empire
Empire PowerShell payload.
https://github.com/bc-security/empire
Merlin
Merlin DLL payload.
https://github.com/Ne0nd0g/merlin
Silver
Sliver Shellcode payload
https://github.com/BishopFox/sliver
https://github.com/postrequest/xeca