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通讯进程).