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
faxhell — Un Bind Shell utilizando el Servicio de Fax y un DLL Hijack | Kitploit
Herramientas/GitHubGitHub/ionescu007/faxhell
Escalada de PrivilegiosExplotaciónPost-ExplotaciónRed TeamingDesarrollo de Payloads
GitHubionescu007/faxhell

faxhell

Un Bind Shell utilizando el Servicio de Fax y un DLL Hijack

Ver Repositorio
334855hace 6 añosRevisado por Kitploit

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 →
Compartir

faxhell ("Fax Shell")

Un shell de enlace de prueba de concepto que utiliza el servicio Fax y un secuestro de DLL basado en Ualapi.dll.

Consulte nuestro análisis en: https://windows-internals.com/faxing-your-way-to-system/

Demostración obligatoria

Cómo usar

  • Compila Ualapi.dll y colócalo en c:\windows\system32
  • Inicia el servicio Fax, que cargará la DLL y llamará a la exportación UalStart. UalStart pondrá en cola un elemento de trabajo del grupo de subprocesos que abrirá un identificador para RpcSs, buscará un token SYSTEM y luego lo suplantará. Después, creará un socket en la dirección del punto final local, lo vinculará al puerto 9299, y luego esperará asincrónicamente una conexión usando un puerto de finalización de E/S del grupo de subprocesos.
  • Conéctate al socket en el puerto 9299 usando tu cliente favorito (como nc(at).exe <ip> 9299) y luego escribe let me in y presiona ENTER. Si estás escribiendo código personalizado, asegúrate de enviar la cadena let me in\n.
  • El paquete de finalización de E/S despertará entonces la devolución de llamada del grupo de subprocesos, que iniciará un proceso Cmd.exe bajo el servicio DcomLaunch con privilegios SYSTEM, vinculando sus identificadores de entrada y salida al socket recién creado.
  • ¡Éxito!

Evasión de EDR / AV

  • Utiliza un servicio que no es comúnmente conocido y no es monitoreado ni marcado como sospechoso por los proveedores de EDR.
  • Utiliza la API del grupo de subprocesos de Windows para realizar la configuración, haciendo que las pilas sean más difíciles de leer, descargando trabajo a través de múltiples subprocesos y evitando "pistas" fáciles de que algo sospechoso está sucediendo.
  • El tiempo de vida de los tokens suplantados es muy pequeño, y solo el subproceso de trabajo se ejecuta como SYSTEM, volviendo a NETWORK SERVICE muy rápidamente y después de realizar solo una llamada API. Esto ayuda a reducir la posibilidad de ser detectado por varios escáneres.
  • Utiliza APIs de socket poco comunes que hacen que la tabla de importación sea menos sospechosa y evita detecciones de EDR, hooks de IOCTL y LSP.
  • Crea el shell de enlace bajo el servicio DcomLaunch (que ya es un servicio SYSTEM) y no bajo el servicio Fax, haciendo que parezca mucho más natural y evitando un árbol de procesos de aspecto muy sospechoso.
  • Aprovecha un error de Windows que hace que parezca que nuestro socket pertenece al servicio Fax, y no a DcomLaunch o Cmd.exe. Si matamos el servicio Fax, parece que el socket pertenece a System.

Advertencias

No está destinado a ser un shell de inserción directa, indetectable, malicioso y armado:

  • Es solo un shell de enlace, que la mayoría de los firewalls impedirán. Abrir reglas de firewall, o usar un shell de enlace inverso, o realizar comunicaciones a través de un puerto común como 80 o 443 funcionaría mejor.
  • Otros servicios, notablemente el Spooler, también cargan Ualapi.dll. Aunque el sistema se comporta bien si el servicio Fax está "atascado" en el estado SERVICE_START_PENDING, esto causará problemas en Spoolsv.exe.
  • Probablemente haya errores/fugas de memoria en el PoC -- hicimos lo mejor posible para que las cosas tengan calidad de producción, pero no ejecutamos las cosas a través de Application Verifier o asan.
Descargar herramienta