PwnTools

Reading time: 4 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks
pip3 install pwntools

Pwn asm

从行或文件中获取 opcodes

pwn asm "jmp esp"
pwn asm -i <filepath>

可以选择:

  • 输出类型(raw, hex, string, elf)
  • 输出文件上下文(16, 32, 64, linux, windows...)
  • 避免字节(换行符、空值、列表)
  • 选择编码器调试 shellcode 使用 gdb 运行输出

Pwn checksec

Checksec 脚本

pwn checksec <executable>

Pwn constgrep

Pwn cyclic

获取一个模式

pwn cyclic 3000
pwn cyclic -l faad

可以选择:

  • 使用的字母表(默认小写字符)
  • 唯一模式的长度(默认4)
  • 上下文(16,32,64,linux,windows...)
  • 偏移量(-l)

Pwn 调试

将 GDB 附加到一个进程

pwn debug --exec /bin/bash
pwn debug --pid 1234
pwn debug --process bash

可以选择:

  • 按可执行文件、名称或 pid 上下文(16,32,64,linux,windows...)
  • 要执行的 gdbscript
  • sysrootpath

Pwn 禁用 nx

禁用二进制文件的 nx

pwn disablenx <filepath>

Pwn disasm

反汇编十六进制操作码

pwn disasm ffe4

可以选择:

  • 上下文 (16,32,64,linux,windows...)
  • 基地址
  • 颜色(默认)/无颜色

Pwn elfdiff

打印两个文件之间的差异

pwn elfdiff <file1> <file2>

Pwn hex

获取十六进制表示

bash
pwn hex hola #Get hex of "hola" ascii

Pwn phd

获取 hexdump

pwn phd <file>

可以选择:

  • 显示的字节数
  • 每行高亮字节的字节数
  • 跳过开头的字节

Pwn pwnstrip

Pwn scrable

Pwn shellcraft

获取 shellcodes

pwn shellcraft -l #List shellcodes
pwn shellcraft -l amd #Shellcode with amd in the name
pwn shellcraft -f hex amd64.linux.sh #Create in C and run
pwn shellcraft -r amd64.linux.sh #Run to test. Get shell
pwn shellcraft .r amd64.linux.bindsh 9095 #Bind SH to port

可以选择:

  • shellcode 和 shellcode 的参数
  • 输出文件
  • 输出格式
  • 调试(将 dbg 附加到 shellcode)
  • 之前(在代码之前调试陷阱)
  • 之后
  • 避免使用操作码(默认:不为 null 和新行)
  • 运行 shellcode
  • 有色/无色
  • 列出系统调用
  • 列出可能的 shellcodes
  • 生成 ELF 作为共享库

Pwn 模板

获取一个 python 模板

pwn template

可以选择: 主机,端口,用户,密码,路径和静默

Pwn unhex

从十六进制到字符串

pwn unhex 686f6c61

Pwn 更新

要更新 pwntools

pwn update

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks