Ubuntu20.04.06 PWN环境搭建
一、 安装ubuntu必备的软件环境
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。
软件源更新
sudo cp /etc/apt/source.list /etc/apt/source.list.bak //1、备份文件
sudo vim /etc/apt/source.list //2、打开文件
//3、删除文件内容(自己想怎么删怎么删,文件删了重新创建都可以)
//4、复制以下清华源到source.list文件中
//5、接下来两步完成软件源更新
sudo apt update
sudo apt upgrade
需要注意的是,这个源在我系统上可用,在你系统上不一定可用。如果不可用,多搜搜Ubuntu国内源。另外我之前经常用阿里的源,阿里的源随ubuntu版本变化也各不一样
#添加清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse
基础软件安装
sudo apt install python3-pip python-is-python3 python3-dev ruby gcc vim git
有些软件并没有安装,原因是装pwndbg的时候,脚本会一块儿全自动安装上
pip源更换
直接用下面的代码,把默认的源改成清华的,省事多了
sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
rubygem换源
还是用下面代码,得稍作修改。
sudo gem sources -l #查看源有什么,,有什么删除什么
#讲道理,一开始安装就应该是后面那个默认源,我接下来的图片是我改过,所以不一样
#https://mirrors.tuna.tsinghua.edu.cn/help/rubygems/ 清华源还有使用教程,真棒
sudo gem sources --add gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/
sudo gem sources -l #再看一下是不是设置成功了
二、 pwn软件安装
pwntools
这个软件自带ROPgadget、checksec,还带什么我不知道,反正我就用这两个。。其他用的还是自己装
sudo pip install pwntools //有没有感觉很快。。。可能没对比,感觉不出来
Pwngdb(看清楚名字)
以下命令是复制的,可以直接复制粘贴上去,也可以像我一样放在我自己准备的文件夹中
cd ~/
git clone https://github.com/scwuaptx/Pwngdb.git
cp ~/Pwngdb/.gdbinit ~/ //先把这个配置文件考过去,后面得打开修改一下
由下图可以看到,我在用户superman 的根目录下专门创建了一个PWN_ENVIRNMENT的文件夹,用来存放各种pwn的道具。就是因为我创建了一个文件夹,所以上面拷贝到~/目录下的.gdbinit内容就需要修改一下了。
pwndbg
//================新=====2024-9-10修改======================
//cd ~/PWN_ENVIRNMENT //我自己设置的目录,不用这个目录也行啦
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
注:如果apt系统源或者pip源换的不对,第三条命令可能失败。因为它将下载所有需要的包。
//修改配置
vim ~/.gdbinit
原来的配置如下图所示
我们需要将~/.gdbinit修改成下面的样子(按实际情况修改,别完全抄我的),我改成了绝对路径。
LibcSearcher
pip3 install LibcSearcher
2025-6-25更新
#上面使用pip的方式安装的LibcSearcher我用过一段时间发现包含的库不全
#还是用git的方式安装最新版本最好
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
sudo python setup.py develop
seccomp-tools
#2025-6-25 由于安装seccomp-tools报错,提示需要依赖ruby-dev,所以我也添加上安装命令
sudo apt install gcc ruby-dev
sudo gem install seccomp-tools
one_gadget
sudo gem install one_gadget
我自己装的时候,存在一些问题,这个命令输入,卡在界面不动,但是输入gem install one_gadget过一会儿就会出现/home/superman/.gem/ruby/2.7.0/bin/one_gadget /usr/bin/ 目录没有权限写入。。。
解决方案1:到官网下载ruby,然后直接用下载的gem命令下载one_gadget(我试了下,没成功,有一些报错,我也没认真弄,所以看到报错立马放弃了)
解决方案2:使用以下命令
gem install one_gadget --user-install
这样实际是安装好了,然后打开那个WARNING的目录:/home/superman/.gem/ruby/2.7.0/bin/one_gadget /usr/bin/ ,可以看到里面存在一个one_gadget,建立软链接即可全局使用。
libc_database
#下载项目
git clone https://github.com/niklasb/libc-database.git
# 建立一个libc偏移量数据库
./get # List categories
./get ubuntu debian # Download Ubuntu's and Debian's libc, old default behavior
./get all # Download all categories. Can take a while!
sudo git clone https://github.com/NixOS/patchelf.git
cd patchelf
./bootstrap.sh
./configure
make
make check
sudo make install
patchelf --version //看一下是否安装成功
三、 总结
环境差不多了,如果以后有什么新的好的工具,我也会更新上来。装了好几次的pwn环境,发现总是存在各种bug,所以记一下这次我装机的过程与资源,以便我以后重装。以下的链接第四个算是一个学习了,入门的朋友有兴趣可以看看。
参考链接:
https://bbs.kanxue.com/thread-269743.htm
https://blog.youkuaiyun.com/juluwangriyue/article/details/108617283
https://blog.youkuaiyun.com/qcwwww/article/details/122800488
https://www.cnblogs.com/libug/p/17052184.html