No episódio 9 da temporada 3, o Dark Army, liderado por White Rose, explodiu 71 prédios. Como você se lembra, o sistema de Elliot foi comprometido e ele precisou rastrear o malware até sua origem e hackear o Dark Army para assumir o controle de suas operações.
Elliot utiliza ferramentas forense de memória para reverter a engenharia do malware do Dark Army e enviar um documento malicioso para o servidor de comando e controle deles, a fim de assumir o controle de um de seus clientes. Como quase tudo nesta série, os detalhes técnicos são precisos e realistas. Elliot é visto usando o Volatility, uma ferramenta de análise de memória de código aberto, para encontrar o malware em seu sistema e rastreá-lo até seu servidor de comando e controle.
Em seguida, Elliot cria um PDF malicioso (ecoin_vuln_notes.pdf) que lhe deu acesso à interface de gerenciamento do Dark Army. Uma vez lá, ele pôde ver tudo – todos os alvos do Dark Army em um mapa.
Neste tutorial, examinaremos como Elliot conseguiu rastrear o servidor de comando e controle do Dark Army usando o Volatility.
Neste tutorial, examinaremos como Elliot conseguiu rastrear o servidor de comando e controle do Dark Army usando o Volatility.
O Volatility é um script Python e é invocado em cada um dos comandos seguintes usando vol.py. Em seguida, a opção -f é usada para extrair a memória para um arquivo que Elliot nomeia apropriadamente, out.mem. Em cada comando, deve ser incluído um perfil de memória do sistema operacional (cada sistema operacional usa a RAM de maneira diferente), neste caso –profile=kali.
No primeiro passo, Elliot precisa encontrar o arquivo-chave. Ele digita o seguinte comando.
Aqui, Elliot está usando o plugin do Volatility, linux_find_file, para procurar pelo arquivo (-f) /etc/ld.so.preload.
O Volatility responde com a localização (0xffff880028c740c0) do arquivo na memória.
Em seguida, Elliot digita a localização do arquivo na memória que ele encontrou no comando anterior e o envia (-O) para um arquivo chamado ld.so.preload.
Aqui, ele está simplesmente retirando um arquivo da memória ativa e copiando-o para um novo arquivo para que ele possa examinar seu conteúdo.
Agora, Elliot simplesmente exibe o conteúdo deste arquivo que ele extraiu da memória usando o comando cat.
O conteúdo do arquivo é /usr/local/lib/libhd.so.
Neste passo, Elliot está usando outro plugin do Volatility, linux_proc_maps, para exibir todos os processos em execução em seu sistema e depois redirecionando (|) para grep para filtrar o processo chamado libhd.so.
Como você pode ver, ele encontrou o processo no PID 39238.
A saída mostra que o processo que Elliot está procurando tem o PID (ID do processo) 39238. Elliot então usa essa informação para encontrar o PID 39238 e exibi-lo usando o plugin do Volatilty, linux_psaux.
Quando Elliot executa este comando, encontra o processo no PID 39238. Ele pode ver que é um script Python e que ele abre uma URL em 192.251.68.228.
Elliot encontrou a URL do servidor de comando e controle do Dark Army!
Agora, ele precisa enviar um documento (ecoin_vuln_notes.pdf) com seu rootkit para o servidor de comando e controle para assumir o controle de sua interface e sabotar os planos maliciosos do Dark Army.
Este episódio de Mr. Robot é uma excelente demonstração do poder da análise forense de memória ao vivo com o Volatility e levanta uma questão legal e ética sobre se podemos “Hackear o Hacker“.