Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DShield-SIEM — DShield Sensor-Log-Erfassung mit ELK | Kitploit
Tools/GitHubGitHub/bruneaug/dshield-siem
DefensivwerkzeugeBedrohungsfeeds & AggregatorenNetzwerksicherheitBedrohungsanalyseEinbruchserkennungIncident ResponseLog-Analyse
GitHubbruneaug/dshield-siem

DShield-SIEM

DShield Sensor-Log-Erfassung mit ELK

Repository anzeigen
5096vor 15 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DShield-Sensor-Protokollerfassung mit Elasticsearch

Einführung

Dies ist ein Fork und eine wesentliche Aktualisierung der ursprünglichen Veröffentlichung auf der ISC-Storm-Center-Website von Scott Jensen als BACS-Paper sowie der auf GitHub veröffentlichten Skripte.
https://github.com/fkadriver/Dshield-ELK
https://isc.sans.edu/diary/DShield+Sensor+Monitoring+with+a+Docker+ELK+Stack+Guest+Diary/30118

Dies ist eine gute Referenz zur Nutzung von DShield-SIEM für Analysen: https://isc.sans.edu/diary/30962/

DShield-SIEM-Netzwerkfluss

Dies bietet einen Überblick darüber, wie die Protokollerfassung mit dem DShield-Sensor durchgeführt wird.
https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/DShield-SIEM-Flow.png

Warum wird es verwendet?

Dieser Docker-Container ist speziell für die Verwendung mit dem DShield-Honeypot gebaut, um die Protokolle zu sammeln und zu analysieren und die Daten so aufzubereiten, dass sie für Forschungszwecke leicht durchsuchbar sind. Die empfohlene Installation besteht darin, den DShield-Sensor auf einem Raspberry Pi mit Raspbian OS oder auf einem System mit Ubuntu 24.04 LTS zu installieren – entweder in Ihrem Netzwerk oder in der Cloud Ihrer Wahl.

Hinweis: Dies muss gemäß der folgenden Anleitung auf einem separaten Server installiert werden.

Tool herunterladen

  • Dies wurde auf Ubuntu 24.04 & 26.04 LTS oder in einem Proxmox-LXC-Container getestet
  • Schritt 1: Ubuntu erstellen
  • Schritt 2: Docker und ELK installieren
  • Schritt 3: Filebeat auf dem/den DShield-Sensor(en) installieren und konfigurieren

Ubuntu-Einrichtung

Wie in einem Unternehmen muss ein System, das Sicherheitsprotokolle sammelt und ein Netzwerk wie das DShield-SIEM überwacht, auf einem separaten Server installiert werden und nicht zusammen mit dem DShield-Sensor.

  • Ubuntu 24.04 LTS Live Server 64-Bit
  • Mindestens 10+ GB – empfohlen 12 GB RAM
    • Wenn die Menge an RAM, die den einzelnen Containern zugewiesen ist (siehe unten), mehr als 2 GB beträgt, sollten Sie die RAM-Kapazität des Servers erhöhen.
  • 4–8 Kerne
  • Fügen Sie 2 Partitionen hinzu, eine für das Betriebssystem, die andere für Docker
  • Mindestens eine 300-GB-Partition, die /var/lib/docker zugewiesen ist
  • Nach dem Neustart von Ubuntu richten Sie die Docker-Partition ein
  • Hinzufügen einer 300-GB-Partition zu einer VM

Installierte Elastic-Pakete

Aktuelle ELK-Version: 8.19.15 (Aktualisiert am 30. April 2026)

  • Kibana
  • Elasticsearch
  • Logstash
  • Elastic-Agent
  • Filebeat
  • Heartbeat
  • Metricbeat

Zusätzliche Software

  • CyberChef
  • Mitre ATT&CK - Attack Navigator

Hinweis: Befolgen Sie diese Schritte, um die ELK-Serverkomponenten zu aktualisieren:
https://github.com/bruneaug/DShield-SIEM/blob/main/README.md#download-github-update

Docker installieren

Docker als Benutzerkonto ($) installieren:```` sudo apt-get install ca-certificates curl gnupg network-manager txt2html sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg Note: You may need to take the next line, remove the backlash () and put everythin in a single line in Notepad to run this echo. echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update && sudo apt upgrade sudo reboot (if update were applied) sudo apt-get install -y jq docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin pip sudo systemctl enable docker sudo systemctl start docker.service

