arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Ferramentas

Esta seΓ§Γ£o aborda nΓ£o somente ferramentas utilizadas no livro, mas tambΓ©m outras que vale a pena citar na esperanΓ§a que o leitor se sinta atraΓ­do a baixar, usar e tirar suas prΓ³prias conclusΓ΅es em relaΓ§Γ£o Γ  eficiΓͺncia delas.

hashtag
Editores Hexadecimais

Este tipo de ferramenta Γ© ΓΊtil para editar arquivos binΓ‘rios em geral, nΓ£o somente executΓ‘veis, dumpar (copiar) conteΓΊdo de trechos de arquivos, etc. TambΓ©m Γ© possΓ­vel editar uma partiΓ§Γ£o ou disco com bons editores hexadecimal a fim de recuperar arquivos, por exemplo.

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Analisadores EstΓ‘ticos de ExecutΓ‘veis

Analisam estaticamente os binΓ‘rios, sem carregΓ‘-los. SΓ£o ΓΊteis para uma primeira visΓ£o sobre um executΓ‘vel desconhecido.

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Bibliotecas para parsear ExecutΓ‘veis

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Assemblers

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Disassemblers

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Debuggers

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Desofuscadores

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Descompiladores

hashtag
.NET

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Delphi

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
GenΓ©ricos (C, C++, Delphi, etc)

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Java

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Visual Basic

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Emuladores

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Frameworks

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Monitores de Processos

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Sandboxes (Linux)

Existem outros projetos como Limon, Detux, HaboMalHunter, mas na lista abaixo procurei deixar somente os que estΓ£o ativos.

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Sandboxes (Windows)

Esta lista nΓ£o inclui serviΓ§os de sandbox puramente comerciais.

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Sandboxes (Online)

Nome
LicenΓ§a
DescriΓ§Γ£o

hashtag
Visualizadores Hexadecimais

Nome
LicenΓ§a
DescriΓ§Γ£o

Abaixo um comparativo onde dumpamos os primeiros 32 bytes de um binΓ‘rio /bin/ls utilizando os visualizadores acima:

hashtag
Outras

Nome
LicenΓ§a
DescriΓ§Γ£o

Pago, somente para Windows, antigo, mas muito bem feito.

Livre

Somente para macOS, com recursos legais como diff e data inspector.

Livre

Multiplataforma, interface de texto (TUI), suporta editar via SSH. Γ‰ novo e tem futuro!

Shareware

Linux, macOS e Windows. Tem templates (chamados de "grammars"), scripting em Python e Lua e compara binΓ‘rios.

Livre

Baseado na ncurses, portanto de interface grΓ‘fica de texto. Tinha potencial, mas o desenvolvimento parou no final de 2022.

Comercial

Editor (e disassembler) muito poderoso, principalmente por conta de seus mΓ³dulos HEM. Tem suporte Γ  vΓ‘rios formatos e Γ© muito usado por analistas de malware, mas Γ© pago.

Livre

Interface grΓ‘fica baseada em texto, parecido com o Hiew. Tem muitos recursos, mas infelizmente o desenvolvimento parou em 2015. Hora de alguΓ©m fazer um fork!

Freeware

Bem bom. Possui recursos extras como geraΓ§Γ£o de hashes e suporte a abrir discos.

Livre

Impressionante editor grΓ‘fico para Windows, macOS e Linux. Possui uma linguagem de patterns para aplicar no arquivo, exporta/importa patches e muito mais.

Livre

Nova proposta de um editor especificamente para engenharia reversa.

Comercial

Para macOS, desenvolvido por quem faz o Hexinator. Tem o mesmo nΓ­vel de recursos.

Comercial

Editor com ediΓ§Γ΅es especiais focadas em forense, mas faz tudo que os outros fazem tambΓ©m. Somente para Windows.

Livre

Multiplataforma, recursos interessantes. Infelizmente o desenvolvimento parou em 2017.

Freeware

Sem muitos recursos, mas quebra um galho no Windows para uma ediΓ§Γ£o rΓ‘pida.

