.. | ||
blobrunner.md | ||
README.md |
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
Guida alla decompilazione di Wasm e alla compilazione di Wat
Nel campo di WebAssembly, gli strumenti per la decompilazione e la compilazione sono essenziali per gli sviluppatori. Questa guida introduce alcune risorse online e software per gestire i file Wasm (WebAssembly binario) e Wat (WebAssembly testo).
Strumenti online
- Per decompilare Wasm in Wat, lo strumento disponibile presso la demo di wasm2wat di Wabt è molto utile.
- Per compilare Wat in Wasm, la demo di wat2wasm di Wabt serve allo scopo.
- Un'altra opzione di decompilazione può essere trovata su web-wasmdec.
Soluzioni software
- Per una soluzione più robusta, JEB di PNF Software offre funzionalità estese.
- Il progetto open-source wasmdec è disponibile anche per compiti di decompilazione.
Risorse per la decompilazione di .Net
La decompilazione degli assembly .Net può essere realizzata con strumenti come:
- ILSpy, che offre anche un plugin per Visual Studio Code, consentendo l'utilizzo multipiattaforma.
- Per compiti di decompilazione, modifica e ricompilazione, è altamente consigliato dnSpy. Fare clic con il tasto destro su un metodo e scegliere Modify Method consente di apportare modifiche al codice.
- dotPeek di JetBrains è un'altra alternativa per la decompilazione degli assembly .Net.
Miglioramento del debug e del logging con DNSpy
Logging di DNSpy
Per registrare informazioni su un file utilizzando DNSpy, incorporare 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 consiglia 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, l'esecuzione di iisreset /noforce
riavvia IIS. Per collegare DNSpy al processo IIS per il debugging, la guida fornisce istruzioni su come selezionare il processo w3wp.exe all'interno di DNSpy e avviare la sessione di debugging.
Per una visione completa dei moduli caricati durante il debugging, si consiglia di accedere alla finestra Modules in DNSpy, seguita dall'apertura di tutti i moduli e dalla classificazione delle assembly per una navigazione e un debugging più semplici.
Questa guida racchiude l'essenza della decompilazione di WebAssembly e .Net, offrendo un percorso per gli sviluppatori per affrontare queste attività con facilità.
Decompilatore Java
Per decompilare il bytecode Java, questi strumenti possono essere molto utili:
Debugging delle DLL
Utilizzando IDA
- Rundll32 viene caricato da percorsi specifici per le versioni a 64 bit e a 32 bit.
- Windbg viene selezionato come debugger con l'opzione di sospendere il caricamento/spegnimento delle librerie abilitata.
- I parametri di esecuzione includono il percorso della DLL e il nome della funzione. Questa configurazione interrompe l'esecuzione ad ogni caricamento delle DLL.
Utilizzando x64dbg/x32dbg
- Similmente a IDA, rundll32 viene caricato con modifiche alla riga di comando per specificare la DLL e la funzione.
- Le impostazioni vengono regolate per interrompere l'esecuzione all'ingresso della DLL, consentendo di impostare un punto di interruzione al punto di ingresso desiderato della DLL.
Immagini
- I punti di interruzione dell'esecuzione e le configurazioni sono illustrati attraverso screenshot.
ARM & MIPS
- Per l'emulazione, arm_now è una risorsa utile.
Shellcode
Tecniche di debugging
- Blobrunner e jmp2it sono strumenti per allocare shellcode in memoria e debuggarli con Ida o x64dbg.
- Blobrunner versioni
- jmp2it versione compilata
- Cutter offre un'emulazione e ispezione del shellcode basata su GUI, evidenziando le differenze nella gestione del shellcode come file rispetto al shellcode diretto.
Deobfuscation e analisi
-
scdbg fornisce informazioni sulle funzioni del shellcode e capacità di deobfuscation. %%%bash scdbg.exe -f shellcode # Informazioni di base scdbg.exe -f shellcode -r # Rapporto di analisi scdbg.exe -f shellcode -i -r # Hooks interattivi scdbg.exe -f shellcode -d # Dump del shellcode decodificato scdbg.exe -f shellcode /findsc # Trova l'offset di inizio scdbg.exe -f shellcode /foff 0x0000004D # Esegui dall'offset %%%
-
CyberChef per disassemblare il shellcode: Ricetta CyberChef
Movfuscator
- Un obfuscator che sostituisce tutte le istruzioni con
mov
. - Risorse utili includono una spiegazione su YouTube e slide in PDF.
- demovfuscator potrebbe invertire l'obfuscation di movfuscator, richiedendo dipendenze come
libcapstone-dev
elibz3-dev
, e l'installazione di keystone.
Delphi
- Per i file binari Delphi, si consiglia l'uso di IDR.
Corsi
- https://github.com/0xZ0F/Z0FCourse_ReverseEngineering
- https://github.com/malrev/ABD
Deobfuscation binaria
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF, controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di esclusive NFT
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai repository github di HackTricks e HackTricks Cloud.