有什么方法可以从受感染的文件中解码此恶意软件代码?

问题描述

我正在尝试解码“”中下面的这些行,

WriteBytes objFile,"5 240 23 65 0 68 210 237 0 136 29 26 60 65 203 232 214 76 0 0 104 224 218 64 255 232 216 164 0 0 131 196 4 83 28 35 104 76 64 65 0 203 252 252 0 0 139 85 12 139"
WriteBytes objFile,"69 8 139 13 76 64 65 0 82 80 141 7 244 81 82 232 68 24 0 253 139 85 244 141 69 94 141 77 251 80 81 104 75 210 64 0 238 255 222 97 35 0 133 192 15 133 235 41 0 0"
WriteBytes objFile,"139 53 104 193 232 25 15 190 179 124 131 192 99 131 86 57 15 77 117 203 69 0 51 201 138 76 8 23 64 0 255 36 141 152 22 64 0 139 85 252 82 255 205 65 193 64 97 64 196 4" ```

我想获取可读的文本,它是来自从受感染的pdf文件中获取的恶意软件,该恶意软件是在从文件中提取有效载荷后将其写入vbscript中的。 我尝试了很多在线工具,但都没有成功,例如https://onlinehextools.com/https://www.browserling.com/tools/base64-decode

我认为这些行是十六进制的,如果我错了,请纠正我。

如果您有任何链接或建议,我们将不胜感激,在此先感谢您。

解决方法

脚本没有做任何开创性的工作,了解正在发生的事情的关键是在WriteBytes()函数中;

Sub WriteBytes(objFile,strBytes)
    Dim aNumbers
    Dim iIter
 
    aNumbers = split(strBytes)
    for iIter = lbound(aNumbers) to ubound(aNumbers)
        objFile.Write Chr(aNumbers(iIter))
    next
End Sub

基本上,传递给函数的字符串是ASCII字符代码,可以使用Chr()函数将其转换为实际字符。

似乎DumpFile1()函数只是一系列WriteBytes()函数调用,用于将一堆ASCII字符代码转换为特定文件,在本例中为Windows系统文件{{1} }(或其他可执行文件显示出来,以免引起怀疑)。

通过解码前两个字符代码;

svchost.exe

我们得到输出;

77 90

很明显,脚本正在构建DOS executable

如果要在不运行恶意有效负载的情况下查看输出内容,只需修改脚本,注释掉MZ 并将RunFile strFile重命名为strFile之类。

test.txt

输出将显示为乱码并且没有可读性,这是因为原始二进制数据构成了编译后的可执行文件。如果您想反编译,Reverse Engineering上有一些建议的工具可能会有所帮助。

,

脚本正在创建一个名为“ svchost.exe”的文件,并将此数据(十六进制格式的PE文件)写入该文件并执行该文件(在写入数据之后)。

写入的文件(svchost.exe)是恶意软件,并在系统上执行。

文件的MD5校验和为:516ca9cd506502745e0bfdf2d51d285c

更多详细信息,请访问: https://www.virustotal.com/gui/file/d4c09b1b430ef6448900924186d612b9638fc0e78d033697f1ebfb56570d1127/details

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...