如何提取LokiBot的Shellcode | xxx如何提取LokiBot的Shellcode – xxx
菜单

如何提取LokiBot的Shellcode

十月 1, 2021 - FreeBuf

使用 LokiBot 的一个在野样本进行分析。

OLEDUMP

使用 oledump 工具可以看到 EncryptedPackage内有很多数据:

如何提取LokiBot的Shellcode

在这种情况下,一般意味着工作簿中一个或多个 Sheet 被加密锁定保护。

如何提取LokiBot的Shellcode

可以使用 msoffcrypto-crack.py处理该文档:

如何提取LokiBot的Shellcode

我们可以使用 msoffcrypto-crack.py 破解密码并新建一个没有密码保护的同名文件:

如何提取LokiBot的Shellcode

也可以直接提取内容通过管道传递给 oledump.py。但在其中并未发现宏代码,而是发现了 eQUaTiON naTIvE:

如何提取LokiBot的Shellcode

将对象的 eQUaTiON naTIvE部分转存到另一个文件中,以便可以对其进行处理:

如何提取LokiBot的Shellcode

可以使用 XORSearch.exe在二进制文件中搜索 32 位 Shellcode 各种签名。可以看到在两处匹配到了 GetIP:

如何提取LokiBot的Shellcode

scDbg.exe

接着使用 Shellcode 模拟器 scDbg.exe 加载转存的二进制文件,并填入偏移位置以查看是否出现某种解码的 Shellcode:

如何提取LokiBot的Shellcode

深入查看转存的 oledump.unpack 文件的 402438 处,如下所示。使用工具 cut-bytes.py查看 oledump.unpack 可以发现字符串如 LoadLibraryWExpandEnvironmentStringsWAPPDATAvbc.exehttp://frndgreen等:

如何提取LokiBot的Shellcode

再次使用 scDbg.exe 剪切必要的部分:

如何提取LokiBot的Shellcode

使用 scDbg.exe 直接处理 oledump-cut.unpack 会遇到问题,除了 ExpandEnvironmentStringsW 什么都发现不了:

如何提取LokiBot的Shellcode

文章阐述了如何处理该问题。事实证明,scDbg.exe 不会 Hook 函数 ExpandEnvironmentStringsW,但是会 Hook 函数 ExpandEnvironmentStringsA。可以尝试使用 ExpandEnvironmentStringsA代替 ExpandEnvironmentStringsW,在保存更改后再使用 scDbg.exe 运行:

如何提取LokiBot的Shellcode

另一个选择是直接通过命令行覆写该字符。通过查看上面的十六进制,可以发现需要修改的位置在 0x77 处,可以用如下方式将其添加到 scDbg.exe 的起始点

如何提取LokiBot的Shellcode

这样我们就得到了很清晰的 ShellCode 内容。

参考来源

ClickAllTheThings

本文作者:, 转载请注明来自FreeBuf.COM

# shellcode # LokiBot # 公式编辑器

Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51