Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
ALPC-Enumerator — Una herramienta de espacio de usuario de Windows para enumerar y clasificar puertos ALPC, incluidos los procesos protegidos por PPL. | Kitploit
Herramientas/GitHubGitHub/talha-nazeef-ahmed/alpc-enumerator
ReconocimientoAnálisis de VulnerabilidadesIngeniería InversaRecopilación de InformaciónAnálisis de MalwareForensia DigitalRed Teaming
GitHubtalha-nazeef-ahmed/alpc-enumerator

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 →

ALPC-Enumerator

Una herramienta de espacio de usuario de Windows para enumerar y clasificar puertos ALPC, incluidos los procesos protegidos por PPL.

Ver Repositorio
2632hace 28 díasRevisado por Kitploit
Compartir

Enumerador de Puertos ALPC Consciente de PPL

Una herramienta userland de Windows para enumerar y clasificar puertos de Advanced Local Procedure Call (ALPC), incluyendo aquellos propiedad de procesos PPL (Protected Process Light) donde la duplicación estándar de handles falla.

Las herramientas de enumeración estándar a menudo omiten por completo los puertos protegidos o con acceso denegado, creando puntos ciegos. Esta herramienta resuelve dinámicamente el índice del tipo de objeto ALPC Port y recurre a NtQueryInformationProcess para clasificar con precisión los puertos que rechazan las solicitudes estándar de duplicación.

Casos de Uso en el Mundo Real

Esta herramienta elimina los puntos ciegos en la enumeración estándar de IPC de Windows para dos audiencias principales:

  • Threat Hunting y DFIR: El malware que se comunica a través de ALPC puede enganchar o denegar el acceso a PROCESS_DUP_HANDLE para ocultar su actividad. Las herramientas estándar descartan silenciosamente estos puertos. Esta herramienta detecta el fallo y consulta en su lugar la estructura PS_PROTECTION. Si un proceso deniega el acceso pero devuelve un Type y Signer de 0 (None), no se trata de un proceso PPL legítimo de Windows; esto es altamente anómalo y debe marcarse para investigación inmediata.
  • Investigación de Vulnerabilidades: Mapear con precisión la superficie de ataque no documentada de RPC/ALPC requiere precisión absoluta. Confiar únicamente en la duplicación de handles garantiza perder los objetivos más privilegiados (y más valiosos) del sistema.

Resumen de Ejecución y Datos Crudos

Durante las pruebas en un sistema Windows en vivo, la herramienta recorrió 58,916 handles abiertos y aisló 2,618 puertos ALPC:

  • 52 Puertos Protegidos
  • 260 Puertos Nombrados
  • 346 Puertos con Ruta en el Nombre
  • 1,960 Puertos Anónimos

Salida Cruda: La salida completa y sin filtrar de esta ejecución está disponible en alpc_enumerator_output.txt.

Nota sobre Puertos Anónimos: La impresión en consola de los puertos anónimos está deshabilitada por defecto en main.cpp para evitar saturar la salida del terminal con miles de entradas. Si necesitas salida en tiempo real para los puertos anónimos, descomenta checkEntriesVectorForPrint(anonEntries, "Anonymous"); en la línea ~451 antes de compilar.

Verificación del Kernel

Para demostrar que la enumeración userland es precisa, la salida de la herramienta se ha verificado manualmente contra el depurador del kernel de Windows (WinDbg). Las direcciones de los objetos y los niveles de signer PPL coinciden exactamente con la verdad del kernel.

  • Ver VERIFICATION.md para la prueba lado a lado.
  • Ver alpc_verification_log.txt para el registro de sesión crudo de WinDbg.

Compilar y Ejecutar

  1. Abre main.cpp en Visual Studio o compílalo con MSVC.
  2. Compila en modo Release (x64).
  3. Ejecuta como Administrador (requiere SeDebugPrivilege).

Enfoque Técnico

En lugar de hardcodear el índice del tipo de objeto ALPC (lo cual se rompe entre compilaciones de Windows), la herramienta crea un puerto ALPC desechable y consulta su tipo dinámicamente para aislar el índice correcto para el sistema anfitrión (por ejemplo, Índice 46). Cuando la duplicación estándar de handles falla, decodifica PS_PROTECTION para extraer el Type y Signer exactos necesarios para clasificar puertos sin depender de los derechos de acceso.

Para un desglose técnico completo, aquí está el enlace al artículo en Medium: https://medium.com/@sphinx_321/userland-alpc-enumeration-dynamic-ppl-aware-approach-283541194102

Mantente Actualizado

Esta herramienta es parte de mi investigación en curso sobre ALPC/RPC y los internals de Windows. Publicaré más hallazgos y lanzaré herramientas complementarias en un futuro cercano. Si te resultó útil, considera seguirme en GitHub o en mis redes sociales a continuación para recibir notificaciones de futuros lanzamientos.

Twitter LinkedIn

Licencia

MIT

Descargar herramienta