
Empire es un agente de post-explotación en PowerShell y Python.

Invoke-Obfuscation es un ofuscador de comandos y scripts de PowerShell compatible con PowerShell v2.0+.
En el otoño de 2015 decidí comenzar a investigar la flexibilidad del lenguaje de PowerShell y empecé a catalogar las diversas formas de llevar a cabo un puñado de técnicas comunes que la mayoría de los atacantes utilizan de forma regular.
Inicialmente centrándome en sintaxis de comandos codificados y descargas remotas (cradles), descubrí que varios caracteres de escape que no obstaculizaban la ejecución del comando persistían en los argumentos de la línea de comandos, tanto en el proceso en ejecución como en lo que se registra en los registros de eventos de Security EID 4688 y Sysmon EID 1.
Esto me llevó a explorar sistemáticamente formas de ofuscar cada tipo de "token" encontrado en cualquier comando o script de PowerShell.
Luego exploré formas más oscuras de realizar ofuscación a nivel de cadenas, varias técnicas de codificación/cifrado (como ASCII/hex/octal/binary e incluso SecureString), y finalmente técnicas de lanzamiento de PowerShell para abstraer los argumentos de la línea de comandos de powershell.exe y empujarlos de vuelta al proceso padre e incluso al abuelo.
Los atacantes y el malware comercial han comenzado a usar técnicas de ofuscación extremadamente básicas para ocultar la mayor parte del comando de los argumentos de la línea de comandos de powershell.exe. Desarrollé esta herramienta para ayudar al Equipo Azul a simular comandos ofuscados basados en lo que actualmente sé que es sintácticamente posible en PowerShell 2.0-5.0, para que puedan probar sus capacidades de detección de estas técnicas.
El único propósito de la herramienta es romper cualquier suposición que nosotros como defensores podamos tener sobre cómo los comandos de PowerShell pueden aparecer en la línea de comandos. Mi esperanza es que aliente al Equipo Azul a cambiar a buscar Indicadores de Ofuscación en la línea de comandos, además de actualizar el registro de PowerShell para incluir el registro de Módulos, ScriptBlock y Transcripción, ya que estas fuentes simplifican la mayoría de los aspectos de las técnicas de ofuscación generadas por esta herramienta.
Si bien todas las capas de ofuscación se han construido en scripts separados, la mayoría de los usuarios encontrarán que la función Invoke-Obfuscation es la forma más fácil de explorar y visualizar las técnicas de ofuscación que este marco admite actualmente.
El código fuente de Invoke-Obfuscation está alojado en Github, y puede descargarlo, bifurcarlo (fork) y revisarlo desde este repositorio (https://github.com/danielbohannon/Invoke-Obfuscation). Informe problemas o solicitudes de funciones a través del rastreador de errores de Github asociado con este proyecto.
Para instalar:
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation
Invoke-Obfuscation se publica bajo la licencia Apache 2.0.
v1.0 - 2016-09-25 DerbyCon 6.0 (Louisville, Kentucky, EE. UU.): Lanzamiento PÚBLICO de Invoke-Obfuscation.
v1.1 - 2016-10-09 SANS DFIR Summit (Praga, República Checa): Se agregó funcionalidad de reordenación del operador -f a todas las funciones de ofuscación TOKEN aplicables. También se agregaron opciones de sintaxis adicionales para establecer valores de variables.
v1.2 - 2016-10-20 CODE BLUE (Tokio, Japón): Se agregó ofuscación de TOKEN Tipo (casting directo de tipo con opciones de ofuscación de cadena para el nombre del tipo).
v1.3 - 2016-10-22 Hacktivity (Budapest, Hungría): Se agregaron dos nuevos LAUNCHERs: CLIP+ y CLIP++. También se agregó una sintaxis de conversión de caracteres de matriz adicional (y más simple) para todas las funciones ENCODING que no requiere For-EachObject/%.
v1.4 - 2016-10-28 BruCON (Gante, Bélgica): Se agregó una nueva función ENCODING BXOR. También se mejoró la aleatorización de mayúsculas/minúsculas para todos los componentes de todas las funciones ENCODING, así como para las banderas de ejecución de PowerShell para todos los LAUNCHERs. Finalmente, se agregó la opción abreviada -EP para -ExecutionPolicy a todos los LAUNCHERs, así como la representación entera opcional del flag de ejecución de PowerShell -WindowStyle: Normal (0), Oculto (1), Minimizado (2), Maximizado (3).
v1.5 - 2016-11-04 Blue Hat (Redmond, Washington, EE. UU.): Se agregó el LAUNCHER WMIC con cierta aleatorización de los argumentos de la línea de comandos de WMIC.
v1.6 - 2017-01-24 Blue Hat IL (Tel Aviv, Israel):
v1.7 - 2017-03-03 nullcon (Goa, India):
v1.8 - 2017-07-27 Black Hat (Las Vegas, Nevada, EE. UU.):