root@kitploit:~
Stellen Sie sicher, dass der docker-Dienst läuft<br>````
sudo systemctl status docker.service

/etc/hosts aktualisieren

Fügen Sie den folgenden ELK-Servernamen es01 kibana fleet-server heartbeat logstash filebeat filebeat01
nach der IP-Adresse und dem Servernamen zu /etc/hosts hinzu:
```` sudo vi /etc/hosts

root@kitploit:~
Fügen Sie dies nach den ELK-Server-IP-Adressen zu /etc/hosts hinzu<br>
127.0.0.1 sensor es01 ...<br>
192.168.25.80 sensor es01 ...<br>````
es01 kibana fleet-server heartbeat logstash filebeat filebeat01

Zu sysctl vm.max_map_count hinzufügen

Bearbeiten Sie die Datei sysctl.conf:
```` sudo vi /etc/sysctl.conf

root@kitploit:~
Fügen Sie Folgendes am Ende der Datei hinzu:<br>````
vm.max_map_count=262144

Fügen Sie es hinzu und speichern Sie es. Dies ist für Elasticsearch, wenn Docker verwendet wird.

Stellen Sie sicher, dass die Firewall ausgeschaltet ist````

sudo iptables -nL

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/50066/61adc10f495abf67cd0f3a004a0fde2497402c3bafa0db0bc07a9464e21804d9.png)

