一、概述

这个驱动是的sality病毒的rootkit部分,代码比较简单,主要功能有两个
一是拦截内容含有以下字符串的TCP和UDP数据包,还有TCP 25端口的数据包

upload_virus
sality-remov
virusinfo.
cureit.
drweb.
onlinescan.
spywareinfo.
ewido.
virusscan.
windowsecurity.
spywareguide.
bitdefender.
pandasoftware.
agnmitum.
virustotal.
sophos.
trendmicro.
etrust.com
symantec.
mcafee.
f-secure.
eset.com
kaspersky

二是 接收应用层的命令,应用层主要传递了系统的SSDT地址表和一个进程id,驱动获取NtTerminateProcess函数的地址,强制关闭指定的进程。

主要的功能很明显,就是为了对抗杀软,涉及的操作系统有win2000到windows Vista的32位版本。

特征有:
设备对象名为\Device\amsint32,
符号链接名为\DosDevices\amsint32
MD5 bf31a8d79f704f488e3dbcb6eea3b3e3

二 分析情况


函数的代码量比较小,使用IDA PRO进行静态分析,代码结构基本理清。

1.DriverEntry函数

DriverEntry函数为驱动程序的入口函数,其中完成了一些初始化工作。
在DriverEntry中创建了设备对象和符号链接,设备对象名为\Device\amsint32,符号链接名为\DosDevices\amsint32,用于接收应用层的发送的命令和数据

设置了派遣函数

解密一个全局字符串数组,这是要过滤的字符串

创建了两个系统线程

2.进程1

在进程1中,获取系统驱动ipfltdrv.sys的设备对象,调用IoBuildDeviceIoControlRequest函数,使用IOCTL_PF_SET_EXTENSION_POINTER这个控制码,注册一个回调函数,这样系统会将数据包发送给这个回调函数来处理

回调函数的逻辑如下,若全局开关dwFilterEnable为1,若为TCP的端口为25,拦截这个包,不知道为啥?
若数据包中含有上面的解密出来的字符串,拦截,否则放行

3.进程2

等待应用层发送数据,驱动程序接收到应用层的数据后,会在DriverDispath中的设置Event
进程2中首先等待ServiceTableBase值,通过加上NtTerminateProcess的ssdt index得到其地址

然后等待应用层发来pid的值 获取进程的handle,调用NtTerminateProcess关闭这个进程,这里有一个全局变量dwEnableSwitch,应该是作者调试程序留下的,在代码中一直为0

4.派遣函数

派遣函数主要用于接收应用层的数据,这里只对WRITE类型的IRP进行处理,大体逻辑如下,
当UserBuffer的第一个双字为666时,其中UserBuffer中存储是的这是的SSDT的地址表(KeServiceDescriptorTable.ServiceTableBase),只是作者将第一个地址改成为666,用来当命令,将ServiceTableBase的内容拷贝到全局变量中, SetEvent,告诉ThreadFunc1 SSDT的地址表来了。
当UserBuffer的第一个双字为777时,将全局变量dwFilterEnable置为1,ThreadFunc1开启过滤TCP 25端口的数据包;
当UserBuffer的第一个双字为888时,将全局变量dwFilterEnable置为0,ThreadFunc1停止过滤TCP 25端口的数据包;
当UserBuffer的第一个双字不是666、777、888,且大小为一个ULONG, ServiceTableBase不为空时,此时userbuffer中的内容为进程id,将进程id复制出来给dwPid,SetEvent,告诉ThreadFunc1用户层的pid来了,可以关闭这个进程了。

参考资料

https://www.freebuf.com/column/206442.html
https://blog.csdn.net/namelcx/article/details/9254137
https://guanjia.qq.com/news/n3/2567.html

