
PoCs pour la famille de pilotes xhunter de l'anti-triche Wellbia XIGNCODE3 - xhunter1.sys v2023.12.7.78 et xhunter2.sys v2026.6.1.192 (CVE-2026-15430, CVE-2026-3609).
PoC pour la famille de pilotes xhunter de l'anti-triche Wellbia XIGNCODE3 — xhunter1.sys v2023.12.7.78 (CVE-2026-3609) et xhunter2.sys v2026.6.1.192 (CVE-2026-15430).
Espace de travail Cargo, trois crates :
AxHunter/
├── Cargo.toml workspace manifest
├── axhunter-lsa/ shared crate — driver-agnostic LSA extraction (MemReader trait,
│ LDR walk, BCrypt 3DES key extraction, LogonSessionList,
│ WDigest). Consumed by both PoCs.
├── axhunter_v1/ xhunter1.sys v2023.12.7.78 (CVE-2026-3609)
└── axhunter_v2/ xhunter2.sys v2026.6.1.192 (CVE-2026-15430)
Chaque crate PoC embarque son propre binaire de pilote cible (xhunter1.sys, xhunter2.sys) et — dans axhunter_v2/src/ — le module WBMF de Wellbia (wbmf_module.dll) extrait d'un processus WindSlayer.exe actif.
Depuis la racine de l'espace de travail :
cargo build --release # builds both binaries + shared crate
cargo build --release -p AxHunter_v1
cargo build --release -p AxHunter_v2
Les deux binaires sont générés dans target/release/ :
target/release/AxHunter_v1.exe
target/release/AxHunter_v2.exe
Les deux binaires partagent les mêmes options :
AxHunter_v1.exe -m {dump|kill|lpe|inject|all} [-t <pid|image>] [-d <device>] [-p <payload.bin>]
AxHunter_v2.exe -m {dump|kill|lpe|inject|all} [-t <pid|image>] [-d <device>] [-p <payload.bin>]
Consultez le README de chaque crate pour les valeurs par défaut propres au pilote et les détails des modes.
xhunter1.sys v2023.12.7.78. Correspond à axhunter_v1/.xhunter2.sys v2026.6.1.192. Correspond à axhunter_v2/.| Propriété | xhunter1.sys v2023.12.7.78 | xhunter2.sys v2026.6.1.192 |
|---|---|---|
| CVE | CVE-2026-3609 | CVE-2026-15430 |
| Transport | IRP_MJ_WRITE, trame en clair de 624 octets | IRP_MJ_WRITE, trame de 1184 octets chiffrée LCG-XOR |
| Magie de trame | 0x345821AB | 0x70506202 (MAGIC ^ SEED_KEY) |
| Authentification à l'ouverture du périphérique | Aucune | PE signé RSA-2048 WBMF + Win32StartAddress dans le PE |
| Authentification par requête | Aucune | Blob WBCC + itérateur de chaîne de certificats |
| Escalade du filtre PID | cmd 777 + cmd 775 | cmd 777 + cmd 779 + cmd 775 |
| cmd 785 (création de handle PPL) | ObOpenObjectByPointer(KernelMode) | identique |
| cmd 787 (lecture inter-processus) | copie d'octets via KeStackAttachProcess | identique |
| cmd 800 (kill par écrasement de handle) | KeStackAttachProcess + ObSetHandleAttributes(KernelMode) + ZwClose | identique |
| cmd 820 (injection noyau) | allocation RWX + copie + RtlCreateUserThread (tout en ring 0) | identique |
xhunter1.sys v10.0.10011.16384 jusqu'à v2023.12.7.78 (article, PoC historique sur CredsHunter).MIT. Voir LICENSE.