
Scraper de moteurs de recherche en Golang destiné à l'identification des déploiements ClickOnce publiés.
Outil publié en combinaison avec la présentation Less SmartScreen More Caffeine: ClickOnce (Ab)Use for Trusted Code Execution conférence / article de blog par 0xthirteen et moi-même.
Scraper web en Golang qui utilise à la fois chromedp ainsi que des requêtes HTTP normales pour extraire des moteurs de recherche les applications ClickOnce publiées. Inclut la prise en charge de la rotation de l'adresse IP source via AWS API Gateway et la possibilité de spécifier un proxy HTTP pour le dépannage. Les moteurs de recherche Google et Swisscows sont actuellement pris en charge pour le scraping.
Les fonctionnalités de ClickonceHunter sont contrôlées par config.yml. Il existe actuellement deux modes dans lesquels l'application peut s'exécuter :
awsapigateway de la configurationLes valeurs du fichier config.yml pertinentes pour les requêtes de moteur de recherche incluent :
Les autres valeurs pertinentes du fichier config.yml incluent :
Le scraping de Swisscows a été implémenté en utilisant le protocole Chrome DevTools avec le projet chromedp. Le moteur de recherche Swisscows inclut des contrôles d'intégrité de type CSRF dans les recherches, qui se présentent sous la forme des en-têtes X-Request-Signature et X-Request-Nonce. Pour chaque requête de dork, un navigateur chromium sans tête est utilisé pour naviguer vers la page d'accueil de Swisscows à l'aide de la fonction getSwissSecrets(), et un événement d'écoute est créé avec la fonction listenForSwissSecrets() pour le moment où ces en-têtes sont identifiés. Les en-têtes sont ensuite renseignés pour notre requête de dork afin de passer le contrôle d'intégrité.
L'option de proxy HTTP a été ajoutée pour aider les utilisateurs à diagnostiquer ce problème si/quand les moteurs de recherche implémentés changent inévitablement le format de leurs réponses ou les points de terminaison d'API utilisés pour les requêtes. Les PR sont les bienvenues !
La prise en charge du multithreading / des goroutines pour les recherches n'a pas été implémentée. Pour le but de trouver des applications ClickOnce publiées, cela ne semblait pas nécessaire.