zoukankan      html  css  js  c++  java
  • 1_中断提权

    1 使用pchunter查看系统中断表(中断描述符表)

    1570017712150

    1.1 那些中断处理地址内核高2GB ,所以中断处理环境坑定在0环

    1570017692040

    利用分析:

    那我们把自己得处理函数放在这里面,那经过这个表调用就能获得高权限;

    注意: 代码 应该把随机基址关闭,并且使用release版本,这样地址稳定一些,debug 即使不开随机基址,可能运行中 子函数的地址会因为重构(当你改变内容的时候,可能编译器判断换个地址更优)而改变。

    1570017728732

    注意:选择项目属性:工具集 vs-2015xp兼容,并MFC静态编译(因为缺少一个dll,当然你可以根据提示拷贝过去)

    代码:

    注意:

    可以使用windbg 在 IDT 中空闲的位置添加我们自己构造的中断向量

    eq 8003f500 0040ee0000081040

    00401040 是目标处理地址

    0xee : 0x1 11 0 1110 是 p =1 在物理内存,dpl =3 ,使得当前3环程序能访问 , s =0 代表是系统段描述符, type = e 中断门

    还可以使用CE 来修改 IDT添加我们自己构造的中断向量

    1570030786387

    然后直接内存修改 高 2g 比如这里输入 我们的目标中断向量地址 0x8003f500,然后就能实现不用双机也行

    1570031022692

    环境 vs2017;

    注意:代码 应该把随机基址关闭,并且使用release版本,这样地址稳定一些,debug 即使不开随机基址,可能运行中 子函数的地址会因为重构(当你改变内容的时候,可能编译器判断换个地址更优)而改变。

    #include <stdio.h>
    #include<stdlib.h>
    #include<Windows.h>
    // release 版本会比较好一点,debug会填充一些空间,release会比较稳定

    DWORD g_iData = 0;//定义一个全局变量,来存储 0 环数据

    void _declspec(naked) IdtEntry()
    {// 这里是裸函数,所以不会有函数头 push ebp,mov ebp,esp,,和 ret x / sub esp,x 来平衡堆栈;
    // 这样的好处是 我们能控制全部的代码。
    __asm
    {
            // 最好先保存寄存器环境 这里可以执行0环代码了
    mov eax, dword ptr ds : [0x8003f500];// 注意 : 行内 汇编(内联汇编,要求严格,需要把ds 这些都明确,不然会意想不到)
    mov g_iData, eax;//
    iretd;//iret 是实地址模式 16位的中断返回
    }
    }
    void go()
    {
    __asm {
    int 0x20;// 产生中断请求,调用对应中断处理
    }
    }
    void main()
    {
    if ((DWORD)IdtEntry != 0x401040)// code : there is not same as the past, there some crt func takes the place401000 ~401040
    {
    printf("WRONG ADDR");
    //exit(0);
    }
    go();// 产生中断请求,调用对应中断处理
    printf("Addr:%p: ", IdtEntry);
    printf("Data【0x0x8003f500】: %x ", g_iData);
    system("pause");
    }

    效果:

    成功使用3环 中断提权,读取了 0环的数据。

    1570024412792


  • 相关阅读:
    编程语言
    俄罗斯方块
    四则运算
    2019-2020-1 20191312《信息安全专业导论》第七周学习总结
    20191312-获奖感想与学习心得
    2019-2020-1学期 20192428 《网络空间安全专业导论》第九周小组讨论
    2019-2020-1学期 20192428 《网络空间安全专业导论》第九周学习总结
    2019-2020-1学期 20192428 第八周作业——小学四则运算实践
    2019-2020-1学期 20192428《网络空间安全专业导论》第八周学习总结
    2019-2020-1学期 20192428 《网络空间安全专业导论》第七周学习总结
  • 原文地址:https://www.cnblogs.com/leibso-cy/p/11718800.html
Copyright © 2011-2022 走看看