Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
opnsense-lockout-factory-ip — OPNsense 26.7.6 - Élevé - À distance - Privilège résiduel - verrouillage d'usine IP | Kitploit
Outils/GitHubGitHub/abraxas/opnsense-lockout-factory-ip
Analyse des VulnérabilitésExploitationVirtualisation de SécuritéSécurité RéseauTests d'IntrusionArticles et RechercheLabs et Pratique
GitHub
abraxas/opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

OPNsense 26.7.6 - Élevé - À distance - Privilège résiduel - verrouillage d'usine IP

Voir le dépôt
8il y a 4 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Abraxas Labs - opnsense-lockout-factory-ip

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

opnsense-lockout-factory-ip

Classe : Reliquat de privilège Portée : Distante

OPNsense core 26.7.6 (a842fe48) - opnsense.org

Une connexion WebGUI non authentifiée pilote toujours lockout_handler à partir d'une ligne LOG_AUTH d'usine qui ne contient pas d'IP de socket. GHSA-2v2x a fermé la division CRLF et a basculé la sélection de l'IP de verrouillage vers le dernier jeton afin que le from REMOTE_ADDR final de authgui.inc l'emporte. AuthenticationFactory::authenticate() continue de syslog() le nom d'utilisateur brut sans suffixe d'adresse. Un nom d'utilisateur qui correspond à une phrase False de verrouillage plus un jeton IPv4 est la dernière (seule) adresse sur cette ligne. Après 5 tentatives espacées par défaut : pfctl -t sshlockout -T add et pfctl -k. Par défaut : verrouillage activé, GUI LAN.

IDpas encore de CVE
ClasseReliquat de privilège
PortéeDistante (POST de connexion WebGUI non authentifié)
CWECWE-117 / CWE-863
CVSSÉlevé : 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
ProduitOPNsense core (Deciso B.V.)
AffectéOPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) AuthenticationFactory / lockout_handler
AuthNon authentifié. Cookie CSRF + jeton depuis GET /.
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

J'ai épinglé le tag 26.7.6. Le lab est le lockout_handler épinglé plus un stub pfctl dans le PATH, identité loopback 127.0.0.1:18800. Ce n'est pas du CRLF. Un enregistrement syslog PHP reste une ligne de handler. Le dernier-IP était le bon durcissement pour le template authgui et le mauvais durcissement pour le template d'usine.

Ce qu'un attaquant peut faire

MéthodeCiblePrivilège
Nom d'utilisateur LOG_AUTH d'usine non authentifié avec une phrase False de verrouillage plus un jeton IPv4 (6 lignes espacées)épingler lockout_handler -> stub pfctl -t sshlockout -T add et pfctl -kIntégrité (prouvée en lab) : table sshlockout plus argv de kill d'état. Lab : planted=203.0.113.77.
même plant, pf en productionfilter.lib.inc:293-314 from <sshlockout> to (self) ports 22/GUIDisponibilité (inférée) : abandon des nouveaux TCP 22/GUI depuis l'hôte planté ; pfctl -k détruit les états existants depuis cette IP.
même nom d'utilisateur avec seulement l'IPv4 (sans phrase False)lockout_handlerNégatif (prouvé en lab) : aucun ajout à la table. negative-ip-only=no.
ligne authgui avec from REMOTE_ADDR finalparseur dernier-IPIntégrité de sa propre IP (prouvée en lab) : le dernier jeton authgui reste 198.51.100.10.
Corps de connexion échouéeaucunRecon (fermé, prouvé en lab) : « Wrong username or password. » existant. Pas d'énumération d'utilisateurs.

Prouvé en lab vs inféré : le plant d'usine, le négatif nom d'utilisateur seul et le dernier-IP authgui sont des SUCCÈS en lab. Le blocage pf en production et le kill de session en production sont inférés. Le lockout_handler épinglé est copié sans modification ; syslog-ng et le POST WebGUI sont stubbés.

Nécessite : un POST de connexion WebGUI non authentifié. Cookie CSRF + jeton depuis GET /. Verrouillage activé (system.no_sshlockout non défini). Installation par défaut.

Surface adjacente qui reste fermée

SurfaceLab
Session non authentifiée / root / écriture de config.xmlfermée
Ligne authgui plantant une IP étrangèrele dernier jeton est REMOTE_ADDR (authgui-last-ip=198.51.100.10)
readline() supplémentaire via CRLFréécriture GHSA-2v2x ; un enregistrement reste une ligne
Connexion avec mot de passe videauthgui.inc exige un mot de passe non vide
Réinitialisation par mot-clé de succès CVE-2026-44195 sur la ligne authguiles règles d'échec d'abord
TypeError pfctl -k str(ip) d'Omar Habra dans 26.7.6déjà sur cette épingle
IP plantée comme destination DNS/passerelleles règles sont from <sshlockout> to (self) ports 22/GUI uniquement

Aucun contournement de connexion. Aucun RCE. Aucune réécriture de config.xml. Ne crée pas de session.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18800. Projet Compose opnsense-lockout-factory-ip. Tag d'image opnsense-lockout-factory-ip:26.7.6. Témoin OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS. Dernière ligne :

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

Le correctif

Ajouter l'IP de socket au template syslog(LOG_AUTH) d'usine, avec le même from REMOTE_ADDR final que authgui.inc. Ou ignorer les IP de verrouillage qui ne proviennent pas du propre pair du handler. Ne pas traiter le dernier jeton comme un substitut à « l'adresse du client ».

Références

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • AuthenticationFactory.php
  • lockout_handler
  • Parcours nommé (pas ce reliquat) : plant de première IP via CRLF GHSA-2v2x
  • CWE-117 / CWE-863
Télécharger l’outil