Freeware

Parser de linha de comando para Windows. Suporta arquivos NE, LX/LE, PE/PE32+, ELF/ELF64 (little-endian), Mach-O (little-endian), e TE.

Freeware

Detecta compilador, packer, protectors e edita os arquivos, alΓ©m de suportar vΓ‘rios plugins loucos. Tem versΓ£o VIP mediante doaΓ§Γ£o.

Livre

Mais um nacional pra uma primeira impressΓ£o de arquivos suspeitos, URLs e domΓ­nios. Checa tambΓ©m APKs.

Livre

Parte do GNU binutils, tambΓ©m analisa PE, alΓ©m de ELF, a.out, etc.

Freeware

Analisador grΓ‘fico (Qt) multiplataforma que tambΓ©m detecta packers/protectors.

Livre

Analisador online muito legal!

Freeware

Analisador de PE padrΓ£o da indΓΊstria, com foco em malware. Tem versΓ£o Pro (paga).

Livre

TambΓ©m parte do binutils, analisador de ELF.

Livre

Anteriormente chamado de pev, este Γ© o nosso πŸ’š toolkit de ferramentas de linha de comando para anΓ‘lise de PE. Artigo introdutΓ³rio .

Freeware

Analisador e editor com suporte a plugins, assinaturas do antigo PEiD, editor de recursos e mais.

Livre

Biblioteca em .Net para PE.

Livre

Biblioteca em Java para PE.

Livre

Biblioteca em Python para parsear binΓ‘rios ELF.

Livre

Multiplataforma, escrito com base no NASM pra ser um substituto mas acho que nΓ£o vingou. hehe

Livre

Debugger que roda no nΓ­vel do hypervisor, tambΓ©m conhecido como ring -1.

Freeware

Poderoso debugger, apesar de nΓ£o mais mantido.

Livre

O Python Exploit Development Assistance tambΓ©m extende o GDB, assim como o GEF. A interface Γ© um pouco diferente, no entanto.

Livre

Debugger para Linux que implementa a "depuraΓ§Γ£o reversa", isto Γ©, vocΓͺ executa uma vez o alvo e o rr grava tudo. Depois vocΓͺ depura essa gravaΓ§Γ£o.

Freeware

Debugger ring0/3, parte integrante do SDK do Windows.

Livre

Debugger user-mode para Windows com suporte a 32 e 64-bits.

hexdump/hd

Livre

PadrΓ£o no BSD e Linux. Se chamado por "hd" exibe saΓ­da em hexa/ASCII.

od

Livre

PadrΓ£o no UNIX e Linux. O comando od -tx1 produz uma saΓ­da similar Γ  do hd.

xxd

Livre

Vem com o vim. Uma saΓ­da similar Γ  do hd Γ© obtida com xdd -g1.

010 Editorarrow-up-right

Shareware

Multiplataforma, bastante usado. Suporta templates e scripts. Alguns dizem que Γ© o melhor atualmente.

bviarrow-up-right

Livre

Editor de interface de texto (TUI), similar ao HT Editor. Tem versΓ£o para DOS/Windows mas reina mesmo Γ© no Linux.

fhexarrow-up-right

Livre

Editor grΓ‘fico multiplataforma capaz de exibir o binΓ‘rio graficamente, alΓ©m de suportar expressΓ΅es regulares na busca.

GNU pokearrow-up-right

Livre

Editor REPL genΓ©rico (nΓ£o sΓ³ para executΓ‘veis) com uma abordagem muito interessante. Escrevemos um artigoarrow-up-right sobre.

Helium Hex Edtitorarrow-up-right

Comercial

Editor incrΓ­vel para Windows. Tem recursos muito legais como ediΓ§Γ£o e alocaΓ§Γ£o de memΓ³ria, operaΓ§Γ΅es com dados (XOR, SHL, etc) e na versΓ£o paga tem suporte a vΓ‘rios algoritmos criptogrΓ‘ficos, disassembly e mais.

