GoWitness - Captures d'écran de sites web automatisées en Go

par Korben -

Vous avez une liste d’URLs à la pelle et vous voulez voir à quoi ressemblent tous ces sites sans perdre un temps fou à les ouvrir un par un. Eh bien c’est là que GoWitness entre en scène !

Ce petit outil écrit en Go va s’occuper de tout et générer des captures d’écran de toutes ces pages web de manière automatisée. Ça fonctionne directement en ligne de commande, comme un grand. Fini les clics à répétition, on balance une commande et hop, le tour est joué !

En plus de ça, GoWitness fonctionne nickel sur Linux et macOS. Pour Windows, c’est partiellement supporté pour le moment. En même temps, on n’est jamais mieux servi que par un bon vieux Linux…

Si ça vous dit de tester, rendez-vous sur la page GitHub du projet et suivez le guide ! Vous allez devoir installer Chrome Headless (une version de Chrome sans interface graphique) puis compiler GoWitness. Ensuite, il vous suffira de lui refiler votre liste d’URLs et de le laisser faire mumuse.

gowitness scan -l urls.txt

GoWitness va alors ouvrir chaque page dans Chrome Headless, attendre sagement que ça charge et hop ! capturer tout ça en pixels bien nets.

Direction le dossier gowitness_output fraîchement créé et là, jackpot ! Un joli rapport HTML m’attend, avec une vignette pour chaque capture d’écran réalisée. Je clique au hasard sur l’une d’elle et voilà, la capture en taille réelle s’affiche, avec la possibilité de zoomer. C’est quand même super pratique pour analyser rapidement une floppée de sites web !

Comment auditer un max de sites web en un rien de temps avec GoWitness - Le tutoriel

  1. Téléchargez le code source de GoWitness à partir du repository GitHub : https://github.com/sensepost/gowitness
  2. Installez Go (langage utilisé pour écrire GoWitness) si vous ne l’avez pas déjà. Vous pouvez télécharger la dernière version de Go sur le site officiel : https://golang.org/dl/
  3. Exécutez les commandes suivantes dans votre terminal : bashgo get -u github.com/sensepost/gowitnessgo build gowitness/main.goCela installera et construira l’application GoWitness.
  4. Pour prendre un écran d’un site web, utilisez la commande suivante : gowitness -url https://example.com -o output.png (remplacez https://example.com par l’URL du site que vous souhaitez capturer)
  5. Si vous souhaitez prendre plusieurs écrans à partir d’une même URL, ajoutez le paramètre -numshots suivi du nombre de captures souhaitées : gowitness -url https://example.com -o output.png -numshots 3
  6. Pour afficher le rapport des captures d’écran, utilisez la commande suivante : gowitness-report -input output.json
  7. Le rapport des captures d’écran supporte le filtrage par date, type de navigateur et code de statut HTTP. Vous pouvez également trier et rechercher dans les résultats.
  8. En moyenne, GoWitness peut générer jusqu’à 100 captures d’écran par minute sur une machine performante. Les besoins de stockage dépendent du nombre de captures, mais une estimation approximative est d’environ 1 Mo par capture d’écran.

C’est le genre d’outils super utile pour faire de la reconnaissance visuelle, détecter des anomalies, identifier des templates récurrents…etc

Bref, ça permet d’auditer visuellement un grand nombre de sites en un temps record. Alors n’hésitez pas à l’ajouter à votre arsenal d’outils, ça peut toujours servir.

Merci à Lorenper pour le partage !