
Framework modulaire de chasse aux bugs bounty automatisant la reconnaissance, l'énumération de sous-domaines et le scan de vulnérabilités, avec un focus éducatif pour aider les aspirants ingénieurs en sécurité à apprendre les concepts concrets de la sécurité des applications (AppSec).
À propos • Installation • Modules • Dépannage • FAQ • Ars0n Security • YouTube • Twitch
Salut ! Je m'appelle Harrison Richardson, ou rs0n (arson) quand je veux me sentir plus cool que je ne le suis vraiment. Le code de ce dépôt a commencé comme une petite collection de scripts pour automatiser plusieurs des processus courants de chasse aux Bug Bounties que je répétais sans cesse. Avec le temps, j'ai construit une application web simple avec une connexion MongoDB pour gérer mes découvertes et identifier des points de données précieux. Après 5 ans de chasse aux Bug Bounties, à la fois à temps partiel et à temps plein, je suis enfin prêt à empaqueter cette collection d'outils dans un framework approprié.
The Ars0n Framework est conçu pour fournir aux aspirants ingénieurs en sécurité applicative tous les outils nécessaires pour utiliser la chasse aux Bug Bounties comme moyen d'apprendre des concepts concrets et précieux de sécurité applicative et de gagner de l'💰 en le faisant ! Mon objectif est d'abaisser la barrière à l'entrée pour la chasse aux Bug Bounties en fournissant des outils d'automatisation faciles à utiliser, combinés à du contenu éducatif et des guides pratiques pour un large éventail de vulnérabilités Web et Cloud. En combinaison avec mon contenu YouTube, ce framework aidera les aspirants ingénieurs en sécurité applicative à comprendre rapidement et facilement des concepts de sécurité réels qui se traduisent directement par une carrière bien rémunérée en Cybersécurité.
En plus d'utiliser cet outil pour la chasse aux Bug Bounties, les ingénieurs en herbe peuvent également utiliser ce dépôt Github comme toile pour s'entraîner à collaborer avec d'autres développeurs ! Cet outil a été inspiré par Metasploit et conçu pour être modulaire de manière similaire. Chaque Script (Ex : wildfire.py ou slowburn.py) est essentiellement un algorithme qui exécute les Modules (Ex : fire-starter.py ou fire-scanner.py) selon un modèle spécifique pour obtenir un résultat souhaité. Grâce à cette conception, la communauté est libre de créer de nouveaux Scripts pour résoudre un cas d'usage spécifique ou des Modules pour étendre les résultats de ces Scripts. En apprenant le code de ce framework et en utilisant Github pour contribuer avec votre propre code, les ingénieurs en herbe continueront à acquérir des compétences concrètes qui peuvent être appliquées dès le premier jour d'un poste d'Ingénieur en Sécurité I.
J'espère que ce framework modulaire servira de toile pour partager ce que j'ai appris au cours de ma carrière avec la prochaine génération d'ingénieurs en sécurité ! Croyez-moi, on a besoin de toute l'aide possible !!
Copiez ce bloc de code dans une installation propre de Kali Linux 2023.4 pour télécharger, installer et exécuter la dernière version Alpha stable du framework :
sudo apt update && sudo apt-get update
sudo apt -y upgrade && sudo apt-get -y upgrade
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
cd ars0n-framework
./install.sh
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
The Ars0n Framework inclut un script qui installe tous les outils, paquets, etc. nécessaires pour faire fonctionner le framework sur une installation propre de Kali Linux 2023.4.
Veuillez noter que la seule installation prise en charge de ce framework est sur une installation propre de Kali Linux 2023.3. Si vous choisissez d'essayer d'exécuter le framework en dehors d'une installation propre de Kali, je ne pourrai pas vous aider à résoudre les éventuels problèmes.
./install.sh
Cette vidéo montre exactement à quoi s'attendre d'une installation réussie.
Si vous utilisez un processeur ARM, vous devrez ajouter l'option --arm à tous les scripts d'installation/d'exécution
./install.sh --arm
Lorsque l'installation commence, il vous sera demandé de saisir diverses clés API et tokens. Leur saisie n'est pas nécessaire pour exécuter les fonctionnalités de base du framework. Si vous ne saisissez pas ces clés API et tokens au moment de l'installation, appuyez simplement sur Entrée à chaque invite. Les clés peuvent être ajoutées ultérieurement dans le répertoire ~/.keys. Plus d'informations sur la façon d'ajouter ces clés manuellement se trouvent dans la section Foire Aux Questions de ce README.
Une fois l'installation terminée, il vous sera proposé d'exécuter l'application en saisissant Y. Si vous choisissez de ne pas l'exécuter immédiatement, ou si vous devez l'exécuter après un redémarrage, naviguez simplement vers le répertoire racine et exécutez le script bash run.sh.
./run.sh
Si vous utilisez un processeur ARM, vous devrez ajouter l'option --arm à tous les scripts d'installation/d'exécution
./run.sh --arm
Les modules principaux de The Ars0n Framework sont utilisés pour déterminer la logique de scan de base. Chaque script est conçu pour prendre en charge une méthodologie de reconnaissance spécifique en fonction de ce que l'utilisateur essaie d'accomplir.
Pour l'instant, le script Wildfire est le module principal le plus largement utilisé dans The Ars0n Framework. Le but de ce module est de permettre à l'utilisateur de scanner plusieurs cibles qui autorisent les tests sur tout sous-domaine découvert par le chercheur.
Comment ça fonctionne :
La plupart des scans Wildfire prennent entre 8 et 48 heures pour un seul domaine si tous les sous-modules sont exécutés. Des variations dans ce délai peuvent être causées par plusieurs facteurs, notamment l'application cible et la machine exécutant le framework.
Veuillez également noter que la plupart des données ne s'afficheront pas dans l'interface graphique avant la fin du scan. Il est préférable d'essayer d'exécuter le scan pendant la nuit ou le week-end, selon le nombre de domaines scannés, et de revenir une fois le scan terminé pour passer de la reconnaissance à l'énumération.
Exécuter Wildfire :
Wildfire peut être exécuté depuis l'interface graphique en utilisant le bouton Wildfire sur le tableau de bord. Une fois cliqué, le front-end utilisera les cases à cocher à l'écran pour déterminer quels indicateurs doivent être passés au scanner.
Veuillez noter que l'exécution des scans depuis l'interface graphique présente encore quelques bugs et cas particuliers qui n'ont pas été résolus. Si vous rencontrez des problèmes, vous pouvez simplement exécuter le scan depuis la CLI.
Tous les modules principaux de The Ars0n Framework sont stockés dans le répertoire /toolkit. Il suffit de se rendre dans ce répertoire et d'exécuter wildfire.py avec les indicateurs nécessaires. Au moins un indicateur de sous-module doit être fourni.
python3 wildfire.py --start --cloud --scan
Contrairement au module Wildfire, qui nécessite que l'utilisateur identifie les domaines cibles à scanner, le module Slowburn fait ce travail à votre place. En communiquant avec les API de diverses plateformes de chasse aux Bug Bounties, ce script identifiera tous les domaines qui autorisent les tests sur tout sous-domaine découvert. Une fois les données renseignées, Slowburn choisira aléatoirement un domaine à la fois pour le scanner de la même manière que Wildfire.
Veuillez noter que le module Slowburn est encore en développement et n'est pas considéré comme faisant partie de la version alpha stable. L'utilisateur rencontrera probablement des bugs et des cas particuliers.
Pour que Slowburn identifie des cibles à scanner, il doit d'abord être initialisé. Cette étape d'initialisation collecte les données nécessaires depuis diverses API et les dépose dans un fichier JSON stocké localement. Une fois cette étape d'initialisation terminée, Slowburn commencera automatiquement à sélectionner et scanner une cible à la fois.
Pour initialiser Slowburn, exécutez simplement la commande suivante :
python3 slowburn.py --initialize
Une fois les données collectées, il appartient à l'utilisateur de décider s'il souhaite réinitialiser l'outil lors du prochain scan.
N'oubliez pas que le périmètre et les cibles des programmes publics de Bug Bounty peuvent changer fréquemment. Si vous choisissez d'exécuter Slowburn sans initialiser les données, vous risquez de scanner des domaines qui ne sont plus dans le périmètre du programme. Il est fortement recommandé de réinitialiser Slowburn à chaque fois avant de l'exécuter.
Si vous choisissez de ne pas réinitialiser les données cibles, vous pouvez exécuter Slowburn en utilisant les données précédemment collectées avec la commande suivante :
python3 slowburn.py
Les sous-modules de The Ars0n Framework sont conçus pour être utilisés par les modules principaux afin de diviser les phases de reconnaissance et d'énumération en tâches spécifiques. Les données collectées dans chaque sous-module sont utilisées par les autres pour élargir votre vision de la surface d'attaque de la cible.
Fire-Starter est la première étape pour effectuer une reconnaissance sur un domaine cible. L'objectif de ce script est de collecter une grande quantité d'informations sur la surface d'attaque de votre cible. Une fois collectées, ces données seront utilisées par tous les autres sous-modules pour aider l'utilisateur à identifier une URL spécifique potentiellement vulnérable.
Fire-Starter fonctionne en exécutant une série d'outils open-source pour énumérer les sous-domaines cachés, les enregistrements DNS et les ASN afin d'identifier où ces entrées externes sont hébergées. Actuellement, Fire-Starter fonctionne en chaînant les outils open-source largement utilisés suivants :
Ces outils couvrent un large éventail de techniques pour identifier les sous-domaines cachés, notamment le scraping web, la force brute et le crawling pour identifier les liens et les URLs JavaScript.
Une fois le scan terminé, le tableau de bord sera mis à jour et disponible pour l'utilisateur.
La plupart des sous-modules de The Ars0n Framework nécessitent les données collectées par le module Fire-Starter pour fonctionner. Dans cette optique, Fire-Starter doit être inclus dans le premier scan contre une cible pour que des données utilisables soient collectées.
À venir...
Fire-Scanner utilise les résultats de Fire-Starter et Fire-Cloud pour effectuer un scan à large bande contre tous les sous-domaines et services cloud découverts lors des scans précédents.
À ce stade de développement, ce script utilise Nuclei presque exclusivement pour tous les scans. Au lieu de simplement exécuter l'outil, Fire-Scanner divise le scan en collections spécifiques de Nuclei Templates et les scanne un par un. Cette stratégie aide à garantir que les scans sont stables et produisent des résultats cohérents, supprime toute vérification de scan inutile ou dangereuse, et produit des résultats exploitables.
La grande majorité des problèmes d'installation et/ou d'exécution du framework Ars0n sont causés par le fait de ne pas installer l'outil sur une installation propre de Kali Linux.
Il est important de se rappeler que, dans son essence, The Ars0n Framework est une collection de scripts d'automatisation conçus pour exécuter des outils open-source existants. Chacun de ces outils a sa propre façon de fonctionner et peut rencontrer un comportement inattendu si des conflits surviennent avec un service/outil existant sur le système de l'utilisateur. Cette complexité est la raison pour laquelle The Ars0n Framework devrait être exécuté uniquement sur une installation propre de Kali Linux.
Un autre problème très courant rencontré par les utilisateurs est causé par l'installation et/ou l'exécution non réussie de MongoDB sur leur machine. La manifestation la plus courante de ce problème est que l'utilisateur ne peut pas ajouter un FQDN initial et voit simplement une interface graphique cassée. Si cela se produit, veuillez vous assurer que votre machine dispose des ressources système nécessaires pour exécuter MongoDB. Malheureusement, il n'existe pas de solution actuelle si vous rencontrez ce problème.
À venir...