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
snowpick — Finde sensible Daten, die aus ServiceNow-Instanzen leaken. | Kitploit
Tools/GitHubGitHub/bishopfox/snowpick
AufklärungSchwachstellenscannerAPI-SicherheitstestsInformationsbeschaffungWebsicherheitPenetrationstestsCloud-SicherheitFehlkonfiguration
GitHubbishopfox/snowpick

snowpick

Finde sensible Daten, die aus ServiceNow-Instanzen leaken.

Repository anzeigen
15227vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

snowpick

snowpick ist ein ServiceNow-Expositionsscanner, der falsch konfigurierte Widget-ACLs, REST-API-Zugriffskontrollen und nicht authentifizierte Datenexposition erkennt.

ServiceNow stellt Daten über zwei häufige öffentliche Oberflächen bereit: Service-Portal-Widgets und die Tabellen-REST-API. Wenn die Zugriffskontrollen auf einer der beiden Oberflächen falsch konfiguriert sind, können nicht authentifizierte Benutzer möglicherweise interne Datensätze abfragen, wie z. B. Incident-Tickets, Benutzerverzeichnisse, Knowledge-Base-Artikel und Servicekatalog-Elemente. snowpick testet beide Oberflächen, trennt Zeilenexposition von reiner Zählevidenz und erzeugt Reproduktionsdetails für autorisierte Validierung.

Wie es funktioniert

snowpick erhält ohne Anmeldeinformationen ein Sitzungstoken von der ServiceNow-Anmeldeseite und verwendet es anschließend, um die internen APIs der Plattform abzufragen. Es prüft zwei Angriffsflächen:

Widgets sind kleine Anwendungen, die das ServiceNow Service Portal betreiben. Jedes hat seine eigenen Zugriffskontroll-Einstellungen. Wenn diese Einstellungen zu permissiv sind, kann eine nicht authentifizierte Sitzung möglicherweise Daten aus dem Widget abrufen. snowpick fragt die Instanz zunächst, wo möglich, nach einer Liste installierter Widgets, testet dann jedes einzelne und prüft, ob es Datensätze oder nur Zählevidenzen zurückgibt.

Table API ist eine REST-Schnittstelle unter /api/now/table/ zum direkten Abfragen von ServiceNow-Tabellen. Sie hat von den Widgets getrennte Zugriffskontrollen, sodass ein Ziel auf der einen Oberfläche abgesichert und auf der anderen offen sein kann. snowpick testet hochwertige Tabellen wie sys_user, incident und oauth_entity.

Count-Orakel. Manchmal bestätigt ein Widget oder eine Tabelle, dass übereinstimmende Datensätze existieren, ohne die Zeilen zurückzugeben. snowpick kennzeichnet dies als count_oracle – keine vollständige Exposition, aber auch nicht sauber, da Zähler mit Filtern abgefragt werden können, um Daten blind abzuleiten.

Installation

❯ go install github.com/BishopFox/snowpick@latest

Oder aus dem Quellcode bauen:

❯ git clone https://github.com/BishopFox/snowpick.git
❯ cd snowpick
❯ go build -o snowpick .

Erfordert Go 1.21 oder höher.

Verwendung

Grundlegender Scan

Richten Sie snowpick auf eine ServiceNow-Instanz. Keine Anmeldeinformationen erforderlich.

❯ snowpick -target prod.service-now.com
snowpick v1.0.0 | 1 targets | 6 widgets | proxy direct
[!] prod.service-now.com
  | ticket-attachments 272 records [internal_operations:inferred]
[*] 1/1 targets complete, 1 with findings

RESULTS
1 targets scanned in 8.2s | 1 reachable | 1 with findings

  EXPOSED prod.service-now.com  272 records [internal_operations:inferred]
    | ticket-attachments       272 records [internal_operations:inferred]
    |   ServiceNow Overview and Open House 'How To.... Videos'
    |   How to - JIRA and Confluence Access Process
    |   Updating Your Personal Time Zone in ServiceNow

ATTACK SURFACE
  ticket-attachments           #################### 272 across 1 target

DATA CLASSIFICATION
  OPERATIONS          1 finding across 1 target

Die Ausgabe verstehen

Progress markers (left of each host):
  [!] findings   [+] clean   [-] unreachable or no session   [*] progress

Summary buckets:
  EXPOSED  data or a confirmed count came back      CLEAN  nothing reachable
  SKIP     no public session (e.g. SSO-only login)  DOWN   host unreachable

