學習 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'\
}工具

相關文章
相關標籤/搜索