Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
snowpick — encuentra datos sensibles que se filtran de instancias de ServiceNow. | Kitploit
Herramientas/GitHubGitHub/bishopfox/snowpick
ReconocimientoEscáneres de VulnerabilidadesPruebas de Seguridad de APIsRecopilación de InformaciónSeguridad WebPruebas de PenetraciónSeguridad en la NubeMala Configuración
GitHubbishopfox/snowpick

snowpick

encuentra datos sensibles que se filtran de instancias de ServiceNow.

Ver Repositorio
15228hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

snowpick

snowpick es un escáner de exposición de ServiceNow que detecta ACL de widgets mal configuradas, controles de acceso de la API REST y exposición de datos no autenticada.

ServiceNow expone datos a través de dos superficies públicas comunes: los widgets de Service Portal y la API REST de tablas. Cuando los controles de acceso en cualquiera de las dos superficies están mal configurados, los usuarios no autenticados pueden consultar registros internos como tickets de incidentes, directorios de usuarios, artículos de la base de conocimiento y elementos del catálogo de servicios. snowpick prueba ambas superficies, separa la exposición de filas de la evidencia de solo recuento y genera detalles de reproducción para una validación autorizada.

Cómo funciona

snowpick obtiene un token de sesión de la página de inicio de sesión de ServiceNow sin credenciales y lo usa para consultar las APIs internas de la plataforma. Comprueba dos superficies de ataque:

Widgets son pequeñas aplicaciones que impulsan el Service Portal de ServiceNow. Cada una tiene su propia configuración de control de acceso. Cuando esa configuración es demasiado permisiva, una sesión no autenticada puede recuperar datos del widget. snowpick primero solicita a la instancia una lista de widgets instalados cuando es posible, luego sondea cada uno y comprueba si devuelve registros o evidencia de solo recuento.

API de tablas es una interfaz REST en /api/now/table/ para consultar tablas de ServiceNow directamente. Tiene controles de acceso separados de los widgets, por lo que un objetivo puede estar restringido en una superficie y abierto en la otra. snowpick sondea tablas de alto valor como sys_user, incident y oauth_entity.

Oráculo de recuento. A veces un widget o tabla confirma que existen registros coincidentes sin devolver las filas. snowpick lo marca como count_oracle — no es una exposición completa, pero tampoco está limpio, ya que los recuentos pueden probarse con filtros para inferir datos a ciegas.

Instalación

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

O compilar desde el código fuente:

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

Requiere Go 1.21 o posterior.

Uso

Escaneo básico

Apunta snowpick a una instancia de ServiceNow. No se necesitan credenciales.

❯ 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

snowpick descubre automáticamente los widgets instalados en la instancia y sondea cada uno junto con sus valores predeterminados integrados. Los hallazgos se clasifican por severidad.

Cómo entender la salida

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

Escaneo de múltiples objetivos

Pasa un archivo con un hostname por línea. snowpick los escanea en paralelo.

❯ 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

Sondeo de la API REST

ServiceNow también expone una API REST de tablas en /api/now/table/ para consultar tablas backend directamente. Esta es una superficie de control de acceso separada de los widgets. Usa -table-api para comprobar ambas.

❯ 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

Para los hallazgos de la API de tablas, record_count representa el total de registros expuestos cuando ServiceNow devuelve un recuento total. sample_count muestra cuántos registros recopiló snowpick como evidencia acotada.

Descubrimiento de tablas

De forma predeterminada, snowpick comprueba un conjunto seleccionado de tablas de alto valor (tickets de incidentes, registros de usuarios, adjuntos, etc.). Con -discover, intenta enumerar los nombres de tablas de la instancia y también los comprueba.

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

Detección de versión

Usa -fingerprint para identificar qué versión de ServiceNow está ejecutando el objetivo. Esto ayuda a determinar qué parches de seguridad están aplicados.

❯ 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 y limitación de velocidad

Enruta el tráfico a través de Burp, ZAP o un proxy SOCKS. Usa -rate para limitar la velocidad de las solicitudes en instancias de producción.

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

Modo pipeline

Suprime la salida de progreso con -quiet. El JSON va a stdout por defecto, o a un archivo con -output. El código de salida 2 significa que existen hallazgos, 1 significa que uno o más objetivos no pudieron probarse y 0 significa que el escaneo se completó sin hallazgos.

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

Trabajando con los resultados

Descargar herramienta