Uns wird häufig die Frage gestellt – Wie funktioniert Offensity genau?
Als Security Team ist uns Transparenz sehr wichtig, weshalb wir mit diesem Artikel allen Interessierten Offensity näher bringen wollen.
Offensity selbst gliedert sich in zwei separate Hauptkomponenten: Reporting und Runner.
Reporting
Über reporting.offensity.com können Benutzer ihre Scans verwalten: Domänen registrieren, verifizieren und für Scans freigeben. Nach einem erfolgreichen Scan sind über diese Oberfläche die Ergebnisse sichtbar.
Je nach Abo-Modell ist es möglich eine gewisse Anzahl an Domänen und zugehöriger Sub-Domänen für zukünftige Scans zu definieren.
Zusätzlich bieten wir die Möglichkeit die Resultate über unsere API abzurufen. Damit sind Nutzer nicht an unsere Darstellungsform gebunden, sondern können die Ergebnisse in eigene interne Systeme einbinden.
Unsere Demo-Seite bietet euch einen interaktiveren Einblick in unser Dashboard:
Runner
Der Überbegriff „Runner” beschreibt mehrere, voneinander unabhängige Worker-Prozesse. Diese Worker fragen periodisch bei der Reporting-API nach, ob ein neuer Scan ausgeführt werden soll.
Jeder Worker beinhaltet alle Module, die während der Scans zum Einsatz kommen (z.B.: Web-Crawler, BlueKeep, ...). Um stets die neuesten Schwachstellen identifizieren zu können, erweitern wir die Liste der Module kontinuierlich .
Ein Beispiel eines unserer Core-Module bildet das Portscan-Modul. Da Portscans mit 65.535 Ports lange dauern und oft von Firewalls geblockt werden, wird vor einem vollständingen Scan zuerst ein Portscan mit ausgewählten Ports durchgeführt. Dabei werden nur ungefähr 100 TCP/UDP-Ports getestet. Die Ports werden nach Wichtigkeit und Häufigkeit des Services priorisiert und laufend von uns gepflegt.
Da viele andere Scan-Module von Portscan Ergebnissen abhängig sind, ermöglicht der initiale Portscan ein früheres Starten weiterführender Scans.
Parallel wird auch im Hintergrund ein vollständiger Portscan gestartet. Für weitere Scans werden die Ergebnisse des vollständigen Portscans verwendet.
Der Offensity-Workflow im Überblick
Hat ein Benutzer im Reporting-Interface seine (Sub-)Domänen erfolgreich registriert und für Scans freigegeben (1), wird in der Reporting-Datenbank ein sogenanntes Scanprofil angelegt (2). Jeder Runner fragt in periodischen Abständen über die Reporting-API, ob ein ein Scan (zB. von einem neuen Scanprofil) durchgeführt werden soll.
Während der Durchführung des Scans (3) werden alle öffentlich erreichbaren Kunden-Systeme auf Schwachstellen gescannt. Über ein breites Spektrum an Test-Modulen werden die gängigsten Schwachstellen (wie z.B.: Cross-Site-Scripting, SQL-Injection, ...) bis hin gerade aktuellen Schwachstellen (wie z.B.: BlueKeep, Citrix RCE, ...) identifiziert.
Nach Abschluss des Scans, schreibt der Runner die Ergebnisse über die Reporting-API in die Datenbank (4) und ermöglicht Benutzern ein sofortiges Einsehen des Reports (5). Sollte Offensity hoch oder kritisch eingestufte Schwachstellen identifizieren, wird der Benutzer per E-Mail informiert.