PWN环境搭建记录2 Ubuntu Server22.04和Windows11
慢慢来,慢慢来…
用到再慢慢加好了
Ubuntu Server22.04
参考:
https://blog.csdn.net/j284886202/article/details/139352067
https://collectcrop.github.io/blog/2025/01/24/%E5%BF%AB%E9%80%9F%E5%9C%A824-04Ubuntu%E6%90%AD%E5%BB%BApwn%E7%8E%AF%E5%A2%83/
装完了打快照。
gcc
1 | sudo apt install gcc |

py

python3-pip
1 | sudo apt install python3-pip -y |
gdb
pwndbg
注意要登得上github(傻的我
1 | git clone https://github.com/pwndbg/pwndbg |
连不上github
https://juejin.cn/post/6975347491042508813
网络有问题。测了dns能解析,换个443的站点能通,说明不是防火墙拦443

https://www.ipaddress.com/website/github.com/

https://www.ipaddress.com/website/fastly.net/

然后在/etc/hosts加入这些内容,ip以刚刚查到的为准
1 | # Github |
配完之后curl能通了,但是还有问题

后来试了些啥呢,更新git和清缓存之类的,最后卡了一天好像行了

Pwngdb
1 | git clone https://github.com/scwuaptx/Pwngdb |
然后把 ~/.gdbinit文件拷到根目录下
1 | cp Pwngdb/.gdbinit ~/ |
联合
编辑 ~/.gdbinit文件。下面的不用改,把pwndbg那个文件路径添加到peda后面就行(如果安装路径不是根目录需要改路径)。我这没装peda使用pwndbg在第一个
1 | source ~/PWN/tools/pwndbg/gdbinit.py |
然后运行gdb验证。看来仍然有网络问题,uv那里还是不通

pwntools
1 | pip3 install pwntools |
看了眼发现以前也碰到了这个问题,说安装目录不在path里

不过查了下发现path里有,那不管了。验证:

ROPgadget
1 | python3 -m pip install ROPgadge |
嗯?

one_gadget
1 | pip3 install one_gadget |
patchelf
1 | sudo apt install patchelf |

LibcSearcher
就装在线库吧
1 | pip3 install LibcSearcher |

seccomp-tools
1 | sudo apt install gcc ruby-dev |

使用:
1 | seccomp-tools dump ./pwn |
Windows11
IDA Pro
教程:https://www.52pojie.cn/thread-2006802-1-1.html
更详细的教程:https://bbs.kanxue.com/thread-285604.htm
网盘链接失效了,用这个https://pan.baidu.com/s/10LA1tRRQD_e1u3qisykepA?pwd=nr35
居然是打包好的,伟大
解压之后运行idapyswitch
1 | idapyswitch.exe --force-path ./python311/python3.dll |
然后点开ida.exe
PyQt5 Shims
ida虽然从QT5升级为QT6,但为了插件的兼容性,提供了PyQt5 Shims兼容层
官方绑定的是 PySide6。插件代码里却
import PyQt5,而 IDA 自带的 Python 环境已经没有 PyQt5 了。“PyQt5 shims” 是 IDA 提供的一个兼容垫片:它在运行时动态创建一堆假的PyQt5.*模块,实际底层转发到 IDA 自带的 PySide6。
IDA检测到不兼容时会自动弹窗,选择yes即开启

居然没有别的弹窗了。得设置一下加右键菜单什么的
配置
开启操作码显示
options>general,Number of opcode bytes, 输入10

添加右键菜单
原理是修改注册表,在\HKEY_CLASSES_ROOT\*\shell里加一项IDA9。这个*是对所有类型的文件应该,网上的教程给的是到exefile子类里加,但我喜欢全都要
下面新建一个command,这个应该意思是这项所做的操作。然后设置默认值,数值设成IDA路径 "%1"
1 | "D:\CTFTools\IDA Professional 9.2\ida.exe" "%1" |

ok

添加icon。在IDA9项里新建一个字符串,名字填icon,数值填路径

有了

插件
因为是打包好的,似乎。那就记一下
| 插件 | 功能 |
|---|---|
| LazyIDA | convert快速提取数据等 |
| Keypatch | patch指令方便 |
| Patching | patch16进制数据方便 |
| findcrypt-yara | 常见加密算法识别 |
| auto-enum | 自动恢复常见api的枚举变量 |
| Hrtng | 高亮括号,重定义关键函数声明,栈字符串识别,反ollvm等功能 |
| D810 | 去ollvm混淆脚本,安装Hrtng后可不安装该插件 |
| classinformer | 反编译C++时, 可以根据RTTI等信息综合恢复类Class的相关信息,例如继承信息,类名等。 |
| deREferencing | 调试时使用,追踪栈和寄存器指向的内容 |
| HexRaysCodeXplorer | 自动识别结构体,显示C++虚函数,生成函数结构树等 |
| DataExportPlus | 提取数据增强版 |