7.2 KiB
Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, verifique os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
Guia de Decompilação Wasm e Compilação Wat
No mundo do WebAssembly, ferramentas de decompilação e compilação são essenciais para os desenvolvedores. Este guia apresenta alguns recursos online e software para lidar com arquivos Wasm (binário WebAssembly) e Wat (texto WebAssembly).
Ferramentas Online
- Para decompilar Wasm para Wat, a ferramenta disponível em demo wasm2wat do Wabt é útil.
- Para compilar Wat de volta para Wasm, demo wat2wasm do Wabt atende ao propósito.
- Outra opção de decompilação pode ser encontrada em web-wasmdec.
Soluções de Software
- Para uma solução mais robusta, JEB da PNF Software oferece recursos extensivos.
- O projeto de código aberto wasmdec também está disponível para tarefas de decompilação.
Recursos de Decompilação .Net
Decompilar assemblies .Net pode ser feito com ferramentas como:
- ILSpy, que também oferece um plugin para Visual Studio Code, permitindo o uso multiplataforma.
- Para tarefas envolvendo decompilação, modificação e recompilação, dnSpy é altamente recomendado. Ao clicar com o botão direito em um método e escolher Modificar Método, é possível fazer alterações no código.
- dotPeek da JetBrains é outra alternativa para decompilar assemblies .Net.
Aprimorando a Depuração e o Log com DNSpy
Log do DNSpy
Para registrar informações em um arquivo usando o DNSpy, incorpore o trecho de código .Net a seguir:
%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Senha: " + senha + "\n"); %%%
Depuração do DNSpy
Para uma depuração eficaz com o DNSpy, é recomendada uma sequência de etapas para ajustar os atributos da Assembleia para depuração, garantindo que otimizações que possam dificultar a depuração sejam desativadas. Esse processo inclui alterar as configurações do DebuggableAttribute
, recompilar a assembleia e salvar as alterações.
Além disso, para depurar uma aplicação .Net executada pelo IIS, executar iisreset /noforce
reinicia o IIS. Para anexar o DNSpy ao processo do IIS para depuração, o guia instrui a selecionar o processo w3wp.exe dentro do DNSpy e iniciar a sessão de depuração.
Para uma visão abrangente dos módulos carregados durante a depuração, é aconselhável acessar a janela Módulos no DNSpy, seguida pela abertura de todos os módulos e classificação das assembleias para facilitar a navegação e a depuração.
Este guia encapsula a essência da decompilação de WebAssembly e .Net, oferecendo um caminho para os desenvolvedores navegarem nessas tarefas com facilidade.
Descompilador Java
Para descompilar bytecode Java, essas ferramentas podem ser muito úteis:
Depuração de DLLs
Usando IDA
- Rundll32 é carregado a partir de caminhos específicos para versões de 64 bits e 32 bits.
- Windbg é selecionado como o depurador com a opção de suspender no carregamento/descarregamento da biblioteca ativada.
- Os parâmetros de execução incluem o caminho da DLL e o nome da função. Essa configuração interrompe a execução a cada carregamento da DLL.
Usando x64dbg/x32dbg
- Semelhante ao IDA, rundll32 é carregado com modificações na linha de comando para especificar a DLL e a função.
- As configurações são ajustadas para interromper na entrada da DLL, permitindo a configuração de pontos de interrupção no ponto de entrada desejado da DLL.
Imagens
- Pontos de parada de execução e configurações são ilustrados por meio de capturas de tela.
ARM & MIPS
- Para emulação, arm_now é um recurso útil.
Shellcodes
Técnicas de Depuração
- Blobrunner e jmp2it são ferramentas para alocar shellcodes na memória e depurá-los com Ida ou x64dbg.
- Blobrunner lançamentos
- jmp2it versão compilada
- Cutter oferece emulação e inspeção de shellcode baseada em GUI, destacando diferenças no tratamento de shellcode como arquivo versus shellcode direto.
Desobfuscação e Análise
-
scdbg fornece insights sobre funções de shellcode e capacidades de desobfuscação. %%%bash scdbg.exe -f shellcode # Informações básicas scdbg.exe -f shellcode -r # Relatório de análise scdbg.exe -f shellcode -i -r # Ganchos interativos scdbg.exe -f shellcode -d # Despejar shellcode decodificado scdbg.exe -f shellcode /findsc # Encontrar offset de início scdbg.exe -f shellcode /foff 0x0000004D # Executar a partir do offset %%%
-
CyberChef para desmontar shellcode: Receita CyberChef
Movfuscator
- Um ofuscador que substitui todas as instruções por
mov
. - Recursos úteis incluem uma explicação no YouTube e slides em PDF.
- demovfuscator pode reverter a obfuscação do movfuscator, exigindo dependências como
libcapstone-dev
elibz3-dev
, e a instalação do keystone.
Delphi
- Para binários Delphi, é recomendado o IDR.
Cursos
- https://github.com/0xZ0F/Z0FCourse_ReverseEngineering
- https://github.com/malrev/ABD
Desobfuscação binária