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

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

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

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

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

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

  • Για μια πιο ισχυρή λύση, το JEB by 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: " + 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

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

Αποσφαλμάτωση 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 releases
  • jmp2it compiled version
  • Cutter προσφέρει προσομοίωση και επιθεώρηση shellcode με GUI, επισημαίνοντας τις διαφορές στη διαχείριση 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 recipe

Movfuscator

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

Delphi

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

Μαθήματα

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