查看: 1360|回复: 8
收起左侧

[原创分析] 对某WHQL Rootkit样本的分析

[复制链接]
ANY.LNK
发表于 2023-8-31 12:33:57 | 显示全部楼层 |阅读模式
本帖最后由 ANY.LNK 于 2023-8-31 12:33 编辑

样本来源:https://bbs.kafan.cn/thread-2259875-1-1.html

静态分析:

WHQL证书的签名日期是2023.8.16



属性为Win64驱动程序

PDB路径:C:\Users\Baat\Desktop\GPT 1.6\x64\Release\RWSafe.pdb

从样本中提取的明文字符串中包含360的相关驱动设备名,表示其可能会对360采取对抗/规避措施,同时也有对键鼠驱动设备名,也许会反虚拟机


导入的函数:





疑似通过设备名占坑的方式对抗360的文件系统过滤驱动的加载运行



查找指定进程,附加对象,分配内存空间,表明可能存在注入行为



获取ntdll.dll基址,从中读取出NtProtectVirtualMemory,NtCreateThreadEx函数





判断系统版本,从而决定之后的操作





搜集进程信息,并转到下一步操作







打开对象,查找线程,分配内存池,(可能)进行APC注入




请求并分离APC内存块



通过指针打开指定对象并结束指定进程



挂起以及恢复进程



获取键盘和鼠标设备的驱动名,进行对比,可能以此反沙箱或虚拟机





又一段系统版本检测,但和之前的不同,多出了对包括Windows 11和新版本Windows 10等系统的支持,表明该驱动可能更新过



动态分析:

在虚拟机中加载驱动后很快就卸载自身并自删除,未见异常,同上文中可能存在的反虚拟机行为的推测相符











残留的服务可手动删除







受限于本人水平,上文中的分析可能存在错误或不足之处,如有异议,请指出。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1分享 +3 魅力 +1 人气 +3 收起 理由
屁颠屁颠 + 3 + 1 + 3 版区有你更精彩: )

查看全部评分

wowocock
发表于 2023-9-1 12:41:54 | 显示全部楼层
简单看了下
1,获取键盘和鼠标设备的驱动名,进行对比,可能以此反沙箱或虚拟机,和那没关系是为了搜索内部未公开的鼠标键盘回调函数,然后直接通过DEVCTRL调用那个来模拟鼠标键盘操作。
if ( (int)SearchMouServiceCallBack() < 0 )
        DbgPrint("[+]SearchMouServiceCallBack:Fail!\n");
      if ( (int)SearchKdbServiceCallBack() < 0 )
        DbgPrint("[+]SearchKdbServiceCallBack:Fail!\n");
2,在虚拟机中加载驱动后很快就卸载自身并自删除,未见异常,同上文中可能存在的反虚拟机行为的推测相符
他会删除自身文件,但不会从内存中卸载自己,只不过把自己从内存中抹掉了各种信息,链表摘除,SECTION清空,PE入口清空,驱动对象各种数据清空,让你所有ARK工具都检测不到他而已。
void __fastcall DriverReinitializationRoutine(struct _DRIVER_OBJECT *DriverObject, PVOID Context, __int64 Count)
{
  PVOID *DriverSection; // rdi
  PVOID v5; // rcx
  PVOID Pool; // rbx

  if ( DriverObject && MiProcessLoaderEntry )
  {
    DriverSection = (PVOID *)DriverObject->DriverSection;
    MiProcessLoaderEntry(DriverSection, 0i64, Count);
    v5 = DriverSection[10];
    *((_WORD *)DriverSection + 36) = 0;
    *DriverSection = 0i64;
    DriverSection[1] = 0i64;
    *((_WORD *)DriverSection + 44) = 0;
    RtlZeroMemory(v5, 0i64);
    RtlZeroMemory(DriverSection[12], 0i64);
  }
  Pool = ExAllocatePool(PagedPool, 0x1000ui64);
  RtlZeroMemory(Pool, 0i64);
  KrnlWriteReadOnlyMemory(DriverObject->DriverStart, Pool, 4096i64);
  ExFreePoolWithTag(Pool, 0);
  DriverObject->DriverSection = 0i64;
  DriverObject->DriverStart = 0i64;
  DriverObject->DriverSize = 0;
  DriverObject->DriverUnload = 0i64;
  DriverObject->DriverInit = 0i64;
  ObMakeTemporaryObject(DriverObject);
}
3,他这个驱动没自我保护,所以应该有另外的R3来释放加载他。应该是个白利用啥的。可以找找来源看看。

评分

参与人数 4分享 +3 人气 +12 收起 理由
屁颠屁颠 + 3 + 3 版区有你更精彩: )
tdsskiller + 3 版区有你更精彩: )
ANY.LNK + 3 感谢解答: )
Hibike + 3

查看全部评分

wwwab
发表于 2023-8-31 13:42:34 | 显示全部楼层
PDB路径:C:\Users\Baat\Desktop\GPT 1.6\x64\Release\RWSafe.pdb

从样本中提取的明文字符串中包含360的相关驱动设备名


这些直接从微步云沙箱上就能够看到了

只是说仅凭这些字符串不确定驱动具体的行为和目的是什么,所以无法进行判断(像之前某些rootkit,直接在字符串里面就有浏览器劫持跳转相关的东西,那这就不用说了)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
ANY.LNK
 楼主| 发表于 2023-8-31 14:06:18 | 显示全部楼层
wwwab 发表于 2023-8-31 13:42
这些直接从微步云沙箱上就能够看到了

只是说仅凭这些字符串不确定驱动具体的行为和目的是什么 ...

后边我把与这个路径有关的代码扒了一下,有个IoCreateDevice和IoCreateSymbolicLink,第5张图
tdsskiller
发表于 2023-9-1 15:04:14 | 显示全部楼层
从这个情况发现实际上楼主已经中招

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
tdsskiller
发表于 2023-9-1 15:04:58 | 显示全部楼层
wowocock 发表于 2023-9-1 12:41
简单看了下
1,获取键盘和鼠标设备的驱动名,进行对比,可能以此反沙箱或虚拟机,和那没关系是为了搜索内 ...

看到这样的操作有点怀疑是挂
wowocock
发表于 2023-9-1 15:11:08 | 显示全部楼层
tdsskiller 发表于 2023-9-1 15:04
看到这样的操作有点怀疑是挂

应该就是挂相关,本身就是加载隐藏。所有操作都通过R3来调用处理。
ANY.LNK
 楼主| 发表于 2023-9-2 00:16:26 | 显示全部楼层
tdsskiller 发表于 2023-9-1 15:04
从这个情况发现实际上楼主已经中招

不过没有什么动作,应该是需要特殊的加载运行方式
tdsskiller
发表于 2023-9-2 09:47:29 | 显示全部楼层
ANY.LNK 发表于 2023-9-2 00:16
不过没有什么动作,应该是需要特殊的加载运行方式

当年我也是这么想的,一个rootkit能在两个杀软中存活一年。实际上你就是没发现驱动已经暂时驻留了,根本不是你说的特殊加载运行,而是已经成功加载运行了,在静默等待指令
只能说人工判断都会被5年前的手段骗过去,何况是2023年

评分

参与人数 1人气 +2 收起 理由
ANY.LNK + 2 感谢解答: )

查看全部评分

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-2 00:28 , Processed in 0.136847 second(s), 21 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表