
Melody es un sensor de internet transparente construido para inteligencia de amenazas. Admite reglas de etiquetado personalizadas y simulación de aplicaciones vulnerables.
Monitorea el ruido de fondo de Internet
Melody es un sensor de Internet transparente diseñado para inteligencia de amenazas y respaldado por un marco de reglas de detección que te permite etiquetar paquetes de interés para análisis y monitoreo de amenazas.
Aquí hay algunas características clave de Melody:
Como tengo que concentrarme en otros proyectos ahora mismo, no puedo dedicar mucho tiempo al desarrollo de Melody.
Sin embargo, hay mucho margen de mejora, así que aquí hay algunas características que me gustaría implementar algún día:
cmd/meloctl
Obtén la última versión en https://github.com/ma111e/melody/releases.
make install # Establecer la interfaz de salida por defecto
make cap # Establecer capacidades de red para iniciar Melody sin privilegios elevados
make certs # Crear certificados autofirmados para el servidor de archivos HTTPS
make enable_all_rules # Habilitar las reglas predeterminadas
make service # Crear un servicio systemd para reiniciar el programa automáticamente y lanzarlo al inicio
sudo systemctl stop melody # Detener el servicio mientras lo configuramos
Actualiza el archivo filter.bpf para filtrar paquetes no deseados.
sudo systemctl start melody # Iniciar Melody
sudo systemctl status melody # Verificar que Melody se está ejecutando
Los registros deberían comenzar a acumularse en /opt/melody/logs/melody.ndjson.
tail -f /opt/melody/logs/melody.ndjson # | jq
git clone https://github.com/ma111e/melody /opt/melody
cd /opt/melody
make build
Luego continúa con los pasos del TL;DR de Versión.
make certs # Crear certificados autofirmados para el servidor de archivos HTTPS
make enable_all_rules # Habilitar las reglas predeterminadas
mkdir -p /opt/melody/logs
cd /opt/melody/
docker pull ma111e/melody:latest
MELODY_CLI="" # Pon aquí tus opciones de CLI. Ejemplo : 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
Los registros deberían comenzar a acumularse en /opt/melody/logs/melody.ndjson.
Detalles de sintaxis de reglas.
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: "Verificando o intentando explotar 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"
Detalles del contenido de los registros.
Paquete TCP de Netcat sobre 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": {}
}