
CVE-2023-46604 (Apache ActiveMQ RCE-Sicherheitslücke) und konzentriert sich auf das Sammeln von Indicators of Compromise.
Honeypot, der sich auf CVE-2023-46604 (Apache ActiveMQ RCE Vulnerability) konzentriert und darauf fokussiert ist, Indicators of Compromise zu sammeln. Dieser Honeypot kann in jeder Threat-Intelligence-Infrastruktur verwendet werden, um IP-Adressen von Angreifern, Post-Exploitation-Beispiele und Malware-Beispiele zu sammeln. Diese Informationen können hilfreich sein, um Angriffe in Zukunft zu erkennen und zu verhindern.
Im realen Fall sendet der Angreifer ein spezifisches Paket an den Apache ActiveMQ-Dienst. Dieses Paket enthält ExceptionResponse mit der Klasse org.springframework.context.support.ClassPathXmlApplicationContext und eine Nachricht, die die XML-Payload-URL enthält.
![]() |
|---|
| Angriffsbeispiel |
Zweitens lädt der anfällige Dienst das XML-Payload herunter, das häufig einen RCE-Befehl enthält.
![]() |
|---|
| XML-Payload-Beispiel |
Dieser Honeypot simuliert einen anfälligen Apache ActiveMQ-Dienst und extrahiert IP-Adressen von Angreifern, die XML-Payload-URL und den RCE-Befehl aus dem XML-Payload. Diese Informationen können dann aus JSON extrahiert werden.
Honeypot-Logs können unter dem Pfad logfile eingesehen werden, den Sie in Service.toml angegeben haben.
![]() |
|---|
| Honeypot-Logs |
Der Honeypot erstellt auch eine JSON-Ausgabe mit analysierbaren Indikatoren. Sie können den Pfad von outfile in Service.toml angeben.
![]() |
|---|
| JSON-Ausgabe |
Der Honeypot kann auf Ihrem eigenen Server (z.B. VPS oder VDS) in einer Docker-Variante bereitgestellt werden.
Die Service-Konfigurationsdatei Service.toml kann nach Ihren Wünschen geändert werden:
service_ip = "0.0.0.0" # listen ip address
service_port = 61616 # port (default for Apache ActiveMQ 61616)
logfile = "logs/service.log" # main log file
outfile = "logs/out.json" # output json for parsing
api_enabled = false # enabled or disable api for downloading honeypot results (true/false)
api_ip = "0.0.0.0" # listen ip address for api
api_port = 9123 # port for api
api_user = "user" # user for api auth
api_password = "" # password for api auth
Sie können die API aktivieren, wenn Sie auf out.json zugreifen möchten. Ergebnisse können mit curl heruntergeladen werden:
curl -X POST http://<api_ip>:<api_port>/ --data 'username=<api_user>&password=<api_password>'
git clone https://github.com/mranv/honeypot.rs -b main
cd activemq-honeypot
docker compose up --build -d
Sie sollten auch den ursprünglichen Apache ActiveMQ (falls vorhanden) deaktivieren und sicherstellen, dass der konfigurierte Port nicht von einem anderen Prozess verwendet wird. Der Dienstbuild kann einige Zeit in Anspruch nehmen.
Sie können auch LevelFilter in main.rs auf Debug ändern und hilfreichere Debug-Informationen erhalten.
![]() |
|---|
| Debug-Stufe |