4369 - Pentesting Erlang Port Mapper Daemon (epmd)
Grundlegende Informationen
Der Erlang Port Mapper Daemon (epmd) fungiert als Koordinator für verteilte Erlang-Instanzen. Er ist dafür verantwortlich, symbolische Knotennamen auf Maschinenadressen abzubilden und sicherzustellen, dass jedem Knotennamen eine bestimmte Adresse zugeordnet ist. Diese Rolle von epmd ist entscheidend für die nahtlose Interaktion und Kommunikation zwischen verschiedenen Erlang-Knoten in einem Netzwerk.
Standardport: 4369
Dies wird standardmäßig bei RabbitMQ- und CouchDB-Installationen verwendet.
Enumeration
Manuell
Automatisch
Erlang Port Mapper Daemon (EPMD) ist ein Dienst, der in der Erlang/OTP-Umgebung verwendet wird, um die Kommunikation zwischen verschiedenen Erlang-Prozessen zu ermöglichen. EPMD ist standardmäßig auf Port 4369 aktiviert und kann auf einem Remote-Host ausgeführt werden.
Automatische Erkennung von EPMD
Um EPMD automatisch zu erkennen, können Sie das Tool epmd_discover
verwenden. Dieses Tool sendet eine Broadcast-Nachricht an das lokale Netzwerk und erkennt alle aktiven EPMD-Instanzen. Sie können das Tool wie folgt verwenden:
Das Tool gibt eine Liste der gefundenen EPMD-Instanzen zurück, einschließlich der IP-Adresse und des Portnummers, auf denen sie ausgeführt werden.
Automatisches Scannen von EPMD-Instanzen
Sobald Sie die aktiven EPMD-Instanzen erkannt haben, können Sie das Tool epmd_scan
verwenden, um nach verwundbaren Instanzen zu suchen. Dieses Tool versucht, eine Verbindung zu jeder erkannten EPMD-Instanz herzustellen und überprüft, ob sie anfällig für bekannte Schwachstellen ist. Sie können das Tool wie folgt verwenden:
Ersetzen Sie <ziel-ip>
durch die IP-Adresse der EPMD-Instanz und <ziel-port>
durch den Port, auf dem EPMD ausgeführt wird. Das Tool gibt Informationen über die verwundbare Instanz zurück, wenn eine gefunden wird.
Automatisches Ausnutzen von EPMD-Schwachstellen
Sobald Sie eine verwundbare EPMD-Instanz gefunden haben, können Sie das Tool epmd_exploit
verwenden, um die Schwachstelle auszunutzen. Dieses Tool ermöglicht es Ihnen, Remote-Code-Ausführung auf dem Zielhost zu erlangen. Sie können das Tool wie folgt verwenden:
Ersetzen Sie <ziel-ip>
durch die IP-Adresse der verwundbaren EPMD-Instanz und <ziel-port>
durch den Port, auf dem EPMD ausgeführt wird. Das Tool führt den Exploit aus und gibt Ihnen eine Remote-Shell auf dem Zielhost, wenn erfolgreich.
Automatisches Beenden von EPMD-Instanzen
Wenn Sie autorisierten Zugriff auf einen Remote-Host haben und EPMD beenden möchten, können Sie das Tool epmd_kill
verwenden. Dieses Tool sendet eine Nachricht an die EPMD-Instanz und beendet sie. Sie können das Tool wie folgt verwenden:
Ersetzen Sie <ziel-ip>
durch die IP-Adresse der EPMD-Instanz und <ziel-port>
durch den Port, auf dem EPMD ausgeführt wird. Das Tool sendet eine Beendigungsnachricht an die Instanz und beendet sie.
Erlang Cookie RCE
Remote Connection
Wenn Sie das Authentifizierungscookie leaken können, können Sie Code auf dem Host ausführen. Normalerweise befindet sich dieses Cookie in ~/.erlang.cookie
und wird von Erlang beim ersten Start generiert. Wenn es nicht modifiziert oder manuell festgelegt wurde, handelt es sich um eine zufällige Zeichenkette [A:Z] mit einer Länge von 20 Zeichen.
Weitere Informationen finden Sie unter https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/ Der Autor teilt auch ein Programm zum Brute-Forcen des Cookies:
Lokale Verbindung
In diesem Fall werden wir CouchDB missbrauchen, um lokale Berechtigungen zu eskalieren:
Beispiel entnommen von https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution Sie können die Canape HTB-Maschine verwenden, um zu üben, wie man diese Schwachstelle ausnutzt.
Metasploit
Shodan
port:4369 "at port"
Last updated