Crypto in Malware / Reverse Engineering
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.
Αυτό το υποκεφάλαιο βοηθά όταν βλέπετε crypto/compression μέσα σε binaries και θέλετε να τα αναγνωρίσετε γρήγορα.
Αναγνώριση αλγορίθμων κρυπτογράφησης / συμπίεσης
Ευρετικές τεχνικές
- Πολλές μετατοπίσεις/περιστροφές, XORs, και 32-bit αριθμητικές πράξεις σε στενούς βρόχους.
- Lookup tables (S-boxes) στο
.dataή δημιουργούνται κατά το runtime. - Επαναλαμβανόμενοι βρόχοι
0x100επαναλήψεων που υποδηλώνουν RC4.
Windows crypto/compression APIs
CryptDeriveKey / CryptCreateHash
Αν αυτές χρησιμοποιούνται, η δεύτερη παράμετρος είναι ALG_ID:
.png)
Πίνακας: https://learn.microsoft.com/en-us/windows/win32/seccrypto/alg-id
RtlCompressBuffer / RtlDecompressBuffer
Συχνά υποδηλώνει ενσωματωμένη Windows συμπίεση (LZNT1, XPRESS, κ.λπ.).
Σταθερές & πίνακες
Μερικές φορές μπορείτε να ταυτοποιήσετε ένα hash/cipher αναζητώντας τις σταθερές (ή το πρώτο dword των πινάκων) online.
.png)
Παράδειγμα πινάκων AES:
.png)
Σημειώσεις αναγνώρισης RC4
Το RC4 αναγνωρίζεται συχνά από:
- Δύο βρόχοι των 256 επαναλήψεων (init + KSA)
- Έπειτα ένας βρόχος PRGA που χρησιμοποιεί
% 256και XOR-άρει ένα keystream με τα δεδομένα
Unpacking binaries
Τεχνική
Οι packers μετασχηματίζουν ένα binary ώστε η στατική ανάλυση να είναι παραπλανητική (junk code, encrypted sections, runtime unpacking). Ο στόχος είναι να πιάσετε τη στιγμή που:
- κατανέμει/αποκρυπτογραφεί τον πραγματικό κώδικα στη μνήμη
- το σηματοδοτεί ως executable
- κάνει jump σε αυτό
Identifying packed binaries
- Έλλειψη strings (ή μόνο packer strings)
- Πολλά strings χωρίς xrefs (commercial packers)
- Χρησιμοποιήστε εργαλεία packer-ID:
- PEiD
- Exeinfo PE
Βασικές συστάσεις
- Ξεκινήστε την ανάλυση από το κάτω μέρος και δουλέψτε προς τα πάνω· οι unpackers συχνά κάνουν jump αργά.
- Ψάξτε για μοτίβα
JMP/CALL regή κόλπα στο stack (push addr; retn). - Βάλτε breakpoint σε
VirtualAlloc/VirtualProtectκαι παρακολουθήστε περιοχές RWX. - Μια ξαφνική έκρηξη strings μετά από ένα jump συχνά υποδηλώνει ότι φτάσατε σε unpacked code.
- Κάντε dump τη μνήμη και διορθώστε headers με εργαλεία όπως PE-bear.
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.