# DShield ELK konfigurieren und installieren
Führen Sie die folgenden Befehle mit dem Benutzerkonto ($) aus:<br>````
git clone https://github.com/bruneaug/DShield-SIEM.git
mkdir scripts
mv DShield-SIEM/AddOnScripts/*.sh scripts
chmod 754 scripts/*.sh
cd ~/DShield-SIEM

Hinweis: Vor der Installation kannst du die .env-Datei (ls -la, um sie zu sehen) bearbeiten, um alle gewünschten Änderungen vorzunehmen.
- Aktuelles Standardpasswort für elastic ist student
Speicherlimits in .env sind die maximale Speichermenge, die Docker für jeden der ELK-Container zuweist.
Standardmäßig 3GB für Elasticsearch, aber erweiterbar, wenn du die Ressourcen hast
Bearbeite die .env-Datei und konfiguriere sie für deinen eigenen ELK-Stack.
```` vi .env

root@kitploit:~
EINGABE:
- Aktualisieren Sie die folgenden Variablen in der Datei **.env**, um sie an die DNS-Informationen, den Hostnamen, die IP-Adresse und das Standard-Elastic-Passwort Ihres ELK-Servers anzupassen, falls Sie diese ändern möchten: <br>
  - HOSTNAME="ubuntu"
  - DNS_SERVER="9.9.9.9"
  - IPADDRESS="192.168.25.231"
  - ELASTIC_PASSWORD=student
  - ES_MEM = Elasticsearch -> 4g, KB_MEM = Kibana -> 2g
- Wenn Sie die Standard-Nameserver-Informationen und den Standort Ihres lokalen privaten Netzwerks für die Zieladresse ändern möchten (d. h. DShield-Sensor-Zuordnung – derzeit für **Ottawa, Kanada** festgelegt), bearbeiten Sie die Dateien im folgenden Verzeichnis, bevor Sie Docker laden:<br>````
  cd logstash/pipeline
  • logstash-200-filter-cowrie.conf
    • logstash-201-filter-iptables.conf
    • logstash-202-filter-cowrie-webhoneypot.conf
      Sie können diese Standardwerte beibehalten oder jede Datei bearbeiten und ändern.

Konfiguration der ELK-Infrastrukturüberwachung

Bearbeiten Sie heartbeat.yml, um die Sensor-IP (genannt PI) durch Ihre eigene Sensor-IP zu ersetzen. Kibana Heartbeat prüft den Status Ihrer Dienste und ermittelt, ob diese verfügbar sind.
Aktualisieren Sie diese IP und den Hostnamen, sodass sie Ihren Sensor widerspiegeln. Hinweis: Sie können dieselben 5 Zeilen kopieren und hinzufügen, wenn Sie mehr als einen Sensor überwachen möchten.

Dies kann unter Observability -> Uptime Monitors angezeigt werden.
image

Diese Zeile ist die IP-Adresse des Sensors. Wenn beim Verbindungsaufbau über TCP 12222 keine Antwort empfangen wird, wird er in der Oberfläche als ausgefallen markiert.
Dies wird vom ELK-Server initiiert, um die Antwort des Sensors zu prüfen.
Aktualisieren Sie diese Zeile: hosts: ["192.168.25.165"]
```` vi ~/DShield-SIEM/heartbeat/heartbeat.yml

root@kitploit:~
Das Skript **change_perms.sh** konfiguriert einige der Dateien, bevor die Installation der Docker-Komponenten gestartet wird.<br>
Das Skript aktualisiert außerdem die in der Dashboard-Abfrage verwendete IP-Adresse auf die IP Ihres ELK-Stacks.<br>````
~/scripts/change_perms.sh
~/scripts/get_researchers.sh

Now führen Sie docker compose aus, um die ELK-Serveranwendungen zu erstellen.
Dies erstellt: Kibana, Elasticsearch, elastic-agent, Logstash und lädt die Cowrie-Parser, Konfigurationsdateien und das Dashboard.
```` sudo docker compose up -d

root@kitploit:~
Installation abgeschlossen

<img width="375" height="354" alt="image" src="https://assets.kitploit.com/production/public/readmes/50066/b192e2cc430ca7eaa43934ebde637400b29d23212dce39e81f521b0806df1bc0.png" />

# Fügen Sie ca.crt zum vertrauenswürdigen Serverzertifikat hinzu
- Fügen Sie ca.crt zur Liste der vertrauenswürdigen Serverzertifikate hinzu```
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /usr/local/share/ca-certificates/dshield.crt
```
- Vertrauenswürdige Zertifikate aktualisieren ```
 sudo update-ca-certificates
```
### Hinzufügen von Dashboards & SIEM-Signaturen zu Kibana
Dies lädt die DShield-SIEM-Dashboards und die SIEM-Signaturen in Kibana.<br>```
~/scripts/dashboard-setup.sh
```
### Docker-Verzeichnisliste
Dieser Befehl zeigt die Liste der Docker-Verzeichnisse, die verwendet werden, nachdem alle Elasticsearch-Komponenten installiert wurden.<br>
Wenn Daten zu Elasticsearch hinzugefügt werden, können Sie auch entweder mit dem unten stehenden Befehl oder innerhalb von ELK den für die Speicherung verfügbaren Speicherplatz überwachen.<br>````
sudo du --human-readable --max-depth 1 --no-dereference --one-file-system /var/lib/docker

image

Die folgenden ELK-Dienste sind eingerichtet

Mit netstat sollten diese 4 Dienste nun lauschen.
``` netstat -an | grep '80|9200|9300|8220|5601|5044|5066|5067|5068|9600'

root@kitploit:~
Dies sollte die Ausgabe sein, die Sie sehen sollten:<br>
<pre>
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN  ---> Local CyberChef
tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN  ---> Kibana Web Access
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN  ---> Local Attack Navigator
tcp        0      0 0.0.0.0:8220            0.0.0.0:*               LISTEN  ---> elastic-agent Service
tcp        0      0 0.0.0.0:9200            0.0.0.0:*               LISTEN  ---> Elasticsearch Service
tcp        0      0 0.0.0.0:9300            0.0.0.0:*               LISTEN  ---> Elasticsearch Cluster Service
tcp        0      0 0.0.0.0:5044            0.0.0.0:*               LISTEN  ---> Logstash Data Collection
tcp        0      0 0.0.0.0:5066            0.0.0.0:*               LISTEN  ---> Metricbeat Stack Node Information
tcp        0      0 0.0.0.0:5067            0.0.0.0:*               LISTEN  ---> Filebeat Stack Node Information
tcp        0      0 0.0.0.0:5068            0.0.0.0:*               LISTEN  ---> Filebeat Stack Node Information (Process ISC Threat Intel to Logstash)  
tcp        0      0 0.0.0.0:9600            0.0.0.0:*               LISTEN  ---> Logstash Stack Node and Pipeline Information
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::5601                 :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN
tcp6       0      0 :::8220                 :::*                    LISTEN
tcp6       0      0 :::9200                 :::*                    LISTEN
tcp6       0      0 :::9300                 :::*                    LISTEN
tcp6       0      0 :::5044                 :::*                    LISTEN
tcp6       0      0 :::5066                 :::*                    LISTEN
tcp6       0      0 :::5067                 :::*                    LISTEN
tcp6       0      0 :::5068                 :::*                    LISTEN
tcp6       0      0 :::9600                 :::*                    LISTEN
</pre>

# Laden der Standard-Filebeat-Vorlagen in Kibana
Dadurch werden die Standard-Vorlagen und Dashboards installiert, die zum Speichern von Netflow-Daten von entfernten DShield-Sensoren verwendet werden können.<br>
Damit Logstash mit dem Speichern von Daten beginnen kann, müssen die folgenden Befehle ausgeführt werden. Der erste Schritt ist die Anmeldung bei Filebeat:<br>````
sudo docker exec -ti filebeat bash

Als Nächstes führen Sie diesen Filebeat-Befehl aus, um die Vorlagen in Kibana zu laden:
```` ./filebeat setup -e

root@kitploit:~
# Zugriff auf die Kibana-Oberfläche
Nachdem Docker die Installation aller ELK-Docker-Komponenten abgeschlossen hat, ist es nun an der Zeit, sich über die IP Ihres Ubuntu-Servers beim ELK-Stack anzumelden.<br>
- Melden Sie sich bei Kibana mit dem Benutzernamen: **elastic** und dem Standard-Passwort _falls es nicht geändert wurde_: **student** an<br>
Web-Zugriff: https://serverIP

![image](https://assets.kitploit.com/production/public/readmes/50066/fba7fa8349e3d5e1fffc81bcb15fc9188c48505874b45ca14452d3db9b8a7940.png)

# Konfiguration des ELK-Stack-Managements
Um den Zustand des ELK-Stacks zu sehen, muss das Stack-Monitoring konfiguriert werden, indem Sie zu: Management -> Stack Monitoring navigieren.<br>

- Dieser Schritt ist nur notwendig, falls die Installation das Stack-Monitoring nicht automatisch eingerichtet hat.<br>
- Wählen Sie "_Or, set up with self monitoring_"<br>
- Das Monitoring ist derzeit deaktiviert -> Wählen Sie: _Turn on monitoring_<br>
![image](https://assets.kitploit.com/production/public/readmes/50066/8f3c95494efb450e7ffad8f1fc2b8ccef595c2328eab8a3ea8d0d5913eb78e62.png)


![image](https://assets.kitploit.com/production/public/readmes/50066/937bc942f103644cb8d2dc1e934e82f34b02203c8acde2a9c1f3db8553684e82.png)

# Konfiguration des Fleet-Agents
Der Fleet-Agent (dies ist ein Elastic-Agent, der auf dem ELK-Stack läuft) wird verwendet, um Threat Intelligence aufzunehmen.<br>

- Wählen Sie im Dropdown-Menü Management → Fleet →Settings → Edit Outputs (Actions)<br>
- Melden Sie sich per SSH am Server an<br>
- Kopieren Sie das Zertifikat ca.crt nach /tmp<br>````
sudo cp /var/lib/docker/volumes/dshield-elk_certs/_data/ca/ca.crt /tmp
  • Besorgen Sie sich eine Kopie des vertrauenswürdigen Fingerabdrucks der Elasticsearch-CA
    ```` sudo openssl x509 -fingerprint -sha256 -noout -in /tmp/ca.crt | awk -F"=" {' print $2 '} | sed s/://g
root@kitploit:~
- Die Ausgabe sieht wie folgt aus:<br>
673FB617E15CCCE73F9B647EF99449642A19CFC1D75BF5772047DA99DB950844

- Rufen Sie den Inhalt des Elasticsearch-CA-Zertifikats ab, um ihn auf die erweiterte YAML-Konfiguration anzuwenden. Geben Sie den Befehl ein, da er sich nicht gut kopieren lässt.<br>````
sudo cat /tmp/ca.crt | sed -r 's/(.*)/    \1/g'

Folgen Sie für das korrekte Format dem Beispiel aus dem Troubleshooting-Leitfaden fleet-server-examples unter der obigen URL.
sed fügt mit dem vorherigen Befehl die 4 Leerzeichen für das CA-Zertifikat hinzu

  • Ändern Sie die Hosts in: https://es01:9200

Nachdem Sie die Zertifikatsinformationen hinzugefügt haben, speichern und übernehmen Sie diese Einstellungen.
Anschließend „Speichern und bereitstellen“

image image

Konfigurieren Sie unter Einstellungen die Fleet-Server-Hosts, indem Sie entweder bearbeiten oder „Fleet-Server hinzufügen“ wie folgt konfigurieren:

image

Die nächste Phase besteht darin, Agent Policy auszuwählen → Agent hinzuzufügen → In Fleet einzuschreiben → Fleet-Server hinzuzufügen

  • Name angeben: es01
  • URL angeben: https://fleet-server:8220
  • Zuletzt: Fleet-Server-Richtlinie generieren
  • Auswählen: RPM Beachten Sie diese Seite für ein Beispiel der Fleet-Server-SSL-Konfiguration:
    https://github.com/bruneaug/DShield-SIEM/blob/main/Troubleshooting/fleet-server-examples.txt

image

Wir werden diese Informationen benötigen, um unseren Fleet-Server einzurichten.
Melden Sie sich per SSH am fleet-server an und stellen Sie sicher, dass der fleet-server läuft, bevor Sie unseren Agent einrichten:
```` sudo docker exec -ti fleet-server bash ./elastic-agent status (check it is running) ./elastic-agent restart (if it doesn't appear to be running, force a restart, and recheck the status)

root@kitploit:~
Dies ist ein Beispiel dafür, was auf den Fleet-Server kopiert werden muss. Stellen Sie sicher, dass die Fleet-Server-Adresse https://es01:9200 ist.<br>
Fügen Sie den fettgedruckten Abschnitt nach port=8220 hinzu, da die Zertifikate selbstgeneriert sind. Dadurch wird sichergestellt, dass der Agent das Update übernimmt.<br>

Das Token und der Fingerabdruck werden sich von diesem Beispiel unterscheiden.<br>

Kopieren Sie den unten stehenden elastic-enrol-Agenten und ersetzen Sie diese 2 Zeilen, die von Ihrem eigenen Server stammen; alles andere bleibt gleich.<br>
<pre>
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
</pre>

Melden Sie sich beim Fleet-Agent an und registrieren Sie den Elastic-Agent in Ihrem Fleet-Agent:

Verwenden Sie diese Vorlage, um Ihr Zertifikat zu installieren, und stellen Sie sicher, dass Sie durch Ihre eigenen ersetzen<br>
fleet-server-service-token & fleet-server-es-ca-trusted-fingerprint<br>````
elastic-agent enroll \
--url=https://fleet-server:8220 \
--fleet-server-es=https://es01:9200 \
--fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MzEwOTcwODU3MzI6VjMyLU13cmFUOUM1eUFvMUhVUFl5QQ \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca=/certs/es01/es01.crt \
--fleet-server-es-ca-trusted-fingerprint=0D9A25F4C147EB3A496253525DF6F039CF3C19776E64A1F77CEFCCD08B76BC61 \
--fleet-server-port=8220 \
--certificate-authorities=/certs/ca/ca.crt \
--fleet-server-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-cert-key=/certs/fleet-server/fleet-server.key \
--elastic-agent-cert=/certs/fleet-server/fleet-server.crt \
--elastic-agent-cert-key=/certs/fleet-server/fleet-server.key \
--fleet-server-es-cert=/certs/fleet-server/fleet-server.crt \
--fleet-server-es-cert-key=/certs/fleet-server/fleet-server.key

Dies ersetzt Ihre aktuellen Einstellungen. Möchten Sie fortfahren? [Y/n]: Y

image

Der Elastic Agent wurde erfolgreich registriert.

Überprüfen Sie von Ihrem aktuellen Standort aus, ob er korrekt installiert wurde.
```` ./elastic-agent status ./elastic-agent restart (if you got what appears to be errors, force a restart and check the status)

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/50066/dacf9f3a4c64b99fcf619a308cdf9bd69ef1500a3c40abed39a93d6955a5c446.png)

Jetzt, da der Fleet Server verbunden ist, schließen Sie dieses Fenster und fahren Sie mit dem nächsten Schritt fort.

![image](https://assets.kitploit.com/production/public/readmes/50066/287c7f66c75928f875105276583e36ba5b0a13b623afbf135a4beabe95ff521f.png)


In Elastic Management → Fleet aktualisieren Sie die Agents, und Folgendes wird angezeigt:

![image](https://assets.kitploit.com/production/public/readmes/50066/94397f8eb1e423477efc100fd4b6c83a3bd2e3376a6a2f06c32639128a6c912a.png)

Der Server ist nun bereit, Threat-Intel-Agents zu installieren, die in Security (SIEM-Bereich) gegen die Honeypot-Logs verwendet werden.<br>
Der nächste Schritt ist die Auswahl von Agentenrichtlinien → Fleet Server Policy → Integration hinzufügen:<br>
Verwenden Sie dieses Dashboard, um die von elastic-agent gesammelten Metriken anzuzeigen:<br>
![image](https://assets.kitploit.com/production/public/readmes/50066/2b066c97de7a12d11b9b6c154541e0b8ab01991b7b5d9f1d4d1b3b4211768223.png)


- AlienVault OTX auswählen und hinzufügen (API-Schlüssel erforderlich)<br>
- AbuseCH auswählen (API-Schlüssel erforderlich)<br>
- Threat Intelligence Utilities auswählen<br>
- Elasticsearch<br>
- Kibana auswählen<br>
- Docker auswählen<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/175377a7a348b449a3afa4bdd3bd6cb6a46c2e8c2672a8f36a0ef310ed4b0eb6.png)

# Beispiel für eine Fleet Server Policy

![image](https://assets.kitploit.com/production/public/readmes/50066/4e3c594d3f064864b2521306c0cf45da93cb11d1f6a91e1b327d7dcfa379b96e.png)

- In Elastic Management → Installierte Integration<br>
- Wählen Sie jede der installierten Integrationen aus, wählen Sie dann Einstellungen und aktivieren Sie die Option _Richtlinie auf dem neuesten Stand halten_:<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/32c207719c11a7b2edf5e006ea97ed8c1557530d0826f002517484d56172d0c8.png)

## Konfiguration von Security → Regeln

- Wählen Sie Regeln → Erkennungsregeln (SIEM) → Elastic-Regeln hinzufügen
- Unter Such-Tags: Regeltyp: Threat Intel (fügen Sie mindestens diese 4 Regeln hinzu)
- Installieren und aktivieren Sie diese 4 Regeln
  - Threat Intel Indicator Match - Cowrie (Benutzerdefinierte Regel, die geladen und aktiviert wird, wenn Docker alle ELK-Stack-Komponenten lädt)
  - Threat Intel Windows Registry Indicator Match
  - Threat Intel Hash Indicator Match
  - Threat Intel URL Indicator Match
- Sie können die Regeln durchsehen und die anderen Regeln aktivieren, die Sie mit Ihren Honeypot-Daten testen möchten.<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/c01aa5fadf403fd7ca026a9a25c93e0f838e1ef66b39e3a58007063b8cd3ae4b.png)


## Überprüfen der von den Regeln erfassten Aktivitäten im Alert-Trend
Wenn einige der obigen Threat-Intel-Einträge zum elastic-agent hinzugefügt wurden und cowrie* während der Erstinstallation unter Management -> Erweiterte Einstellungen hinzugefügt wurde, kann das System nun Regelübereinstimmungen in den Alert-Trends des SIEM-Teils des ELK-Stacks verfolgen.<br>
Dies ist die Ausgabe von Management → Stack Management → Erweiterte Einstellungen<br>
 ![image](https://assets.kitploit.com/production/public/readmes/50066/f4c587e5a62c5dc6b6358a059e80b320211d6aece01ea23f1c2afa60beaa54e0.png)

 Wenn ein Threat-Intel-Abgleich zutrifft, zeigt das SIEM die folgende Aktivität an, die nun untersucht werden kann:<br>
 
![image](https://assets.kitploit.com/production/public/readmes/50066/e73e300695e54d4cb7c55ada132886e262711a232dbde73acb817ad16a0b457f.png)
![image](https://assets.kitploit.com/production/public/readmes/50066/20c192551974a78bc2fce7200629a8e03421a85ac2c768a11b185fa51ab1d6a1.png)


# Filebeat auf dem DShield Sensor einrichten – Logs an ELK

Der nächste Schritt besteht darin, das Filebeat-Paket zum DShield Sensor hinzuzufügen, um die Logs an Elasticsearch zu senden.<br>

Verwenden Sie die folgenden Schritte, um Filebeat mit den folgenden Befehlen zu installieren, die aus dieser Referenz [3] stammen: <br>````
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
echo "deb https://artifacts.elastic.co/packages/oss-8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt-get update 

Die Version passend zu Ihrer Architektur installieren

Nach der Installation legen wir eine Sperre auf filebeat, damit Sie den Sensor aktualisieren können, ohne die filebeat-Version zu ändern. Die filebeat
Version sollte immer mit der Elasticsearc/Kibana-Docker-Version übereinstimmen.
Linux - X86_64``` wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-amd64.deb sudo apt install ./filebeat-8.19.15-amd64.deb sudo apt-mark hold filebeat

root@kitploit:~
<ins>PI - aarch64</ins>```
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.19.15-arm64.deb
sudo apt install ./filebeat-8.19.15-arm64.deb
sudo apt-mark hold filebeat

Um filebeat zu aktualisieren, müssen Sie, wenn es so weit ist, den Hold entfernen. Prüfen Sie zuerst, ob auf filebeat ein Hold liegt, bevor Sie ihn entfernen.
``` sudo apt-mark showhold sudo apt-mark unhold filebeat

root@kitploit:~
Wenn Sie Zeek auf Ihrem DShield-Sensor verwenden möchten, lesen Sie diese [Installationsschritte](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Configure_Zeek_DShield_Sensor.md)

### Cloud-Sensor-Einrichtung - Filebeat -> Heimrouter -> Logstash
Um von einem Cloud-Sensor aus eine Verbindung zu Ihrem lokalen ELK-Stack herzustellen, müssen Sie Folgendes tun:
- Konfigurieren Sie den Heimrouter so, dass er eine NAT-Weiterleitung an die lokale IP-Adresse Ihres ELK-Stacks durchführt.<br>
- Verwenden Sie von Ihrem Sensor aus die Router-IP-Adresse (ich würde empfehlen, Ihrer Heim-IP einen Hostnamen hinzuzufügen, falls sie sich ändert), um eine Verbindung zu Ihrem Heimrouter herzustellen.<br>
- Die endgültige Verbindung sollte wie folgt aussehen: Sensor -> NAT-Router-IP -> ELK-Stack

### Alle Sensor-Dateien an den DShield-Sensor übertragen
Rufen Sie diese URL auf, um alle Dateien herunterzuladen, die sich auf den DShield-Sensor beziehen.<br>
https://github.com/bruneaug/DShield-Sensor````
git clone https://github.com/bruneaug/DShield-Sensor.git
sudo cp ~/DShield-Sensor/filebeat/filebeat.yml /etc/filebeat/filebeat.yml
  • Bearbeiten Sie filebeat.yml und ändern Sie die IP-Adresse oder den Hostnamen auf die des Logstash-Parsers (192.168.25.23), damit sie der von Logstash verwendeten IP-Adresse entsprechen.
  • Diese IP-Adresse kann eine lokale IP oder die IP Ihres ISP-Routers sein, wenn Sie einen Cloud-Sensor verwenden (z. B. OVH, AWS, Azure usw.)
  • Bei einem Cloud-Sensor muss die IP Ihres ISP-Routers im Router per Portweiterleitung (5044) an das DShield-SIEM weitergeleitet werden.
    ```` sudo vi /etc/filebeat/filebeat.yml
root@kitploit:~
output.logstash:<br>
  hosts: ["192.168.25.23:5044"]<br>
  #hosts: ["logstash.com:5044"]<br>

### Fehlerbehebung bei Filebeat````
sudo su -
filebeat test config

Erwartete Ausgabe: Config OK
```` filebeat test output

root@kitploit:~
<pre>
logstash: 192.168.25.231:5044...
  connection...
    parse host... OK
    dns lookup... OK
    addresses: 192.168.25.231
    dial up... OK
  TLS... WARN secure connection disabled
  talk to server... OK
</pre>

## Filebeat starten````
sudo systemctl enable filebeat
sudo systemctl start filebeat
sudo systemctl status filebeat

Filebeat-Trackingdatei

Filebeat verfolgt die verarbeiteten Ereignisse mit einer Datei namens log.json; wenn sie gelöscht wird, werden alle Ereignisse, die zuvor an Elasticsearch gesendet wurden, erneut verarbeitet, wenn Filebeat neu gestartet wird.
Der Speicherort dieser Datei:
sudo su -```` cd /var/lib/filebeat/registry/filebeat

root@kitploit:~
Wenn du planst, alle Logs erneut zu senden, weil dein ELK-Server neu aufgebaut wurde, _stoppe filebeat, lösche log.json und starte filebeat neu_.
Dies wird in der Regel ein wenig dauern, bis das ELK-Stack-Dashboard aufholt. Wenn du prüfen möchtest, ob die Logs an den ELK-Stack gesendet werden, kannst du<br>
- tail -f log.json
- Schaue in den letzten 30 Tagen im Dashboard nach, während es aufholt.

# Oberfläche - Logs DShield Sensor Overview
Um auf das Dashboard zuzugreifen, wähle Analytics -> Dashboard -> **[Logs DShield Sensor] Overview**<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/3780acfd85837ddc01d1dc8fd4f56de873a09416d7b488959bee52c1c1155c51.png)

## Hinzufügen von ca.crt zum Workstation-Browser
Befolge die Schritte auf dieser [Seite](https://github.com/bruneaug/DShield-SIEM/blob/main/AddOn/Workstation_Browser_CA_Certificate.md), um das vom ELK-Server verwendete ca.crt zu Kibana hinzuzufügen.<br>

![image](https://assets.kitploit.com/production/public/readmes/50066/75b1b24c5a0e625a5827bf8b75697228550f8c270a5fec1f96b91524a4b82cb0.png)

# Nützliche Docker-Befehle
Auf dieser Seite findest du eine Liste nützlicher Docker-Befehle.<br>
https://github.com/bruneaug/DShield-SIEM/edit/main/Troubleshooting/docker_useful_commands..md

# Informationen zu Elastic mit der Console
Diese Befehle werden über Dev Tool -> Console ausgeführt<br>

GET _nodes/http?pretty	(Erhalte eine Liste und Informationen zu allen Knoten)<br>
GET _security/_authenticate<br>
GET /_cat/nodes?v=true<br>

# DShield-Analyse-Skripte und -Code von Studierenden
Dies ist eine Liste von Skripten und Code, die Studierende des BACS-Programms geschrieben haben, um bei der Log-Analyse zu helfen.<br>

Jesse La Grew [cowrieprocessor](https://github.com/jslagrew/cowrieprocessor)<br>
jrjobe [DShield-Cowrie-json-Parser](https://github.com/jrjobe/DShield-Cowrie-json-Parser)<br>
ham-sauce [vt_cowrie](https://github.com/ham-sauce/vt_cowrie)<br>
NickTheSecurityDude [dshield-honeypot-scripts](https://github.com/NickTheSecurityDude/dshield-honeypot-scripts/tree/main) und [LinkedIn-Beitrag](https://www.linkedin.com/pulse/how-i-used-honeypot-track-analyze-cyberattacks-nicholas-gilbert-jcste)<br>
Josh Gilman [DShieldKickStarter](https://github.com/iamjoshgilman/DShieldKickStarter)<br>
kcustom11 [dshield-azure](https://github.com/kcustom11/dshield-azure) Azure Terraform<br>
Boggby [ec2-honeypot-template](https://github.com/Boggby/ec2-honeypot-template)<br>
amelete11235
 [homelab](https://github.com/amelete11235/homelab/blob/main/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM/Installing%20DShield%20SIEM%20on%20a%20Raspberry%20Pi%205%20-%208%20GB%20RAM.md) DShiel SIEM Raspberry 5<br>
William Constantino [Cowrie logfile_investigation mit Python](https://github.com/JJWCons/log-scripts/blob/main/logfile_investigation.py)<br>
William Constantino [Cowrie single_multi_IP mit Python](https://github.com/JJWCons/log-scripts/blob/main/single_multi_IP.py)<br>
Steven C. Peterson [DShield Model Context Protocol](https://github.com/datagen24/dsheild-mcp)<br>
Nathan Smisson [dshield-tooling](https://github.com/neurohypophysis/dshield-tooling)<br>

# Referenzen
[1] https://isc.sans.edu/tools/honeypot/<br>
[2] https://www.elastic.co/downloads/beats/filebeat<br>
[3] https://www.elastic.co/guide/en/beats/filebeat/8.8/setup-repositories.html#_apt<br>
[4] https://isc.sans.edu/diary/DShield+Honeypot+Activity+for+May+2023/29932<br>
[5] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+to+Elasticsearch/29458<br>
[6] https://isc.sans.edu/diary/DShield+Sensor+JSON+Log+Analysis/29412<br>
[7] https://github.com/jslagrew/cowrieprocessor/blob/main/submit_vtfiles.py<br>
[8] https://handlers.sans.edu/gbruneau/elastic.htm<br>
[9] https://www.elastic.co/guide/en/fleet/current/secure-connections.html<br>
[10] https://www.docker.elastic.co/<br>
[11] https://github.com/gchq/CyberChef<br>
[12] https://github.com/mitre-attack/attack-navigator/pkgs/container/attack-navigator