
Simulação completa de um ataque de confusão de dependência em Python, escalação de privilégios sudo (CVE-2025-32463) e persistência baseada em rootkit – com análise forense completa de memória e rede.
Este projeto foi desenvolvido como parte do curso de Digitale Forensik na Technische Hochschule Deggendorf.
Ele demonstra uma investigação forense completa e simulação de ataque envolvendo:
Um ataque de confusão de dependência Python usando um pacote PyPI malicioso
Escalação de privilégio via uma versão vulnerável do sudo (CVE-2025-32463)
Implantação de um beacon Sliver C2
Um rootkit personalizado com carregamento de módulo kernel, hook de syscall e persistência baseada em udev
Análise completa de artefatos de memória e rede usando ferramentas como Volatility, NetworkMiner e engenharia reversa manual
O repositório contém scripts, instruções de configuração, artefatos , e etapas detalhadas de análise para replicar tanto o ataque quanto a investigação forense.
shell)
shell binary
CVE-2025-32463
Detalhes NVD
PoC Github
[!NOTE]
Você deve instalar uma versão vulnerável do Sudo (com suporte a chroot—vejaprivesc/setup.sh)
sequenceDiagram autonumber participant Attacker participant PyPI participant IntDep as Internal Dep Server participant Dev as Developer participant C2 as C2 Server
Attacker->>PyPI: Publish package with version v1.0.3
Dev->>IntDep: pip install
IntDep-->>Dev: Returns v1.0.1
Dev->>PyPI: Fallback pip install package==v1.0.3
PyPI-->>Dev: Returns malicious v1.0.3 (stager)
Dev->>Dev: Executes stager (package_evil)
Dev->>C2: Beacon/Sliver implant calls home
Note right of C2: Attacker now has RCE
Attacker->>Dev: Enumerates sudo version (1.9.16p2)
Attacker->>Dev: Runs CVE-2025-32463 exploit
Note right of Dev: PE to root
Dev->>Dev: Downloads & runs rootkit loader binary
Dev->>Dev: Loader installs kernel module & configures udev rule
Dev->>Dev: Schedules reboot
Note right of Dev: Attacker established persistence
Dev->>Dev: System reboots
Dev->>Dev: Udev loads kernel module on boot
Dev->>C2: Kernel-stage beacon calls C2
# Geração de Artefatos
Todos os artefatos são gerados manualmente. Você usará duas máquinas:
- **Máquina atacante** (Kali Linux)
- **Máquina desenvolvedora** (Ubuntu)
Produziremos três artefatos:
- **PCAP** (antes da reinicialização)
- **Dump de memória** (após a reinicialização)
## Criar Dump de Memória
[How to dump VirtualBox memory](https://www.ired.team/miscellaneous-reversing-forensics/dump-virtual-box-memory)
No sistema host:```shell
vboxmanage list vms
"linux-root-kit_default_1752261916398_20346" {c2d4b5bc-d87f-4dcb-af01-85b78c163fef}
virtualboxvm --startvm "linux-root-kit_default_1752261916398_20346" --dbg
Ir para interface --> Debug
No Console de Debug (prompt VMMR0>):```shell
.pgmphystofile 'dumpmem_linux_root_kit'
## Preparar Dump de Rede no Ubuntu
Inicie antes de simular o desenvolvedor. O `! port 22` é útil para não registrar a conexão ssh do vagrant.```shell
sudo tcpdump -w output.pcap ! port 22
shell)vagrant up
Isso pode demorar um pouco --> baixa uma vm inteira que foi construída com o Bento.
## 2. Assim que a VM estiver ativa, faça SSH: ```shell
vagrant ssh
sudo bash /vagrant/privesc/setup.sh sudo apt install python3.12-venv
## 4. Construir o binário do loader em userland (shell):
Você também pode executar o arquivo `make` para construir o binário userland `shell`. Esta é a maneira mais fácil de fazer isso - caso contrário, você precisaria instalar os cabeçalhos corretos primeiro :P.
## 5. Envie o `shell` para o Kali para depois servi-lo a partir de lá.