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-tunables-loader — OPNsense 26.7.6 - Alta - Remoto - Injeção de linha de configuração - carregador de tunables | Kitploit
Ferramentas/GitHubGitHub/abraxas/opnsense-tunables-loader
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebAuditoria de ConfiguraçãoVirtualização para SegurançaTestes de PenetraçãoLabs e Prática
GitHubabraxas/opnsense-tunables-loader

opnsense-tunables-loader

OPNsense 26.7.6 - Alta - Remoto - Injeção de linha de configuração - carregador de tunables

Ver Repositório
1há 2 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-tunables-loader

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-tunables-loader

opnsense-tunables-loader

Classe: Injeção de linha de configuração Alcance: Remoto

OPNsense core 26.7.6 (a842fe48) - opnsense.org

System: Advanced: Tunables ainda interpola nome/valor em /boot/loader.conf. Resquício irmão do GHSA-fq94. Tunables.xml tunable / value são TextField puros (newlines ativados). system_login_configure() escreve {$param}="{$value}". A reconfiguração de Tunables também reinicia o login. O sysctl(8) ao vivo passa por shell_safe mais um filtro de OID, então esse salto não é injeção de shell. O resquício são diretivas extras do loader no próximo boot. O privilégio é page-system-advanced-sysctl, não page-all.

Este pacote do GitHub permanece privado até a divulgação coordenada.

IDainda sem CVE
ClasseInjeção de linha de configuração
AlcanceRemoto (WebGUI / API autenticado)
CWECWE-93
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProdutoOPNsense core
Afetado26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) System: Advanced: Tunables
AutenticaçãoSessão WebGUI ou chave de API com page-system-advanced-sysctl
LicençaGNU Affero GPL v3.0
Labcompose exec gadget (hunt slot 18850)

Fixe a tag 26.7.6 peel a842fe48. O lab é um gadget PHP da interpolação fixada de system_login_configure(). Projeto Compose opnsense-tunables-loader. Hunt slot 18850 na família de gadgets 18800-18860; este arquivo compose usa docker compose exec php, não um bind HTTP publicado.

O que um atacante pode fazer

MétodoSinkPrivilégio
Valor de Tunables com CR/LF (hw.usb.no_boot_wait mais "\n# witness)fixa linha extra de system_login_configure() em /boot/loader.confIntegridade (comprovada em lab): # OPNSENSE-TUNABLES-LOADER-WITNESS extra em sua própria linha após uma atribuição fechada. Lab: newline-extra-line=yes.
Valor limpo 1mesmo escritorNegativo (comprovado em lab): linha de atribuição única, sem witness. Lab: clean-value-single-line=yes.
Mesmas linhas extras do loader no próximo bootloader init_path / module_path / *_load / vfs.root.mountfrom / consoleIntegridade (inferida): o loader do próximo boot honra chaves do atacante. Não reiniciado neste gadget.
Linhas de loader inválidas / vfs.root.mountfrom errado/boot/loader.confDisponibilidade (inferida): falha de boot ou root errado.
POST /api/core/tunables/searchItemAPI de tunablesRecon (inferida): lista tunables, incluindo atual/default/tipo. Destinado a esta ACL.
sysctl -w ao vivo de um OID válidoset_sysctl + filtro de OIDTarefa pretendida da página. Linhas extras do loader são o resquício.

Comprovado em lab vs inferido: linha extra do loader por newline e valor limpo em linha única são SUCESSO em lab. A aplicação pelo loader no próximo boot é inferida. Gadget, não uma VM FreeBSD completa do OPNsense.

Requer: usuário autenticado ou a chave de API Local desse usuário com page-system-advanced-sysctl e sem page-all. POST /api/core/tunables/*. CSRF em POST de sessão. A reconfiguração reinicia o login; rc.reload_all e o boot também chamam system_login_configure.

Superfície adjacente que permanece fechada

SuperfícieLab
Injeção de shell no sysctl ao vivoshell_safe mais filtro de OID
Valor limpolinha de atribuição única
Não autenticado401
Usuário sem page-system-advanced-sysctl403
user-config-readonlysave() lança exceção
Administrador de tunables com page-all definindo um OID realpretendido
Campos de texto da GUI corrigidos pelo GHSA-fq94sinks diferentes; este campo não foi nomeado

Sem não autenticado. Sem shell de sysctl ao vivo. Sem Diagnostics: Command.

Lab

cd lab
./run.sh

Projeto Compose opnsense-tunables-loader. Witness OPNSENSE-TUNABLES-LOADER-WITNESS. Última linha:

SUCCESS opnsense-tunables-loader newline-extra-line=yes clean-value-single-line=yes OPNSENSE-TUNABLES-LOADER-WITNESS

Launcher root: python3 opnsense-tunables-loader-Abraxas-Labs.py.

A correção

Remova CR/LF e " do nome e do valor dos tunables, mesma classe do GHSA-fq94. Tipar o nome como uma máscara de OID, não um TextField puro. Colocar entre aspas com um helper que não possa fechar a atribuição. Não escreva um tunable em /boot/loader.conf a menos que seja uma chave de loader conhecida.

Referências

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • system.inc interpolação de loader.conf em system_login_configure
  • Tunables.xml TextField puro de nome/valor
  • Irmão (outros campos de texto da GUI, não este sink): GHSA-fq94
  • CWE-93
Baixar ferramenta