
Modulares Bug-Bounty-Jagd-Framework, das Reconnaissance, Subdomain-Enumeration und Schwachstellenscanning automatisiert, mit einem edukativen Fokus, um angehenden Sicherheitsingenieuren zu helfen, echte AppSec-Konzepte zu lernen.
Über • Installation • Module • Fehlerbehebung • FAQs • Ars0n Security • YouTube • Twitch
Hallo! Mein Name ist Harrison Richardson, oder rs0n (Arson), wenn ich mich cooler fühlen möchte, als ich wirklich bin. Der Code in diesem Repository begann als kleine Sammlung von Skripten, um viele der wiederkehrenden Bug-Bounty-Prozesse zu automatisieren, die ich immer wieder durchführte. Im Laufe der Zeit baute ich eine einfache Webanwendung mit einer MongoDB-Verbindung, um meine Ergebnisse zu verwalten und wertvolle Datenpunkte zu identifizieren. Nach 5 Jahren Bug-Bounty-Jagd, sowohl nebenberuflich als auch hauptberuflich, bin ich endlich bereit, diese Sammlung von Werkzeugen in ein ordentliches Framework zu packen.
Das Ars0n Framework wurde entwickelt, um angehenden Application-Security-Ingenieuren alle Werkzeuge an die Hand zu geben, die sie benötigen, um die Bug-Bounty-Jagd als Mittel zum Erlernen wertvoller, praxisnaher AppSec-Konzepte zu nutzen und dabei 💰 zu verdienen! Mein Ziel ist es, die Einstiegshürde für die Bug-Bounty-Jagd zu senken, indem ich benutzerfreundliche Automatisierungswerkzeuge in Kombination mit Lehrmaterialien und Anleitungen für eine breite Palette von webbasierten und cloudbasierten Schwachstellen bereitstelle. In Kombination mit meinen YouTube-Inhalten wird dieses Framework angehenden Application-Security-Ingenieuren helfen, schnell und einfach reale Sicherheitskonzepte zu verstehen, die sich direkt in eine hochbezahlte Karriere im Bereich Cybersicherheit umsetzen lassen.
Neben der Nutzung dieses Tools für die Bug-Bounty-Jagd können angehende Ingenieure dieses GitHub-Repository auch als Leinwand nutzen, um das Zusammenarbeiten mit anderen Entwicklern zu üben! Dieses Tool wurde von Metasploit inspiriert und ist in ähnlicher Weise modular aufgebaut. Jedes Skript (z.B. wildfire.py oder slowburn.py) ist im Grunde ein Algorithmus, der die Module (z.B. fire-starter.py oder fire-scanner.py) in einem bestimmten Muster ausführt, um ein gewünschtes Ergebnis zu erzielen. Aufgrund dieses Designs ist die Community frei, neue Skripte zur Lösung eines bestimmten Anwendungsfalls oder Module zur Erweiterung der Ergebnisse dieser Skripte zu entwickeln. Indem sie den Code in diesem Framework lernen und GitHub nutzen, um eigenen Code beizusteuern, lernen angehende Ingenieure weiterhin praxisnahe Fähigkeiten, die sie am ersten Tag in einer Position als Security Engineer I anwenden können.
Ich hoffe, dass dieses modulare Framework als Leinwand dient, um das weiterzugeben, was ich im Laufe meiner Karriere gelernt habe, an die nächste Generation von Sicherheitsingenieuren! Vertrauen Sie mir, wir brauchen jede Hilfe, die wir kriegen können!!
Fügen Sie diesen Codeblock in eine saubere Installation von Kali Linux 2023.4 ein, um die neueste stabile Alpha-Version des Frameworks herunterzuladen, zu installieren und auszuführen:
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
Das Ars0n Framework enthält ein Skript, das alle notwendigen Tools, Pakete usw. installiert, die für den Betrieb des Frameworks auf einer sauberen Installation von Kali Linux 2023.4 benötigt werden.
Bitte beachten Sie, dass die einzige unterstützte Installation dieses Frameworks auf einer sauberen Installation von Kali Linux 2023.3 erfolgt. Wenn Sie versuchen, das Framework außerhalb einer sauberen Kali-Installation auszuführen, kann ich bei Problemen nicht helfen.
./install.sh
Dieses Video zeigt genau, was Sie bei einer erfolgreichen Installation erwartet.
Wenn Sie einen ARM-Prozessor verwenden, müssen Sie das Flag --arm zu allen Installations-/Ausführungsskripten hinzufügen
./install.sh --arm
Sie werden zu Beginn der Installation zur Eingabe verschiedener API-Schlüssel und Token aufgefordert. Die Eingabe dieser Daten ist nicht zwingend erforderlich, um die Kernfunktionalität des Frameworks auszuführen. Wenn Sie diese API-Schlüssel und Token zum Zeitpunkt der Installation nicht eingeben, drücken Sie einfach bei jeder Eingabeaufforderung die Eingabetaste. Die Schlüssel können später im Verzeichnis ~/.keys hinzugefügt werden. Weitere Informationen zum manuellen Hinzufügen dieser Schlüssel finden Sie im Abschnitt Häufig gestellte Fragen dieser README.
Sobald die Installation abgeschlossen ist, haben Sie die Möglichkeit, die Anwendung durch Eingabe von Y auszuführen. Wenn Sie die Anwendung nicht sofort ausführen möchten oder sie nach einem Neustart erneut ausführen müssen, navigieren Sie einfach zum Stammverzeichnis und führen Sie das Bash-Skript run.sh aus.
./run.sh
Wenn Sie einen ARM-Prozessor verwenden, müssen Sie das Flag --arm zu allen Installations-/Ausführungsskripten hinzufügen
./run.sh --arm
Die Kernmodule des Ars0n Frameworks werden verwendet, um die grundlegende Scanlogik zu bestimmen. Jedes Skript ist darauf ausgelegt, eine bestimmte Recon-Methodik zu unterstützen, basierend auf dem, was der Benutzer erreichen möchte.
Derzeit ist das Wildfire-Skript das am weitesten verbreitete Kernmodul im Ars0n Framework. Der Zweck dieses Moduls besteht darin, dem Benutzer das Scannen mehrerer Ziele zu ermöglichen, die Tests auf allen vom Forscher entdeckten Subdomains erlauben.
So funktioniert es:
Die meisten Wildfire-Scans dauern zwischen 8 und 48 Stunden, um gegen eine einzelne Domain abgeschlossen zu werden, wenn alle Untermodelle ausgeführt werden. Abweichungen in dieser Zeit können durch eine Reihe von Faktoren verursacht werden, einschließlich der Zielanwendung und der Maschine, auf der das Framework läuft.
Beachten Sie auch, dass die meisten Daten erst dann in der GUI angezeigt werden, wenn der Scan abgeschlossen ist. Es ist am besten, den Scan über Nacht oder über ein Wochenende laufen zu lassen, je nach Anzahl der zu scannenden Domains, und zurückzukehren, sobald der Scan abgeschlossen ist, um von der Recon zur Enumeration überzugehen.
Wildfire ausführen:
Wildfire kann über die GUI mit der Wildfire-Schaltfläche auf dem Dashboard ausgeführt werden. Nach dem Klicken verwendet das Frontend die Kontrollkästchen auf dem Bildschirm, um zu bestimmen, welche Flags an den Scanner übergeben werden sollen.
Bitte beachten Sie, dass das Ausführen von Scans über die GUI noch einige Fehler und Randfälle aufweist, die noch nicht behoben wurden. Wenn Sie Probleme haben, können Sie den Scan einfach von der CLI aus ausführen.
Alle Kernmodule des Ars0n Frameworks werden im Verzeichnis /toolkit gespeichert. Navigieren Sie einfach zu diesem Verzeichnis und führen Sie wildfire.py mit den erforderlichen Flags aus. Es muss mindestens ein Flag eines Untermoduls angegeben werden.
python3 wildfire.py --start --cloud --scan
Im Gegensatz zum Wildfire-Modul, bei dem der Benutzer die zu scannenden Ziel-Domains identifizieren muss, erledigt das Slowburn-Modul diese Arbeit für Sie. Durch die Kommunikation mit APIs verschiedener Bug-Bounty-Plattformen identifiziert dieses Skript alle Domains, die Tests auf allen entdeckten Subdomains erlauben. Sobald die Daten gesammelt wurden, wählt Slowburn zufällig jeweils eine Domain aus, um sie auf die gleiche Weise wie Wildfire zu scannen.
Bitte beachten Sie, dass das Slowburn-Modul noch in der Entwicklung ist und nicht als Teil der stabilen Alpha-Version betrachtet wird. Es wird wahrscheinlich Fehler und Randfälle geben, auf die der Benutzer stoßen kann.
Damit Slowburn Ziele zum Scannen identifizieren kann, muss es zuerst initialisiert werden. Dieser Initialisierungsschritt sammelt die notwendigen Daten von verschiedenen APIs und speichert sie in einer lokal gespeicherten JSON-Datei. Sobald dieser Initialisierungsschritt abgeschlossen ist, beginnt Slowburn automatisch damit, jeweils ein Ziel auszuwählen und zu scannen.
Um Slowburn zu initialisieren, führen Sie einfach den folgenden Befehl aus:
python3 slowburn.py --initialize
Sobald die Daten gesammelt wurden, liegt es am Benutzer, ob er das Tool beim nächsten Scan erneut initialisieren möchte.
Denken Sie daran, dass sich der Umfang und die Ziele öffentlicher Bug-Bounty-Programme häufig ändern können. Wenn Sie Slowburn ausführen, ohne die Daten zu initialisieren, scannen Sie möglicherweise Domains, die nicht mehr im Umfang des Programms enthalten sind. Es wird dringend empfohlen, Slowburn vor jedem erneuten Ausführen zu initialisieren.
Wenn Sie sich entscheiden, die Zieldaten nicht erneut zu initialisieren, können Sie Slowburn mit den zuvor gesammelten Daten mit dem folgenden Befehl ausführen:
python3 slowburn.py
Die Untermodelle des Ars0n Frameworks sind darauf ausgelegt, von den Kernmodulen genutzt zu werden, um die Recon- und Enumerationsphasen in spezifische Aufgaben zu unterteilen. Die in jedem Untermodul gesammelten Daten werden von den anderen verwendet, um Ihr Bild der Angriffsfläche des Ziels zu erweitern.
Fire-Starter ist der erste Schritt zur Durchführung von Recon gegen eine Ziel-Domain. Das Ziel dieses Skripts ist es, eine Fülle von Informationen über die Angriffsfläche Ihres Ziels zu sammeln. Einmal gesammelt, werden diese Daten von allen anderen Untermodulen verwendet, um dem Benutzer zu helfen, eine bestimmte potenziell anfällige URL zu identifizieren.
Fire-Starter funktioniert, indem es eine Reihe von Open-Source-Tools ausführt, um versteckte Subdomains, DNS-Einträge und die ASNs zu enumerieren, um herauszufinden, wo diese externen Einträge gehostet werden. Derzeit funktioniert Fire-Starter, indem es die folgenden weit verbreiteten Open-Source-Tools miteinander verknüpft:
Diese Tools decken eine breite Palette von Techniken zur Identifizierung versteckter Subdomains ab, darunter Web Scraping, Brute-Force und Crawling, um Links und JavaScript-URLs zu identifizieren.
Sobald der Scan abgeschlossen ist, wird das Dashboard aktualisiert und steht dem Benutzer zur Verfügung.
Die meisten Untermodelle im Ars0n Framework benötigen die vom Fire-Starter-Modul gesammelten Daten, um zu funktionieren. Daher muss Fire-Starter in den ersten Scan gegen ein Ziel aufgenommen werden, damit verwendbare Daten gesammelt werden.
Coming soon...
Fire-Scanner verwendet die Ergebnisse von Fire-Starter und Fire-Cloud, um Breitband-Scans gegen alle Subdomains und Cloud-Dienste durchzuführen, die bei früheren Scans entdeckt wurden.
In diesem Entwicklungsstadium nutzt dieses Skript fast ausschließlich Nuclei für alle Scans. Anstatt das Tool einfach auszuführen, unterteilt Fire-Scanner den Scan in spezifische Sammlungen von Nuclei-Vorlagen und scannt sie nacheinander. Diese Strategie hilft sicherzustellen, dass die Scans stabil sind und konsistente Ergebnisse liefern, entfernt unnötige oder unsichere Scan-Prüfungen und liefert umsetzbare Ergebnisse.
Die überwiegende Mehrheit der Probleme bei der Installation und/oder Ausführung des Ars0n Frameworks wird dadurch verursacht, dass das Tool nicht auf einer sauberen Installation von Kali Linux installiert wird.
Es ist wichtig zu bedenken, dass das Ars0n Framework im Kern eine Sammlung von Automatisierungsskripten ist, die dazu dienen, vorhandene Open-Source-Tools auszuführen. Jedes dieser Tools hat seine eigene Funktionsweise und kann unerwartetes Verhalten zeigen, wenn es zu Konflikten mit bestehenden Diensten/Tools auf dem System des Benutzers kommt. Diese Komplexität ist der Grund, warum das Ars0n Framework nur auf einer sauberen Installation von Kali Linux ausgeführt werden sollte.
Ein weiteres sehr häufiges Problem, das Benutzer erleben, wird dadurch verursacht, dass MongoDB auf ihrer Maschine nicht erfolgreich installiert und/oder ausgeführt wird. Die häufigste Manifestation dieses Problems ist, dass der Benutzer keinen anfänglichen FQDN hinzufügen kann und einfach eine defekte GUI sieht. Wenn dies auftritt, stellen Sie bitte sicher, dass Ihre Maschine die erforderlichen Systemanforderungen für die Ausführung von MongoDB erfüllt. Leider gibt es derzeit keine Lösung, wenn Sie auf dieses Problem stoßen.
Coming soon...