使用ChatGPT分析一个涉嫌的AgentTesla样本

一些说明

首先,我要感谢我的Curated Intelligence团队成员在发布之前进行了评论并提供了反馈!

https://twitter.com/CuratedIntel

这个最初在CI之间共享,被分类为TLP: AMBER;在发布博客时已重新分类为TLP: CLEAR。

此外,当这篇草稿撰写时,哈希标记为DarkGate;现在它们似乎被标记为AgentTesla。不过,分析结果保持不变。

阶段1(LNK文件)

快捷方式调用PowerShell的Invoke-WebRequest来下载http://185.196.9[.]20/test/sleeps.exe,并通过Start-Process执行它。

以下图片展示了我使用的一个bash函数,用于分析LNK文件以及LNK文件的内容。

LNK File Analysis

第二阶段(.NET EXE)

在分析时(2024年2月5日),访问上述网址得到了以下哈希值。

下载文件并在Detect It Easy中打开,显示一个.NET可执行文件。

.NET

将此打开在ILSpy中会展示出一些有趣的内容:

  • 它从一个文本文件中下载数据。
  • 它解密这些数据并将其传递给具有 regasm.exe 作为参数的“RunPE”函数。

此“RunPE”功能似乎是一个进程注入技术,因为我们看到它正在读取、分配和写入内存。

我对这些的理解是:

  1. 程序正在下载并解密文件。
  2. 然后它会取出解密后的信息,并将其注入到regasm.exe中。

第三阶段(加密数据)

通过下载加密数据,我们看到它只是被解读为“二进制”,这是预料之中的。

在这一点上,我尝试用Python重新创建解密程序,但遇到了困难。所以我转向了ChatGPT。它也遇到了和我一样的错误,但最终能够解决它们。

参考,上述代码的这个特定部分是解密例程。

(诚然,我猜测这可能是C#;不确定这是C的哪个派生版本)

这段代码产生了一个和我正在处理的错误相同的错误,因此我将错误传递给它。

它给出的答案似乎是合理的,所以我需要对其进行修改,因为ILSpy中的代码显示密钥是一个数组。

在尝试编写自己的代码时,我遇到的一个问题是将数据写入新文件时发生错误(我一直写入整数而不是字节)。幸运的是,我也能够解决这个问题。

在这里,我们可以看到解密程序的完成版本并排放置。

在运行后,它确实产生了一个与原始样本不同的哈希值。更重要的是,当我在Detect It Easy中打开解密的数据时,它显示为是一个有效的二进制文件!

对PEStudio中代码的高级审查显示了大量可疑的导入和字符串。

最后,代码写得有很多不必要的条件判断。

虽然我无法独立确认这是否是AgentTesla,但主要目的是展示如何使用ChatGPT来帮助逆转XOR加密方案。

如果在分析中发现任何错误,请在https://twitter.com/_montysecurity 上联系我。

IOC(指标和检测规则)

  • d3ab1b047a1ee9985c00c95cd4d205f79bdf47ade1f18ee30ec9d88a58cb133d(阶段1;LNK文件)
  • f62640b8047a6105ba98ab690d7908f6c3e8aef22f05d6512e838457a01e0593(第2阶段; .NET EXE)
  • 3ae234ec1adbc5e133e9aa67c28b92abccb1d7b009594c34d46dd94070361ee3(阶段3;加密的EXE)
  • f6f4c2e5a15e8eec24ec79553ef380b31569bb92e28411687bf305f20174487f (阶段 3;解密的 EXE)
  • 185.196.9[.]20(托管有效载荷)

2024-02-16 04:14:11 AI中文站翻译自原文