hacktricks/reversing/reversing-tools/README.md

12 KiB
Raw Blame History

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστήριξη HackTricks
{% endhint %}

Οδηγός Αποσυμπίεσης Wasm και Συμπίεσης Wat

Στον τομέα του WebAssembly, τα εργαλεία για αποσυμπίεση και συμπίεση είναι απαραίτητα για τους προγραμματιστές. Αυτός ο οδηγός εισάγει μερικούς διαδικτυακούς πόρους και λογισμικό για την επεξεργασία αρχείων Wasm (WebAssembly binary) και Wat (WebAssembly text).

Διαδικτυακά Εργαλεία

  • Για να αποσυμπιέσετε το Wasm σε Wat, το εργαλείο που είναι διαθέσιμο στη δείγμα wasm2wat του Wabt είναι χρήσιμο.
  • Για συμπίεση του Wat πίσω σε Wasm, η δείγμα wat2wasm του Wabt εξυπηρετεί τον σκοπό.
  • Μια άλλη επιλογή αποσυμπίεσης μπορεί να βρεθεί στο web-wasmdec.

Λύσεις Λογισμικού

  • Για μια πιο ισχυρή λύση, το JEB από την PNF Software προσφέρει εκτενή χαρακτηριστικά.
  • Το ανοιχτού κώδικα έργο wasmdec είναι επίσης διαθέσιμο για εργασίες αποσυμπίεσης.

Πόροι Αποσυμπίεσης .Net

Η αποσυμπίεση των .Net assemblies μπορεί να επιτευχθεί με εργαλεία όπως:

  • ILSpy, το οποίο προσφέρει επίσης ένα plugin για το Visual Studio Code, επιτρέποντας τη διαλειτουργικότητα.
  • Για εργασίες που περιλαμβάνουν αποσυμπίεση, τροποποίηση και επανσυμπίεση, το dnSpy συνιστάται ιδιαίτερα. Κάντε δεξί κλικ σε μια μέθοδο και επιλέξτε Τροποποίηση Μεθόδου για να κάνετε αλλαγές στον κώδικα.
  • JetBrains' dotPeek είναι μια άλλη εναλλακτική για την αποσυμπίεση των .Net assemblies.

Ενίσχυση της Αποσφαλμάτωσης και Καταγραφής με DNSpy

Καταγραφή DNSpy

Για να καταγράψετε πληροφορίες σε ένα αρχείο χρησιμοποιώντας το DNSpy, ενσωματώστε το παρακάτω απόσπασμα κώδικα .Net:

%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Κωδικός πρόσβασης: " + password + "\n"); %%%

Αποσφαλμάτωση DNSpy

Για αποτελεσματική αποσφαλμάτωση με το DNSpy, προτείνεται μια σειρά βημάτων για να προσαρμόσετε τα attributes Assembly για αποσφαλμάτωση, διασφαλίζοντας ότι οι βελτιστοποιήσεις που θα μπορούσαν να εμποδίσουν την αποσφαλμάτωση είναι απενεργοποιημένες. Αυτή η διαδικασία περιλαμβάνει την αλλαγή των ρυθμίσεων DebuggableAttribute, την επανασυμπίεση του assembly και την αποθήκευση των αλλαγών.

Επιπλέον, για να αποσφαλματώσετε μια εφαρμογή .Net που εκτελείται από το IIS, η εκτέλεση του iisreset /noforce επανεκκινεί το IIS. Για να συνδέσετε το DNSpy στη διαδικασία IIS για αποσφαλμάτωση, ο οδηγός καθοδηγεί στην επιλογή της διαδικασίας w3wp.exe μέσα στο DNSpy και στην έναρξη της συνεδρίας αποσφαλμάτωσης.

Για μια συνολική εικόνα των φορτωμένων μονάδων κατά την αποσφαλμάτωση, συνιστάται η πρόσβαση στο παράθυρο Modules στο DNSpy, ακολουθούμενη από το άνοιγμα όλων των μονάδων και την ταξινόμηση των assemblies για ευκολότερη πλοήγηση και αποσφαλμάτωση.

