
Simulazione end-to-end di un attacco di dependency confusion in Python, escalation dei privilegi di sudo (CVE-2025-32463) e persistenza basata su rootkit - con analisi forense completa di memoria e rete.
Questo progetto è stato sviluppato nell'ambito del corso Digitale Forensik presso la Technische Hochschule Deggendorf.
Dimostra un'indagine forense completa e una simulazione di attacco che coinvolgono:
Un attacco di dependency confusion in Python che utilizza un pacchetto PyPI dannoso
Escalation dei privilegi tramite una versione vulnerabile di sudo (CVE-2025-32463)
Distribuzione di un beacon C2 Sliver
Un rootkit personalizzato con caricamento di moduli del kernel, hooking delle syscall e persistenza basata su udev
Analisi completa degli artefatti di memoria e rete utilizzando strumenti come Volatility, NetworkMiner e reverse engineering manuale
Il repository contiene script, istruzioni di configurazione, artefatti , e passaggi di analisi dettagliati per replicare sia l'attacco che l'indagine forense.
shell)
binario shell
CVE-2025-32463
Dettagli NVD
PoC GitHub
[!NOTE]
È necessario installare una versione vulnerabile di sudo (con supporto chroot—vediprivesc/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
# Generazione degli artefatti
Tutti gli artefatti vengono generati manualmente. Utilizzerai due macchine:
- **Macchina dell'attaccante** (Kali Linux)
- **Macchina dello sviluppatore** (Ubuntu)
Genereremo tre artefatti:
- **PCAP** (prima del riavvio)
- **Memory dump** (dopo il riavvio)
## Creare il Memory Dump
[Come eseguire il dump della memoria di VirtualBox](https://www.ired.team/miscellaneous-reversing-forensics/dump-virtual-box-memory)
Sul 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
Vai all'interfaccia --> Debug Nella console di debug (prompt VMMR0>):```shell .pgmphystofile 'dumpmem_linux_root_kit'
## Preparare il dump di rete su Ubuntu
Avviare prima di simulare lo sviluppatore. Il `! port 22` è utile per non registrare la connessione ssh di vagrant.```shell
sudo tcpdump -w output.pcap ! port 22
shell)vagrant up
Questo può richiedere un po' di tempo --> scarica un'intera VM creata con Bento.