Counts:
  272 records              total the instance reports as matching
  272 records, 10 sampled  total, plus the rows snowpick pulled as evidence

Tags:
  [pii:observed]   a hint, written as category:basis
                   basis  observed = value seen in returned data
                          inferred = from a table/field/widget name
                   category  pii, credentials, infrastructure,
                             internal_operations, review_required
  [blind oracle]   count confirmed but no rows returned (a count_oracle)
  [API]            finding came from the Table REST API, not a widget
  [stats.do]       the /stats.do diagnostic endpoint is publicly reachable

Mehrere Ziele scannen

Übergeben Sie eine Datei mit einem Hostnamen pro Zeile. snowpick scannt sie parallel.

❯ snowpick -targets hosts.txt -concurrency 5
snowpick v1.0.0 | 6 targets | 6 widgets | proxy direct
[!] prod.service-now.com
  | ticket-attachments 272 records [internal_operations:inferred]
[*] 1/6 targets complete, 1 with findings
[+] staging.service-now.com clean
[*] 2/6 targets complete, 1 with findings
[!] dev.service-now.com [stats.do]
  | ticket-attachments 61 records [internal_operations:inferred]
[*] 3/6 targets complete, 2 with findings
[+] sandbox.service-now.com clean
[*] 4/6 targets complete, 2 with findings
[-] internal.service-now.com bootstrap failed: /login.do returned 302
[+] test.service-now.com clean
[*] 6/6 targets complete, 2 with findings

REST-API-Tests

ServiceNow stellt außerdem eine Tabellen-REST-API unter /api/now/table/ zum direkten Abfragen von Backend-Tabellen bereit. Dies ist eine von den Widgets getrennte Zugriffskontroll-Oberfläche. Verwenden Sie -table-api, um beide zu prüfen.

❯ snowpick -target prod.service-now.com -table-api
snowpick v1.0.0 | 1 targets | 6 widgets | proxy direct
[!] prod.service-now.com
  | [API] cmn_department 1,234 records, 10 sampled [infrastructure:inferred]
[*] 1/1 targets complete, 1 with findings

Bei Table-API-Ergebnissen stellt record_count die insgesamt exponierten Datensätze dar, wenn ServiceNow eine Gesamtzahl zurückgibt. sample_count zeigt, wie viele Datensätze snowpick als begrenzte Evidenz gesammelt hat.

Tabellenermittlung

Standardmäßig prüft snowpick eine kuratierte Auswahl hochwertiger Tabellen (Incident-Tickets, Benutzerdatensätze, Anhänge usw.). Mit -discover versucht es, Tabellennamen aus der Instanz aufzulisten und auch diese zu prüfen.

❯ snowpick -target prod.service-now.com -discover -discover-limit 200

Versionserkennung

Verwenden Sie -fingerprint, um zu identifizieren, welche ServiceNow-Version das Ziel ausführt. Dies hilft festzustellen, welche Sicherheitspatches installiert sind.

❯ snowpick -target prod.service-now.com -fingerprint
snowpick v1.0.0 | 1 targets | 6 widgets | proxy direct
[!] prod.service-now.com [Zurich (glide-zurich-07-01-2025__patch7-02-19-2026)] [stats.do]
  | ticket-attachments 61 records [internal_operations:inferred]
[*] 1/1 targets complete, 1 with findings

Proxy und Ratenbegrenzung

Leiten Sie den Datenverkehr über Burp, ZAP oder einen SOCKS-Proxy. Verwenden Sie -rate, um Anforderungen auf Produktionsinstanzen zu drosseln.

❯ snowpick -target prod.service-now.com -proxy socks5://127.0.0.1:1080 -insecure -rate 200ms

Pipeline-Modus

Unterdrücken Sie die Fortschrittsausgabe mit -quiet. JSON geht standardmäßig an stdout oder mit -output in eine Datei. Exit-Code 2 bedeutet, dass Ergebnisse vorhanden sind, 1, dass ein oder mehrere Ziele nicht getestet werden konnten, und 0, dass der Scan ohne Ergebnisse abgeschlossen wurde.

❯ snowpick -target prod.service-now.com -quiet -output results.json
❯ echo $?
2

Arbeiten mit Ergebnissen

Die JSON-Ausgabe enthält Ergebnisdetails, einschließlich Auswirkungshinweisen, Anforderungsdetails, begrenzter Beispieldatensätze, wenn Zeilen zurückgegeben werden, und Reproduktionsmaterial, sofern zutreffend.

JSON-Struktur

Tool herunterladen