Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
warcannon — Haute vitesse / Faible coût CommonCrawl RegExp sur Node.js | Kitploit
Outils/GitHubGitHub/c6fc/warcannon
OSINT (Renseignement de Sources Ouvertes)Exfiltration de DonnéesCollecte d'InformationsSécurité CloudUtilitaires et FrameworksCrawler
GitHubc6fc/warcannon

warcannon

Haute vitesse / Faible coût CommonCrawl RegExp sur Node.js

Voir le dépôt
2563715il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

WARCannon - Traitement parallèle de WARC catastrophiquement puissant

Image

WARCannon a été conçu pour simplifier et réduire le coût du processus de 'grep sur Internet'.

Avec WARCannon, vous pouvez :

  • Construire et tester des motifs d'expressions régulières sur des données réelles de Common Crawl
  • Charger facilement des ensembles de données Common Crawl pour un traitement parallèle
  • Augmenter les capacités de calcul pour traiter de manière asynchrone des WARCs à une capacité franchement déraisonnable.
  • Stocker et récupérer facilement les résultats

Comment ça fonctionne

WARCannon exploite une utilisation intelligente des technologies AWS pour passer à l'échelle horizontalement à n'importe quelle capacité, minimiser les coûts grâce aux flottes spot et au transfert de données dans la même région, extraire des données de S3 à des vitesses incroyables (jusqu'à 100 Gbps par nœud), paralléliser sur des centaines de cœurs CPU, rapporter l'état via DynamoDB et CloudFront, et stocker les résultats via S3.

Au total, WARCannon peut traiter plusieurs expressions régulières sur 400 To en quelques heures pour environ 30 $.

Installation via CloudShell

Le moyen le plus rapide et le plus simple de commencer est d'utiliser AWS CloudShell. Collez simplement cette commande en une ligne :

source <(curl https://raw.githubusercontent.com/c6fc/warcannon/master/cloudshell/deploy.sh)

Si vous souhaitez utiliser une branche non-master de WARCannon, tapez simplement :

export GIT_BRANCH=branch_name
source <(curl https://raw.githubusercontent.com/c6fc/warcannon/$GIT_BRANCH/cloudshell/deploy.sh)

Remarque : Le déploiement via CloudShell utilise un stockage éphémère, ce qui signifie que les motifs d'expressions régulières personnalisés seront perdus lorsque CloudShell se fermera. Si vous prévoyez d'utiliser WARCannon fréquemment, je vous recommande d'utiliser l'installation locale ci-dessous.

Installation locale

WARCannon nécessite que vous ayez installé les éléments suivants :

  • awscli (v2)
  • cmake3
  • node.js (v17.0.1+)

Astuce : Pour garder les choses propres et distinctes d'autres éléments que vous pourriez avoir dans AWS, il est FORTEMENT recommandé de déployer WARCannon dans un nouveau compte. Vous pouvez créer un nouveau compte facilement depuis la console 'Organizations' dans AWS. Par 'FORTEMENT recommandé', j'entends 'sérieusement, n'installez pas ceci à côté d'autres choses'.

D'abord, clonez le dépôt et copiez les paramètres d'exemple.

$ git clone [email protected]:c6fc/warcannon.git
$ cd warcannon
warcannon$ cp settings.json.sample settings.json

Modifiez settings.json à votre goût :

Paramètres requis

  • nodeInstanceType : Un tableau de types d'instances à utiliser pour le traitement parallèle. Les types 'c' sont les meilleurs pour cela, et n'importe quelle taille peut être utilisée. ["c5n.18xlarge"] est la valeur recommandée pour les vraies campagnes.
  • nodeCapacity : Le nombre de nœuds à demander lors du traitement parallèle. Les nœuds résultants seront une distribution arbitraire des nodeInstanceTypes que vous spécifiez.
  • nodeParallelism : Le nombre de WARCs simultanés à traiter par vCPU. 2 est un bon nombre ici. Si les nœuds n'ont pas assez de RAM pour fonctionner à ce niveau de parallélisme (comme avec les instances de type 'c'), ils fonctionneront au parallélisme sûr le plus élevé à la place.
  • nodeMaxDuration : La durée de vie maximale des nœuds de calcul en secondes. Les nœuds seront automatiquement terminés après ce temps si le travail n'est pas encore terminé. La valeur par défaut est de 24 heures.

Paramètres optionnels (laissez-les complètement de côté si non utilisés)

  • sshKeyName : Le nom d'une clé SSH EC2 qui existe déjà dans us-east-1.
  • allowSSHFrom : Un masque CIDR pour autoriser SSH. Typiquement ce sera &lt;votreipublique&gt;/32

Pour installer, exécutez ceci :

$ npm install
$ npm link
$ warcannon deploy

Démarrage rapide

Lancer une campagne dans WARCannon utilise un flux de travail simple et facile à suivre, qui peut être décrit en quelques étapes :

  1. Déployer l'infrastructure : warcannon deploy
  2. Développer, puis tester les motifs d'expressions régulières localement : warcannon testLocal -s
  3. Vérifier les motifs d'expressions régulières dans AWS via Lambda : warcannon test
  4. Afficher les crawls disponibles : warcannon list 2022
  5. Alimenter la file d'attente avec le crawl de votre choix : warcannon populate 2022-21
  6. Exécuter la campagne : warcannon fire
  7. Attendre la fin de la campagne, puis récupérer les résultats depuis S3 avec warcannon syncResults

Lisez la suite pour une compréhension plus détaillée de chaque étape.

Utilisation de WARCannon

WARCannon est alimenté par Common Crawl via le programme AWS Open Data. Common Crawl est unique en ce sens que les données récupérées par leurs spiders capturent non seulement le texte du site web, mais aussi d'autres contenus textuels comme JavaScript, TypeScript, HTML complet, CSS, etc. En construisant des expressions régulières appropriées capables d'identifier des composants uniques, les chercheurs peuvent identifier les sites web par les technologies qu'ils utilisent, et ce sans jamais toucher au site web lui-même. Le problème est que cela nécessite d'analyser des centaines de téraoctets de données, ce qui est un défi de taille, quels que soient les ressources dont vous disposez. Heureusement, WARCannon propose plusieurs outils pour y parvenir !

Développement d'expressions régulières

Faire un grep sur Internet n'est pas pour les âmes sensibles, mais commencer par un tamis efficace est la première étape. WARCannon facilite cela en permettant la vérification locale des expressions régulières sur des données réelles de Common Crawl. D'abord, ouvrez lambda_functions/warcannon/matches.js et modifiez l'objet regex_patterns pour inclure les expressions régulières que vous souhaitez utiliser au format name: pattern. Voici un exemple de l'ensemble de recherche par défaut :

exports.regex_patterns = {
	"access_key_id": /(\'A|"A)(SIA|KIA|IDA|ROA)[JI][A-Z0-9]{14}[AQ][\'"]/g,
};

Les chaînes correspondant à cette expression seront sauvegardées sous la clé correspondante dans les résultats ; access_key_id dans ce cas. Astuce : Utilisez RegExr avec le format 'JavaScript' pour construire et tester des expressions régulières sur des correspondances connues.

Vous avez également la possibilité de ne capturer que les résultats de domaines spécifiés. Pour ce faire, il suffit de remplir le tableau domains avec les FQDN que vous souhaitez inclure. Il est recommandé de laisser ce tableau vide [] car cela n'est presque jamais rentable (l'effort de traitement économisé est très faible), mais cela peut être utile dans certains cas particuliers.

exports.domains = ["example1.com", "example2.com"];

Une fois que le fichier matches.js est rempli, exécutez la commande suivante :

warcannon$ warcannon testLocal -s

Vous pouvez éventuellement ajouter un chemin vers un WARC dans le bucket S3 commoncrawl si vous le souhaitez, mais une valeur par défaut codée en dur sera utilisée sinon.

WARCannon traitera le fichier WARC en streaming (ou le téléchargera entièrement si vous omettez -s) pour trouver les correspondances configurées. WARCannon sauvegardera les résultats dans le dossier ~/.warcannon/ lorsque vous interromprez avec ctrl+c ou lorsque le traitement se termine. Cela permet de tester rapidement les correspondances courantes avec un minimum de bande passante.

Télécharger l’outil