Linux_kernel_exploits
阅读原文时间:2023年07月15日阅读:2
  • 功能:自动生成UAF类型漏洞exp文件的工具,目前缺少文档介绍,可以参考test文件下的使用实例,但是源码中缺少dataflowanalyzer模块

  • 相关内容:源码路径https://github.com/ww9210/Linux_kernel_exploits

  • 论文:

      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 /> }```

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章