Sality 病毒的驱动模块分析报告相关推荐

  1. Sality病毒分析

    Sality病毒分析 基本信息 MD5:E100C2C3F93CABF695256362E7DE4443 样本来源:https://www.52pojie.cn/thread-537381-1-1.h ...

  2. 病毒分析报告-熊猫烧香

    分析报告 样本名 Worm.Win32.Fujack.p 时间 2017-5-27 平台 Windows 10 病毒分析报告 目录 1.样本概况    3 1.1 样本信息    3 1.2 测试环境 ...

  3. Morto蠕虫病毒分析报告

    文章目录 样本信息 病毒现场复现 分析过程 Loader部分 Payload部分 病毒查杀 样本信息 名称:cache.txt SHA1:a5f83e3baae0df2cdcf5b7e9e862705 ...

  4. android.troj.opfake.a病毒,FakeMsdMiner挖矿病毒分析报告

    原标题:FakeMsdMiner挖矿病毒分析报告 近日,亚信安全截获新型挖矿病毒FakeMsdMiner,该病毒利用永恒之蓝,永恒浪漫等NSA漏洞进行攻击传播.该病毒具有远控功能,可以获取系统敏感信息 ...

  5. 如何写好一份竞品运营分析报告?

    网络上关于写产品竞品分析的文章很多,做运营类竞品分析的文章比较少,所以今天抛砖引玉和大家分享一下,我在分析竞品运营中的思考和心得. 每天发生在我们APP里各种变化都是值得运营学习的最好材料,尤其是竞品 ...

  6. 全球及中国原料药产业投资动态及未来运行前景分析报告2021-2027年

    全球及中国原料药产业投资动态及未来运行前景分析报告2021-2027年 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- ...

  7. WanaCrypt0r勒索蠕虫完全分析报告

    WanaCrypt0r勒索蠕虫完全分析报告 0x1 前言 360互联网安全中心近日发现全球多个国家和地区的机构及个人电脑遭受到了一款新型勒索软件攻击,并于5月12日国内率先发布紧急预警,外媒和多家安全 ...

  8. 2016 中国互联网仿冒态势分析报告

    2016 中国互联网仿冒态势分析报告 一.摘要 基于阿里聚安全在2016年1-8月收录的APK样本数据,从16个行业分类分别选取了15个热门应用,共240个应用进行仿冒分析,发现83%的热门应用存在仿 ...

  9. 《2018年云上挖矿态势分析报告》发布,非Web类应用安全风险需重点关注

    近日,阿里云安全团队发布了<2018年云上挖矿分析报告>.该报告以阿里云2018年的攻防数据为基础,对恶意挖矿态势进行了分析,并为个人和企业提出了合理的安全防护建议. 报告指出,尽管加密货 ...

最新文章

  1. HSRP和VRRP在企业网中的应用
  2. liteIDE配置环境变量
  3. 数学之路(2)-数据分析-R基础(5)
  4. 常用打开新页面的方法
  5. 常用于单片机的接口适配器模式C语言实现
  6. Matlab求重复数字的个数tabulate
  7. LeetCode 876. 链表的中间结点(快慢指针)
  8. 你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)
  9. 软件设计师 - 超键、无损连接、函数依赖
  10. ffmpeg下载直播流
  11. 吴恩达机器学习作业5.偏差和方差
  12. Commons- BeanUtils学习笔记(转)
  13. Cordova 快速入门记录
  14. Asp.Net alert弹出提示信息的若干种方法
  15. 2020-08-31 ubuntu18.04下安装gitlab,以及使用邮箱注册
  16. 【MySQL】用假期时间学习数据库,稳赚不亏(存储、视图、事务、优化、安全)
  17. 腾讯抖音搬运视频如何消重
  18. 国家气候气象观测站分类
  19. 快速傅里叶变换(FFT)的原理及公式
  20. Linux开启FTP服务和修改FTP密码

热门文章

  1. 蓝桥杯PREV-2 打印图案水题
  2. 一个啼笑皆非的发现-关于COREDRAW2018打印尺寸不准
  3. java代码编写的30条规范
  4. 产品之SMART原则
  5. openpowerlink 01
  6. 一文读懂Redis的四种模式,单机、主从、哨兵、集群(*)
  7. 浏览器页面白屏怎么处理
  8. office2010安装教程
  9. 怎么人像抠图?这几种抠图方法一看就会
  10. 回填用土好还是砂石料好_卫生间回填用沙子好还是用陶粒好?38年老瓦工终于说实话了...