
Interface en ligne de commande de Faraday
Utilisez faraday directement depuis votre terminal préféré

faraday-cli est le client officiel qui rend l'automatisation de vos workflows de sécurité plus facile.
Avant l'installation, nous recommandons de créer et d'activer un environnement virtuel Python pour éviter d'affecter les paquets Python de votre système. Par exemple :
python3 -m venv .venv
source .venv/bin/activate
Vous pouvez également utiliser virtualenv si vous préférez. Une fois l'environnement virtuel activé, exécutez les commandes d'installation ci-dessous.
pip install faraday-cli
git clone https://github.com/infobyte/faraday-cli.git
cd faraday-cli
pip install .
Pour plus d'informations, consultez notre documentation
Configurez l'authentification pour farday-cli
$ faraday-cli auth

Lorsque vous créez un espace de travail, il est sélectionné comme actif par défaut, sauf si vous utilisez l'option "-d"
$ faraday-cli workspace create some_name
✔ Created workspace: some_name
$ faraday-cli workspace select some_name
✔ Selected workspace: some_name
$ faraday-cli list_ws
NAME HOSTS SERVICES VULNS ACTIVE PUBLIC READONLY
--------- ------- ---------- ------- -------- -------- ----------
some_name 14 13 39 True False False
$ faraday-cli host list
ID IP OS HOSTNAMES SERVICES VULNS
---- ----------- ------- --------------- ---------- -------
574 127.0.0.1 unknown 1 3
566 127.0.0.10 unknown 1 3
569 127.0.0.11 unknown 1 3
568 127.0.0.12 unknown 1 3
570 127.0.0.13 unknown 1 3
576 127.0.0.2 unknown 1 3
565 127.0.0.3 unknown 1 3
572 127.0.0.4 unknown 1 3
573 127.0.0.5 unknown 1 3
567 127.0.0.6 unknown 1 3
571 127.0.0.7 unknown 1 3
564 127.0.0.8 unknown 1 3
575 127.0.0.9 unknown 1 3
590 58.76.184.4 unknown www.googlec.com 0 -
$ faraday-cli host get 574
$ faraday-cli host get 574
Host:
ID IP OS HOSTNAMES OWNER OWNED VULNS
---- --------- ------- ----------- ------- ------- -------
574 127.0.0.1 unknown faraday False 3
Services:
ID NAME DESCRIPTION PROTOCOL PORT VERSION STATUS VULNS
---- ------ ------------- ---------- ------ --------- -------- -------
2638 ssh tcp 22 unknown open 2
Vulnerabilities:
ID NAME SEVERITY STATUS CONFIRMED TOOL
----- ---------------------------------------- ---------- -------- ----------- -------
13509 SSH Weak Encryption Algorithms Supported MED opened False Openvas
13510 SSH Weak MAC Algorithms Supported LOW opened False Openvas
13511 TCP timestamps LOW opened False Openvas
$ faraday-cli host create -d \''[{"ip": "stan.local", "description": "some server"}]'\'
Ou passez-le en entrée par pipe
$ echo '[{"ip": "1.1.1.5", "description": "some text"}]' | faraday-cli host create --stdin
L'échappement des guillemets simples (\') n'est nécessaire que lorsqu'on l'utilise comme commande. Dans le shell ou avec les pipes, ce n'est pas nécessaire
$ faraday-cli tool report "/path/to/report.xml"

$ faraday-cli ping -c 1 www.google.com

$ faraday-cli agent list
id name active status executors
---- -------- -------- -------- -----------
8 internal True online nmap
$ faraday-cli agent run -a 1 -e nmap -p \''{"target": "www.google.com"}'\'
Run executor: internal/nmap [{'successful': True}]
Faraday-cli peut être utilisé comme un shell et dispose de toutes les mêmes commandes que celles disponibles en cli.

Par exemple, exécutez nmap pour tous les hôtes de faraday qui écoutent sur le port 443 et importez les résultats dans faraday.
$ faraday-cli host list --port 443 -ip | nmap -iL - -oX /tmp/nmap.xml && faraday-cli process_report /tmp/nmap.xml
Utilisez un outil comme assetfinder pour effectuer une recherche de domaines, scannez-les avec nmap et envoyez les résultats à faraday.
$ assetfinder -subs-only example.com| sort | uniq |awk 'BEGIN { ORS = ""; print " {\"target\":\""}
{ printf "%s%s", separator, $1, $2
separator = ","}END { print "\"}" }' | faraday-cli agent run -a 1 -e nmap --stdin