Pwntools安装,一条命令就能搞定
pip install --upgrade pwntools
安装完毕后在python环境下只需使用
from pwn import *
即可导入
这会将大量的功能导入到全局命名空间,然后我们就可以直接使用单一的函数进行汇编、反汇编、pack,unpack等操作。
常用的模块有下面几个:
asm : 汇编与反汇编,支持x86/x64/arm/mips/powerpc等基本上所有的主流平台
dynelf : 用于远程符号泄漏,需要提供leak方法
elf : 对elf文件进行操作
gdb : 配合gdb进行调试
memleak : 用于内存泄漏
shellcraft : shellcode的生成器
tubes : 包括tubes.sock, tubes.process, tubes.ssh, tubes.serialtube,分别适用于不同场景的PIPE
utils : 一些实用的小功能,例如CRC计算,cyclic pattern等
Tubes读写接口
这是exploit最为基础的部分,对于一次攻击而言前提就是与目标服务器或者程序进行交互,这里就可以使用remote(address, port)产生一个远程的socket然后就可以读写了
先来看看pwntools建立连接的功能
现在一台kali上开启ftp服务

然后在安装了pwntools的机器上使用如下命令进行连接

这里是模拟了使用anonymous用户登录ftp服务的场景
pwntools还有创建监听器的功能,如下所示

上图中是自动监听41375端口,然后模仿发送hello消息,然后使用recv()进行接收。
通过pwnlib.tubes.process可以与进程进行交互

上图中是与/bin/sh进行交互,打印hello world
我们不单单可以通过编程的方式事先写好与进程交互的逻辑,还可以直接与进程交互

上图中通过interactive()进入了交互模式
无论哪种P

本文介绍Pwntools的安装与使用,涵盖汇编、反汇编、ROP链生成及elf文件操作。通过实战CTF题目welpwn,演示如何利用Pwntools进行漏洞利用,包括ROP链构造、内存泄漏、shellcode生成等关键步骤。
最低0.47元/天 解锁文章
1805

被折叠的 条评论
为什么被折叠?



