tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Gu铆a de Decompilaci贸n de Wasm y Compilaci贸n de Wat

En el 谩mbito de WebAssembly, las herramientas para decompilar y compilar son esenciales para los desarrolladores. Esta gu铆a presenta algunos recursos en l铆nea y software para manejar archivos Wasm (binario de WebAssembly) y Wat (texto de WebAssembly).

Herramientas en L铆nea

Soluciones de Software

  • Para una soluci贸n m谩s robusta, JEB de PNF Software ofrece caracter铆sticas extensas.
  • El proyecto de c贸digo abierto wasmdec tambi茅n est谩 disponible para tareas de decompilaci贸n.

Recursos de Decompilaci贸n de .Net

Decompilar ensamblados de .Net se puede lograr con herramientas como:

  • ILSpy, que tambi茅n ofrece un plugin para Visual Studio Code, permitiendo su uso multiplataforma.
  • Para tareas que involucran decompilaci贸n, modificaci贸n y recompilaci贸n, se recomienda encarecidamente dnSpy. Hacer clic derecho en un m茅todo y elegir Modificar M茅todo permite cambios en el c贸digo.
  • dotPeek de JetBrains es otra alternativa para decompilar ensamblados de .Net.

Mejorando la Depuraci贸n y Registro con DNSpy

Registro de DNSpy

Para registrar informaci贸n en un archivo usando DNSpy, incorpora el siguiente fragmento de c贸digo .Net:

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

Depuraci贸n de DNSpy

Para una depuraci贸n efectiva con DNSpy, se recomienda una secuencia de pasos para ajustar los atributos de ensamblado para la depuraci贸n, asegurando que las optimizaciones que podr铆an obstaculizar la depuraci贸n est茅n deshabilitadas. Este proceso incluye cambiar la configuraci贸n de DebuggableAttribute, recompilar el ensamblado y guardar los cambios.

Adem谩s, para depurar una aplicaci贸n .Net ejecutada por IIS, ejecutar iisreset /noforce reinicia IIS. Para adjuntar DNSpy al proceso de IIS para depuraci贸n, la gu铆a instruye sobre seleccionar el proceso w3wp.exe dentro de DNSpy y comenzar la sesi贸n de depuraci贸n.

Para una vista completa de los m贸dulos cargados durante la depuraci贸n, se aconseja acceder a la ventana de M贸dulos en DNSpy, seguida de abrir todos los m贸dulos y ordenar los ensamblados para facilitar la navegaci贸n y depuraci贸n.

Esta gu铆a encapsula la esencia de la decompilaci贸n de WebAssembly y .Net, ofreciendo un camino para que los desarrolladores naveguen estas tareas con facilidad.

Decompilador de Java

Para decompilar bytecode de Java, estas herramientas pueden ser muy 煤tiles:

Depuraci贸n de DLLs

Usando IDA

  • Rundll32 se carga desde rutas espec铆ficas para versiones de 64 bits y 32 bits.
  • Windbg se selecciona como el depurador con la opci贸n de suspender en la carga/descarga de bibliotecas habilitada.
  • Los par谩metros de ejecuci贸n incluyen la ruta de la DLL y el nombre de la funci贸n. Esta configuraci贸n detiene la ejecuci贸n al cargar cada DLL.

Usando x64dbg/x32dbg

  • Similar a IDA, rundll32 se carga con modificaciones en la l铆nea de comandos para especificar la DLL y la funci贸n.
  • Se ajustan las configuraciones para romper en la entrada de la DLL, permitiendo establecer un punto de interrupci贸n en el punto de entrada deseado de la DLL.

Im谩genes

  • Los puntos de detenci贸n de ejecuci贸n y configuraciones se ilustran a trav茅s de capturas de pantalla.

ARM & MIPS

  • Para emulaci贸n, arm_now es un recurso 煤til.

Shellcodes

T茅cnicas de Depuraci贸n

  • Blobrunner y jmp2it son herramientas para asignar shellcodes en memoria y depurarlos con Ida o x64dbg.
  • Blobrunner versiones
  • jmp2it versi贸n compilada
  • Cutter ofrece emulaci贸n e inspecci贸n de shellcode basada en GUI, destacando las diferencias en el manejo de shellcode como un archivo frente a shellcode directo.

Deofuscaci贸n y An谩lisis

  • scdbg proporciona informaci贸n sobre funciones de shellcode y capacidades de deofuscaci贸n. %%%bash scdbg.exe -f shellcode # Informaci贸n b谩sica scdbg.exe -f shellcode -r # Informe de an谩lisis scdbg.exe -f shellcode -i -r # Hooks interactivos scdbg.exe -f shellcode -d # Volcar shellcode decodificado scdbg.exe -f shellcode /findsc # Encontrar desplazamiento de inicio scdbg.exe -f shellcode /foff 0x0000004D # Ejecutar desde el desplazamiento %%%

  • CyberChef para desensamblar shellcode: receta de CyberChef

Movfuscator

  • Un ofuscador que reemplaza todas las instrucciones con mov.
  • Recursos 煤tiles incluyen una explicaci贸n en YouTube y diapositivas en PDF.
  • demovfuscator podr铆a revertir la ofuscaci贸n de movfuscator, requiriendo dependencias como libcapstone-dev y libz3-dev, e instalando keystone.

Delphi

  • Para binarios de Delphi, se recomienda IDR.

Cursos

tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks