deobfuscating-powershell-obfuscated-malware
Faz seu agente desofuscar malware escrito em PowerShell, mesmo com múltiplas camadas de proteção. Recupera comandos ocultos e cargas úteis para análise.
O que ela faz
Esta ferramenta ajuda a desvendar códigos maliciosos escritos em PowerShell que foram escondidos (ofuscados). Ela analisa o código, executa partes dele de forma segura e usa outras ferramentas para revelar o que o código realmente faz, como roubar informações ou se comunicar com servidores maliciosos.
Quando usar
- ✓Quando você encontra um script PowerShell suspeito e quer saber o que ele faz.
- ✓Ao analisar um computador após um ataque para entender como o malware agiu.
- ✓Durante testes de segurança autorizados para ver se um sistema é vulnerável a esse tipo de ataque.
Exemplo do que pedir para a IA
“Desofusque este script PowerShell malicioso: [cole o script aqui]”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta analisa a estrutura do código PowerShell, identifica como ele foi escondido (usando codificação, junção de textos, etc.) e tenta reverter essas técnicas. Ela pode executar partes do código em um ambiente seguro para ver o resultado final.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill deobfuscating-powershell-obfuscated-malwareOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/deobfuscating-powershell-obfuscated-malware/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Desofuscando Malware PowerShell Ofuscado
Visão Geral
O PowerShell é amplamente abusado por autores de malware devido à sua profunda integração com o Windows e poderosas capacidades de script. As técnicas de ofuscação incluem concatenação de strings, codificação Base64, substituição de caracteres, camadas de Invoke-Expression, abuso de SecureString, manipulação de variáveis de ambiente e inserção de crases. Malware moderno usa múltiplas camadas de ofuscação que exigem desofuscação iterativa. Ferramentas como PSDecode, PowerDecode e PowerPeeler automatizam grande parte desse processo, enquanto a análise manual da AST (Abstract Syntax Tree) lida com ofuscação personalizada. O PowerPeeler atinge uma taxa de correção de desofuscação de 95% usando análise dinâmica em nível de instrução de nós AST relacionados a expressões.
Quando Usar
- Ao realizar testes de segurança autorizados que envolvam a desofuscação de malware PowerShell ofuscado
- Ao analisar amostras de malware ou artefatos de ataque em um ambiente controlado
- Ao conduzir exercícios de equipe vermelha ou engajamentos de teste de penetração
- Ao construir capacidades de detecção com base na compreensão de técnicas ofensivas
Pré-requisitos
- Python 3.9+ com
base64,re,subprocessmódulos - PowerShell 5.1+ ou PowerShell 7+ (para acesso à AST)
- PSDecode (
Install-Module PSDecode) - PowerDecode (https://github.com/Malandrone/PowerDecode)
- VM isolada ou sandbox para execução segura de scripts
- CyberChef para transformações manuais de codificação
- Compreensão da AST do PowerShell e padrões de Invoke-Expression
Conceitos Chave
Técnicas Comuns de Ofuscação
Malware PowerShell emprega ofuscação em camadas para evadir detecção estática. A concatenação de strings divide comandos entre variáveis ($a='In'+'voke'). A codificação Base64 envolve scripts inteiros em parâmetros -EncodedCommand. Arrays de códigos de caracteres usam casting [char] ([char[]](73,69,88)|%{$r+=$_}). O abuso de variáveis de ambiente lê substrings de caminhos $env:. A inserção de crases adiciona crases entre caracteres que o PowerShell ignora (Invoke-Expression`). A conversão de SecureString criptografa strings usando ConvertTo-SecureString com chaves embutidas.
Desofuscação Baseada em AST
A Abstract Syntax Tree do PowerShell expõe a estrutura analisada de scripts, independentemente da ofuscação de superfície. Ao percorrer a AST e avaliar nós de expressão, os analistas podem resolver strings concatenadas, decodificar valores codificados e reconstruir os comandos originais. O PowerPeeler usa essa abordagem em nível de instrução, monitorando o processo de execução para correlacionar nós AST com seus resultados avaliados.
Rastreamento de Execução Dinâmica
Ao substituir Invoke-Expression (IEX) por Write-Output, os analistas podem capturar com segurança o conteúdo do script desofuscado que normalmente seria executado. Essa técnica funciona em múltiplas camadas, substituindo iterativamente chamadas IEX até que o payload final seja revelado.
Fluxo de Trabalho
Etapa 1: Identificar Camadas de Ofuscação
#!/usr/bin/env python3
"""Identifica e classifica técnicas de ofuscação do PowerShell."""
import re
import base64
import sys
def analyze_obfuscation(script_content):
"""Identifica técnicas de ofuscação usadas em scripts do PowerShell."""
techniques = []
# Verifica comando codificado em Base64
b64_pattern = re.compile(
r'-[Ee](?:nc(?:odedcommand)?)\s+([A-Za-z0-9+/=]{20,})',
re.IGNORECASE
)
if b64_pattern.search(script_content):
techniques.append("Comando Codificado em Base64")
# Verifica FromBase64String
if re.search(r'\[Convert\]::FromBase64String', script_content, re.IGNORECASE):
techniques.append("FromBase64String Base64")
# Verifica concatenação de strings
concat_count = script_content.count("'+'") + script_content.count('"+"')
if concat_count > 3:
techniques.append(f"Concatenação de Strings ({concat_count} junções)")
# Verifica construção de array de caracteres
if re.search(r'\[char\]\s*\d+', script_content, re.IGNORECASE):
techniques.append("Array de Código de Caracteres")
# Verifica variantes de Invoke-Expression
iex_patterns = [
r'Invoke-Expression',
r'\bIEX\b',
r'\.\s*\(\s*\$',
r'&\s*\(\s*\$',
r'\|\s*IEX',
r'\|\s*Invoke-Expression',
]
for pattern in iex_patterns:
if re.search(pattern, script_content, re.IGNORECASE):
techniques.append(f"Variante Invoke-Expression: {pattern}")
# Verifica ofuscação com crase
tick_count = script_content.count('`')
if tick_count > 5:
…
Perguntas frequentes
O que é 'ofuscação' em código?
É como esconder uma mensagem embaralhando as letras ou usando códigos secretos. No PowerShell, os criadores de malware usam isso para dificultar a detecção do código malicioso por programas de segurança.
Por que o PowerShell é usado por malwares?
Porque o PowerShell é uma ferramenta poderosa que já vem instalada no Windows e pode fazer muitas coisas no sistema, o que o torna útil tanto para administradores quanto para atacantes.
É seguro usar esta ferramenta?
A ferramenta é projetada para ser usada em um ambiente seguro (como uma máquina virtual isolada) para evitar que o malware real cause danos. Ela tenta desvendar o código sem executá-lo de forma perigosa.
Detalhes
Descrição original do autor
Systematically deobfuscates multi-layer PowerShell malware using AST analysis, dynamic tracing, and tools like PSDecode and PowerDecode to reveal hidden payloads and C2 infrastructure. Use during incident response or malware analysis when a PowerShell script is obfuscated with encoding, string manipulation, or invocation tricks and you need to recover the underlying commands, dropped payloads, or
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5614
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC