BEIH/F:总线枚举接口劫持/伪造

作者:Azy
日期:2009-5-31

如果说Audio Mixer劫持(AMH)是一种较为被动的穿越,那么BEIH/F则是主动的攻击。通过BEIH/F可以穿越地上HIPS/主动防御产品加载驱动。
    该方法原理与amh是相同的,最后驱动的加载也是走ExpWorkerThread->PipDeviceActionWorker->IopLoadDriver这条路径,从而绕过了HIPS/主防产品的拦截。但触发攻击的方式完全不同。
    OS中存在一些音频驱动,它们的Start=3,并且Enum键下的值均为0。这些驱动是在系统需要的时候动态枚举并安装总线接口,然后加载相应的驱动文件。
    那么如何触发动态枚举安装接口并加载这些驱动呢?答案就是给swenum驱动发送一个特别的I/O Control Code来触发。在InputBuffer中填入欲加载驱动所在接口的GUID值,然后发I/O control Irp到swenum驱动,便可完成一次触发。内核在接到上述Irp后会扫描总线并动态进行接口安装,然后调用IoInvalidateDeviceRelations来触发最后的驱动安装。
    由于这一过程完全是人为可控,并且总线枚举的GUID信息全部存储在注册表中,因此我们可以事先篡改仿造HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SW键及HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses下面对应的GUID值及其它接口信息。这样一来,便可成功完成一次BEIH/F攻击。

demo download

BEIH/F:总线枚举接口劫持/伪造相关推荐

  1. 连接CPU和计算机的总线,什么是计算机总线 总线和接口的区别

    什么是计算机总线 这个和计算机主机的构造有关系,首先,我们都知道计算机的cpu由两个部分组成,一个是控制单元,另一个是算术逻辑单元,cpu的控制单元负责计算机各个组件的协调与沟通,什么是沟通?就是数据 ...

  2. AXI接口协议详解-AXI总线、接口、协议

    转自:https://cloud.tencent.com/developer/article/1695010 AXI接口协议详解-AXI总线.接口.协议 AXI 总线 上面介绍了AMBA总线中的两种, ...

  3. 总线与接口(内部总线、系统总线、外部总线)

    这种分类方式是根据离芯片远近等级分类的. 1.1 内部总线 内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连. 1.1.1 I2C总线 I2C(Inter-IC)总线10多年前由Ph ...

  4. AXI总线详解-总线和接口以及协议

      总线.接口和协议,这三个词常常被联系在一起,但是我们心里要明白他们的区别.   总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线.地址线.控制线等构成.接口是一种连接标准,又 ...

  5. 硬盘接口 PCI-E接口 PCI-E总线 MiniPCIe接口

    固态硬盘的出现,彻底打破了机械硬盘多年来在电脑硬件领域的统治地位.相比于机械硬盘,固态硬盘更高的传输性能,让普通用户和发烧玩家的使用体验均得到了成倍的提升. 在这场存储的革命中,为了实现更快的速度.更 ...

  6. 固态硬盘的总线、接口、协议之间的关系和区别

    本文主要摘录自Up主硬件茶谈的视频,原视频链接:点我跳转 ​ 在硬盘选购时,主要考虑三个规格.分别是总线(bus).协议(protocol).接口(interface). 概览 协议.总线和接口都能限 ...

  7. 嵌入式系统设计中常用总线和接口

    任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU 直接连接,那么连线将会错综复杂,甚至难以实现.为了简化硬件电路设计.简化系统结构,常用一组线 ...

  8. rs232通信接口单片机51c语言,AT89C51单片机控制的CAN总线RS232接口电路设计

    内容介绍 原文档由会员 jiji888 发布 AT89C51单片机控制的CAN总线/RS232接口电路设计 1.44万字 我自己原创的毕业设计,今年最新的,仅在本站独家提交,大家放心使用 目录 引言1 ...

  9. Linux音频驱动之四:I2S 总线操作接口

    本文是基于mini2440开发板Linux版本号是linux-2.6.32.2的学习笔记 一. I2S driver 的probe函数 映射虚拟内存,IIS寄存器的起始地址是:0x55000000 s ...

最新文章

  1. 网格弹簧质点系统模拟(Spring-Mass System by Verlet Integration)附源码
  2. 十月 android版本分布,安兔兔发布2018年10月份Android手机性能排行榜
  3. java paint 怎么用_java如何使用paint方法画图
  4. python 字符串格式符
  5. mysql 上一篇_mysql取上一篇和下一篇的查询
  6. linux vfs open函数,Linux VFS中open系统调用实现原理
  7. Java Stream API进阶篇
  8. 工作感想:浅论Java教学工作
  9. mysql 40014无效,Oracle问题-ORA-14400:插入的分区关键字未映射到任何分区
  10. 51Nod 1256 乘法逆元 Label:exgcd
  11. 虚拟机修改hosts文件
  12. MATLAB基础篇——线性代数应用
  13. Proximal Algorithms
  14. python中unicode编码的url如何正确解码
  15. 生命的活力-负熵-秩序-结构
  16. Vue3.0笔记(B站天禹老师)
  17. linux里进程状态为sl,Linux ps state sl+是什么意思
  18. 微信群发c语言,微信群群发.py
  19. Elasticsearch深度探秘搜索技术如何手动控制全文检索结果的精准度
  20. 十一、MySQL触发器

热门文章

  1. 《缠中说禅108课》17:走势终完美
  2. toad for mysql 彻底卸载_toad for mysql 下载
  3. python编译安装详解_linux 编译安装python3.6的教程详解
  4. Java实现贪吃蛇小游戏
  5. 数据库原理第六章课后题答案(第四版)
  6. Unittest数据驱动
  7. JAVA编程常见错误集锦
  8. Excel制作小学数学加减法计算题库,实现孩子每日计算训练不重样
  9. “战”在新高地,星沙加“数”前行
  10. devc 如何编写java,Android For JNI(1)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序...