
Faraday Agent Dispatcher lancia qualsiasi strumento di sicurezza e invia i risultati alla piattaforma Faradaysec.
Faraday Agents Dispatcher aiuta gli utenti a sviluppare integrazioni con Faraday scritte in qualsiasi linguaggio.
Basta eseguire pip3 install faraday_agent_dispatcher e dovresti vedere il
comando faraday-dispatcher nel tuo sistema.
Per configurare un ambiente di sviluppo (cioè, per modificare il codice del dispatcher
stesso, non per scrivere le tue integrazioni), dovresti clonare questo repository ed eseguire
pip install -e ..
Genera un file di configurazione eseguendo faraday-dispatcher config-wizard.
Esegui l'agente con il comando faraday-dispatcher run. Il file di configurazione
che verrà creato si troverà in ~/.faraday/config/dispatcher.ini
se non passi un percorso personalizzato.
Dovresti completare la configurazione dell'agente con il tuo token di registrazione, situato su http://localhost:5985/#/admin/agents. Verifica che la sezione del server contenga le informazioni corrette sulla tua istanza di Faraday Server. Quindi, completa la sezione dell'agente con il nome desiderato del tuo agente. Infine, aggiungi gli esecutori
Un esecutore è uno script che stampa dati JSON su una singola riga in stdout. Ricorda che se stampi qualsiasi altro dato su stdout, il dispatcher genererà un errore. Se vuoi stampare informazioni di debug o di logging, dovresti usare stderr per quello.
Ogni riga scritta su stdout dall'esecutore verrà decodificata dal dispatcher e inviata a Faraday utilizzando l'endpoint Bulk Create. Pertanto, il JSON che stampi deve avere lo schema richiesto dall'endpoint (questo schema è descritto in dettaglio sotto). Altrimenti, il dispatcher genererà un errore perché gli hai fornito dati non validi.
Se vuoi eseguire il debug del tuo esecutore, il modo più semplice è eseguirlo direttamente invece di usarlo con il Dispatcher. Poiché l'esecutore stampa solo dati JSON su stdout, sarai in grado di vedere tutte le informazioni che vuole inviare a Faraday, ma senza inviarle effettivamente.
Dopo aver scritto il tuo esecutore, devi aggiungerlo tramite
faraday-dispatcher config-wizard nella sezione degli esecutori, aggiungendo
il suo nome, il comando da eseguire e la dimensione massima del JSON da inviare a
Faraday Server. Inoltre, puoi configurare le variabili di Ambiente
e gli Argomenti nella rispettiva sezione.
Per eseguire un esecutore usa il comando faraday-dispatcher config-wizard,
e avvialo dal Faraday Server. L'esecutore utilizzerà le
variabili d'ambiente impostate e chiederà gli argomenti.
I dati pubblicati su faraday devono corrispondere all'endpoint
bulk_create della REST API di Faraday
Se vuoi avere più di un dispatcher, ognuno che esegue i propri
esecutori, il metodo preferito è creare file di configurazione
diversi per ciascuno (ad esempio,
~/.faraday/config/dispatcher-1.ini e
~/.faraday/config/dispatcher-2.ini). Quindi, puoi eseguire due diverse
istanze del Dispatcher con faraday-dispatcher --config-file PERCORSO_DEL_FILE_DI_CONFIGURAZIONE.
All'interno della directory executors puoi trovare gli esecutori già creati.
Gli esecutori ufficiali sono una raccolta di esecutori pronti all'uso (con configurazione minima tramite la procedura guidata). Hanno un file manifest JSON, che fornisce dettagli sugli utilizzi dell'esecutore e aiuta con la loro configurazione.
Gli esecutori ufficiali attuali sono:
Gli esecutori di sviluppo sono la raccolta di esecutori che non manteniamo completamente; abbiamo esempi d'uso, esecutori concettuali e in fase di sviluppo. I più importanti sono:
basic_example.py: L'Hello World degli esecutori di Faraday. Creerà
un host con una vulnerabilità associata ad essoheroku_discovery_agent.py: Carica informazioni su host e servizi dal
tuo account HerokuprowlerSample.py: Esegue il comando prowler e invia
il suo output a Faradaybrainfuck.sh: Una prova di concetto per dimostrare che puoi creare
un esecutore in qualsiasi linguaggio di programmazione, incluso Brainfuck!Stiamo attualmente lavorando a nuovi esecutori, oltre a migliorare l'esperienza d'uso degli agenti.
Vorremmo dare ad alcuni agenti accesso in lettura al loro workspace, così che possano beneficiare dei dati esistenti per trovare informazioni più preziose.
Per maggiori informazioni puoi consultare la nostra documentazione