
Uma ferramenta para pointesters encontrarem doces no SharePoint.
SnaffPoint é uma ferramenta para pentesters que precisam de um pouco de doçura neste mundo. Ela deve ajudar você a encontrar arquivos sensíveis disponíveis no SharePoint online e em arquivos OneDrive compartilhados da sua empresa (ou do seu cliente).
Na verdade, existem 2 ferramentas:
Nada de especial, execute a ferramenta da seguinte forma:
GetBearerToken.exe https://yoururl.sharepoint.com
Autentique-se com sucesso e você deverá obter um token Bearer para usar no SnaffPoint. Isso é majoritariamente o código do PNP-Tools (veja os créditos abaixo).
Dê uma olhada no menu de ajuda aqui:
Usage: SnaffPoint.exe -u URL -t JWT [OPTIONS]
-h, --help This is me :)
Mandatory:
-u, --url SharePoint online URL where you want to search
-t, --token Bearer token that grants access to said SharePoint
Common options:
-m, --max-rows Max. number of rows to return per search query (default is 50)
Presets mode (default):
-p, --preset Path to a folder containing XML search presets (default is ./presets)
Single query mode:
-q, --query Query search string
-l, --fql Enables FQL (default is KQL)
-r, --refinement-filter Adds a refinement filter
Observe que a pasta preset contém muitos presets que você pode ou não querer testar no seu ambiente. Dê uma olhada neles e envie um pull request se tiver ideias para outros presets. O modo de presets é provavelmente o que você quer executar contra a sua própria empresa. Por outro lado, se você precisar executar o assembly C# na memória, provavelmente vai querer especificar uma única consulta para evitar os presets no disco e ter mais controle sobre o que pesquisa.
@mikeloss e @sh3r4_hax pelo Snaffler (https://github.com/SnaffCon/Snaffler), do qual peguei emprestado o nome e adaptei muitas das regras.
Os contribuidores do PNP-Tools, todo o código que interage com o SharePoint é copiado inspirado no projeto Search.QueryTool deles: https://github.com/pnp/PnP-Tools/tree/master/Solutions/SharePoint.Search.QueryTool/SearchQueryTool
Você pode me contatar no Twitter: @nicolasheiniger