Crypto-CTF-Workflow
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Triage-Checkliste
- Identifiziere, was du hast: encoding vs encryption vs hash vs signature vs MAC.
- Bestimme, was kontrolliert wird: plaintext/ciphertext, IV/nonce, key, oracle (padding/error/timing), partial leakage.
- Klassifiziere: symmetric (AES/CTR/GCM), public-key (RSA/ECC), hash/MAC (SHA/MD5/HMAC), classical (Vigenere/XOR).
- Führe zuerst die wahrscheinlichsten Prüfungen durch: decode layers, known-plaintext XOR, nonce reuse, mode misuse, oracle behavior.
- Steige nur bei Bedarf auf fortgeschrittene Methoden um: lattices (LLL/Coppersmith), SMT/Z3, side-channels.
Online-Ressourcen & Hilfsmittel
Diese sind nützlich, wenn die Aufgabe in Identifikation und Schichtentfernung (layer peeling) besteht oder wenn du eine Hypothese schnell bestätigen möchtest.
Hash lookups
- Google den Hash (überraschend effektiv).
- https://crackstation.net/
- https://md5decrypt.net/
- https://hashes.org/search.php
- https://www.onlinehashcrack.com/
- https://gpuhash.me/
- http://hashtoolkit.com/reverse-hash
Identification helpers
- CyberChef (Magic, decodieren, konvertieren): https://gchq.github.io/CyberChef/
- dCode (ciphers/encodings Spielwiese): https://www.dcode.fr/tools-list
- Boxentriq (Substitutions-Löser): https://www.boxentriq.com/code-breaking
Practice platforms / references
- CryptoHack (praktische Crypto-Challenges): https://cryptohack.org/
- Cryptopals (klassische moderne Crypto-Fallen): https://cryptopals.com/
Automated decoding
- Ciphey: https://github.com/Ciphey/Ciphey
- python-codext (probiert viele bases/encodings): https://github.com/dhondta/python-codext
Encodings & klassische Chiffren
Technique
Viele CTF-Crypto-Aufgaben sind geschichtete Transformationen: base encoding + simple substitution + compression. Ziel ist, die Schichten zu identifizieren und sie sicher zu entfernen.
Encodings: try many bases
Wenn du geschichtete Encodings vermutest (base64 → base32 → …), probiere:
- CyberChef “Magic”
codext(python-codext):codext <string>
Gängige Hinweise:
- Base64:
A-Za-z0-9+/=(Padding=ist häufig) - Base32:
A-Z2-7=(oft viel=Padding) - Ascii85/Base85: dichte Interpunktion; manchmal in
<~ ~>eingeschlossen
Substitution / monoalphabetic
- Boxentriq cryptogram solver: https://www.boxentriq.com/code-breaking/cryptogram
- quipqiup: https://quipqiup.com/
Caesar / ROT / Atbash
- Nayuki auto breaker: https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript
- Atbash: http://rumkin.com/tools/cipher/atbash.php
Vigenère
Bacon cipher
Erscheint oft als Gruppen von 5 Bits oder 5 Buchstaben:
00111 01101 01010 00000 ...
AABBB ABBAB ABABA AAAAA ...
Morse
.... --- .-.. -.-. .- .-. .- -.-. --- .-.. .-
Runen
Runen sind häufig Substitutionsalphabete; suche nach “futhark cipher” und probiere Zuordnungstabellen.
Kompression in challenges
Technik
Kompression tritt ständig als zusätzliche Schicht auf (zlib/deflate/gzip/xz/zstd), manchmal verschachtelt. Wenn die Ausgabe sich fast parsen lässt, aber wie Müll aussieht, vermute Kompression.
Schnelle Erkennung
file <blob>- Auf Magic-Bytes prüfen:
- gzip:
1f 8b - zlib: often
78 01/9c/da - zip:
50 4b 03 04 - bzip2:
42 5a 68(BZh) - xz:
fd 37 7a 58 5a 00 - zstd:
28 b5 2f fd
Raw DEFLATE
CyberChef has Raw Deflate/Raw Inflate, which is often the fastest path when the blob looks compressed but zlib fails.
Nützliche CLI
python3 - <<'PY'
import sys, zlib
data = sys.stdin.buffer.read()
for wbits in [zlib.MAX_WBITS, -zlib.MAX_WBITS]:
try:
print(zlib.decompress(data, wbits=wbits)[:200])
except Exception:
pass
PY
Häufige CTF-Krypto-Konstrukte
Technik
Diese treten häufig auf, weil es sich um realistische Entwicklerfehler oder um falsch verwendete verbreitete Bibliotheken handelt. Das Ziel ist meist die Erkennung und das Anwenden eines bekannten Extraktions- oder Rekonstruktionsworkflows.
Fernet
Typical hint: two Base64 strings (token + key).
- Decoder/Anmerkungen: https://asecuritysite.com/encryption/ferdecode
- In Python:
from cryptography.fernet import Fernet
Shamir Secret Sharing
Wenn du mehrere shares siehst und ein Schwellwert t erwähnt wird, handelt es sich wahrscheinlich um Shamir.
- Online reconstructor (handy for CTFs): http://christian.gen.co/secrets/
OpenSSL-Salted-Formate
CTFs liefern manchmal openssl enc-Ausgaben (Header beginnt oft mit Salted__).
Bruteforce-Hilfen:
Allgemeines Toolset
- RsaCtfTool: https://github.com/Ganapati/RsaCtfTool
- featherduster: https://github.com/nccgroup/featherduster
- cryptovenom: https://github.com/lockedbyte/cryptovenom
Empfohlenes lokales Setup
Praktischer CTF-Stack:
- Python +
pycryptodomefür symmetrische Primitive und schnelles Prototyping - SageMath für modulare Arithmetik, CRT, Gitter sowie RSA/ECC-Arbeiten
- Z3 für constraint-basierte Aufgaben (wenn die Krypto auf Constraints reduziert wird)
Empfohlene Python-Pakete:
pip install pycryptodome gmpy2 sympy pwntools z3-solver
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks

