mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
5.6 KiB
5.6 KiB
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Συμμετάσχετε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα αποθετήρια HackTricks και HackTricks Cloud στο github.
Αναγνώριση συμπιεσμένων δυαδικών αρχείων
- Έλλειψη συμβολοσειρών: Συνήθως συναντάμε συμπιεσμένα δυαδικά αρχεία που δεν έχουν σχεδόν καμία συμβολοσειρά.
- Πολλές αχρησιμοποίητες συμβολοσειρές: Επίσης, όταν ένα κακόβουλο λογισμικό χρησιμοποιεί κάποιο είδος εμπορικού συμπιεστή, είναι συνηθισμένο να βρίσκουμε πολλές συμβολοσειρές χωρίς αναφορές. Ακόμα και αν αυτές οι συμβολοσειρές υπάρχουν, αυτό δεν σημαίνει ότι το δυαδικό δεν είναι συμπιεσμένο.
- Μπορείτε επίσης να χρησιμοποιήσετε ορισμένα εργαλεία για να προσπαθήσετε να βρείτε ποιος συμπιεστής χρησιμοποιήθηκε για τη συμπίεση ενός δυαδικού αρχείου:
- PEiD
- Exeinfo PE
- Language 2000
Βασικές συστάσεις
- Ξεκινήστε την ανάλυση του συμπιεσμένου δυαδικού αρχείου από το τέλος στο IDA και κινηθείτε προς τα πάνω. Οι αποσυμπιεστές τερματίζουν όταν τερματίζει ο αποσυμπιεσμένος κώδικας, οπότε είναι απίθανο να περάσει ο αποσυμπιεστής την εκτέλεση στον αποσυμπιεσμένο κώδικα στην αρχή.
- Αναζητήστε JMP ή CALL προς καταχωρητές ή περιοχές μνήμης. Αναζητήστε επίσης συναρτήσεις που προωθούν ορίσματα και μια διεύθυνση κατεύθυνσης και στη συνέχεια καλούν την
retn
, επειδή η επιστροφή της συνάρτησης σε αυτήν την περίπτωση μπορεί να καλέσει τη διεύθυνση που μόλις προωθήθηκε στη στοίβα πριν την κλήση της. - Βάλτε ένα σημείο διακοπής στο
VirtualAlloc
, καθώς αυτό εκχωρεί χώρο στη μνήμη όπου το πρόγραμμα μπορεί να γράψει αποσυμπιεσμένο κώδικα. Τρέξτε το "run to user code" ή χρησιμοποιήστε το F8 για να φτάσετε στην τιμή μέσα στο EAX μετά την εκτέλεση της συνάρτησης και "ακολουθήστε αυτήν τη διεύθυνση στην αναφορά". Δεν ξέρετε ποτέ αν αυτή είναι η περιοχή όπου θα αποθηκευτεί ο αποσυμπιεσμένος κώδικας. - Το
VirtualAlloc
με την τιμή "40" ως όρισμα σημαίνει Read+Write+Execute (κάποιος κώδικας που χρειάζεται εκτέλεση θα αντιγραφεί εδώ). - Κατά την αποσυμπίεση του κώδικα, είναι φυσιολογικό να βρείτε πολλές κλήσεις σε αριθμητικές πράξεις και σε συναρτήσεις όπως
memcopy
ήVirtual
Alloc
. Εάν βρεθείτε σε μια συνάρτηση που φαίνεται να εκτελεί μόνο αριθμητικές πράξεις και ίσως κάποιοmemcopy
, η σύσταση είναι να προσπαθήσετε να βρείτε το τέλος της συνάρτησης (ίσως ένα JMP ή κλήση σε κάποιον καταχωρητή) **ή τ