
Faradays Befehlszeilenschnittstelle
Nutze faraday direkt aus deinem bevorzugten Terminal.

faraday-cli ist der offizielle Client, der die Automatisierung deiner Sicherheits-Workflows erleichtert.
Vor der Installation empfehlen wir, eine virtuelle Python-Umgebung zu erstellen und zu aktivieren, um die Python-Pakete deines Systems nicht zu beeinträchtigen. Zum Beispiel:
python3 -m venv .venv
source .venv/bin/activate
Du kannst auch virtualenv verwenden, wenn du es bevorzugst. Sobald die virtuelle Umgebung aktiv ist, führe die folgenden Installationsbefehle aus.
pip install faraday-cli
git clone https://github.com/infobyte/faraday-cli.git
cd faraday-cli
pip install .
Weitere Informationen findest du in unserer Dokumentation
Konfiguriere die Authentifizierung für farday-cli
$ faraday-cli auth

Wenn du einen Workspace erstellst, wird dieser standardmäßig als aktiv ausgewählt, es sei denn, du verwendest das Flag "-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"}]'\'
Oder per Pipe übergeben
$ echo '[{"ip": "1.1.1.5", "description": "some text"}]' | faraday-cli host create --stdin
Das Escaping der einfachen Anführungszeichen (\') ist nur erforderlich, wenn du es als Befehl verwendest. In der Shell oder bei der Verwendung von Pipes ist es nicht notwendig
$ 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 kann als Shell verwendet werden und verfügt über alle Befehle, die du als CLI zur Verfügung hast.

Führe zum Beispiel nmap für alle Hosts in faraday aus, die auf Port 443 lauschen, und importiere die Ergebnisse zurück in faraday
$ faraday-cli host list --port 443 -ip | nmap -iL - -oX /tmp/nmap.xml && faraday-cli process_report /tmp/nmap.xml
Verwende ein Tool wie assetfinder für eine Domain-Suche, scanne sie mit nmap und sende die Ergebnisse an 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