tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Guide de Décompilation Wasm et Compilation Wat

Dans le domaine de WebAssembly, les outils pour décompiler et compiler sont essentiels pour les développeurs. Ce guide présente quelques ressources en ligne et logiciels pour gérer les fichiers Wasm (WebAssembly binaire) et Wat (WebAssembly texte).

Outils en Ligne

Solutions Logicielles

  • Pour une solution plus robuste, JEB de PNF Software offre des fonctionnalitĂ©s Ă©tendues.
  • Le projet open-source wasmdec est Ă©galement disponible pour des tĂąches de dĂ©compilation.

Ressources de Décompilation .Net

La dĂ©compilation des assemblies .Net peut ĂȘtre rĂ©alisĂ©e avec des outils tels que :

  • ILSpy, qui propose Ă©galement un plugin pour Visual Studio Code, permettant une utilisation multiplateforme.
  • Pour des tĂąches impliquant dĂ©compilation, modification et recompilation, dnSpy est fortement recommandĂ©. Un clic droit sur une mĂ©thode et le choix de Modifier la mĂ©thode permettent des modifications de code.
  • dotPeek de JetBrains est une autre alternative pour dĂ©compiler des assemblies .Net.

Amélioration du Débogage et de la Journalisation avec DNSpy

Journalisation DNSpy

Pour enregistrer des informations dans un fichier en utilisant DNSpy, incorporez le snippet de code .Net suivant :

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

Débogage DNSpy

Pour un débogage efficace avec DNSpy, une séquence d'étapes est recommandée pour ajuster les attributs d'assembly pour le débogage, en s'assurant que les optimisations qui pourraient entraver le débogage sont désactivées. Ce processus inclut le changement des paramÚtres DebuggableAttribute, la recompilation de l'assembly et l'enregistrement des modifications.

De plus, pour déboguer une application .Net exécutée par IIS, exécuter iisreset /noforce redémarre IIS. Pour attacher DNSpy au processus IIS pour le débogage, le guide indique de sélectionner le processus w3wp.exe dans DNSpy et de commencer la session de débogage.

Pour une vue complĂšte des modules chargĂ©s pendant le dĂ©bogage, il est conseillĂ© d'accĂ©der Ă  la fenĂȘtre Modules dans DNSpy, suivie de l'ouverture de tous les modules et du tri des assemblies pour une navigation et un dĂ©bogage plus faciles.

Ce guide encapsule l'essence de la décompilation WebAssembly et .Net, offrant un chemin pour les développeurs afin de naviguer ces tùches avec aisance.

Décompilateur Java

Pour dĂ©compiler le bytecode Java, ces outils peuvent ĂȘtre trĂšs utiles :

Débogage des DLLs

Utilisation d'IDA

  • Rundll32 est chargĂ© Ă  partir de chemins spĂ©cifiques pour les versions 64 bits et 32 bits.
  • Windbg est sĂ©lectionnĂ© comme dĂ©bogueur avec l'option de suspendre lors du chargement/dĂ©chargement de la bibliothĂšque activĂ©e.
  • Les paramĂštres d'exĂ©cution incluent le chemin de la DLL et le nom de la fonction. Cette configuration interrompt l'exĂ©cution lors du chargement de chaque DLL.

Utilisation de x64dbg/x32dbg

  • Semblable Ă  IDA, rundll32 est chargĂ© avec des modifications de ligne de commande pour spĂ©cifier la DLL et la fonction.
  • Les paramĂštres sont ajustĂ©s pour interrompre Ă  l'entrĂ©e de la DLL, permettant de dĂ©finir un point d'arrĂȘt au point d'entrĂ©e de la DLL souhaitĂ©.

Images

  • Les points d'arrĂȘt d'exĂ©cution et les configurations sont illustrĂ©s par des captures d'Ă©cran.

ARM & MIPS

  • Pour l'Ă©mulation, arm_now est une ressource utile.

Shellcodes

Techniques de Débogage

  • Blobrunner et jmp2it sont des outils pour allouer des shellcodes en mĂ©moire et les dĂ©boguer avec Ida ou x64dbg.
  • Blobrunner versions
  • jmp2it version compilĂ©e
  • Cutter offre une Ă©mulation et une inspection de shellcode basĂ©es sur une interface graphique, mettant en Ă©vidence les diffĂ©rences dans le traitement des shellcodes en tant que fichier par rapport Ă  un shellcode direct.

Déobfuscation et Analyse

  • scdbg fournit des informations sur les fonctions de shellcode et les capacitĂ©s de dĂ©obfuscation. %%%bash scdbg.exe -f shellcode # Infos de base scdbg.exe -f shellcode -r # Rapport d'analyse scdbg.exe -f shellcode -i -r # Hooks interactifs scdbg.exe -f shellcode -d # Dump du shellcode dĂ©codĂ© scdbg.exe -f shellcode /findsc # Trouver l'offset de dĂ©part scdbg.exe -f shellcode /foff 0x0000004D # ExĂ©cuter Ă  partir de l'offset %%%

  • CyberChef pour dĂ©sassembler le shellcode : recette CyberChef

Movfuscator

  • Un obfuscateur qui remplace toutes les instructions par mov.
  • Les ressources utiles incluent une explication YouTube et des diapositives PDF.
  • demovfuscator pourrait inverser l'obfuscation de movfuscator, nĂ©cessitant des dĂ©pendances comme libcapstone-dev et libz3-dev, et l'installation de keystone.

Delphi

  • Pour les binaires Delphi, IDR est recommandĂ©.

Cours

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks