ioctlance-用于在X64 WDM驱动程序中搜索漏洞的工具

taibeihacker

Moderator
AVvXsEhNiIicZ7PQqehi2sHm2pGi0BCFnZZQze0rvAAL1hi1kzIRDkN7GYTj3vQDCne6EgAPXijG2bN7wDS24fh5QLyfArmfcFbB8ivK3BSg0_pvyo7Xfe9e3znVn_3DKLnVydp9EsgiCxiLN8FWqX1hlvWycJJDQxQygl51p9RmWSOMwiRdG03gaDidf0zlWMJO=s320

Description​

在Code Blue 2023上提出,该项目标题为WDM驱动程序中具有符号执行和Taint Analysis中的WDM驱动程序中的增强漏洞狩猎,该项目介绍了IOCTLANCE,该工具增强了其检测Windows驱动程序模型(WDM)驱动程序中各种漏洞类型的能力。在涉及104个已知脆弱的WDM驱动程序和328个未知n的全面评估中,Ioctlance在26个不同的驱动因素中成功公布了117个以前未知的漏洞。结果,报告了41个CVE,其中包括25例拒绝服务的案例,5个访问控制不足的实例以及11个特权提升的例子。

Features​

Target Vulnerability Types​

map physical memory controllable process handle buffer overflow null pointer dereference read/write controllerable address arbitrary shellcode execution arbitrary wrmsr arbitrary out dangerous file operation

Optional Customizations​

length limit loop bound total timeout IoControlCode timeout recursion symbolize data section

Build​

Docker (Recommand)​

docker build .

Local​

DPKG - ADD-Architecture I386
apt-get更新
apt-get安装git build-esential python3 python3-pip python3-dev htop htop vim sudo \
OpenJDK-8-JDK ZLIB1G:I386 LIBTINFO53:I386 LIBSTDC ++ 6:I386 LIBGCC1:I386 \
libc6:i386 libssl-dev nasm binutils-multiarch qtdeclarative5-dev libpixman-1-dev \
libglib2.0-dev debian-archive-keyring debootstrap libtool libtool libreadline-dev cmake \ cmake \
libffi-dev libxslt1-dev libxml2-dev
pip安装angr==9.2.18 ipython==8.5.0 ipdb==0.13.9

Analysis​

#python3 Analysis/ioctlance.py -H
usage: ioctlance.py [-h] [-i ioctlcode]
[-g global_var] [-a address] [-e排除] [-o] [-r] [-c] [-d]
小路
位置参数:
路径dir(包括子目录)或到达驱动程序的文件路径进行分析
可选参数:
-h, - 赫尔普显示此帮助消息和退出
-i ioctlcode,-ioctlcode ioctlcode
分析指定的Iocontrolcode(例如22201c)
-t total_timeout,-total_timeout total_timeout
整个符号执行的总超时(默认为1200,0 to Unlimited)
-t超时, - 超时超时
分析每个iocontrololcode的超时(默认40,0到无限)
-l长度,长度
技术指令数量l Engthlimiter(默认为0,0)
无限)
-b绑定,绑定
技术界限(默认为0,0 to Unlimited)
-g global_var,-global_var global_var
象征.DATA段中有多少个字节(默认为0 hex)
-a地址, - 地址地址
IOCTL处理程序的地址直接开始使用空白状态狩猎(例如
140005c20)
-e排除, - 排除
排除功能地址(例如140005C20,140006C20)
-o, - overwrite覆盖x.sys.json如果已分析x.sys(默认为false)
-r, - 回归如果检测递归(默认为false),请勿杀死状态
-c, - 完整获取完整的基本状态(默认错误)
-d, - 分析(默认为false)

Evaluation​

#python3评估/statistics.py -H
USAGE: Statistics.py [-h] [-w]路径
位置参数:
路径目标dir或文件路径
可选参数:
-h, - 赫尔普显示此帮助消息和退出
-w,-wdm将WDM驱动程序复制到路径/WDM

Test​

中,编译了测试中的测试示例以生成测试驱动程序文件。对Drvier文件运行IOCTLANE。

Reference​

UCSB-Seclab/popkorn-artifact eclypact/螺丝驱动器koutto/ioctlbf生活在土地驱动程序之外
 
返回
上方