Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
snowpick — encontre dados sensíveis vazando de instâncias ServiceNow. | Kitploit
Ferramentas/GitHubGitHub/bishopfox/snowpick
ReconhecimentoScanners de VulnerabilidadesTestes de Segurança de APIsColeta de InformaçõesSegurança WebTestes de PenetraçãoSegurança na NuvemConfiguração Incorreta
GitHubbishopfox/snowpick

snowpick

encontre dados sensíveis vazando de instâncias ServiceNow.

Ver Repositório
15227há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

snowpick

snowpick é um scanner de exposição do ServiceNow que identifica ACLs de widgets mal configuradas, controles de acesso da API REST e exposição de dados não autenticada.

O ServiceNow expõe dados por meio de duas superfícies públicas comuns: os widgets do Service Portal e a Table REST API. Quando os controles de acesso em qualquer uma dessas superfícies estão mal configurados, usuários não autenticados podem consultar registros internos, como chamados de incidentes, diretórios de usuários, artigos da base de conhecimento e itens do catálogo de serviços. O snowpick testa ambas as superfícies, separa a exposição de registros da evidência apenas de contagem e produz detalhes de reprodução para validação autorizada.

Como funciona

O snowpick obtém um token de sessão da página de login do ServiceNow sem nenhuma credencial e o utiliza para consultar as APIs internas da plataforma. Ele verifica duas superfícies de ataque:

Widgets são pequenos aplicativos que alimentam o Service Portal do ServiceNow. Cada um tem suas próprias configurações de controle de acesso. Quando essas configurações são permissivas demais, uma sessão não autenticada pode recuperar dados do widget. Primeiro, o snowpick solicita à instância uma lista dos widgets instalados, quando possível; em seguida, testa cada um e verifica se ele retorna registros ou evidência apenas de contagem.

Table API é uma interface REST em /api/now/table/ para consultar tabelas do ServiceNow diretamente. Ela possui controles de acesso separados dos widgets, portanto um alvo pode estar protegido em uma superfície e aberto na outra. O snowpick testa tabelas de alto valor como sys_user, incident e oauth_entity.

Oráculo de contagem. Às vezes, um widget ou tabela confirma que existem registros correspondentes sem retornar as linhas. O snowpick marca isso como count_oracle — não é exposição completa, mas também não está limpo, já que as contagens podem ser sondadas com filtros para inferir dados às cegas.

Instalação

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

Ou compile a partir do código-fonte:

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

Requer Go 1.21 ou posterior.

Uso

Varredura básica

Aponte o snowpick para uma instância do ServiceNow. Nenhuma credencial é necessária.

❯ 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

O snowpick descobre automaticamente os widgets instalados na instância e testa cada um junto com seus padrões integrados. Os achados são classificados por severidade.

Entendendo a saída

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

Varredura de múltiplos alvos

Passe um arquivo com um hostname por linha. O snowpick faz a varredura deles em 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

Sondagem da API REST

O ServiceNow também expõe uma Table REST API em /api/now/table/ para consultar tabelas de backend diretamente. Essa é uma superfície de controle de acesso separada dos widgets. Use -table-api para verificar 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 achados da Table API, record_count representa o total de registros expostos quando o ServiceNow retorna uma contagem total. sample_count mostra quantos registros o snowpick coletou como evidência limitada.

Descoberta de tabelas

Por padrão, o snowpick verifica um conjunto selecionado de tabelas de alto valor (chamados de incidentes, registros de usuários, anexos etc.). Com -discover, ele tenta enumerar os nomes das tabelas da instância e também verifica essas tabelas.

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

Detecção de versão

Use -fingerprint para identificar qual versão do ServiceNow o alvo está executando. Isso ajuda a determinar quais correções de segurança estão aplicadas.

❯ 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 e limitação de taxa

Direcione o tráfego pelo Burp, ZAP ou um proxy SOCKS. Use -rate para limitar as requisições em instâncias de produção.

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

Modo pipeline

Suprima a saída de progresso com -quiet. O JSON vai para o stdout por padrão, ou para um arquivo com -output. O código de saída 2 significa que existem achados, 1 significa que um ou mais alvos não puderam ser testados e 0 significa que a varredura foi concluída sem achados.

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

Trabalhando com os resultados

A saída JSON contém os detalhes dos achados, incluindo dicas de impacto, detalhes das requisições, registros de amostra limitados quando as linhas são retornadas e material de reprodução quando aplicável.

Estrutura do JSON

Baixar ferramenta