Faraday docker: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
= Faraday Community Edition mit Docker Compose betreiben =
= Faraday Community Edition mit Docker und CLI =
 
== Ziel ==
* Faraday Server läuft isoliert in Docker-Containern
* Faraday CLI läuft lokal auf Kali Linux
* Scanner (nmap, nikto, nuclei, …) werden per CLI importiert
* Kein Kali-Paket, keine Python-Abhängigkeitsprobleme


== Voraussetzungen ==
== Voraussetzungen ==
* Docker Engine ≥ 20.10
* Kali Linux (oder Debian-basiert)
* Docker Compose V2 (Subbefehl: '''docker compose''')
* Root- oder sudo-Rechte
* Internetverbindung
* Internetzugang für Docker-Images
 
== Docker installieren ==
* apt update
* apt install docker.io docker-compose-plugin
* systemctl enable docker --now
* docker version
* docker compose version
 
== Faraday Repository holen ==
* git clone https://github.com/infobyte/faraday.git
* cd faraday
 
== Faraday Server starten ==
* docker compose up -d
 
== Container prüfen ==
* docker ps
 
Erwartet werden Container für:
* faraday-server
* postgres
* redis
 
== Faraday Webinterface ==
* http://127.0.0.1:5985
 
Standard-Zugang:
* Benutzer: faraday
* Passwort: faraday
 
== Faraday CLI installieren (lokal, nicht im Container) ==
* apt install python3-pip
* pip3 install faraday-cli
 
== CLI Funktionstest ==
* faraday-cli --help
 
== CLI mit Faraday Server verbinden ==
* faraday-cli auth login --url http://127.0.0.1:5985 --user faraday --password faraday
 
== Verbindung testen ==
* faraday-cli workspace list
 
== Workspace anlegen ==
* faraday-cli workspace create lab01
* faraday-cli workspace select lab01
 
== Scanner-Import mit Dateien ==
 
=== Nmap (XML) ===
* nmap -sS -sV 10.0.10.104 -oX nmap.xml
* faraday-cli tool import nmap nmap.xml
 
=== Nikto (XML) ===
* nikto -h http://10.0.10.104 -o nikto.xml -Format xml
* faraday-cli tool import nikto nikto.xml
 
=== Nuclei (JSON) ===
* nuclei -u http://10.0.10.104 -json > nuclei.json
* faraday-cli tool import nuclei nuclei.json


== Projektverzeichnis vorbereiten ==
== Scanner-Import per Pipe ==
* Verzeichnis anlegen:
mkdir -p ~/faraday
cd ~/faraday


== Docker-Compose-Datei erstellen ==
=== Nmap per Pipe ===
* Datei '''compose.yaml''' mit folgendem Inhalt anlegen:
* nmap -sS -sV 10.0.10.104 -oX - | faraday-cli tool import nmap -


<pre>
=== Nuclei per Pipe ===
services:
* nuclei -u http://10.0.10.104 -json | faraday-cli tool import nuclei -
  db:
    image: postgres:12.7-alpine
    restart: always
    container_name: faraday_db
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=faraday
    ports:
      - '5432'
    volumes:
      - "./db:/var/lib/postgresql/data:rw"


  redis:
== Wichtige Hinweise ==
    image: 'redis:6.2-alpine'
* Faraday scannt nicht selbst, es importiert Ergebnisse
    container_name: faraday_redis
* Scanner laufen immer außerhalb von Faraday
    ports:
* CLI gehört nicht in Docker
      - '6379'
* Docker kapselt PostgreSQL und Redis vollständig
* Das Kali-Paket python-faraday wird bewusst nicht verwendet


  app:
== Typische Fehler ==
    image: index.docker.io/faradaysec/faraday
* Schwarze Oberfläche → Workspace nicht ausgewählt
    restart: always
* Import schlägt fehl → falsches Ausgabeformat
    container_name: faraday_app
* CLI findet Server nicht → URL oder Port falsch
    entrypoint: "/entrypoint.sh"
