No últmo artigo falei sobre como montar uma máquina virtual básica para ER em Windows. Agora chegou a vez do Linux, já que o mundo não é feito só de PE. ?
A ideia aqui é montar um ambiente legal para reverter binários ELF. Dá uma olhada neste vídeo (em tela cheia de preferência) pra ter uma ideia do poder dessas ferramentas:
Legal né? Então mãos à obra!
Máquina virtual
- 1 GB de memória
- Placa de rede em modo NAT
Sistema operacional
Utilizo a ISO netinstall do Debian 64-bits, mas como sempre você é livre para utilizar a distribuição que quiser, só que este artigo é escrito com base nesta. ?
Algumas dicas de instalação:
- Não utilizar seu nome verdadeiro na criação da conta de usuário.
- Não instalar as extensões do software virtualizador como VMware Tools ou VirtualBox Guest Additions.
- Não configurar nenhuma regra de firewall ou qualquer software de proteção.
/etc/apt/sources.list
Eu deixo do seguinte jeito:
deb http://deb.debian.org/debian/ testing main contrib non-free deb-src http://deb.debian.org/debian/ testing main contrib deb http://security.debian.org/debian-security testing-security main contrib non-free deb-src http://security.debian.org/debian-security testing-security main contrib
O importante aqui é ter o contrib non-free após o main, já que alguns programas como o rar não são livres.
Depois de configurado este arquivo, é bom atualizar os pacotes existentes:
# apt update # apt upgrade -y
Instalação de software
Agora é hora de instalar os pacotes necessários:
# apt install man gdb binutils vim strace ltrace ht build-essential tcpdump unhide foremost sudo p7zip-full rar unrar fasm gcc-multilib git file zip unzip poke
GEF
Este é um plugin para o GDB que adiciona muitos recursos:
# apt install python3-pip python-is-python3 # pip3 install capstone keystone-engine unicorn ropper # git clone https://github.com/hugsy/gef.git # echo "source $PWD/gef/gef.py" >> ~/.gdbinit
Observações finais
- Após instalar todos os softwares, é de extrema utilidade criar um snapshot da máquina virtual, pra você voltar facilmente a este estado limpo após analisar um arquivo suspeito, por exemplo.
- Não precisa instalar um ambiente gráfico.
- Existe uma distribuição Linux chamada REMnux com foco em engenharia reversa, se você preferir.
- 2