Αυτός ο οδηγός συνοψίζει την ουσία της αποσυμπίεσης WebAssembly και .Net, προσφέροντας μια διαδρομή για τους προγραμματιστές να πλοηγηθούν σε αυτές τις εργασίες με ευκολία.

Java Decompiler

Για να αποσυμπιέσετε το Java bytecode, αυτά τα εργαλεία μπορεί να είναι πολύ χρήσιμα:

Αποσφαλμάτωση DLLs

Χρησιμοποιώντας IDA

  • Rundll32 φορτώνεται από συγκεκριμένες διαδρομές για 64-bit και 32-bit εκδόσεις.
  • Windbg επιλέγεται ως ο αποσφαλματωτής με την επιλογή να ανασταλεί η φόρτωση/εκφόρτωση βιβλιοθήκης ενεργοποιημένη.
  • Οι παράμετροι εκτέλεσης περιλαμβάνουν τη διαδρομή DLL και το όνομα της συνάρτησης. Αυτή η ρύθμιση σταματά την εκτέλεση κατά την φόρτωση κάθε DLL.

Χρησιμοποιώντας x64dbg/x32dbg

  • Παρόμοια με την IDA, το rundll32 φορτώνεται με τροποποιήσεις γραμμής εντολών για να προσδιορίσει τη DLL και τη συνάρτηση.
  • Οι ρυθμίσεις προσαρμόζονται για να σπάσουν στην είσοδο DLL, επιτρέποντας την τοποθέτηση σημείων διακοπής στο επιθυμητό σημείο εισόδου DLL.

Εικόνες

  • Τα σημεία και οι ρυθμίσεις διακοπής εκτέλεσης απεικονίζονται μέσω στιγμιότυπων οθόνης.

ARM & MIPS

  • Για προσομοίωση, το arm_now είναι ένας χρήσιμος πόρος.

Shellcodes

Τεχνικές Αποσφαλμάτωσης

  • Blobrunner και jmp2it είναι εργαλεία για την κατανομή shellcodes στη μνήμη και την αποσφαλμάτωσή τους με την Ida ή το x64dbg.
  • Blobrunner εκδόσεις
  • jmp2it συγκεντρωμένη έκδοση
  • Cutter προσφέρει GUI-based προσομοίωση και επιθεώρηση shellcode, επισημαίνοντας τις διαφορές στη διαχείριση shellcode ως αρχείο σε σχέση με άμεσο shellcode.

Αποκατάσταση και Ανάλυση

  • scdbg παρέχει πληροφορίες σχετικά με τις λειτουργίες shellcode και τις δυνατότητες αποκατάστασης. %%%bash scdbg.exe -f shellcode # Βασικές πληροφορίες scdbg.exe -f shellcode -r # Αναφορά ανάλυσης scdbg.exe -f shellcode -i -r # Διαδραστικά hooks scdbg.exe -f shellcode -d # Dump αποκωδικοποιημένου shellcode scdbg.exe -f shellcode /findsc # Βρείτε την αρχική μετατόπιση scdbg.exe -f shellcode /foff 0x0000004D # Εκτέλεση από μετατόπιση %%%

  • CyberChef για αποσυναρμολόγηση shellcode: Συνταγή CyberChef

Movfuscator

  • Ένας obfuscator που αντικαθιστά όλες τις εντολές με mov.
  • Χρήσιμοι πόροι περιλαμβάνουν μια εξήγηση στο YouTube και PDF διαφάνειες.
  • demovfuscator μπορεί να αντιστρέψει την obfuscation του movfuscator, απαιτώντας εξαρτήσεις όπως libcapstone-dev και libz3-dev, και εγκαθιστώντας το keystone.

Delphi

  • Για τα δυαδικά αρχεία Delphi, συνιστάται το IDR.

Μαθήματα

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστήριξη HackTricks
{% endhint %}