hacktricks/exploiting/tools/pwntools.md
2023-08-03 19:12:22 +00:00

5.7 KiB
Raw Blame History

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
``` pip3 install pwntools ``` # Pwn asm

从行或文件中获取操作码。

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

可以选择:

  • 输出类型原始、十六进制、字符串、elf
  • 输出文件上下文16位、32位、64位、Linux、Windows...
  • 避免字节(换行符、空字符、列表)
  • 选择使用gdb运行输出的编码器调试shellcode

Pwn 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

可选择的选项:

  • 通过可执行文件、名称或进程ID上下文16位、32位、64位、Linux、Windows...
  • 要执行的gdbscript
  • sysroot路径

禁用二进制文件的NX保护

禁用二进制文件的NX保护

pwn disablenx <filepath>

Pwn disasm

反汇编十六进制操作码

pwn disasm ffe4

可选择的选项:

  • 上下文16、32、64、Linux、Windows...
  • 基地址
  • 颜色(默认)/无颜色

Pwn elfdiff

打印两个文件之间的差异

pwn elfdiff <file1> <file2>

Pwn 十六进制

获取十六进制表示形式

pwn hex hola #Get hex of "hola" ascii

Pwn phd

获取十六进制转储hexdump

pwn phd <file>

可以选择:

  • 要显示的字节数
  • 每行突出显示的字节数
  • 跳过开头的字节数

Pwn pwnstrip

Pwn scrable

Pwn shellcraft

获取 shellcode

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
  • 在代码之前设置调试陷阱
  • 在代码之后设置调试陷阱
  • 避免使用操作码(默认:非空和换行符)
  • 运行shellcode
  • 彩色/无彩色
  • 列出系统调用
  • 列出可能的shellcode
  • 生成ELF作为共享库

Pwn模板

获取一个Python模板

pwn template

**可以选择:**主机、端口、用户、密码、路径和静默模式

Pwn unhex

从十六进制转换为字符串

pwn unhex 686f6c61

Pwn 更新

要更新 pwntools可以运行以下命令

pwn update
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