tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Guida alla Decompilazione di Wasm e Compilazione di Wat

Nel campo del WebAssembly, gli strumenti per decompilare e compilare sono essenziali per gli sviluppatori. Questa guida introduce alcune risorse online e software per gestire i file Wasm (WebAssembly binary) e Wat (WebAssembly text).

Strumenti Online

Soluzioni Software

  • Per una soluzione più robusta, JEB di PNF Software offre funzionalità estese.
  • Il progetto open-source wasmdec è anche disponibile per compiti di decompilazione.

Risorse per la Decompilazione di .Net

Decompilare assembly .Net può essere realizzato con strumenti come:

  • ILSpy, che offre anche un plugin per Visual Studio Code, consentendo l'uso multipiattaforma.
  • Per compiti che coinvolgono decompilazione, modifica e ricompilazione, dnSpy è altamente raccomandato. Facendo clic con il tasto destro su un metodo e scegliendo Modifica Metodo si possono apportare modifiche al codice.
  • dotPeek di JetBrains è un'altra alternativa per decompilare assembly .Net.

Migliorare il Debugging e il Logging con DNSpy

Logging di DNSpy

Per registrare informazioni in un file utilizzando DNSpy, integra il seguente frammento di codice .Net:

%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Password: " + password + "\n"); %%%

Debugging di DNSpy

Per un debugging efficace con DNSpy, si raccomanda una sequenza di passaggi per regolare gli attributi dell'Assembly per il debugging, assicurandosi che le ottimizzazioni che potrebbero ostacolare il debugging siano disabilitate. Questo processo include la modifica delle impostazioni di DebuggableAttribute, la ricompilazione dell'assembly e il salvataggio delle modifiche.

Inoltre, per eseguire il debug di un'applicazione .Net eseguita da IIS, eseguire iisreset /noforce riavvia IIS. Per allegare DNSpy al processo IIS per il debugging, la guida istruisce sulla selezione del processo w3wp.exe all'interno di DNSpy e sull'avvio della sessione di debugging.

Per una visione completa dei moduli caricati durante il debugging, è consigliato accedere alla finestra Moduli in DNSpy, seguita dall'apertura di tutti i moduli e dalla ordinazione degli assembly per una navigazione e un debugging più facili.

Questa guida racchiude l'essenza della decompilazione di WebAssembly e .Net, offrendo un percorso per gli sviluppatori per affrontare questi compiti con facilità.

Decompilatore Java

Per decompilare bytecode Java, questi strumenti possono essere molto utili:

Debugging di DLL

Utilizzando IDA

  • Rundll32 viene caricato da percorsi specifici per le versioni a 64 bit e a 32 bit.
  • Windbg è selezionato come debugger con l'opzione di sospendere il caricamento/scaricamento della libreria abilitata.
  • I parametri di esecuzione includono il percorso della DLL e il nome della funzione. Questa configurazione interrompe l'esecuzione al caricamento di ogni DLL.

Utilizzando x64dbg/x32dbg

  • Simile a IDA, rundll32 viene caricato con modifiche alla riga di comando per specificare la DLL e la funzione.
  • Le impostazioni vengono regolate per interrompere all'ingresso della DLL, consentendo di impostare un punto di interruzione nel punto di ingresso desiderato della DLL.

Immagini

  • I punti di arresto dell'esecuzione e le configurazioni sono illustrati tramite screenshot.

ARM & MIPS

  • Per l'emulazione, arm_now è una risorsa utile.

Shellcodes

Tecniche di Debugging

  • Blobrunner e jmp2it sono strumenti per allocare shellcode in memoria e debugarli con Ida o x64dbg.
  • Blobrunner rilasci
  • jmp2it versione compilata
  • Cutter offre emulazione e ispezione di shellcode basate su GUI, evidenziando le differenze nella gestione del shellcode come file rispetto al shellcode diretto.

Deobfuscazione e Analisi

  • scdbg fornisce informazioni sulle funzioni del shellcode e capacità di deobfuscazione. %%%bash scdbg.exe -f shellcode # Informazioni di base scdbg.exe -f shellcode -r # Rapporto di analisi scdbg.exe -f shellcode -i -r # Hook interattivi scdbg.exe -f shellcode -d # Dump del shellcode decodificato scdbg.exe -f shellcode /findsc # Trova l'offset di partenza scdbg.exe -f shellcode /foff 0x0000004D # Esegui dall'offset %%%

  • CyberChef per disassemblare shellcode: ricetta CyberChef

Movfuscator

  • Un offuscante che sostituisce tutte le istruzioni con mov.
  • Risorse utili includono una spiegazione su YouTube e diapositive PDF.
  • demovfuscator potrebbe invertire l'offuscamento di movfuscator, richiedendo dipendenze come libcapstone-dev e libz3-dev, e installando keystone.

Delphi

  • Per i binari Delphi, si raccomanda IDR.

Corsi

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks