
Uma demo de POC sobre CVE-2023-38831
Uma demonstração de POC da CVE-2023-38831
Breve descrição da vulnerabilidade
Como a vulnerabilidade funciona?

Primeira parte da exploração
A primeira metade ocorrerá na máquina do atacante para que a exploração comece.

1) Primeiramente, precisaremos criar a pasta de exploração contendo o anexo malicioso, “pdf”, o código python de exploração e o script bat usando o seguinte comando: “git clone https://github.com/HDCE-inc/CVE-2023-38831”

2) Isto é o que a pasta contém antes de qualquer exploração ocorrer,

3) Descobrindo o endereço IP da máquina Kali via ifconfig:

4) Modificaremos então o script existente no script bat para a seguinte linha de comando (imagem acima)
“start” serve para iniciar o processo na linha de comando, “/min” serve para minimizar o prompt de comando em segundo plano, ncat serve para iniciar a conexão com o endereço IP do atacante via porta 4444 e, por último, -e cmd.exe serve para executar a linha de comando no prompt de comando.

5) Isto mostra o código do exploit.py, explicado a seguir:
1 refere-se à entrada do usuário com o nome do arquivo isca, que é document.pdf, o nome do arquivo de script, que é bat.script, e a saída com o nome do arquivo RAR que a vítima verá e, neste caso, nós o salvaremos como getrich.rar.
2 refere-se às verificações feitas para validar se os arquivos existentes estão presentes na pasta CVE-2023-38831 na máquina Kali Linux com a convenção de nomenclatura correta e, se o nome estiver errado ou for um arquivo duplicado, uma mensagem de erro será exibida e o programa será interrompido e encerrado.
3 refere-se à criação de um destino temporário de arquivos usando os.mkdir() para armazenar o arquivo recém-criado antes de ser compactado em um arquivo e usado como área de trabalho.
4 refere-se a uma linha de cópia, shutil.copyfile, para copiar tanto o arquivo isca quanto o arquivo de script, que serão armazenados em seus respectivos diretórios dentro de “tmp”, garantindo que todos os arquivos necessários estejam corretos e no lugar antes de prosseguir para a próxima etapa. A próxima etapa, shutil.make_archieve, cria um arquivo a partir de “tmp” chamado “tmp.zip”, que contém tudo na pasta “tmp”.
5 refere-se ao sucesso da execução do código acima, que criou com êxito um arquivo RAR como exploit por meio da entrada do usuário com o nome do arquivo isca, do arquivo de script e do nome do arquivo de saída.

6) Depois de obter nosso endereço IP e modificar o script bat, podemos agora prosseguir para criar o “.rar” malicioso executando o comando “python exploit.py”
O exploit.py exigirá a entrada do usuário em 3 campos: o nome do arquivo isca existente, que é document.pdf, o nome do arquivo de script que modificamos anteriormente, que é script.bat, e um nome de arquivo RAR de saída para atrair a vítima a baixar e clicar no arquivo, o que requer um nome adequado e, neste caso, usamos “steps-to-generate-income.rar”. A CVE-2023-38831 está então pronta para explorar a máquina da vítima.
Segunda parte da exploração
A segunda metade ocorrerá tanto na máquina Kali quanto na máquina da vítima, que é uma VM do Windows 11.

1) Primeiro, criaremos um site malicioso ou enviaremos o anexo para a vítima.
No lado esquerdo, executaremos “python -m http.server 8080”. Este comando é um processo para capturar qual endereço IP acessa esta URL maliciosa, com o que podemos descobrir o endereço IP da vítima, e escuta diferentes requisições HTTP, como “200”, de um endereço IP específico. No lado direito, a vítima é atraída para este endereço IP e induzida a baixar o arquivo “steps-to-generate-income.rar”.

2) Assim que a vítima for atraída com êxito a baixar o arquivo malicioso “steps-to-generate-income.rar”, será exibido qual endereço IP baixou o arquivo junto com o intervalo de tempo. Com essas informações, podemos obter o endereço IP da vítima.

3) Em seguida, configuraremos um ncat na porta 4444 na máquina Kali, pois a porta 4444 deve sincronizar com a mesma porta escrita no script.bat a ser executado na máquina da vítima.
Assim que a vítima clicar no document.pdf, o bat.script executará a linha de comando e será minimizado em segundo plano em um instante, o que permite uma conexão de backdoor para o atacante.