收到一个可能是恶意的 .exe,有​​人能告诉我攻击者打算做什么吗?

Received a possibly malicious .exe, can someone tell me what the attacker intended to do?

我不确定这段代码的作用,它可能是恶意的。请小心,不要尝试编译它。

我收到一个 .exe 文件,它被命名为 ".jpg.exe",它有一个 伪造的 jpg 图标,因此可能会执行一些恶意操作 并且它有一些隐藏选项,比如将 Opacity 设置为 0ShowInTaskbarFalse 和许多其他设置。

我确实知道 VB,但我没有足够的经验来说明它的作用。谁能告诉我这个人打算用这个程序对我的电脑做什么?

他有这些声明:

Imports System
Imports System.ComponentModel
Imports System.Drawing
Imports System.IO
Imports System.Reflection
Imports System.Security.Cryptography
Imports System.Windows.Forms

这个函数

 Public Shared Function Decrypt(ByVal input As Byte()) As Byte()
            Dim aes As Aes
            Dim bytes As New PasswordDeriveBytes("xdldfklgjdfklgjdfklgjdflgkdfj", New Byte() { &H26, &H16, 11, &H4E })
            Dim stream As New MemoryStream
            aes = New AesManaged With { _
                .Key = bytes.GetBytes((aes.KeySize / 8)), _
                .IV = bytes.GetBytes((aes.BlockSize / 8)) _
            }
            Dim stream2 As New CryptoStream(stream, aes.CreateDecryptor, CryptoStreamMode.Write)
            stream2.Write(input, 0, input.Length)
            stream2.Close
            Return stream.ToArray
        End Function

我假设这个函数是为了解密保存在我的计算机或其他东西上的密码哈希?

这是主要功能,它很长所以我将它添加到文本文件中:

http://ninjastormns.my3gb.com/DecompiledVBCode.txt

我很抱歉提出这样一个不寻常的问题,但我需要知道这个人的目的是什么,而且我觉得这个问题是正确的地方。谢谢。

请注意,如果我怀疑这段代码是恶意的,我会在问题解决后将其删除以避免它被重复使用。

我没有在这上面花太多时间,但是所示代码只是将一个大的二进制 blob 解密为内存中的程序集,然后 运行 就可以了。

由于Decrypt例程本身看起来无害,我将其复制到一个新项目中,然后运行:

System.IO.File.WriteAllBytes("C:\quarantine\danger.out", Decrypt(New Byte() { &HBC, &H7B, 220, &H4F, &H60, &H56, &HCA, ... }))

这将恶意程序集的解密字节写入 "C:\quarantine\danger.out" 的文件中。当我这样做时,我的防病毒软件立即对该文件进行了 qua运行 检测并将其标记为 "Backdoor.Ratenjay",它被列为后门木马。

因为我觉得 蛮干 冒险,所以我恢复了 qua运行tined 文件并用 ILSpy 打开它。除其他外,它似乎:

  • 使用 netsh
  • 为自身添加防火墙例外
  • 将自身复制到启动文件夹
  • 记录击键
  • 监控当前前台window
  • 连接到动态 DNS 子域以 send/receive 数据
  • 将下载的数据保存到文件系统,然后运行下载的文件

您的问题的答案是攻击者打算在您的计算机上打开后门以监视您的系统,并下载和 运行 任意命令。