nullmap
Un mapeador de controladores manual muy simple basado en mi anterior voidmap y CVE-2023-21768 POC por chompie y b33f. Debido a que la primitiva subyacente de lectura/escritura de memoria de post-explotación de IoRing no maneja muchas lecturas y escrituras consecutivas muy bien, decidí sobrescribir CR4 para deshabilitar SMEP/SMAP y ejecutar el controlador mapeado en modo usuario. Probado en Windows 11 22H2 (22621.525).
Uso:
nullmap.exe <path_to_driver>
Posibles problemas:
- El controlador mapeado manualmente estará en un pool asignado por ExAllocatePool. Si deseas usar esto para algo más serio, deberías considerar encontrar una mejor forma de asignación de memoria para que no pueda ser volcado tan fácilmente.
- No hay una forma fácil de leer el valor original de CR4, lo que significa que tuve que hardcodear el valor que estaba en mi sistema. Aunque debería ser el mismo para la mayoría de las CPUs modernas, deberías verificar que el valor sea correcto.
- He hardcodeado el offset a NtGdiGetEmbUFI ya que no hay una forma fácil de hacer sigscan, lo que significa que tendrás que actualizar este offset para tu compilación específica de Windows.
- Fue escrito en una tarde, puede que no sea la base de código más limpia.
Vídeo:
