Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
masm32-kernel-programming — Programación de kernel masm32, controladores, tutoriales, ejemplos y herramientas (créditos Four-F) | Kitploit
Herramientas/GitHubGitHub/therealdreg/masm32-kernel-programming
Ingeniería InversaAnálisis de MalwareAnálisis de BinariosAprendizaje y EducaciónRecursos CuradosLabs y Práctica
GitHubtherealdreg/masm32-kernel-programming

masm32-kernel-programming

Programación de kernel masm32, controladores, tutoriales, ejemplos y herramientas (créditos Four-F)

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver RepositorioSitio web
130189hace 3 añosRevisado por Kitploit
Compartir

masm32-kernel-programming

Repo de Dreg para sus propias necesidades

Programación de kernel con masm32, drivers, tutoriales, ejemplos y herramientas (créditos a Four-F)

Instrucciones

  • descarga/clona este repo
  • ejecuta masm32v11r_install.exe
  • haz clic en la imagen de instalación (earth)
  • instala masm32 en C:\
  • recomiendo añadir las siguientes entradas a la variable de entorno PATH:
    • C:\masm32\bin
    • C:\masm32
  • copia el contenido de KmdKit18\include\ a C:\masm32\include\
  • copia el contenido de KmdKit18\macros\ a C:\masm32\macros\
  • copia el contenido de KmdKit18\lib\ a C:\masm32\lib\

Ejemplo básico

  • copia beeper.asm a C:\
  • copia beeper.bat a C:\
  • ejecuta beeper.bat

En este momento se crea un .sys en C:\

Cómo cargar/descargar un driver

w2k_load.exe - la mejor forma

cargar driver:

  • w2k_load.exe C:\beeper.sys

w2k_load.exe u osrloader.exe dan un error al cargar beeper.sys, ignóralo.

Este error lo genera el propio código del driver cuando termina su ejecución (con este truco no necesitas descargarlo)

mov eax, STATUS_DEVICE_CONFIGURATION_ERROR
ret

Así que, si beep.sys se cargó correctamente en el kernel deberías escuchar un beep en tus altavoces (el código del driver genera un beep)

Cuando necesites descargar un driver usa:

  • w2k_load.exe PATH_SYS_FILE /unload

Modifiqué w2k_load.exe de Sven B. Schreiber para que funcione desde Windows 2000 hasta Windows 10 (manifest...)

osrloader

descomprime osrloaderv30.zip y usa este programa GUI:

  • Selecciona un archivo .sys (ruta del driver)
  • Registra el servicio
  • Inicia el servicio

Cómo ver mensajes de depuración sin windbg

para versiones antiguas de Windows solo usa DbgView.exe incluido en este repo. Por cierto, lo modifiqué (manifest...)

Para Windows modernos usa el último dbgview.exe del sitio web de sysinternals, y revisa esto para solucionar problemas:

  • https://stackoverflow.com/questions/12494300/no-output-from-debugview
  • http://msdn.microsoft.com/en-us/library/windows/hardware/ff551519(v=vs.85).aspx
  • https://learn.microsoft.com/en-us/sysinternals/downloads/debugview

Siguientes pasos

Lee los archivos .pdf de este repo y mira los ejemplos en el directorio KmdKit18/examples

ADVERTENCIA: TODO el código fuente ASM está dentro de archivos .bat (código batch + asm mezclados en el mismo archivo)

Ejemplo con advanced\FindShadowTable\FindShadowTable.bat

;@echo off
;goto make

ASM DRIVER CODE GOES HERE

:make
set drv=FindShadowTable
\masm32\bin\ml /nologo /c /coff %drv%.bat
\masm32\bin\link /nologo /driver /base:0x10000 /align:32 /out:%drv%.sys /subsystem:native %drv%.obj
del %drv%.obj
echo.
pause

Este archivo contiene código BATCH que genera un .sys y también contiene el propio código fuente del driver. Así que, sí, es muy complicado, el script de compilación y el código fuente están juntos.

advanced/FindShadowTable

advanced/FindShadowTable

Este es un ejemplo de cómo encontrar ServiceDescriptorTableShadow.

Solo escanea hilos con ID 80h-400h intentando encontrar un hilo cuyo KTHREAD.ServiceTable no sea igual a KeServiceDescriptorTable. Si se encuentra un hilo así, su KTHREAD.ServiceTable contiene la dirección de ServiceDescriptorTableShadow.

Observa la salida de depuración del driver con DbgView (www.sysinternals.com) o usa SoftICE.

Probado en: Windows 2000, XP y Server 2003.

advanced/KbdSpy

advanced/KbdSpy

Este es un ejemplo de un driver de filtro de teclado PS/2 simple, heredado (no PnP). ADVERTENCIA: No podrás adjuntarlo a la pila de teclado USB.

Probado en: Windows 2000, XP y Server 2003.

advanced/MouSpy

advanced/MouSpy

Four-F, [email protected] Estos archivos de macros son de mi paquete cocomac.

Este es un ejemplo de un driver de filtro de ratón PS/2 simple, heredado (no PnP). ADVERTENCIA: No podrás adjuntarlo a la pila de ratón USB.

Probado en: Windows 2000, XP y Server 2003.

advanced/SecureDevices

advanced/SecureDevices

Este es un ejemplo de cómo aplicar ajustes de seguridad específicos a un objeto de dispositivo con nombre llamando a IoCreateDeviceSecure en lugar de IoCreateDevice.

Dado que la rutina IoCreateDeviceSecure no forma parte del sistema operativo, enlazamos wdmsec.lib, que contiene todas las rutinas necesarias.

La biblioteca wdmsec.lib que encontrarás aquí no es la que se distribuye con el DDK. Tuve que reconstruirla para reducir su tamaño, eliminando los miembros innecesarios.

basic/FileWorks

basic/FileWorks

Este es un ejemplo de cómo crear, escribir, leer y eliminar el archivo.

Usa KmdManager para registrarlo/desregistrarlo e iniciarlo. Observa su salida de depuración con DbgView (www.sysinternals.com) o usa SoftICE.

Probado en: Windows 2000, XP y Server 2003.

basic/HiddenDriver

basic/HiddenDriver

Este es un ejemplo de cómo empaquetar el driver en recursos.

Probado en: Windows 2000, XP y Server 2003.

basic/IsSafeBootMode

basic/IsSafeBootMode

La forma de saber si el sistema se está ejecutando en modo seguro o no.

Usa KmdManager para registrarlo/desregistrarlo e iniciarlo. Observa su salida de depuración con DbgView (www.sysinternals.com) o usa SoftICE.

Probado en: Windows 2000, XP y Server 2003.

basic/MemoryWorks/LookasideList

basic/MemoryWorks/LookasideList

Este es un ejemplo de cómo usar la lista lookaside y la lista doblemente enlazada para gestionar los bloques de memoria asignados desde la lista lookaside.

Usa KmdManager para registrarlo/desregistrarlo e iniciarlo/detenerlo. Observa su salida de depuración con DbgView (www.sysinternals.com) o usa SoftICE.

Probado en: Windows 2000, XP y Server 2003.

basic/MemoryWorks/seh

basic/MemoryWorks/seh

Este es un ejemplo de cómo manejar excepciones con SEH. Pero recuerda: ¡NO PUEDES MANEJAR TODAS LAS EXCEPCIONES CON SEH EN MODO KERNEL!

Usa KmdManager para registrarlo/desregistrarlo e iniciarlo/detenerlo. Observa su salida de depuración con DbgView (www.sysinternals.com) o usa SoftICE.

Probado en: Windows 2000, XP y Server 2003.

basic/MemoryWorks/SharedSection

basic/MemoryWorks/SharedSection

Este es un ejemplo de cómo usar un objeto de sección con nombre para compartir memoria entre un proceso en modo usuario y un driver en modo kernel.

Probado en: Windows 2000, XP y Server 2003.

basic/MemoryWorks/SharingMemory

basic/MemoryWorks/SharingMemory

Este es un ejemplo de una posible forma de compartir el búfer de memoria entre el modo usuario y el modo kernel.

Probado en: Windows 2000, XP y Server 2003.

basic/MemoryWorks/SystemModules

basic/MemoryWorks/SystemModules

Descargar herramienta