Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)35 mil · #5614

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/deobfuscating-powershell-obfuscated-malware/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/deobfuscating-powershell-obfuscated-malware/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-malware

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/deobfuscating-powershell-obfuscated-malware/SKILL.md -o SKILL.md
Conteú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, subprocess mó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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5614
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas