CommunityPesquisa e Análise de Dadosgithub.com

yaklang/analise-de-cifras-classicas

Guia de análise de cifras clássicas. Use ao encontrar cifras de substituição, Vigenère, transposição, XOR ou texto codificado em desafios CTF que exigem análise de frequência, exame de Kasiski ou criptoanálise de texto claro conhecido.

O que é analise-de-cifras-classicas?

Esta skill, **yaklang/analise-de-cifras-classicas**, fornece um playbook abrangente para análise de cifras clássicas em desafios de CTF (Capture The Flag) ou engenharia reversa de textos codificados. Ela abrange a identificação e análise de cifras de substituição (simples, monoalfabéticas), Vigenère, cifras de transposição (como a de colunas), XOR (incluindo XOR de bloco único e repetitivo) e outras codificações como Base64. A skill é projetada para guiar o usuário desde a etapa de reconhecimento do tipo de cifra até a execução de ataques específicos, como análise de frequência para decifrar substituições simples, o exame de Kasiski para determinar o comprimento da chave em cifras de Vigenère, e a análise de correlação ou força bruta para XOR. Ela inclui dicas práticas sobre ferramentas de linha de comando (como `tr`, `sed`, Python com `pwntools` ou `Crypto`), scripts prontos para automatizar partes da análise, e estratégias de criptoanálise de texto claro conhecido. O conteúdo é modular e progressivo, adequado tanto para iniciantes quanto para analistas experientes, e não depende de plataformas específicas de agente de IA, sendo seu conhecimento acionável em qualquer ambiente de terminal ou script Python.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yaklang/hack-skills/tree/main/skills/classical-cipher-analysis

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que analise-de-cifras-classicas faz?

Playbook de análise de cifras clássicas. Use ao encontrar cifras de substituição, Vigenère, transposição, XOR ou texto codificado em desafios CTF que exigem análise de frequência, exame de Kasiski ou criptoanálise de texto claro conhecido.

Visão Geral

Este guia cobre técnicas fundamentais para decifrar cifras clássicas comuns em competições CTF. O objetivo é fornecer um fluxo de trabalho sistemático, desde a identificação do tipo de cifra até a recuperação da mensagem original.

Casos de Uso

  • Identificar o tipo de cifra a partir de características do texto cifrado (distribuição de caracteres, comprimento, padrões).
  • Decifrar cifras de substituição simples (monoalfabéticas) usando análise de frequência e correspondência de padrões.
  • Quebrar cifras de Vigenère determinando o comprimento da chave (método de Kasiski) e, em seguida, realizando análise de frequência por coluna.
  • Reverter cifras de transposição (como a de colunas) através de anagramas e busca por largura de grade.
  • Recuperar texto original de cifras XOR (especialmente XOR de bloco único ou repetitivo) usando suposições de texto claro conhecido e análise estatística.
  • Decodificar codificações comuns como Base64, Hex, ou Rot13, que frequentemente aparecem como parte de cifras mais complexas.

Fluxo de Trabalho Recomendado

  1. Observação: Analise a distribuição de caracteres, o comprimento do texto e a presença de espaços ou pontuações. Texto cifrado com distribuição uniforme de letras pode indicar Vigenère ou XOR; distribuição irregular sugere substituição simples.
  2. Identificação: Use ferramentas como python3 com collections.Counter para calcular frequências, ou tr e sed no terminal para manipulações rápidas.
  3. Análise Específica:
    • Substituição Simples: Compare a frequência das letras do cifrado com a frequência esperada do idioma (geralmente português ou inglês). Troque letças manualmente ou com scripts baseados em dicionários.
    • Vigenère: Aplique o teste de Kasiski para encontrar repetições no texto cifrado e calcular o comprimento da chave. Depois, para cada coluna (posição módulo a chave), execute análise de frequência separada.
    • Transposição: Tente reinserir o texto em uma grade de largura variável e leia por colunas. Use o comprimento do texto para estimar a largura da grade.
    • XOR: Se o texto claro é conhecido parcialmente, realize a operação XOR para recuperar a chave. Para XOR de chave única, tente força bruta sobre todos os valores de byte (0-255) e verifique a legibilidade.
  4. Verificação: Após a decodificação, verifique se o resultado é um texto inteligível no idioma esperado. Use verificadores ortográficos ou dicionários para confirmar.

Ferramentas e Recursos

  • Ambiente: Terminal com Python 3 e as bibliotecas pwntools (para XOR, codificações) e pycryptodome (para cifras clássicas).
  • Comandos Úteis:
    • cat cipher.txt | tr 'A-Z' 'a-z' para normalizar.
    • python3 -c "import sys; from collections import Counter; print(Counter(sys.stdin.read()))" para análise de frequência.
  • Scripts Prontos: Incluídos na pasta scripts/ (se aplicável) para automatizar Kasiski, força bruta XOR e decodificação de transposição.

Exemplo Prático

Dado o texto cifrado: FVBQR VF N TRARENY CEBTENZ (aparente cifra de César).

  1. Calcule a frequência: as letras mais comuns são 'R', 'N', 'E', 'B', 'F'.
  2. Suponha que o texto original está em português ou inglês (a letra 'E' é a mais comum). Tente um deslocamento de 13 (ROT13).
  3. Execute: echo 'FVBQR VF N TRARENY CEBTENZ' | tr 'A-Za-z' 'N-ZA-Mn-za-m'.
  4. Resultado: S I C I S I R L A S M A R Y (ou similar, dependendo da cifra).

Notas

  • A análise de frequência funciona melhor com textos longos (mais de 100 caracteres).
  • Para cifras curtas, use análise de padrões (palavras comuns, bigramas).
  • Mantenha um backup do texto cifrado original para comparar hipóteses.
  • Em desafios CTF, a cifra pode ser composta (ex.: Base64 + XOR). Procure por padrões de cabeçalho ou assinaturas.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

yaklang/401-403-bypass-techniques

401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths. Covers path manipulation, HTTP method tampering, header injection, protocol downgrade, and automated bypass tools.

yaklang/active-directory-acl-abuse

Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync rights, shadow credentials, LAPS reading, GPO abuse, and BloodHound-guided attack paths.

yaklang/active-directory-certificate-services

AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

yaklang/active-directory-kerberos-attacks

Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks.

yaklang/ai-ml-security

AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples, model poisoning, model stealing, data privacy attacks (membership inference, model inversion), and autonomous agent security risks.

yaklang/android-pentesting-tricks

Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection, root detection bypass, tapjacking, and backup extraction during authorized mobile security assessments.

yaklang/anti-debugging-techniques

Anti-debugging detection and bypass playbook. Use when reversing protected binaries that detect debuggers via ptrace, PEB flags, timing checks, or signal/exception handlers on Linux and Windows.

yaklang/api-auth-and-jwt-abuse

API authentication and JWT abuse playbook. Use when testing bearer tokens, API keys, claim trust, header spoofing, rate limits, and API auth boundary weaknesses.

yaklang/api-authorization-and-bola

API authorization and BOLA testing playbook. Use when APIs expose object identifiers, nested resources, hidden writable fields, or weak function-level authorization.

yaklang/api-recon-and-docs

API reconnaissance and documentation review playbook. Use when discovering endpoints, schemas, versions, OpenAPI specs, hidden docs, and surface area for API testing.

yaklang/api-sec

Entry P1 category router for API security. Use when choosing between API recon, authorization, token abuse, and hidden-parameter workflows before any deeper API topic skill.

yaklang/arbitrary-write-to-rce

Arbitrary write to RCE playbook. Use when you have an arbitrary write primitive (from heap exploitation, format string, or OOB write) and need to convert it into code execution by targeting GOT, hooks, _IO_FILE vtable, exit_funcs, TLS_dtor_list, modprobe_path, .fini_array, or C++ vtables.

yaklang/authbypass-authentication-flaws

Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.

yaklang/auth-sec

Entry P1 category router for authentication and authorization. Use when testing login flows, sessions, object authorization, JWT, OAuth, CORS, CSRF, and enterprise SSO weaknesses before any deeper auth topic skill.

yaklang/binary-protection-bypass

Binary protection bypass playbook. Use when identifying and bypassing ASLR, PIE, NX/DEP, stack canary, RELRO, FORTIFY_SOURCE, CET, and MTE protections in ELF binaries to enable exploitation.

yaklang/browser-exploitation-v8

Browser and V8 exploitation playbook. Use when exploiting JavaScript engine vulnerabilities including JIT type confusion, incorrect bounds elimination, and V8 sandbox bypass to achieve renderer RCE and sandbox escape in Chrome/Chromium.

yaklang/business-logic-vuln

Entry P1 category router for business logic testing. Use when workflow abuse, race conditions, pricing flaws, or multi-step state attacks matter more than parser-level input injection.

yaklang/business-logic-vulnerabilities

Business logic vulnerability playbook. Use when reasoning about workflows, race conditions, price manipulation, coupon abuse, state machines, and multi-step authorization gaps.

yaklang/clickjacking

Clickjacking playbook. Use when testing whether target pages can be framed, whether X-Frame-Options or CSP frame-ancestors are properly configured, and whether UI redress attacks can trigger sensitive actions.

yaklang/cmdi-command-injection

Command injection playbook. Use when user input may reach shell commands, process execution, converters, import pipelines, or blind out-of-band command sinks.

Habilidades Relacionadas