inline Hook IdePortStartIo+80 的奇怪驱动

原理类似机器狗,代码写的挺新鲜

loadder.exe

行为

         NtSetSysteminformation加载驱动 c:\\cloud76.dll 

         

驱动cloud76.dll        

行为

         摘掉IopFsNotifyChangeQueueHead队列

         

         hook dmload.sys的IrpCreate与loadder.exe通信

         loadder.exe在NtCreateFile的OBJECT_ATTRIBUTES参数尾部缀上附加参数,cloud76.dll 的hook函数栈回溯取得参数

                   

         map一份atapi.sys到内存中,自己调用map文件的IdePortDispatch读写扇区

         

         inlineHook IdePortStartIo+80 跳转到这里

         cmp     byte ptr [esi+37h],77h ;srb->cdb[7] = =0x77 (BlockCount)

         je      81d73f64 

         or      eax,2

         mov     dword ptr [esi+28h],eax

         jmp     atapi!IdePortStartIo+0x94 (f84ed8f8)

对srb的扇区号高位进行判断, srb->Cdb[7] == 0x77的时候跳过atapi的一句操作,(0x77这个值是硬编码的)



     直接跳过atapi.sys的这句srb->SrbExtension = (PVOID)((unsigned int)v9 | 2); 用意不明,我把atapi中这句nop之后毫无影响,实在想不通啊~~




         直接从物理磁盘级别解析文件系统fat32 or ntfs,写入stobject.dll

 

修改后的stobject.dll

         循环下载http://2012baidu.3322.org:8087/88.exe

 

扔一个idb和完整样本上来,这家伙驱动写的还是不错的,连atapi都要自己map来绕过钩子,就是要和网吧还原对抗的

就是那句inline hook实在搞不懂= = 可能也是个某驱动对抗用的吧

 

扔个样本出来

115提取码 e7breces

cloud76.zip


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值