功能:自动生成UAF类型漏洞exp文件的工具,目前缺少文档介绍,可以参考test文件下的使用实例,但是源码中缺少dataflowanalyzer模块
论文:
title={FUZE: Towards Facilitating Exploit Generation for Kernel Use-After-Free Vulnerabilities},
author={Wu, Wei and Chen, Yueqi and Xu, Jun and Xing, Xinyu and Gong, Xiaorui and Zou, Wei},
booktitle={27th USENIX Security Symposium (USENIX Security 18)},
organization={USENIX Association}
}
测试环境:Ubuntu16.04 + python2
pwntools
, colorama
, ROPgadget
, angr
, claripy
, pyvex
angr
, qemu-system-x86_64, ROPGadget, pwntools, GDB, gef, capstone, KASAN, ftrace
主要内容fuze,包含'fuze.vminstance','fuze.concolicexecutor','fuze.statebroker', 'fuze.kernelrop'
其中vminstance用于管理虚拟机,concolicexecutor用于执行
安装方法:
pip install networkx==2.2 cle==7.8.2.21 archinfo==7.8.2.21 pyvex==7.8.2.21 claripy==7.8.2.21 angr==7.8.2.21 pip install tox python setup.py install --user
修改python2.7/dist-packages/pwntools-3.14.0.dev0-py2.7.egg/pwnlib/elf/elf.py中的55行1749行的ENUM_P_TYPE,改为ENUM_P_TYPE_BASE
查看测试用例
需要在测试前配置qemu_config(包含vmlinux_path、monitor_port等),function_call_to_disable列表,callbacks_to_monitor列表,expected_start_rip,extra_bp列表(可以为空),obj_base(rdx的值)
qemuConfig包含的选项参考 fuze/vminstance/qemuconfig/__init__.py
, 'kernel_path' : '/home/ww9210/kernels/4.14-rc1-no-kasan/arch/x86/boot/bzImage'<br /> , 'append':'console=ttyS0 root=/dev/sda debug earlyprintk=serial oops=panic'<br /> , 'hda':'/home/ww9210/develop/kuafffp/test/15649_test/img/wheezy.img'<br /> , 'ssh_port':10021<br /> , 'ram_size':'1G'<br /> , 'monitor_port':9210<br /> , 'gdb_port':1234<br /> , 'ssh_keyfile':'/home/ww9210/develop/kuafffp/test/15649_test/img/ssh/id_rsa'<br /> , 'vmlinux_file':'/home/ww9210/kernels/4.14-rc1-no-kasan/vmlinux'<br /> }```
手机扫一扫
移动阅读更方便
你可能感兴趣的文章