
Melody ist ein transparenter Internetsensor, der für die Bedrohungsaufklärung entwickelt wurde. Unterstützt benutzerdefinierte Tagging-Regeln und die Simulation verwundbarer Anwendungen.
Melody ist ein transparenter Internet-Sensor, der für Bedrohungsdaten entwickelt wurde und von einem Erkennungsregel-Framework unterstützt wird, mit dem Sie Pakete von Interesse für weitere Analysen und Bedrohungsüberwachung markieren können.
Hier sind einige Hauptfunktionen von Melody:
Da ich mich derzeit auf andere Projekte konzentrieren muss, kann ich nicht viel Zeit in die Entwicklung von Melody stecken.
Es gibt jedoch viel Raum für Verbesserungen, daher sind hier einige Funktionen, die ich eines Tages implementieren möchte:
cmd/meloctl
Das neueste Release unter https://github.com/ma111e/melody/releases abrufen.
make install # Standard-Outface-Schnittstelle festlegen
make cap # Netzwerkfunktionen setzen, um Melody ohne erhöhte Rechte zu starten
make certs # Selbstsignierte Zertifikate für den HTTPS-Dateiserver erstellen
make enable_all_rules # Standardregeln aktivieren
make service # systemd-Dienst erstellen, um das Programm automatisch neu zu starten und beim Booten zu starten
sudo systemctl stop melody # Dienst während der Konfiguration anhalten
Die Datei filter.bpf aktualisieren, um unerwünschte Pakete herauszufiltern.
sudo systemctl start melody # Melody starten
sudo systemctl status melody # Prüfen, dass Melody läuft
Die Protokolle sollten sich in /opt/melody/logs/melody.ndjson ansammeln.
tail -f /opt/melody/logs/melody.ndjson # | jq
git clone https://github.com/ma111e/melody /opt/melody
cd /opt/melody
make build
Dann mit den Schritten aus der Release-Kurzfassung fortfahren.
make certs # Selbstsignierte Zertifikate für den HTTPS-Dateiserver erstellen
make enable_all_rules # Standardregeln aktivieren
mkdir -p /opt/melody/logs
cd /opt/melody/
docker pull ma111e/melody:latest
MELODY_CLI="" # Hier Ihre CLI-Optionen eingeben. Beispiel: export MELODY_CLI="-s -i 'lo' -F 'dst port 5555' -o 'server.http.port: 5555'"
docker run \
--net=host \
-e "MELODY_CLI=$MELODY_CLI" \
--mount type=bind,source="$(pwd)/filter.bpf",target=/app/filter.bpf,readonly \
--mount type=bind,source="$(pwd)/config.yml",target=/app/config.yml,readonly \
--mount type=bind,source="$(pwd)/var",target=/app/var,readonly \
--mount type=bind,source="$(pwd)/rules",target=/app/rules,readonly \
--mount type=bind,source="$(pwd)/logs",target=/app/logs/ \
ma111e/melody
Die Protokolle sollten sich in /opt/melody/logs/melody.ndjson ansammeln.
CVE-2020-14882 Oracle Weblogic Server RCE:
layer: http
meta:
id: 3e1d86d8-fba6-4e15-8c74-941c3375fd3e
version: 1.0
author: BonjourMalware
status: stable
created: 2020/11/07
modified: 2020/20/07
description: "Checking or trying to exploit CVE-2020-14882"
references:
- "https://nvd.nist.gov/vuln/detail/CVE-2020-14882"
match:
http.uri:
startswith|any|nocase:
- "/console/css/"
- "/console/images"
contains|any|nocase:
- "console.portal"
- "consolejndi.portal?test_handle="
tags:
cve: "cve-2020-14882"
vendor: "oracle"
product: "weblogic"
impact: "rce"
Netcat TCP-Paket über IPv4:
{
"tcp": {
"window": 512,
"seq": 1906765553,
"ack": 2514263732,
"data_offset": 8,
"flags": "PA",
"urgent": 0,
"payload": {
"content": "I made a discovery today. I found a computer.\n",
"base64": "SSBtYWRlIGEgZGlzY292ZXJ5IHRvZGF5LiAgSSBmb3VuZCBhIGNvbXB1dGVyLgo=",
"truncated": false
}
},
"ip": {
"version": 4,
"ihl": 5,
"tos": 0,
"length": 99,
"id": 39114,
"fragbits": "DF",
"frag_offset": 0,
"ttl": 64,
"protocol": 6
},
"timestamp": "2020-11-16T15:50:01.277828+01:00",
"session": "bup9368o4skolf20rt8g",
"type": "tcp",
"src_ip": "127.0.0.1",
"dst_port": 1234,
"matches": {},
"inline_matches": [],
"embedded": {}
}