Hex Workshoparrow-up-right

capaarrow-up-right

Livre

Detecta as capacidades de executΓ‘veis PE e shellcodes para Windows.

CFF Explorerarrow-up-right

Freeware

Sendo parte do Explorer Suite, Γ© na real um editor de PE. Com ele Γ© possΓ­vel adicionar imports, remover seΓ§Γ΅es, etc.

DIE (Detect It Easy)arrow-up-right

Freeware

Detecta compilador, linker, packer e protectors em binΓ‘rios. TambΓ©m edita os arquivos.

DUMPBINarrow-up-right

Freeware

BFDarrow-up-right

Livre

Binary File Descriptor Γ© a biblioteca usada por programas como readelf e objdump. Tem suporte a muitos tipos de arquivos, incluindo PE e ELF, claro.

libpearrow-up-right

Livre

Nossa πŸ’š biblioteca multiplataforma para parsing de arquivos PE.

libPeConvarrow-up-right

Livre

Biblioteca em C++ para PE usada pelo PE-Bear.

pefilearrow-up-right

Livre

flat assembler (FASM)arrow-up-right

Livre

Assembler bem recente que jΓ‘ vem com vΓ‘rios exemplos de cΓ³digo. Windows e Linux.

GNU Assembler (GAS)arrow-up-right

Livre

TambΓ©m chamado simplesmente de as, Γ© o assembler do projeto GNU e provavelmente jΓ‘ estΓ‘ instalado no seu Linux!

Microsoft Macro Assembler (MASM)arrow-up-right

Freeware

Atualmente jΓ‘ vem com o Visual Studio da Microsoft, mesmo na versΓ£o Community. Segue um tutorial de como compilar um "Hello, world"arrow-up-right.

Netwide Assembler (NASM)arrow-up-right

Livre

Binary Ninjaarrow-up-right

Comercial

Novo disassembler que teoricamente compete com o IDA. Possui versΓ£o online gratuitaarrow-up-right mediante registro.

Ghidraarrow-up-right

Livre

Disassembler livre lanΓ§ado pela NSA. Temos um treinamentoarrow-up-right em vΓ­deo sobre ele.

Hopperarrow-up-right

Comercial

Disassembler com foco em binΓ‘rios de Linux e macOS.

IDAarrow-up-right

Comercial

dnSpyarrow-up-right

Livre

Somente para .NET, descompila, debuga e (dis)assembla.

