
Raspador de motores de búsqueda en Golang diseñado para la identificación de implementaciones ClickOnce publicadas
Herramienta publicada en combinación con la presentación de conferencia Less SmartScreen More Caffeine: ClickOnce (Ab)Use for Trusted Code Execution / publicación de blog por 0xthirteen y por mí.
Web scraper escrito en Golang que utiliza tanto chromedp como peticiones HTTP normales para extraer de los motores de búsqueda aplicaciones ClickOnce publicadas. Incluye soporte para la rotación de IP de origen mediante AWS API Gateway y la posibilidad de especificar un proxy HTTP para la resolución de problemas. Actualmente se admiten los motores de búsqueda Google y Swisscows para el scraping.
La funcionalidad de ClickonceHunter se controla mediante config.yml. Actualmente la aplicación puede ejecutarse en dos modos:
awsapigateway de la configuraciónLos valores del archivo config.yml relevantes para las peticiones a los motores de búsqueda incluyen:
Otros valores relevantes del archivo config.yml incluyen:
El scraping de Swisscows se ha implementado haciendo uso del protocolo Chrome DevTools con el proyecto chromedp. Las búsquedas realizadas en el motor de búsqueda Swisscows incluyen comprobaciones de integridad similares a CSRF, que aparecen en forma de las cabeceras X-Request-Signature y X-Request-Nonce. Para cada petición de dork, se utiliza un navegador chromium sin interfaz gráfica para navegar a la página de inicio de Swisscows mediante la función getSwissSecrets(), y se crea un evento de escucha con la función listenForSwissSecrets() para cuando se identifiquen estas cabeceras. Las cabeceras se completan entonces en nuestra petición de dork para superar la comprobación de integridad.
La opción de proxy HTTP se añadió para ayudar a los usuarios a solucionar este problema para cuando los motores de búsqueda implementados, sin duda, cambien el formato de sus respuestas o los endpoints de API utilizados para realizar las peticiones. ¡Se aceptan PRs!
No se implementó soporte de multihilo / goroutines para las búsquedas realizadas. Para el propósito de encontrar aplicaciones ClickOnce publicadas, no parecía necesario.