Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-51585 — # Exploit rt26cx21x64.sys (famille Realtek PCIe GbE/2.5GbE/5GbE) | Kitploit
Outils/GitHubGitHub/catforgor/cve-2026-51585
Analyse des VulnérabilitésExploitationRétro-ingénierieSécurité Matériel et IoTExploitation de Binaires
GitHubcatforgor/cve-2026-51585

CVE-2026-51585

# Exploit rt26cx21x64.sys (famille Realtek PCIe GbE/2.5GbE/5GbE)

Voir le dépôt
310il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

realtek poc

Exploitation de rt26cx21x64.sys (famille Realtek PCIe GbE/2.5GbE/5GbE)

Vue d'ensemble

L'OID 0xFF816871 mappe la bar mmio de la carte réseau dans l'espace d'adressage virtuel du processus appelant, (MmLockedPagesSpecifyCache), accessible depuis le mode utilisateur via \.\RealTekCard{GUID}

Cet IOCTL (0x0012C818) est protégé par une valeur de registre (DrvMode=4)

Une fois que nous avons accès aux registres mmio, nous programmons les anneaux de descripteurs tx/rx de la carte réseau en mode boucle pour lire/écrire des adresses physiques arbitraires (AllocateUserPhysicalPages nous donne les PFN).

Rétro-ingénierie

Répartition des IOCTL

L'IOCTL 0x12C008 (1230872) est la première branche de répartition vulnérable. 0x12C00C et 0x12C010 mènent à des chemins différents, a5 transporte le code IOCTL à travers le switch

Répartition des IOCTL

Porte de mode

Avant d'atteindre le chemin DMA, le pilote vérifie un indicateur global DrvMode, le bit 2 doit être défini sinon nous n'atteindrons jamais le chemin vulnérable de mappage MMIO.

Vérification de la porte de mode

dword_1400D0208 et 4 est la vérification

Contournement des gardes

Deux gardes se trouvent devant le chemin vulnérable, les deux doivent être évaluées à faux pour accéder au chemin DMA. Il s'agit d'un indicateur d'octet sur l'extension du périphérique et de la vérification de mode dans l' image précédente

Contournement des gardes

!_(_BYTE _)(a1 + 12465) est facile à contourner, il suffit de s'assurer que le périphérique n'est pas initialisé.

sub_14001B67C est également trivialement facile.

Allocation MDL

Le pilote alloue un MDL sur une adresse physique fournie par l'appelant sans aucune validation, il n'y a aucune validation de limites ou de plage, absolument rien.

Allocation MDL

Mappage physique

Le MDL est mappé dans la VA du noyau et l'adresse de base est donnée à l'appelant, 0x40000010 est MAP_NO_EXECUTE & MmNonCached.

MmMapLockedPages

MmMapLockedPagesSpecifyCache produit la VA mappée qui est écrite dans *a2 et renvoyée en mode utilisateur, ce qui nous donne une primitive arbitraire de lecture/écriture physique.

Prérequis

  • Un adaptateur realtek compatible qui correspond à nic.h.

Utilisation

Exécuter en tant qu'administrateur.

Après la première exécution, les valeurs de registre seront définies et vous devrez redémarrer votre PC.

Pour que cela fonctionne, votre carte réseau doit être dans un état de liaison UP (afin que nous puissions traiter les descripteurs).

Soit :

  • Branchez un câble ethernet vers un autre PC, un routeur ou tout ce qui peut établir une liaison UP

OU

  • Court-circuitez les broches 1-2 et 3-6 sur le port RJ45 pour établir la liaison UP

Compilation

root@kitploit:~
$ cmake -B build
$ cmake --build build --config Release

Remarques

  • J'ai retiré la plupart des éléments intéressants (cr3, stomping, etc., etc.) mais c'est la POC de base
Télécharger l’outil