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-uidfield-system-uid0 — OPNsense 26.7.6 - Alta - Remota - Privilegio residual - UidField uid 0 | Kitploit
Herramientas/GitHubGitHub/abraxas/opnsense-uidfield-system-uid0
Autenticación y AutorizaciónEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónVirtualización de SeguridadSeguridad WebPruebas de PenetraciónLabs y Práctica

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
GitHubabraxas/opnsense-uidfield-system-uid0

opnsense-uidfield-system-uid0

OPNsense 26.7.6 - Alta - Remota - Privilegio residual - UidField uid 0

Ver Repositorio
hace 2 díasAún no revisado

Abraxas Labs - opnsense-uidfield-system-uid0

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-uidfield-system-uid0

opnsense-uidfield-system-uid0

Clase: Privilegio residual Alcance: Remoto

OPNsense core 26.7.6 (a842fe48) - opnsense.org

Delegado page-system-usermanager en dos pasos scope=system y luego uid=0. UidField::setValue autoasigna 2000+ solo mientras el scope no es system. setNodes aplica uid antes que scope, por lo que un solo add no puede estampar 0. El segundo POST sí puede. auth sync user luego pw useradd -o -u 0 con home /root y grupo wheel. Las claves autorizadas terminan en /root/.ssh/authorized_keys. El privilegio es System: Access: Management, no page-all.

IDsin CVE aún
ClasePrivilegio residual
AlcanceRemoto (WebGUI autenticada / clave de API local)
CWECWE-269 / CWE-284
CVSSAlto: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProductoOPNsense core (Deciso B.V.)
AfectadoOPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) UidField / user-manager
AutenticaciónSesión WebGUI o clave de API local con page-system-usermanager
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1

Fijé el tag 26.7.6 "Xenial Xenops". El laboratorio es un gadget PHP del UidField::setValue fijado más local_user_set, identidad de loopback 127.0.0.1:18810. stable/26.7 revirtió la escritura de UID-0 como ea4f01fe el 2026-10-09. Esa reversión no es este pin. Sin GHSA.

Qué puede hacer un atacante

MétodoSinkPrivilegio
add en dos pasos scope=system luego set uid=0 luego auth sync userpin UidField::setValue luego stub pw useradd -o -u 0 (auth.inc:345-397)Integridad (probado en laboratorio): segundo UID 0 de Unix, home /root, grupo wheel. Laboratorio: after-add=2000 after-set=0 pw-o-u0=yes.
mismo set + authorizedkeysfile_put_contents /root/.ssh/authorized_keys (auth.inc:407-416)Integridad (probado en laboratorio): testigo en /root/.ssh/authorized_keys.
SSH como ese nombre si sshd está activo (AllowGroups wheel; PermitRootLogin no aplica a un nombre de usuario no root)sshdReconocimiento + integridad (inferido): login como el nuevo nombre wheel, leer /root. El gadget no inició sshd.
mismos POSTs con scope=user uid=0autoasignación 2000+ de UidFieldNegativo (probado en laboratorio): el uid permanece en 2000. scope-user-uid0-ignored=yes.
set uuid stock de root uid=80pw usermod -u 80Integridad + disponibilidad (inferido): mover el root stock fuera del UID 0. El gadget no hizo usermod de root.
set uuid de root name=hax + scope=userchequeo de renombrado omitido; auth sync user sobre el nuevo nombreIntegridad (inferido): renombrado de usuario de sistema que el chequeo de 26.7.6 debía detener.

Probado en laboratorio vs inferido: UID 0 en dos pasos, pw useradd -o -u 0, ruta de claves, e ignorar scope=user son ÉXITO en laboratorio. La aceptación de sshd en vivo y el usermod/renombrado del root stock son inferidos. Gadget, no una VM OPNsense completa.

Requiere: sesión WebGUI o clave de API local con page-system-usermanager. CSRF en la ruta de sesión. No page-all. El config.xml.sample por defecto solo otorga page-all al grupo admins.

Superficie adyacente que permanece cerrada

SuperficieLaboratorio
POST /api/auth/user/* sin page-system-usermanagerACL cerrada
user-config-readonlysave() sigue con throwReadOnly()
Carga de CSVelimina uid/scope
CVE-2026-44194 email-as-shellmwexecf %s + regex de email
Página de contraseñaligada a sesión
page-all haciendo el mismo POSTfuncionalidad del changelog en este pin
Sin autenticacióncerrado
su de Unix con * en master.passwdel hash de la GUI permanece en config.xml salvo que el instalador fuerce

Sin no autenticado. No se requiere page-all. 26.7.6 presentaba el UID elegido para usuarios de scope system como una funcionalidad de admin. El recorrido no coincidente es un user-manager delegado sin page-all.

Laboratorio

cd lab
./run.sh

Loopback 127.0.0.1:18810. Proyecto Compose opnsense-uidfield-system-uid0. Imagen del pin 26.7.6. Testigo OPNSENSE-UIDFIELD-SYSTEM-UID0-WITNESS. Última línea:

SUCCESS opnsense-uidfield-system-uid0 two-step-uid=0 scope-user-uid0-ignored=yes pw-o-u0=yes keys=/root/.ssh/authorized_keys OPNSENSE-UIDFIELD-SYSTEM-UID0-WITNESS

La solución

Rechazar UID 0 (y UIDs de servicio en colisión) a menos que el llamador sea un admin completo. Aplicar scope antes que uid en setNodes, o rechazar un POST que cambie ambos. Mantener el chequeo de renombrado de 26.7.6 sobre el scope pre-setNodes, no el enviado. ea4f01fe luego revirtió la escritura de UID-0 en stable/26.7; ese commit no es este pin.

Referencias

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • UidField.php
  • auth.inc local_user_set
  • Página nombrada (no este residual): CVE-2026-44194 / GHSA-f59w email-as-shell
  • Reversión posterior (no este pin): ea4f01fe en stable/26.7
  • CWE-269 / CWE-284
Descargar herramienta