Zurück zu Beiträgen
Forschungsarchiv

Interne Sicherheitserkennung über SafeBase Trust Centres

Verwendung von öffentlich zugänglichen SafeBase-Vertrauensportalen und Nuclei-Headless-Scanning, um öffentlich einsehbare Sicherheitskontrollen zu extrahieren, Zusicherungsansprüche zu validieren und Änderungserkennung im großen Maßstab zu automatisieren.

osintnucleidetectionsafebasecompliance

Einleitung — Suche nach Sicherheitsnachweisen und OSINT

Öffentlich zugängliche SafeBase-Portale bedienen gleichzeitig zwei Zielgruppen:

  • Interessenten, die einen Nachweis Ihrer Sicherheitslage benötigen
  • Sicherheitsforscher (Blue und Red Teamer)

Jedes grüne Häkchen offenbart eine Maßnahme, die (vermeintlich) heute existiert; jedes fehlende Häkchen ist ein ebenso deutlicher Hinweis auf das, was nicht vorhanden ist.


Was diese Erkennungsmethode leistet

Der in diesem Beitrag beschriebene Ansatz:

  • Extrahiert jeden Kontroll-Titel direkt aus dem HTML-Body mithilfe von Nuclei im Headless-Modus
  • Normalisiert diese Titel über ein einziges Regex-basiertes Template zu maschinenlesbaren Befunden
  • Gibt JSON/CLI-Treffer interner Sicherheitsmaßnahmen aus

Warum diese Daten erheben?

Compliance-Frameworks wie:

  • ISO 27001
  • SOC 2
  • PCI-DSS
  • Regionale Datenschutzbestimmungen

…verlangen Nachweise, dass Sicherheitsmaßnahmen vorhanden und wirksam sind.

SafeBase vereinfacht dies, indem es den Bedarf an endlosen E-Mail-Wechseln und Dokumentenanforderungen beseitigt.

Warum das eigene Trust Centre scrapen?

Auch wenn Sie es selbst aufgebaut haben, gibt es triftige Gründe:

  • Kontinuierliche Sicherstellung
    Prüfer erwarten zunehmend fortlaufende Nachweise in Echtzeit

  • Änderungserkennung
    Kontrollnamen, Gruppierungen oder Richtlinien können sich nach Updates oder Übernahmen ändern

  • Drittanbieter-Mappings
    Die JSON-Ausgabe erlaubt die Zuordnung zu Frameworks wie NIST 800-53


Mehrwert für Blue Team vs. Red Team

Team Nutzen
Blue Team Stellt sicher, dass öffentliche Aussagen korrekt bleiben
Red Team Identifiziert Lücken durch Vergleich mit internen Kontrollbibliotheken

Erkennung

Manuelle Prüfung funktioniert, skaliert aber nicht.

Stattdessen verwendet dieser Ansatz ProjectDiscovery / Nuclei, ein schnelles Scan-Tool auf Basis von YAML-Templates.

Warum Nuclei?

  • Template-gesteuerte Erkennung
  • Hochgeschwindigkeits-Scanning
  • Einfach anpassbar
  • Ideal für großangelegte Automatisierung

Matchers

Das Template enthält 70 Matchers.

Beispiele für Regex-Matchers

- type: regex
  name: firewall
  regex: ['(?i)Firewall(?:[\s\S]{0,600}?data-testid="enabled")?']

- type: regex
  name: incident-response-policy
  regex: ['(?i)Incident\s+Response\s+Policy(?:[\s\S]{0,600}?data-testid="enabled")?']

Verwendete Regex-Techniken

Problem Lösung
Unterschiedliche Groß-/Kleinschreibung Flag (?i)
Gemischte Leer-/Zeilenumbrüche \s+
Unbekannter Abstand zwischen Titel und Icon [\s\S]{0,600}?

Eliminierung von False Positives

Ein DSL-Matcher erhöht die Genauigkeit:

- type: dsl
  name: names
  dsl:
    - 'status_code == 200'
    - 'contains_any(body, "Powered by SafeBase")'
  condition: and

Was geprüft wird

Beide Bedingungen müssen wahr sein:

  • Antwort-Statuscode ist 200
  • HTML enthält "Powered by SafeBase"

Umgehung der Cloudflare WAF

Die meisten SafeBase-Portale befinden sich hinter der Cloudflare WAF, die Scraping-Versuche blockiert.

Lösung: Headless-Modus

Über Nucleis Headless-Chromium-Ausführung:

  • Löst JavaScript-Challenges
  • Umgeht Cloudflare Managed Challenge
  • Rendert dynamische Inhalte

Headless-Konfiguration

headless:
  - steps:
      - action: navigate
        args:
          url: "{{BaseURL}}"
      - action: sleep
        args:
          duration: 1s

Erläuterung

  • navigate
    Startet Chromium und lädt die Ziel-URL

  • sleep (1s)
    Ermöglicht:

    • JavaScript-Ausführung
    • Cookie-Setzen
    • Vollständiges Seiten-Rendering

Verzögerung erhöhen, wenn das HTML unvollständig erscheint.


Fehlerbehebung

Falls Ergebnisse fehlen:

  • Ihre IP könnte blockiert sein
  • Gegebenenfalls einen Proxy verwenden

Scanning im großen Maßstab

1. Zielliste erstellen

# domains.txt
https://trust.gitlab.com
https://security.projectdiscovery.io
https://trust.your-vendor-here.com

Sie können auch einbeziehen:

  • Subdomains
  • Gecrawlte Endpunkte

2. Nuclei mit Parallelität ausführen

nuclei \
  -t safebase-checks-enabled.yaml \
  -headless \
  -l matches.txt \
  -c 50 \
  -o safebase-scan.json

Wichtige Flags

Flag Zweck
-l Eingabedatei
-c 50 Parallele Browser (ressourcenintensiv)
-o Ausgabedatei

Ausgabeoptionen

  • JSON
  • CSV
  • Stdout

Ergebnisse können weitergeleitet werden an:

  • S3
  • Slack
  • SIEM

Template-Repository

https://github.com/rxerium/internal-security-detect


3. Automatisierung über CI/CD

GitHub Actions Beispiel

jobs:
  safebase-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: |
          nuclei -t safebase-checks-enabled.yaml -headless -l domains.txt -c 50 -o results.json
      - name: Upload artefact
        uses: actions/upload-artifact@v4
        with:
          name: safebase-results
          path: results.json

Abschließende Gedanken

Diese Technik ist auf Organisationen beschränkt, die SafeBase verwenden, zeigt jedoch ein wirkungsvolles Konzept:

Passives OSINT kann sich mit Compliance, Sicherheitsnachweis und Erkennung überschneiden.

Durch die Nutzung öffentlich zugänglicher Trust-Portale können Forscher:

  • Kontroll-Frameworks analysieren
  • Sicherheitsaussagen validieren
  • Änderungen automatisch erkennen

…alles ohne Authentifizierung oder direkten Systemzugriff.