pwn工具简介

Posted by Rohex on 2020-01-03
Words 405 and Reading Time 1 Minutes
Viewed Times

pwntools

pwntools是一个为CTF PWN题而开发的python库,可用来与本地目标或远程目标交互,生成符合编码的shellcode和payload,解析和搜寻elf文件,还有一个可以做内存泄漏的DynELF模块。
(1)基础信息返回函数、符号虚拟地址(也许不真实,可以用来求相对偏移),可访问ELF文件中如字典信息:

例如下例代码可访问plt表中write函数地址:
elf = ELF(‘stackoverflow’)
plt_write = elf.plt[‘write’]

(2)可搜索字符串,返回的是生成器,例如下例代码返回libc.so.6文件字符串迭代器:
libc = ELF(‘libc.so.6’)
libc.search(‘/bin/sh’)

(3)DynELF是pwntools中专门用来应对无libc情况的漏洞利用模块。

peda

PEDA是为GDB设计的一个强大的插件,它扩展了gdb命令,提供额很多人性化的功能,比如高亮显示反汇编代码、寄存器、内存信息,提高了debug的效率。

  1. 安装:
    git clone https://github.com/longld/peda.git ./peda
    echo “source ./peda/peda.py” >> ~/.gdbinit
  1. 使用

    • vmmap查看内存映射
    • checksec
      查看目标程序的漏洞利用缓解措施

    • pattern
      生成字符串模板 写入内存 用于定位溢出点

    • searchmem pattern start end
      查找libc库里的 “\bin\sh”

    • 查找gadgets

ROPgadget

1.peda的rop搜索到的rop gadgets较少,该专业工具可识别更多的gadget。

pwndbg

待更新…

作者声明

本文版权归作者(rohex)所有,旨在技术交流使用。未经作者同意禁止转载,转载后需在文章页面明显位置给出原文连接,否则相关责任自行承担。

This is copyright.