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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
opnsense-lockout-factory-ip — OPNsense 26.7.6 - Alta - Remota - Privilegio residual - Bloqueo de fábrica de IP | Kitploit
Herramientas/GitHubGitHub/abraxas/opnsense-lockout-factory-ip
Análisis de VulnerabilidadesExplotaciónVirtualización de SeguridadSeguridad de RedesPruebas de PenetraciónPapers e InvestigaciónLabs y Práctica
GitHub
abraxas/opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

OPNsense 26.7.6 - Alta - Remota - Privilegio residual - Bloqueo de fábrica de IP

Ver Repositorio
7hace 2 díasAún no revisado

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

Abraxas Labs - opnsense-lockout-factory-ip

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

Clase: Privilegio residual Alcance: Remoto

OPNsense core 26.7.6 (a842fe48) - opnsense.org

El inicio de sesión no autenticado en la WebGUI sigue dirigiendo lockout_handler desde una línea LOG_AUTH de fábrica que no tiene IP de socket. GHSA-2v2x cerró la división CRLF y cambió la selección de IP de bloqueo al último token para que el from REMOTE_ADDR final de authgui.inc gane. AuthenticationFactory::authenticate() todavía hace syslog() del nombre de usuario sin procesar sin sufijo de dirección. Un nombre de usuario que coincida con una frase de bloqueo False más un token IPv4 es la última (única) dirección en esa línea. Tras los 5 intentos espaciados predeterminados: pfctl -t sshlockout -T add y pfctl -k. Predeterminado: bloqueo activado, GUI de LAN.

IDsin CVE todavía
ClasePrivilegio residual
AlcanceRemoto (POST de inicio de sesión no autenticado en la WebGUI)
CWECWE-117 / CWE-863
CVSSAlto: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
ProductoOPNsense core (Deciso B.V.)
AfectadoOPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) AuthenticationFactory / lockout_handler
AutenticaciónNo autenticado. Cookie CSRF + token de GET /.
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1

Fijé la etiqueta 26.7.6. El laboratorio es el lockout_handler fijado más un stub de PATH pfctl, identidad de loopback 127.0.0.1:18800. Esto no es CRLF. Un registro syslog de PHP sigue siendo una línea del handler. La última IP fue el endurecimiento correcto para la plantilla authgui y el endurecimiento incorrecto para la plantilla de fábrica.

Qué puede hacer un atacante

MétodoSumideroPrivilegio
Nombre de usuario LOG_AUTH de fábrica no autenticado con una frase de bloqueo False más un token IPv4 (6 líneas espaciadas)fijar lockout_handler -> stub pfctl -t sshlockout -T add y pfctl -kIntegridad (probado en laboratorio): tabla sshlockout más argv de eliminación de estados. Laboratorio: planted=203.0.113.77.
mismo plant, pf en vivofilter.lib.inc:293-314 from <sshlockout> to (self) puertos 22/GUIDisponibilidad (inferido): descartar nuevo TCP 22/GUI desde el host plantado; pfctl -k derriba los estados existentes desde esa IP.
mismo nombre de usuario solo con la IPv4 (sin frase False)lockout_handlerNegativo (probado en laboratorio): sin adición a la tabla. negative-ip-only=no.
línea authgui con from REMOTE_ADDR finalparser de última IPIntegridad de la propia IP (probado en laboratorio): el último token de authgui sigue siendo 198.51.100.10.
Cuerpo de inicio de sesión fallidoningunoRecon (probado en laboratorio, cerrado): el existente "Wrong username or password." Sin enumeración de usuarios.

Probado en laboratorio vs inferido: el plant de fábrica, el negativo solo con nombre de usuario y la última IP de authgui son ÉXITO en laboratorio. El bloqueo de pf en vivo y la eliminación de sesión en vivo son inferidos. lockout_handler fijado copiado sin cambios; syslog-ng y el POST de la WebGUI están stubbeados.

Requiere: POST de inicio de sesión no autenticado en la WebGUI. Cookie CSRF + token de GET /. Bloqueo activado (system.no_sshlockout sin establecer). Instalación predeterminada.

Superficie adyacente que permanece cerrada

SuperficieLaboratorio
Sesión no autenticada / root / escritura de config.xmlcerrado
Línea authgui plantando una IP ajenael último token es REMOTE_ADDR (authgui-last-ip=198.51.100.10)
readline() extra por CRLFreescritura de GHSA-2v2x; un registro sigue siendo una línea
Inicio de sesión con contraseña vacíaauthgui.inc requiere contraseña no vacía
Reinicio por palabra clave de éxito de CVE-2026-44195 en la línea authguiprimero las reglas de fallo
TypeError de pfctl -k str(ip) de Omar Habra en 26.7.6ya en este pin
IP plantada como destino DNS/gatewaylas reglas son from <sshlockout> to (self) solo puertos 22/GUI

Sin omisión de inicio de sesión. Sin RCE. Sin reescritura de config.xml. No genera una sesión.

Laboratorio

cd lab
./run.sh

Loopback 127.0.0.1:18800. Proyecto de Compose opnsense-lockout-factory-ip. Etiqueta de imagen opnsense-lockout-factory-ip:26.7.6. Testigo OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS. Última línea:

SUCCESS opnsense-lockout-factory-ip planted=203.0.113.77 table=sshlockout negative-ip-only=no authgui-last-ip=198.51.100.10 OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS

La solución

Añadir la IP del socket a la plantilla syslog(LOG_AUTH) de fábrica, el mismo from REMOTE_ADDR final que authgui.inc. O ignorar las IPs de bloqueo que no provengan del propio peer del handler. No tratar el último token como sustituto de "la dirección del cliente".

Referencias

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • AuthenticationFactory.php
  • lockout_handler
  • Recorrido nombrado (no este residual): plant de primera IP por CRLF de GHSA-2v2x
  • CWE-117 / CWE-863
Descargar herramienta