Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
opnsense-firmware-mirror-sed — OPNsense 26.7.6 – Hoch – Remote – Verbleibende Berechtigungen – benutzerdefinierter Firmware-Mirror überspringt pkg-Fingerabdrücke per sed | Kitploit
Tools/GitHubGitHub/abraxas/opnsense-firmware-mirror-sed
Privilege EscalationSchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationSicherheitsvirtualisierungPenetrationstestsLieferkettensicherheit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Papers & Forschung
Labs & Praxis
GitHubabraxas/opnsense-firmware-mirror-sed

opnsense-firmware-mirror-sed

OPNsense 26.7.6 – Hoch – Remote – Verbleibende Berechtigungen – benutzerdefinierter Firmware-Mirror überspringt pkg-Fingerabdrücke per sed

Repository anzeigen
1vor 4 TagenNoch nicht geprüft

Abraxas Labs - opnsense-firmware-mirror-sed

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-firmware-mirror-sed

opnsense-firmware-mirror-sed

Klasse: Signatur-Überspringen Reichweite: Remote

OPNsense-Kern 26.7.6 (a842fe48) - opnsense.org

System: Firmware set sendet einen benutzerdefinierten mirror / flavour. Der Kern FILTER_SANITIZE_URL behält \|#;". opnsense-update -m / -n interpoliert diese Zeichenkette in sed auf OPNsense.conf und kann signature_type von "fingerprints" auf "none" umschalten. Dann pkg install als root von der Angreifer-URL. Die Einstellungsseite bietet einen benutzerdefinierten Mirror noch signierter OPNsense-Pakete. Sie hat keine Steuerung zum "Deaktivieren von Signaturen". Die Berechtigung ist page-system-firmware-manualupdate, nicht page-all.

Sed liegt im nicht gepinnten opnsense-update. Der Kern auf diesem Pin ist das unsanitisierte Feld plus der -m-Durchlauf. Das Lab führt diesen s|||-Programmtext mit GNU sed erneut aus.

Dieses GitHub-Paket bleibt privat bis zur koordinierten Offenlegung.

IDnoch keine CVE
KlasseSignatur-Überspringen
ReichweiteRemote (authentifiziertes WebGUI / API)
CWECWE-74 / CWE-347
CVSSHoch: 7.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
ProduktOPNsense core
Betroffen26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) Firmware set benutzerdefinierter Mirror
AuthWebGUI-Sitzung oder API-Schlüssel mit page-system-firmware-manualupdate
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Ich habe den Tag 26.7.6 gepinnt, Peel a842fe48. Das Lab ist ein PHP-Gadget aus FILTER_SANITIZE_URL plus dem opnsense-update mod_mirrorurl sed, Loopback-HTTP auf 127.0.0.1:18860. PR:H, weil die Firmware-Seite bereits berechtigt ist, signierte Pakete zu installieren. Bewertung 8.8, wenn diese Seite als PR:L behandelt wird.

Was ein Angreifer tun kann

MethodeSinkBerechtigung
FILTER_SANITIZE_URL auf einem benutzerdefinierten Mirror mit | und dann opnsense-update-artigem sedUmschreiben von OPNsense.confIntegrität (lab-belegt): signature_type "none". Kontroll-Mirror bleibt "fingerprints". Lab: sanitize-keeps-pipe=yes signature_type=none fingerprints-control=yes.
Dasselbe Set, Plugins-FeldsetAction verwirft pluginsNegativ (lab-belegt): Plugins werden vor dem Speichern verworfen.
Dann POST /api/core/firmware/install/<pkg>pkg install -y als root von der Angreifer-URLIntegrität (abgeleitet): unsigniertes Paket als root. Die Firmware-Seite installiert bereits signierte Pakete; dieser Rest ist das Überspringen der Verifikation. Keine unsignierte Nutzlast im Lab.
Dann POST /api/core/firmware/update oder /upgradeopnsense-update -pt / -u als rootIntegrität (abgeleitet): Basis-/Kernel-Sets mit übersprungener Verifikation (DO_INSECURE).
GET /api/core/firmware/info, /running, /upgradestatusFirmware-APIRecon (abgeleitet): Paketlisten, Update-Log, Mirror-Optionen. Für diese ACL vorgesehen.
POST /api/core/firmware/reboot, /poweroff, /remove/<pkg>configd-Firmware-AktionenVerfügbarkeit (abgeleitet): Reboot/Halt/Remove. Für diese ACL vorgesehen, nicht für den Rest.

Lab-belegt vs. abgeleitet: Sanitize behält | und signature_type none sind Lab-ERFOLG. Live-pkg install eines unsignierten Pakets ist abgeleitet. Gadget, keine vollständige OPNsense-FreeBSD-VM. Keine unsignierte Paket-Nutzlast.

Erfordert: angemeldeter Benutzer oder dessen lokaler API-Schlüssel mit page-system-firmware-manualupdate und ohne page-all. CSRF bei Sitzungs-POST. Nicht unauth. Nicht nur Dashboard.

Angrenzende Oberfläche, die geschlossen bleibt

OberflächeLab
Unauth-Firmware401
Nur Dashboard403
Kontroll-Mirror https://pkg.opnsense.orgsignature_type bleibt "fingerprints"
Plugin-Namen-Traversalfilter_pkgname
Changelog-Abrufweiterhin opnsense-verify
user-config-readonly bei save()throwReadOnly()
Standard-HTTP-Mirrors ohne Verifikations-ÜberspringenTransport-MITM; Fingerprints weiterhin erforderlich
XMLRPC-Firmwarenur Versionsstrings

Kein unauth. Nicht nur Dashboard. Changelog weiterhin signiert.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18860. Compose-Projekt opnsense-firmware-mirror-sed. Witness OPNSENSE-FIRMWARE-MIRROR-SED-WITNESS. Letzte Zeile:

SUCCESS opnsense-firmware-mirror-sed sanitize-keeps-pipe=yes signature_type=none fingerprints-control=yes OPNSENSE-FIRMWARE-MIRROR-SED-WITNESS

Root-Launcher: python3 opnsense-firmware-mirror-sed-Abraxas-Labs.py.

Im Lab verwendete Angriffs-Mirror-Form (nur Witness, kein unsigniertes pkg):

https://example.invalid/|;/signature_type/s/"fingerprints"/"none"/;#

Der Fix

Lehne einen benutzerdefinierten Mirror ab, der keine URL ist. Entferne sed-Metazeichen (|, ;, #, ") vor opnsense-update -m / -n, oder übergib die URL als Datei, damit sed sie nie als Programmtext sieht. Behalte signature_type: "fingerprints" bei, es sei denn, eine separate, auditierte Steuerung schaltet die Verifikation ab. Lass nicht zu, dass Firmware set Fingerprints auf "none" umschreibt.

Referenzen

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • FirmwareController.php setAction FILTER_SANITIZE_URL
  • scripts/firmware/repos/OPNsense.php opnsense-update -sd -m
  • OPNsense.conf.shadow.in Standard signature_type: "fingerprints"
  • Sink außerhalb des Pins: opnsense-update mod_mirrorurl (s\|\| auf der url:-Zeile)
  • CWE-74 / CWE-347
Tool herunterladen