
Framework modulare per la caccia alle vulnerabilità (bug bounty) che automatizza ricognizione, enumerazione dei sottodomini e scansione delle vulnerabilità con un focus educativo per aiutare gli aspiranti ingegneri della sicurezza ad apprendere concetti reali di sicurezza delle applicazioni (AppSec).
Informazioni • Installa • Moduli • Risoluzione problemi • Domande frequenti • Ars0n Security • YouTube • Twitch
Salve! Mi chiamo Harrison Richardson, o rs0n (arson) quando voglio sentirmi più figo di quanto non sia in realtà. Il codice in questo repository è nato come una piccola raccolta di script per automatizzare molti dei comuni processi di caccia al Bug Bounty che mi ritrovavo a ripetere. Con il tempo, ho costruito una semplice applicazione web con una connessione MongoDB per gestire i miei risultati e identificare punti dati di valore. Dopo 5 anni di caccia al Bug Bounty, sia part-time che full-time, sono finalmente pronto a confezionare questa raccolta di strumenti in un vero framework.
Il Framework Ars0n è progettato per fornire agli aspiranti Ingegneri della Sicurezza delle Applicazioni tutti gli strumenti necessari per sfruttare la caccia al Bug Bounty come mezzo per apprendere concetti preziosi e reali di AppSec e fare 💰 mentre lo fanno! Il mio obiettivo è abbassare la barriera d'ingresso per la caccia al Bug Bounty fornendo strumenti di automazione facili da usare in combinazione con contenuti educativi e guide pratiche per un'ampia gamma di vulnerabilità web e cloud. In combinazione con i miei contenuti su YouTube, questo framework aiuterà gli aspiranti Ingegneri della Sicurezza delle Applicazioni a comprendere rapidamente e facilmente concetti di sicurezza del mondo reale che si traducono direttamente in una carriera ben retribuita nella Sicurezza Informatica.
Oltre a utilizzare questo strumento per la caccia al Bug Bounty, gli aspiranti ingegneri possono anche usare questo Repository Github come tela per esercitarsi a collaborare con altri sviluppatori! Questo strumento è stato ispirato da Metasploit e progettato per essere modulare in modo simile. Ogni Script (Es: wildfire.py o slowburn.py) è fondamentalmente un algoritmo che esegue i Moduli (Es: fire-starter.py o fire-scanner.py) secondo uno schema specifico per ottenere un risultato desiderato. Grazie a questo design, la comunità è libera di creare nuovi Script per risolvere un caso d'uso specifico o Moduli per espandere i risultati di questi Script. Imparando il codice di questo framework e usando Github per contribuire con il proprio codice, gli aspiranti ingegneri continueranno ad apprendere competenze del mondo reale che possono essere applicate dal primo giorno in una posizione di Ingegnere della Sicurezza I.
La mia speranza è che questo framework modulare funga da tela per condividere ciò che ho imparato nella mia carriera con la prossima generazione di Ingegneri della Sicurezza! Credetemi, abbiamo bisogno di tutto l'aiuto possibile!!
Incolla questo blocco di codice in un'installazione pulita di Kali Linux 2023.4 per scaricare, installare ed eseguire l'ultima versione Alpha stabile del 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
Il Framework Ars0n include uno script che installa tutti gli strumenti, i pacchetti, ecc. necessari per eseguire il framework su un'installazione pulita di Kali Linux 2023.4.
Tieni presente che l'unica installazione supportata di questo framework è su un'installazione pulita di Kali Linux 2023.3. Se scegli di provare a eseguire il framework al di fuori di un'installazione pulita di Kali, non sarò in grado di aiutarti nella risoluzione dei problemi se dovessi incontrare problemi.
./install.sh
Questo video mostra esattamente cosa aspettarsi da un'installazione riuscita.
Se stai utilizzando un processore ARM, dovrai aggiungere il flag --arm a tutti gli script di Installazione/Esecuzione
./install.sh --arm
Ti verrà chiesto di inserire varie chiavi API e token all'inizio dell'installazione. Inserirli non è obbligatorio per eseguire le funzionalità principali del framework. Se non inserisci queste chiavi API e token al momento dell'installazione, premi semplicemente Invio a ciascun prompt. Le chiavi possono essere aggiunte in seguito nella directory ~/.keys. Ulteriori informazioni su come aggiungere queste chiavi manualmente si trovano nella sezione Domande frequenti di questo README.
Una volta completata l'installazione, ti verrà data la possibilità di eseguire l'applicazione inserendo Y. Se scegli di non eseguire l'applicazione immediatamente, o se devi eseguirla dopo un riavvio, basta andare alla directory principale ed eseguire lo script bash run.sh.
./run.sh
Se stai utilizzando un processore ARM, dovrai aggiungere il flag --arm a tutti gli script di Installazione/Esecuzione
./run.sh --arm
I Moduli principali del Framework Ars0n vengono utilizzati per determinare la logica di scansione di base. Ogni script è progettato per supportare una specifica metodologia di ricognizione in base a ciò che l'utente sta cercando di ottenere.
Al momento, lo script Wildfire è il Modulo principale più utilizzato nel Framework Ars0n. Lo scopo di questo modulo è consentire all'utente di scansionare più target che permettono i test su qualsiasi sottodominio scoperto dal ricercatore.
Come funziona:
La maggior parte delle scansioni Wildfire richiede tra le 8 e le 48 ore per essere completata su un singolo dominio se tutti i Sotto-Moduli sono in esecuzione. Le variazioni in questi tempi possono essere causate da diversi fattori, inclusi l'applicazione target e la macchina che esegue il framework.
Inoltre, tieni presente che la maggior parte dei dati non verrà visualizzata nella GUI fino al completamento della scansione. È meglio provare a eseguire la scansione durante la notte o durante un fine settimana, a seconda del numero di domini da scansionare, e tornare una volta completata la scansione per passare dalla Ricognizione all'Enumerazione.
Esecuzione di Wildfire:
Wildfire può essere eseguito dalla GUI utilizzando il pulsante Wildfire nella dashboard. Una volta cliccato, il front-end utilizzerà le caselle di controllo sullo schermo per determinare quali flag devono essere passati allo scanner.
Tieni presente che l'esecuzione delle scansioni dalla GUI ha ancora alcuni bug e casi limite che non sono stati risolti. Se hai problemi, puoi semplicemente eseguire la scansione dalla CLI.
Tutti i Moduli principali del Framework Ars0n sono memorizzati nella directory /toolkit. Basta navigare nella directory ed eseguire wildfire.py con i flag necessari. Deve essere fornito almeno un flag di Sotto-Modulo.
python3 wildfire.py --start --cloud --scan
A differenza del modulo Wildfire, che richiede all'utente di identificare i domini target da scansionare, il modulo Slowburn fa questo lavoro per te. Comunicando con le API di varie piattaforme di bug bounty, questo script identificherà tutti i domini che consentono i test su qualsiasi sottodominio scoperto. Una volta popolati i dati, Slowburn sceglierà casualmente un dominio alla volta da scansionare nello stesso modo in cui fa Wildfire.
Tieni presente che il modulo Slowburn è ancora in fase di sviluppo e non è considerato parte della versione alpha stabile. Ci saranno probabilmente bug e casi limite che l'utente incontrerà.
Affinché Slowburn identifichi i target da scansionare, deve prima essere inizializzato. Questo passo di inizializzazione raccoglie i dati necessari da varie API e li deposita in un file JSON memorizzato localmente. Una volta completato questo passo di inizializzazione, Slowburn inizierà automaticamente a selezionare e scansionare un target alla volta.
Per inizializzare Slowburn, esegui semplicemente il seguente comando:
python3 slowburn.py --initialize
Una volta raccolti i dati, spetta all'utente decidere se re-inizializzare lo strumento alla scansione successiva.
Ricorda che l'ambito e i target dei programmi di bug bounty pubblici possono cambiare frequentemente. Se scegli di eseguire Slowburn senza inizializzare i dati, potresti scansionare domini che non sono più nell'ambito del programma. Si raccomanda vivamente di re-inizializzare Slowburn ogni volta prima di eseguirlo.
Se scegli di non re-inizializzare i dati di destinazione, puoi eseguire Slowburn utilizzando i dati precedentemente raccolti con il seguente comando:
python3 slowburn.py
I Sotto-Moduli del Framework Ars0n sono progettati per essere sfruttati dai Moduli principali per suddividere le fasi di Ricognizione ed Enumerazione in compiti specifici. I dati raccolti in ciascun Sotto-Modulo vengono utilizzati dagli altri per espandere la tua visione della superficie di attacco del target.
Fire-Starter è il primo passo per eseguire la ricognizione su un dominio target. L'obiettivo di questo script è raccogliere una grande quantità di informazioni sulla superficie di attacco del tuo target. Una volta raccolti, questi dati verranno utilizzati da tutti gli altri Sotto-Moduli per aiutare l'utente a identificare un URL specifico potenzialmente vulnerabile.
Fire-Starter funziona eseguendo una serie di strumenti open-source per enumerare sottodomini nascosti, record DNS e gli ASN per identificare dove sono ospitati quegli ingressi esterni. Attualmente, Fire-Starter funziona collegando i seguenti strumenti open-source ampiamente utilizzati:
Questi strumenti coprono un'ampia gamma di tecniche per identificare sottodomini nascosti, inclusi web scraping, brute force e crawling per identificare link e URL JavaScript.
Una volta completata la scansione, la Dashboard verrà aggiornata e sarà disponibile per l'utente.
La maggior parte dei Sotto-Moduli del Framework Ars0n richiede i dati raccolti dal modulo Fire-Starter per funzionare. Con questo in mente, Fire-Starter deve essere incluso nella prima scansione contro un target affinché vengano raccolti dati utilizzabili.
In arrivo...
Fire-Scanner utilizza i risultati di Fire-Starter e Fire-Cloud per eseguire la Wide-Band Scanning contro tutti i sottodomini e i servizi cloud scoperti dalle scansioni precedenti.
In questa fase di sviluppo, questo script sfrutta Nuclei quasi esclusivamente per tutte le scansioni. Invece di eseguire semplicemente lo strumento, Fire-Scanner suddivide la scansione in raccolte specifiche di Nuclei Templates e le scansiona una per una. Questa strategia aiuta a garantire che le scansioni siano stabili e producano risultati coerenti, rimuove eventuali controlli di scansione non necessari o non sicuri e produce risultati utilizzabili.
La stragrande maggioranza dei problemi nell'installazione e/o nell'esecuzione del Framework Ars0n è causata dal non aver installato lo strumento su un'installazione pulita di Kali Linux.
È importante ricordare che, al suo interno, il Framework Ars0n è una raccolta di script di automazione progettati per eseguire strumenti open-source esistenti. Ognuno di questi strumenti ha i propri modi di operare e può comportarsi in modo imprevisto se sorgono conflitti con qualsiasi servizio/strumento esistente in esecuzione sul sistema dell'utente. Questa complessità è il motivo per cui il Framework Ars0n dovrebbe essere eseguito solo su un'installazione pulita di Kali Linux.
Un altro problema molto comune che gli utenti riscontrano è causato dal fatto che MongoDB non viene installato e/o eseguito correttamente sulla loro macchina. La manifestazione più comune di questo problema è che l'utente non riesce ad aggiungere un FQDN iniziale e vede semplicemente una GUI rotta. Se ciò accade, assicurati che la tua macchina abbia i requisiti di sistema necessari per eseguire MongoDB. Sfortunatamente, non esiste una soluzione attuale se incontri questo problema.
Prossimamente...