Lab 10-3

本实验包括一个驱动程序和一个可执行文件。你可以从任意位置运行可执行文件,但为了程序能够正常运行,必须将驱动程序放到C:\WindowslSystem32目录下,这个目录在受害者计算机中已经存在。可执行文件是Lab10-3.exe,驱动程序是Lab10-03.sys.

问题

1.这个程序做了些什么?

1.Lab10-3.exe将"C:\Windows\System32\Lab10-03.sys"驱动通过SCM服务运行起来.

2.通过CreateFile打开名为”\\.\ProcHelper“设备,通过DeviceIoControl与驱动进行通讯.

3.驱动注册了设备路径”\Device\ProcHelper“,链接用于3环通讯的设备名'\DosDevices\ProcHelper'.

4.通过绑定驱动回调 _DRIVER_OBJECT.MajorFunction[IRP_MJ_DEVICE_CONTROL] IRP_MJ_DEVICE_CONTROL=0xe;用于与R3函数DeviceIoControl通讯.

5.绑定索引0xe的函数中获取了当前进程的结构体(EPROCESS),通过结构体+0x88处保存的是当前所有激活的进程链表.然后把自己从链表中摘掉达到隐藏进程的效果.(实际上有好几次要进行摘除才能真正隐藏,其中对象树结构中还有记录的,不过对于通过api获取进程已经可以达到隐藏效果).

6.之后每个30秒就打开'http://www.malwareanalysisbook.com/ad.html'这个网址.无限循环.

2.一旦程序运行,你怎样停止它?

1.程序已经将自己进行隐藏,通过常规手段已经找不到了.重启电脑是一个办法.

3.它的内核组件做了什么操作?

内核组件做了以下几个动作:

1.创建设备

2.绑定控制回调函数.

3.进程隐藏的操作(隐藏DeviceIoControl通讯进程).