
Empire é um agente de pós-exploração em PowerShell e Python.

Invoke-Obfuscation é um ofuscador de comandos e scripts PowerShell compatível com PowerShell v2.0+.
No outono de 2015, decidi começar a pesquisar a flexibilidade da linguagem PowerShell e comecei a catalogar as várias maneiras de realizar um conjunto de técnicas comuns que a maioria dos atacantes usa regularmente.
Inicialmente focando em sintaxes de comando codificado e cradle de download remoto, descobri que vários caracteres de escape que não atrapalhavam a execução do comando persistiam nos argumentos da linha de comando, tanto no processo em execução quanto no que é registrado nos logs de eventos Security EID 4688 e Sysmon EID 1. Isso me levou a explorar sistematicamente maneiras de ofuscar cada tipo de 'token' encontrado em qualquer comando ou script PowerShell.
Depois explorei maneiras mais obscuras de realizar ofuscação em nível de string, várias técnicas de codificação/criptografia (como ASCII/hex/octal/binário e até SecureString) e, finalmente, técnicas de lançamento do PowerShell para abstrair os argumentos da linha de comando do powershell.exe e empurrá-los de volta para o processo pai e até mesmo avô.
Atacantes e malwares comerciais começaram a usar técnicas de ofuscação extremamente básicas para esconder a maior parte do comando dos argumentos da linha de comando do powershell.exe. Desenvolvi esta ferramenta para ajudar a Equipe Azul a simular comandos ofuscados com base no que atualmente sei ser sintaticamente possível no PowerShell 2.0-5.0, para que possam testar suas capacidades de detecção dessas técnicas.
O único propósito da ferramenta é quebrar quaisquer suposições que nós, como defensores, possamos ter sobre como comandos PowerShell podem aparecer na linha de comando. Espero que isso incentive a Equipe Azul a mudar para a busca de Indicadores de Ofuscação na linha de comando, além de atualizar o log do PowerShell para incluir logs de Módulo, ScriptBlock e Transcrição, pois essas fontes simplificam a maioria dos aspectos das técnicas de ofuscação geradas por esta ferramenta.
Embora todas as camadas de ofuscação tenham sido construídas em scripts separados, a maioria dos usuários achará a função Invoke-Obfuscation a maneira mais fácil de explorar e visualizar as técnicas de ofuscação que este framework suporta atualmente.
O código-fonte do Invoke-Obfuscation está hospedado no Github, e você pode baixá-lo, criar forks e revisá-lo a partir deste repositório (https://github.com/danielbohannon/Invoke-Obfuscation). Por favor, reporte problemas ou solicitações de funcionalidades através do rastreador de bugs do Github associado a este projeto.
Para instalar:
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation
Invoke-Obfuscation é lançado sob a licença Apache 2.0.
v1.0 - 2016-09-25 DerbyCon 6.0 (Louisville, Kentucky, EUA): Lançamento Público do Invoke-Obfuscation.
v1.1 - 2016-10-09 SANS DFIR Summit (Praga, República Tcheca): Adicionada funcionalidade de reordenação do operador de formato -f a todas as funções de ofuscação TOKEN aplicáveis. Também foram adicionadas opções de sintaxe adicionais para definir valores de variáveis.
v1.2 - 2016-10-20 CODE BLUE (Tóquio, Japão): Adicionada ofuscação de TOKEN de Tipo (conversão direta de tipo com opções de ofuscação de string para o nome do tipo).
v1.3 - 2016-10-22 Hacktivity (Budapeste, Hungria): Adicionados dois novos LAUNCHERs: CLIP+ e CLIP++. Também foi adicionada sintaxe adicional (e mais simples) de conversão de array de caracteres para todas as funções de ENCODING que não requer For-EachObject/%.
v1.4 - 2016-10-28 BruCON (Ghent, Bélgica): Adicionada nova função de ENCODING BXOR. Também melhorada a aleatoriedade de maiúsculas/minúsculas para todos os componentes de todas as funções de ENCODING, bem como para os flags de execução do PowerShell para todos os LAUNCHERs. Finalmente, adicionada a opção abreviada -EP para -ExecutionPolicy a todos os LAUNCHERs, bem como a representação opcional em inteiro do flag de execução -WindowStyle do PowerShell: Normal (0), Hidden (1), Minimized (2), Maximized (3).
v1.5 - 2016-11-04 Blue Hat (Redmond, Washington, EUA): Adicionado LAUNCHER WMIC com alguma aleatorização dos argumentos da linha de comando do WMIC.
v1.6 - 2017-01-24 Blue Hat IL (Tel Aviv, Israel):
v1.7 - 2017-03-03 nullcon (Goa, Índia):
v1.8 - 2017-07-27 Black Hat (Las Vegas, Nevada, EUA):