Crypto CTF Workflow
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Λίστα ελέγχου διαλογής
- Προσδιορίστε τι έχετε: encoding vs encryption vs hash vs signature vs MAC.
- Προσδιορίστε τι έχετε υπό έλεγχο: plaintext/ciphertext, IV/nonce, key, oracle (padding/error/timing), partial leakage.
- Κατηγοριοποιήστε: symmetric (AES/CTR/GCM), public-key (RSA/ECC), hash/MAC (SHA/MD5/HMAC), classical (Vigenere/XOR).
- Εφαρμόστε πρώτα τους ελέγχους με τη μεγαλύτερη πιθανότητα: decode layers, known-plaintext XOR, nonce reuse, mode misuse, oracle behavior.
- Αναβαθμίστε σε προχωρημένες μεθόδους μόνο όταν χρειάζεται: lattices (LLL/Coppersmith), SMT/Z3, side-channels.
Διαδικτυακοί πόροι & εργαλεία
Αυτά είναι χρήσιμα όταν η εργασία αφορά ταυτοποίηση και αφαίρεση επιπέδων, ή όταν χρειάζεστε γρήγορη επιβεβαίωση μιας υπόθεσης.
Hash lookups
- Google the hash (surprisingly effective).
- 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 (μαγικό, αποκωδικοποίηση, μετατροπή): https://gchq.github.io/CyberChef/
- dCode (ciphers/encodings playground): https://www.dcode.fr/tools-list
- Boxentriq (substitution solvers): https://www.boxentriq.com/code-breaking
Practice platforms / references
- CryptoHack (hands-on crypto challenges): https://cryptohack.org/
- Cryptopals (classic modern crypto pitfalls): https://cryptopals.com/
Automated decoding
- Ciphey: https://github.com/Ciphey/Ciphey
- python-codext (tries many bases/encodings): https://github.com/dhondta/python-codext
Encodings & classical ciphers
Technique
Many CTF crypto tasks are layered transforms: base encoding + simple substitution + compression. Ο στόχος είναι να εντοπίσετε τα layers και να τα αφαιρέσετε με ασφάλεια.
Encodings: try many bases
If you suspect layered encoding (base64 → base32 → …), try:
- CyberChef “Magic”
codext(python-codext):codext <string>
Common tells:
- Base64:
A-Za-z0-9+/=(το padding=είναι συνηθισμένο) - Base32:
A-Z2-7=(συχνά πολλά=padding) - Ascii85/Base85: πυκνή στίξη; μερικές φορές τυλιγμένο σε
<~ ~>
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
Συχνά εμφανίζεται ως ομάδες 5 bits ή 5 γραμμάτων:
00111 01101 01010 00000 ...
AABBB ABBAB ABABA AAAAA ...
Morse
.... --- .-.. -.-. .- .-. .- -.-. --- .-.. .-
Ρούνες
Οι Ρούνες είναι συχνά αλφάβητα αντικατάστασης· ψάξε για “futhark cipher” και δοκίμασε πίνακες αντιστοίχισης.
Συμπίεση σε challenges
Τεχνική
Η συμπίεση εμφανίζεται συνεχώς ως επιπλέον στρώση (zlib/deflate/gzip/xz/zstd), μερικές φορές εμφωλευμένη. Αν το output σχεδόν αναλύεται αλλά μοιάζει με σκουπίδι, υποψιάσου συμπίεση.
Γρήγορος εντοπισμός
file <blob>- Αναζήτησε magic bytes:
- 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 έχει Raw Deflate/Raw Inflate, που συχνά είναι ο πιο γρήγορος δρόμος όταν το blob φαίνεται συμπιεσμένο αλλά το zlib αποτυγχάνει.
Χρήσιμα 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
Συνηθισμένες κατασκευές κρυπτογραφίας σε CTF
Τεχνική
Αυτά εμφανίζονται συχνά επειδή πρόκειται για ρεαλιστικά λάθη προγραμματιστών ή κοινές βιβλιοθήκες που χρησιμοποιούνται λανθασμένα. Ο στόχος συνήθως είναι η αναγνώριση και η εφαρμογή μιας γνωστής ροής εργασίας εξαγωγής ή ανακατασκευής.
Fernet
Τυπική υπόδειξη: δύο Base64 strings (token + key).
- Αποκωδικοποιητής/σημειώσεις: https://asecuritysite.com/encryption/ferdecode
- Σε Python:
from cryptography.fernet import Fernet
Shamir Secret Sharing
Αν δείτε πολλαπλά shares και αναφέρεται ένα threshold t, πιθανότατα είναι Shamir.
- Online reconstructor (χρήσιμο για CTFs): http://christian.gen.co/secrets/
OpenSSL salted formats
Τα CTFs μερικές φορές δίνουν εξόδους openssl enc (το header συχνά αρχίζει με Salted__).
Βοηθήματα για bruteforce:
Γενικό σετ εργαλείων
- RsaCtfTool: https://github.com/Ganapati/RsaCtfTool
- featherduster: https://github.com/nccgroup/featherduster
- cryptovenom: https://github.com/lockedbyte/cryptovenom
Συνιστώμενη τοπική ρύθμιση
Πρακτική στοίβα για CTF:
- Python +
pycryptodomeγια συμμετρικά primitives και γρήγορο prototyping - SageMath για modular arithmetic, CRT, lattices και εργασίες RSA/ECC
- Z3 για challenges βασισμένα σε περιορισμούς (όταν η κρυπτογραφία μπορεί να εκφραστεί ως περιορισμοί)
Προτεινόμενα πακέτα Python:
pip install pycryptodome gmpy2 sympy pwntools z3-solver
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


