Invoke-CradleCrafter Screenshot

Introdução

Invoke-CradleCrafter é um PowerShell v2.0 + compatível PowerShell download remoto gerador de berço e ofuscador.

fundo

Na queda de 2016 depois de lançar Invoke-Obfuscation, continuei atualizando minha planilha de berços de download remoto do PowerShell pensando que um dia eu poderia adicionar um menu “selector de berço” em Invoke-Obfuscation. Esta lista consistia em berços que eram obscuros para mim, e muitos dos quais não eram previsivelmente (ou em tudo) observados na natureza.

No entanto, uma vez que Invoke-Obfuscation foi projetado para ofuscar qualquer comando ou script arbitrário do PowerShell, existem certas técnicas de ofuscação que eu sabia que eu precisava incluir no que diz respeito à construção de berços personalizados que não eram viáveis ​​para incluir em Invoke-Obfuscation.

Este foi o ponto que me levou a mudar esta pesquisa de berço em um projeto separado, embora você sempre possa tirar o resultado do Invoke-CradleCrafter e incorporá-lo em Invoke-Obfuscation e continuar a diversão. Como o Invoke-CradleCrafter é muito mais controlado, ele me permitiu incluir técnicas de ofuscação que são completamente diferentes de qualquer técnica encontrada em Invoke-Obfuscation.

Algumas das novas técnicas de ofuscação nesta ferramenta incluem ofuscação de token através da enumeração do tipo de dados e da combinação de caracteres curinga, e a reordenação da estrutura de comando, introduzindo variáveis ​​adicionais e sintaxes variáveis.

Por fim, a ferramenta suporta mais de 10 sintaxes de invocação que se estendem para além do Invoke-Expression e IEX mais prevalente.

Objetivo

Invoke-CradleCrafter existe para ajudar equipes azuis e equipes vermelhas a explorar, gerar e ofuscar facilmente os berços de download remoto do PowerShell. Além disso, ajuda as equipes azuis a testar a eficácia das detecções que podem funcionar para o resultado produzido por Invoke-Obfuscation, mas pode ficar aquém ao lidar com Invoke-CradleCrafter, uma vez que não contém nenhuma concatenação de cordas, codificações, marcações, seleção de tipos, etc. .

Outro componente importante desta pesquisa e desenvolvimento de ferramentas foi efetivamente realçar o comportamento de alto nível e os artefatos deixados para trás quando cada berço é executado. Tentei destacar esta informação quando entro um novo tipo de berço nos menus interativos da ferramenta.

Em última análise, saber mais sobre o comportamento e os artefatos de cada berço ajudará a equipe azul a detectar melhor esses berços. Este conhecimento também deve beneficiar o Red Teamer em fazer seleções mais informadas sobre quais berços usar em um determinado cenário.

Uso

Enquanto todos os berços podem ser produzidos ao chamar diretamente a função Out-Cradle, a complexidade das peças em movimento para todos os componentes obfusados ​​empilhados torna a utilização da função Invoke-CradleCrafter a maneira mais fácil de explorar e visualizar as sintaxes do berço e técnicas de ofuscação Que esse framework atualmente oferece suporte.

Instalação

O código-fonte do Invoke-CradleCrafter está hospedado no Github e você pode baixar, garfo e revisá-lo a partir deste repositório ( https://github.com/danielbohannon/Invoke-CradleCrafter ).Informe os problemas ou solicitações de recursos através do rastreador de erros do Github associado a este projeto.

Para instalar:

Import-Module ./Invoke-CradleCrafter.psd1 Invoke-CradleCrafter
Anúncios