学习 Linux_kernel_exploits 小记

Linux_kernel_exploits
+ 功能:自动生成UAF类型漏洞exp文件的工具,目前缺乏文档介绍,能够参考test文件下的使用实例,可是源码中缺乏dataflowanalyzer模块
+ 相关内容:源码路径https://github.com/ww9210/Linux_kernel_exploits,python

                     论文:linux

  @inproceedings{wu18fuze,
    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 + python2git

  安装须要 'pwntools', 'colorama', 'ROPgadget', 'angr', 'claripy', 'pyvex'github

  angr, qemu-system-x86_64, ROPGadget, pwntools, GDB, gef, capstone, KASAN, ftrace
app

+ 主要内容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的值)
python2.7

  qemuConfig包含的选项参考 fuze/vminstance/qemuconfig/__init__.pyssh

data = {'qemu_path' : '/usr/bin/qemu-system-x86_64'\
, 'kernel_path' : '/home/ww9210/kernels/4.14-rc1-no-kasan/arch/x86/boot/bzImage'\
, 'append':'console=ttyS0 root=/dev/sda debug earlyprintk=serial oops=panic'\
, 'hda':'/home/ww9210/develop/kuafffp/test/15649_test/img/wheezy.img'\
, 'ssh_port':10021\
, 'ram_size':'1G'\
, 'monitor_port':9210\
, 'gdb_port':1234\
, 'ssh_keyfile':'/home/ww9210/develop/kuafffp/test/15649_test/img/ssh/id_rsa'\
, 'vmlinux_file':'/home/ww9210/kernels/4.14-rc1-no-kasan/vmlinux'\
}工具

相关文章
相关标签/搜索