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
Snaffler — uma ferramenta para pentesters ajudar a encontrar doces deliciosos, por @l0ss e @Sh3r4 ( Twitter: @/mikeloss e @/sh3r4_hax ) | Kitploit
Ferramentas/GitHubGitHub/snaffcon/snaffler
ReconhecimentoMecanismos de PersistênciaMovimento LateralColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoRed TeamingTop em Movimento Lateral nº8Top em Mecanismos de Persistência nº20Top em Pós-Exploração nº13
2.9k28339há 7 mesesRevisado pelo Kitploit

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 →
GitHubsnaffcon/snaffler

Snaffler

uma ferramenta para pentesters ajudar a encontrar doces deliciosos, por @l0ss e @Sh3r4 ( Twitter: @/mikeloss e @/sh3r4_hax )

Ver Repositório
Compartilhar

Snaffler

ko-fi

Uma definição de dicionário de "snaffle".

Para que serve?

Snaffler é uma ferramenta para pentesters e red teamers para ajudar a encontrar deliciosas agulhas de doces (credenciais principalmente, mas é flexível) em um monte de palheiros chatos (um grande ambiente Windows/AD).

Também pode ser útil para outras pessoas fazendo outras coisas, mas explicitamente NÃO é destinado a ser uma ferramenta de "auditoria".

Não quero ler tudo isso!!!

Ugh, tudo bem. Mas não somos responsáveis pelos resultados. Escrevemos todo esse outro material para você, mas tudo bem. Não estamos bravos, apenas decepcionados.

snaffler.exe -s -o snaffler.log

O que isso faz?

De modo geral - ele obtém uma lista de computadores Windows do Active Directory, então espalha seus apêndices farejadores para todos eles para descobrir quais têm compartilhamentos de arquivos e se você pode lê-los.

Então AINDA MAIS apêndices farejadores enumeram todos os arquivos nesses compartilhamentos e usam LEARNED ARTIFACTUAL INTELLIGENCE for MACHINES para descobrir quais um hacker sujinho como você pode querer.

Na verdade, não faz nada de ML, porque fazer isso direito exigiria dados de treinamento, e isso exigiria uma quantidade enorme de tempo que não temos. Em vez disso, como todos os bons projetos de "ML", ele apenas usa um monte de instruções if e regexen.

Como é que parece?

Assim!

Como eu uso?

Se você "literalmente apenas executar o EXE em uma máquina ingressada no domínio no contexto de um usuário do domínio" (como as pessoas foram instruídas a fazer com o Grouper2, imediatamente antes de executá-lo com todas as opções verbose/debug ativadas, então ele gritou várias centenas de megabytes de stack traces para elas) basicamente não fará nada. Esta é a nossa ideia de uma brincadeiraTM para pessoas que não leem arquivos README, porque somos monstros.

NO ENTANTO... se você adicionar as encantações corretas, ele habilitará o já mencionado L.A.I.M. e os caminhos de arquivos onde doces podem ser encontrados aparecerão.

As principais encantações são:

-o Habilita a saída dos resultados para um arquivo. Você provavelmente quer isso se não estiver usando -s. ex: -o C:\users\thing\snaffler.log

-s Habilita a saída dos resultados para stdout assim que são encontrados. Você provavelmente quer isso se não estiver usando -o.

-v Controla o nível de verbosidade, as opções são Trace (mais verboso), Degub (menos verboso, menos gubs), Info (ainda menos verboso, padrão) e Data (apenas resultados). ex: -v debug

-m Habilita e define um diretório de saída para o snaffler automaticamente tirar uma cópia (ou Snaffle... se preferir) de quaisquer arquivos encontrados que ele gostar.

-l Tamanho máximo de arquivos (em bytes) para Snaffle. Padrão é 10000000, que é aproximadamente 10MB.

-i Desabilita a descoberta de computadores e compartilhamentos, requer um caminho para um diretório no qual realizar a descoberta de arquivos.

-n Desabilita a descoberta de computadores, aceita uma lista separada por vírgulas de hosts ou arquivo de entrada para realizar descoberta de compartilhamentos e arquivos. Nota: se fornecer um arquivo, a entrada precisa ser um caminho, ex: C:\targets.txt ou .\targets.txt como exemplo.