* Scanner fehlen → Scanner müssen separat installiert sein
    volumes:
    - "./faraday:/home/faraday/.faraday:rw"
    environment:
      - PGSQL_USER=postgres
      - PGSQL_PASSWD=postgres
      - PGSQL_HOST=db
      - PGSQL_DBNAME=faraday
      - REDIS_SERVER=redis
    depends_on:
    - db
    - redis
    ports:
    - "5985:5985"
</pre>


== Faraday starten ==
== Stoppen von Faraday ==
* Im Projektverzeichnis:
* docker compose down
docker compose up -d


== Webinterface aufrufen ==
== Aufräumen ==
* Browser öffnen:
* docker compose down -v
http://localhost:5985
* docker system prune


== Passwort ändern ==
== Fazit ==
* Passwort des Benutzers '''faraday''' ändern:
* Docker + CLI ist die stabilste und reproduzierbare Variante
docker exec -it faraday_app faraday-manage change-password
* Geeignet für Schulung, Lab und Demo
* Keine Versionskonflikte mit Kali

Version vom 7. Februar 2026, 14:02 Uhr

Faraday Community Edition mit Docker und CLI

Ziel

  • Faraday Server läuft isoliert in Docker-Containern
  • Faraday CLI läuft lokal auf Kali Linux
  • Scanner (nmap, nikto, nuclei, …) werden per CLI importiert
  • Kein Kali-Paket, keine Python-Abhängigkeitsprobleme

Voraussetzungen

  • Kali Linux (oder Debian-basiert)
  • Root- oder sudo-Rechte
  • Internetzugang für Docker-Images

Docker installieren

  • apt update
  • apt install docker.io docker-compose-plugin
  • systemctl enable docker --now
  • docker version
  • docker compose version

Faraday Repository holen

Faraday Server starten

  • docker compose up -d

Container prüfen

  • docker ps

Erwartet werden Container für:

  • faraday-server
  • postgres
  • redis

Faraday Webinterface

Standard-Zugang:

  • Benutzer: faraday
  • Passwort: faraday

Faraday CLI installieren (lokal, nicht im Container)

  • apt install python3-pip
  • pip3 install faraday-cli

CLI Funktionstest

  • faraday-cli --help

CLI mit Faraday Server verbinden

Verbindung testen

  • faraday-cli workspace list

Workspace anlegen

  • faraday-cli workspace create lab01
  • faraday-cli workspace select lab01

Scanner-Import mit Dateien

Nmap (XML)

  • nmap -sS -sV 10.0.10.104 -oX nmap.xml
  • faraday-cli tool import nmap nmap.xml

Nikto (XML)

  • nikto -h http://10.0.10.104 -o nikto.xml -Format xml
  • faraday-cli tool import nikto nikto.xml

Nuclei (JSON)

  • nuclei -u http://10.0.10.104 -json > nuclei.json
  • faraday-cli tool import nuclei nuclei.json

Scanner-Import per Pipe

Nmap per Pipe

  • nmap -sS -sV 10.0.10.104 -oX - | faraday-cli tool import nmap -

Nuclei per Pipe

Wichtige Hinweise

  • Faraday scannt nicht selbst, es importiert Ergebnisse
  • Scanner laufen immer außerhalb von Faraday
  • CLI gehört nicht in Docker
  • Docker kapselt PostgreSQL und Redis vollständig
  • Das Kali-Paket python-faraday wird bewusst nicht verwendet

Typische Fehler

  • Schwarze Oberfläche → Workspace nicht ausgewählt
  • Import schlägt fehl → falsches Ausgabeformat
  • CLI findet Server nicht → URL oder Port falsch
  • Scanner fehlen → Scanner müssen separat installiert sein

Stoppen von Faraday

  • docker compose down

Aufräumen

  • docker compose down -v
  • docker system prune

Fazit

  • Docker + CLI ist die stabilste und reproduzierbare Variante
  • Geeignet für Schulung, Lab und Demo
  • Keine Versionskonflikte mit Kali