Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
opnsense-lockout-factory-ip — OPNsense 26.7.6 - Alta - Remota - Privilégio remanescente - Bloqueio de fábrica de IP | Kitploit
Ferramentas/GitHubGitHub/abraxas/opnsense-lockout-factory-ip
Análise de VulnerabilidadesExploraçãoVirtualização para SegurançaSegurança de RedeTestes de PenetraçãoPapers e PesquisaLabs e Prática
GitHub
abraxas/opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

OPNsense 26.7.6 - Alta - Remota - Privilégio remanescente - Bloqueio de fábrica de IP

Ver Repositório
7há 3 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Abraxas Labs - opnsense-lockout-factory-ip

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

opnsense-lockout-factory-ip

Classe: Privilégio residual Alcance: Remoto

OPNsense core 26.7.6 (a842fe48) - opnsense.org

O login não autenticado na WebGUI ainda aciona o lockout_handler a partir de uma linha LOG_AUTH de fábrica que não possui IP de socket. O GHSA-2v2x fechou a divisão por CRLF e mudou a escolha do IP de bloqueio para o último token, de modo que o from REMOTE_ADDR final do authgui.inc prevalece. O AuthenticationFactory::authenticate() ainda faz syslog() do nome de usuário bruto sem sufixo de endereço. Um nome de usuário que corresponda a uma frase de bloqueio False mais um token IPv4 é o último (e único) endereço naquela linha. Após 5 tentativas espaçadas padrão: pfctl -t sshlockout -T add e pfctl -k. Padrão: bloqueio ativado, GUI na LAN.

IDsem CVE ainda
ClassePrivilégio residual
AlcanceRemoto (POST de login não autenticado na 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
ProdutoOPNsense core (Deciso B.V.)
AfetadoOPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) AuthenticationFactory / lockout_handler
AutenticaçãoNão autenticado. Cookie CSRF + token do GET /.
LicençaGNU Affero GPL v3.0
Laboratórioapenas 127.0.0.1

Fixe a tag 26.7.6. O laboratório é o lockout_handler fixado mais o stub pfctl no PATH, identidade de loopback 127.0.0.1:18800. Isto não é CRLF. Um registro syslog PHP permanece uma linha do handler. O último IP foi o endurecimento correto para o template authgui e o endurecimento errado para o template de fábrica.

O que um atacante pode fazer

MétodoDestinoPrivilégio
Nome de usuário LOG_AUTH de fábrica não autenticado com uma frase de bloqueio False mais um token IPv4 (6 linhas espaçadas)fixar lockout_handler -> stub pfctl -t sshlockout -T add e pfctl -kIntegridade (comprovada em laboratório): tabela sshlockout mais argv de eliminação de estado. Laboratório: planted=203.0.113.77.
mesmo plantio, pf ativofilter.lib.inc:293-314 from <sshlockout> to (self) portas 22/GUIDisponibilidade (inferida): descartar novo TCP 22/GUI do host plantado; pfctl -k derruba estados existentes daquele IP.
mesmo nome de usuário apenas com o IPv4 (sem frase False)lockout_handlerNegativo (comprovado em laboratório): nenhuma adição à tabela. negative-ip-only=no.
linha authgui com from REMOTE_ADDR finalparser de último IPIntegridade do próprio IP (comprovada em laboratório): o último token do authgui permanece 198.51.100.10.
Corpo de login falhonenhumRecon (comprovadamente fechado em laboratório): "Wrong username or password." existente. Sem enumeração de usuários.

Comprovado em laboratório vs inferido: plantio de fábrica, negativo apenas com nome de usuário e último IP do authgui são SUCESSO em laboratório. Bloqueio pf ativo e eliminação de sessão ativa são inferidos. lockout_handler fixado copiado sem alterações; syslog-ng e POST da WebGUI são stubs.

Requer: POST de login não autenticado na WebGUI. Cookie CSRF + token do GET /. Bloqueio ativado (system.no_sshlockout não definido). Instalação padrão.

Superfície adjacente que permanece fechada

SuperfícieLaboratório
Sessão não autenticada / root / escrita em config.xmlfechada
Linha authgui plantando um IP estrangeiroúltimo token é REMOTE_ADDR (authgui-last-ip=198.51.100.10)
readline() extra por CRLFreescrita do GHSA-2v2x; um registro permanece uma linha
Login com senha vaziaauthgui.inc exige senha não vazia
Redefinição por palavra-chave de sucesso do CVE-2026-44195 na linha authguiregras de falha primeiro
TypeError do pfctl -k str(ip) do Omar Habra no 26.7.6já presente neste pin
IP plantado como destino DNS/gatewayregras são from <sshlockout> to (self) apenas portas 22/GUI

Sem salto de login. Sem RCE. Sem reescrita do config.xml. Não cria uma sessão.

Laboratório

cd lab
./run.sh

Loopback 127.0.0.1:18800. Projeto Compose opnsense-lockout-factory-ip. Tag da imagem opnsense-lockout-factory-ip:26.7.6. Testemunha OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS. Última linha:

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

A correção

Anexe o IP do socket ao template syslog(LOG_AUTH) de fábrica, com o mesmo from REMOTE_ADDR final do authgui.inc. Ou ignore IPs de bloqueio que não vieram do próprio par do handler. Não trate o último token como substituto para "o endereço do cliente".

Referências

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • AuthenticationFactory.php
  • lockout_handler
  • Caminhada nomeada (não este residual): plantio de primeiro IP por CRLF do GHSA-2v2x
  • CWE-117 / CWE-863
Baixar ferramenta