-y Formata a saída em TSV.

-b Pula as regras LAIM que encontrarão coisas menos interessantes, ajuste com um número entre 0 e 3.

-f Limita o Snaffler a encontrar compartilhamentos de arquivos via DFS (Distributed File System) - isso deve ser um pouco mais sorrateiro que o padrão, enquanto ainda cobre os maiores compartilhamentos de arquivos em muitas organizações.

-a Pula a enumeração de arquivos, apenas fornece uma lista de compartilhamentos listáveis nos hosts alvo.

-u Faz o Snaffler puxar uma lista de nomes de contas do AD, escolher os que parecem mais interessantes e depois usá-los em uma regra de busca.

-d Domínio para pesquisar computadores para pesquisar compartilhamentos para pesquisar arquivos. Fácil.

-c Controlador de domínio para consultar a lista de computadores do domínio.

-r O tamanho máximo de arquivo (em bytes) para pesquisar dentro em busca de strings interessantes. Padrão é 500k.

-j Quantos bytes de contexto de cada lado das strings encontradas em arquivos para mostrar, ex: -j 200

-z Caminho para um arquivo de configuração que define tudo acima e muito mais! Veja abaixo para mais detalhes. Forneça -z generate para gerar um arquivo de configuração de exemplo chamado .\default.toml.

-t Tipo de log que você gostaria de gerar. Atualmente, as opções suportadas são plain e JSON. Padrão é plain.

-x Número máximo de threads a usar. Não defina abaixo de 4 ou algo vai quebrar.

-p Caminho para um diretório cheio de regras formatadas em .toml. O Snaffler carregará todos eles no lugar do conjunto de regras padrão.

O que significa qualquer saída de log?

Esperamos que este exemplo anotado ajude:

Esta entrada de log deve ser lida aproximadamente da esquerda para a direita como:

  • por volta das 7:37
  • Snaffler encontrou um arquivo que acha que vale a sua atenção
  • classificou como "Red", o segundo nível mais interessante
  • correspondeu a uma regra chamada "KeepConfigRegexRed"
  • você pode lê-lo, mas não modificá-lo
  • a regex exata que foi correspondida é aquela coisa na caixa vermelha
  • tem 208kB
  • foi modificado pela última vez em 10 de janeiro de 2020 às três e quarenta e cinco da tarde.
  • o arquivo pode ser encontrado no caminho em roxo

... e o resto da linha (em cinza) é um pequeno trecho de contexto do arquivo onde a correspondência foi encontrada.

Neste caso, encontramos valores validationKey e decryptionKey do ASP.NET, que podem nos permitir um RCE no aplicativo web através de alguma artimanha de desserialização. Viva!

Nota: depois que esta captura de tela foi feita, Sh3r4 adicionou algo para prefixar o usuário atual e o nome do host a cada linha. Mas não quero refazer a captura de tela.

Como ele decide quais arquivos são bons e quais são chatos?

A resposta "tão simples que é quase mentira":

Cada método mágico de localização de arquivos do L.A.I.M. faz coisas como:

  • Pesquisa por correspondência exata de extensão de arquivo, o que significa que qualquer arquivo com uma extensão que corresponda à wordlist relevante será retornado. Isso é destinado a extensões de arquivo que quase sempre conterão doces, ex: .kdbx, .vmdk, .ppk, etc.

  • Pesquisa por correspondência exata de nome de arquivo (case insensitive). Isso é destinado a nomes de arquivo que quase sempre conterão doces, ex: id_rsa, shadow, NTDS.DIT, etc.

  • Pesquisa por correspondência exata de extensão de arquivo (mais uma wordlist) SEGUIDA por 'grep' do conteúdo de quaisquer arquivos correspondentes por certas palavras-chave (mais outra wordlist). Isso é destinado a extensões de arquivo que às vezes contêm doces, mas onde você sabe que provavelmente há muita palha para peneirar. Por exemplo, web.config às vezes conterá credenciais de banco de dados, mas também frequentemente conterá configurações chatas do IIS e nenhuma senha. Isso irá (por exemplo) encontrar qualquer coisa terminando em .config, depois fará grep por strings incluindo, mas não limitado a: connectionString, password, PRIVATE KEY, etc.

Baixar ferramenta