首页
社区
课程
招聘
[原创]通过替换dll实现后门功能的恶意代码
发表于: 2023-7-30 11:37 5130

[原创]通过替换dll实现后门功能的恶意代码

2023-7-30 11:37
5130

该恶意代码存在一个exe可执行文件和一个dll动态链接库,需要分别进行分析


无壳的32位程序,可以直接使用IDA和x32dbg载入。

IDA载入dll程序,查看其字符串和导入,导出函数

dll实现的功能就是与IP为127.26.152.13的主机进行网络通信,并且根据得到的反馈进行相应操作。


通信过程比较简单就是利用网络API函数建立相应连接然后发送信息。
重要的是接下来如何实现后门操作。


这里是根据接受到的字符串来做出相应反馈。


在字符串当中,发现几个比较关键的地方。存在两个Kernel32.dll的地址,但是仔细观察我们会发现其实一个是Kernel32另一个则是Kerne132。到这里我们可以猜到,恶意程序应该是又创建了一个Kerne132.dll替换了原来的kernel32.dll,新的dll实现的功能不仅有原来Kernel32.dll的功能还应该有自带的那个dll的功能。
我们可以猜测一下要是实现该功能需要几步:


导入函数有两类是我们现在需要密切关注的:

现在根据之前做出的猜测去找相应的功能。

在命令行输入相应参数运行程序,注意提前在虚拟机当中拍摄快照,使用Procommon检测程序行为,再使用Wireshark进行抓包分析。
但是由于该恶意代码可能比较老了,需要在Windowsxp下才能运行,虚拟机为Win10系统,无法正常运行,有兴趣的可以自行尝试,关注的重点还是Procommon当中的文件操作和Wireshark当中目地IP为127.26.152.13的通信。

  1. 这个恶意代码执行了什么功能?
  2. 通过什么方式实现其功能?
  3. 如何实现长久驻留?
  4. 有什么关键特征,或者说这一类恶意代码有什么关键特征?
  5. 如何清除该恶意代码造成的影响?
  1. 查壳,查看程序类型
    无壳,32位程序
  2. 使用IDA静态分析
    字符串,导入函数,程序逻辑
  3. 使用Procommon函数查看程序行为
  1. 这里可以有一个创建互斥体的函数,猜测是用于创建互斥体来判断是否已经将某文件感染。
  2. 同时存在一个127.26.152.13的IP地址和hello,怀疑是不是存在与该IP存在信息交互,以实现有关后门。

    导入函数便十分清晰了,存在大量与网络连接有关的API函数,说明该dll实现的就是后门功能,用于和外界进行信息交互。

    导出函数则显得有些奇怪,作为一个dll却没有导出函数,怀疑不是直接通过该dll提供功能,应该后续还有操作。
  1. 如果收到的前5个字符是sleep,那么会执行sleep函数,休眠60s。
  2. 如果收到的前4个字符是exec则会创建一个新进程,通过动态调试得到创建的新进程的命令行参数就是exec后面的字符串内容。
  3. 倘若不是以上两个情况,则会返回到开始,再次发送hello。
  1. 需要将原Kernel32.dll的功能复制到Kerne132.dll中。
  2. 需要将自带的dll复制到Kerne132.dll中。
  3. 需要将exe文件当中导入表里面的Kernel32.dll替换为Kerne132.dll。
  1. 文件类函数:包括CreateFileA, CreateMappingA 和 MapViewOfFile等。
  2. 文件查找类:包括FindNextFileA和FindFirstFileA等。
  1. 这里是对命令行的参数进行判断,只有当参数个数为2并且参数为WARNING_THIS_WILL_DESTROY_YOUR_MACHINE时程序才可以正常运行。后续进行检测分析的时候需要对此进行额外关注。
  2. 这里将Kernel32.dll中内容复制到自带的dll当中
  3. 创建Kerne132.dll,将自带dll的内容放入其中。

  4. 在c盘下扫描所有的exe程序实现dll的替换。
  1. 该恶意代码实现的功能是一个后门功能,可以与外界进行联系,执行外界输出的命令。
  2. 通过其自带的dll函数实现与目地IP交互功能。
  3. 通过替换Kernel32.dll文件实现长久驻留,创建了一个名为Kerne132.dll,然后进行替换。
  4. 关键特征:
    存在一个目地IP;
    创建了Kerne132.dll;
    创建了一个互斥量
  5. 对该软件打一个补丁,然后反替换一次,即将Kerne132.dll修改为Kernel32.dll。
  • 这个恶意代码执行了什么功能?
  • 通过什么方式实现其功能?
  • 如何实现长久驻留?
  • 有什么关键特征,或者说这一类恶意代码有什么关键特征?
  • 如何清除该恶意代码造成的影响?
  • 查壳,查看程序类型
    无壳,32位程序

  • [注意]看雪招聘,专注安全领域的专业人才平台!

    收藏
    免费 0
    支持
    分享
    最新回复 (3)
    雪    币: 26460
    活跃值: (5352)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    2
    是不是应该有图?
    2023-7-30 13:08
    0
    雪    币: 41
    能力值: ( LV1,RANK:0 )
    在线值:
    发帖
    回帖
    粉丝
    3
    抱歉,投的时候没注意,好像md的图片链接没有生效,可以看看7bfK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3e0@1&6q4h3V1A6Q4x3V1k6H3i4K6u0r3x3e0M7#2z5e0p5J5x3o6g2Q4x3X3g2Z5N6r3#2D9i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1^5i4@1u0r3i4K6V1&6i4@1f1@1i4@1t1^5i4@1q4m8i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1$3i4K6W2o6i4K6R3&6i4@1f1#2i4K6W2n7i4@1u0q4i4@1f1%4i4K6W2m8i4K6R3@1
    2023-7-30 13:44
    0
    雪    币: 8503
    活跃值: (3748)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    4
    在你能替换之前,纯属伪命题。
    2023-7-31 10:36
    0
    游客
    登录 | 注册 方可回帖
    返回