edb (Evan's Debugger)arrow-up-right

Livre

Debugger grΓ‘fico (Qt) com foco em binΓ‘rios ELF no Linux.

GDB (GNU Debugger)arrow-up-right

Livre

Super conhecido debugger pra Linux do projeto GNU. Tem uma versΓ£o nΓ£o oficial pra Windowsarrow-up-right tambΓ©m. Γ‰ modo texto, mas possui vΓ‘rios front-ends como GDBFrontendarrow-up-right, dentre outrosarrow-up-right.

GEFarrow-up-right

Livre

de4dotarrow-up-right

Livre

Para .NET. Conhece vΓ‘rios ofuscadores e permite trabalhar genericamente tambΓ©m.

Threadteararrow-up-right

Livre

Para programas feito em Java. Suporta os ofuscadores mais comuns como Stinger e ZKM.

ILSpyarrow-up-right

Livre

Descompilador multiplataforma para .NET.

IDR (Interactive Delphi Reconstructor)arrow-up-right

Livre

Para binΓ‘rios compilados em Delphi.

Rekoarrow-up-right

Livre

Descompilador genΓ©rico com versΓ£o de linha de comando, grΓ‘fica e atΓ© web.

RetDec (Retargetable Decompiler)arrow-up-right

Livre

Descompilador para C/C++ feito pelo time do Avast. Inclui detector de compilador e packer, plugins para IDA e radare2.

Snowmanarrow-up-right

Livre

Descompilador livre para C/C++. Pode ser usado como plugin no IDA, x64dbg, etc.

CFRarrow-up-right

Livre

Descompilador para Java de linha de comando. O output Γ© o cΓ³digo fonte e sΓ³.

IntelliJ IDEAarrow-up-right

Mista

Na verdade Γ© uma IDE para programaΓ§Γ£o em Java mas mesmo a versΓ£o Community possui descompilador e debugger para classes compiladas em Java.

JD-GUIarrow-up-right

Livre

Descompilador para Java com GUI.

Procyonarrow-up-right

Livre

VB Decompilerarrow-up-right

Comercial

Descompilador para VB5/6 e disassembler para VB .NET.

Qilingarrow-up-right

Livre

Framework que combina emulaΓ§Γ£o com instrumentaΓ§Γ£o de binΓ‘rios. Γ‰ possΓ­vel emular programas de Windows e Linux, alΓ©m de outros SOs, incluindo ring0.

Speakeasyarrow-up-right

Livre

Emulador feito pela FireEye, inicialmente para programas nativos de Windows (ring0) mas possui um crescente suporta Γ  programas em usermode (ring3), emulando vΓ‘rias das funΓ§Γ΅es da Windows API.

angrarrow-up-right

Livre

Framework para anΓ‘lise estΓ‘tica e simbΓ³lica de binΓ‘rios.

Fridaarrow-up-right

Livre

Framework para instrumentaΓ§Γ£o dinΓ’mica de binΓ‘rios.

PANDAarrow-up-right

Livre

Plataforma de anΓ‘lise dinΓ’mica baseada no QEMU, que faz atΓ© replay de aΓ§Γ΅es.

Radarearrow-up-right

Livre

Process Explorerarrow-up-right

Freeware

ClΓ‘ssica ferramenta do conjunto SysInternals, que exibe muito mais que o Gerenciador de Tarefas comum.

System Explorerarrow-up-right

Livre

VersΓ£o do Pavel Yosifovich que conta com algumas vantagens sobre o Process Explorer, como visualizar informaΓ§Γ΅es de processos protegidos (atravΓ©s de um driver), listar todas as threads abertas no Windows, todos os jobs, etc.

System Informerarrow-up-right (antigo Process Hacker)

Livre

Talvez o melhor da categoria. Mostra os handles, objetos, processos, quem tΓ‘ usando o que e muita mais.

LiSaarrow-up-right

Livre

Possui uma API bem simples e suporta binΓ‘rios ELF compilados para x86, x86-64, ARM e MIPS.

DRAKVUF Sandboxarrow-up-right

Livre

Projeto co-financiado pelo CERT da PolΓ΄nia que usa o engine DRAKVUF para criar uma sandbox de Windows 7 ou Windows 10 sem agente no guest.

CAPEarrow-up-right

Livre

Sandbox especΓ­fica para extraΓ§Γ£o de configuraΓ§Γ£o de malware.

Cuckooarrow-up-right

Livre

Provavelmente a sandbox mais popular e utilizada.

Any.Runarrow-up-right

Community

Apesar do nome, sΓ³ suporta artefatos de Windows, mas Γ© muito bom!

Hybrid Analysisarrow-up-right

Community

Sandbox muito boa. TambΓ©m Γ© um portal de investigaΓ§Γ£o inclusive com suporte Γ  regras de Yara.

Joe Sandboxarrow-up-right

Community

Um dos primeiros serviΓ§os. Suporta ELF (x86 e x86-64), PE e documentos.

hdumparrow-up-right

Livre

Clone nosso πŸ’š, multiplataforma (funciona no Windows!) do hexdump que imita a saΓ­da do hd.

heksaarrow-up-right

Livre

Multiplataforma, com saΓ­da colorida e recursos interessantes como seek negativo (a partir do fim do arquivo).

HexLassoarrow-up-right

Gratuito

Visualizador web que faz anΓ‘lises estatΓ­sticas visuais muito ΓΊteis.

hexylarrow-up-right

Livre

Kaitai Structarrow-up-right

Livre

Se vocΓͺ pensa em parsear um formato desconhecido ou tΓ‘ estudando PE/ELF, vale olhar este gerador de parser livre.

Intezer Analyzerarrow-up-right

Community

Online. Requer um pequeno cadastro. Tem um recursos de identificar "genes" estaticamente de famΓ­lias de binΓ‘rios.

Comercial

Analisador de PE de linha de comando disponΓ­vel no SDK do Visual Studio.

Famosa biblioteca em Python pra fazer qualquer coisa com arquivos PE.

Multiplataforma, suporte Γ  sintaxe Intel e bem popular. Veja um .

Disassembler interativo padrΓ£o de mercado. Possui versΓ£o freeware.

O GDB Enhanced Features extende o GDB com recursos para engenharia reversa.

Para Java, com suporte a recursos novos da linguagem. Γ‰ modo texto mas hΓ‘ GUI's disponΓ­veis documentadas no link.

SuΓ­te completa com debugger, disassembler e outras ferramentas para quase todo tipo de binΓ‘rio existente!

Multiplataforma, tambΓ©m com output colorido, exibiΓ§Γ£o de borda, etc.

$ hdump -n 32 /bin/ls
00000000  7f 45 4c 46 01 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
00000010  03 00 28 00 01 00 00 00  21 3e 00 00 34 00 00 00  |..(.....!>..4...|

$ heksa -l 32 /bin/ls
00000β”Š7f 45 4c 46 01 01 01 00  00 00 00 00 00 00 00 00β”Š.ELF...Ø ØØØØØØØØ
00010β”Š03 00 28 00 01 00 00 00  21 3e 00 00 34 00 00 00β”Š.Ø(Ø.ØØØ !>ØØ4ØØØ

$ hexyl -n32 /bin/ls
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚00000000β”‚ 7f 45 4c 46 02 01 01 00 β”Š 00 00 00 00 00 00 00 00 β”‚β€’ELFβ€’β€’β€’0β”Š00000000β”‚
β”‚00000010β”‚ 02 00 3e 00 01 00 00 00 β”Š fc 4a 40 00 00 00 00 00 β”‚β€’0>0β€’000β”ŠΓ—J@00000β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜

$ hd -n32 /bin/ls
00000000  7f 45 4c 46 01 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
00000010  03 00 28 00 01 00 00 00  21 3e 00 00 34 00 00 00  |..(.....!>..4...|
00000020

$ od -Ax -tx1 -N32 /bin/ls
0000000    7f  45  4c  46  01  01  01  00  00  00  00  00  00  00  00  00
0000010    03  00  28  00  01  00  00  00  21  3e  00  00  34  00  00  00
0000020

$ xxd -g1 -l32 /bin/ls
00000000: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00  .ELF............
00000010: 03 00 28 00 01 00 00 00 21 3e 00 00 34 00 00 00  ..(.....!>..4...
HexFiendarrow-up-right
HexPatcharrow-up-right
Hexinatorarrow-up-right
hexxedarrow-up-right
Hiew (Hacker's View)arrow-up-right
HT Editorarrow-up-right
HxDarrow-up-right
ImHexarrow-up-right
Reverse Engineer's Hex Editorarrow-up-right
Synalyze It!arrow-up-right
WinHexarrow-up-right
wxHexEditorarrow-up-right
XVI32arrow-up-right
Edumparrow-up-right
Exeinfo PEarrow-up-right
Malwoverviewarrow-up-right
objdumparrow-up-right
PE-Beararrow-up-right
PEdumparrow-up-right
pestudioarrow-up-right
readelfarrow-up-right
readpearrow-up-right
aquiarrow-up-right
Stud_PEarrow-up-right
PeNetarrow-up-right
PeParserarrow-up-right
pyelftoolsarrow-up-right
tutorial de como compilar um "Hello, world" no Linuxarrow-up-right
Yasm Modular Assembler (YASM)arrow-up-right
HyperDbgarrow-up-right
OllyDbgarrow-up-right
PEDAarrow-up-right
rrarrow-up-right
WinDbgarrow-up-right
x64dbgarrow-up-right