摘要:
简介 本文介绍github上的一个项目khook,一个可以在内核中增加钩子函数的框架,支持x86。项目地址在这里:https://github.com/milabs/khook 本文先简单介绍钩子函数,分析这个工具的用法,然后再分析代码,探究实现原理 钩子 假设在内核中有一个函数,我们想截断他的执行 阅读全文
摘要:
简介 在普通的电脑上,想使用USB设备,必须将插入到主机。USBIP却可以通过网络,让主机访问其他主机上的外部设备,而用户程序完全感知不到区别。 usbip的文章在这里:https://pdfs.semanticscholar.org/c7c4/cb054d75810fdb0a2affa11c288 阅读全文
摘要:
简介 在Linux内核4.19.6之前,本地用户可以通过在Sound / USB /card.c.的usb_audio_probe中错误处理一个恶意USB声音设备(没有接口)来利用ALSA驱动程序中的一个UAF。如果USB声卡报告0个接口,将触发一个错误条件,函数usb_audio_probe错误输 阅读全文
摘要:
简介 4.19.8之前,在Linux内核中,hso_probe()函数中发现了一个缺陷,该函数从USB设备(作为u8)读取if_num值,并且不需要对数组进行长度检查就使用它来索引数组,从而导致在hso_probe()或hso_get_config_data()中读取OOB内存。攻击者使用伪造的US 阅读全文
摘要:
简介 在4.19.9之前的Linux内核中发现了一个问题。USB子系统在读取与驱动程序/ USB /core/usb.c中的_usb_get_extra_descriptor相关的额外描述符时错误地检查了大小。 补丁分析 补丁见这里:https://git.kernel.org/pub/scm/li 阅读全文
摘要:
简介 最近看一些USB fuzzing方面的东西,总结一下。主要是软件方面的工作。 vUSBf 文章在这里:https://www.blackhat.com/docs/eu-14/materials/eu-14-Schumilo-Dont-Trust-Your-USB-How-To-Find-Bug 阅读全文
摘要:
简介 这是USB core中的一个拒绝服务漏洞。带有精心设计的描述符的恶意USB设备可以通过在配置描述符中设置过高的bNumInterfaces值来导致内核访问未分配的内存。虽然在解析期间调整了该值,但是在其中一个错误返回路径中跳过了该调整。该漏洞出现在4.15之前 补丁分析 看一下补丁怎么写的:h 阅读全文
摘要:
简介 本文介绍USB驱动程序编写的流程,分析一个键盘的USB程序,基于linux-2.6.39 USB驱动概要 分层 主机层面的USB驱动的整体架构可以分成4层,自顶到下依次是 1、USB设备驱动:本文主要讲述的内容,利用USB核心提供的编程接口编写具体硬件设备与系统的交互逻辑 2、USB核心:li 阅读全文
摘要:
简介 这是名称空间的漏洞,文章先介绍user namespaces的简单只是,然后从补丁入手,分析源码,找到漏洞出现的原因。因为对这块的源码不是那么熟悉,所以着重描述源码分析的部分,其他可以参考末尾的链接 本文出现的代码都基于linux-4.15.4 namespace linux中有实现名称空间, 阅读全文
摘要:
0、资料 几个主要的网站 angr的github:https://github.com/angr angr的document:https://docs.angr.io/ angr的api:https://angr.io/api-doc/ 1、angr安装 我的实验环境是Ubuntu14.04,显示安 阅读全文