PWN的“武器库”
一、前言
由于今天在解决linux上遇到的问题的时候,不假思索地把一些系统配置文件内容给修改了。额,然后该文件没备份,也没拍快照。所以…… 还是默默地重装虚拟机了~
顺便捋一下配置pwn工具过程的相关操作。
我的虚拟机是:64位 的 Ubuntu 16。
安装目录:
-
VMware Tools 安装
-
pwntools 安装
-
pwndbg 安装
-
LibcSearcher 安装
-
ROPgedget 和 one_gedget 安装
二、VMware Tools 安装
安装vmware tools主要是使虚拟机可以与主机间进行粘贴复制和文件的拖拽。
我参考了CSDN中的一篇博客:https://blog.csdn.net/u013142781/article/details/50539574
然后,我对里面的某些点进一步说明一下:
- 文章中的第一点中,能够点击安装的时机是在虚拟机开机时开始,在开机后的某一个时间之后似乎就不可以了。(开机启动的过程中看到字体变深可以点了,就赶快点击)
- 文章中的第八点中:安装过程中,系统会给我们相应的提示让我们输入yes、no和文件路径。但要特别特别特别注意!最后一步是让我们选择是否卸载vmware tools…… 但系统给我们提示的是[yes],我就傻傻地点了yes。所以,出现下面的提示时,要注意了哈!
、
三、pwntools 安装
注:由于表达水平的原因,下面内容可能比较繁杂,请耐心看完~
由于虚拟机是刚刚装好的,所以先根据官方的教程安装相关的包和库:
1 sudo apt-get update 2 sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
如何在终端使用pip命令安装pwntools:
pip install pwntools
然后,很平常地报错了:
根据报错可能是pip的版本太低了,需要更新。
所以我在终端执行了pip install --upgrade pip的命令,但仍然报了这个错误!
然后我就想到要不使用pip3吧~ 所以,没安装pip3的可以执行一下下面的命令:
sudo apt install python3-pip
然后,在执行pip3 install pwntools。还是报同样的错误!
然后,我用pip3更新pip : pip3 install --upgrate pip。同样报错了!
然后,执行pip install pwntools……
就这样卡了半小时左右,百度也看了相关教程,依然没有解决问题。
在这无计可施的情况下,我突然想起我之前在Q群里问过同样的问题。当时,有位群友发了我一个py文件(我放在百度网盘里面了):
链接:https://pan.baidu.com/s/13verGSlgIA7AqrL0592Gwg 提取码:lele
下载该py文件后,拖拽至虚拟机的某个目录下,然后用python3执行该文件:
python3 get-pip.py
然后用pip3安装pwntools(我试过了pip不行):
pip3 install pwntools
终于出现了不一样的画面了,呜呜呜~
最后,检查一下:
写个C文件执行一下,测试一下常用的checksec工具:
pwntools 搞定!
三、LibcSearcher 安装
执行如下命令:
1 git clone https://github.com/lieanu/LibcSearcher.git 2 cd LibcSearcher 3 sudo python setup.py develop
这个应该没有什么大问题,结果图就不贴了。
补充一点:与LibcSearcher有同样功能的有一个网址:
https://libc.blukat.me/
对于新手的我来说,这个网址还是挺香的,嘻嘻
四、pwndbg 安装
虽然liunx系统中自带了gdb调试工具,但在pwn中往往用起来不方便。所以,下面安装一下pwndbg。看这名字,就知道是为pwn而生的!
执行如下命令:
1 git clone https://github.com/pwndbg/pwndbg 2 cd pwndbg 3 sudo ./setup.sh
然后,执行gdb检查一下:
他会自动切换到pwndbg !
六、ROPgadget 和 one_gadget 安装
1、ROPgadget
不知为何,我的ROPgadget已经安装了,但one_gadget还没安装:
ROPgadget没安装的话,可以执行下面命令(来自他处):
sudo apt-get install python-capstone git clone https://github.com/JonathanSalwan/ROPgadget.git cd ROPgadget sudo python setup.py install
2、one_gadget
我最先是执行下面两行命令(不用执行,后面会给出改进后的命令):
sudo apt -y install ruby sudo gem install one_gadget
然后,报了一个ruby版本低的错误:
改进后的命令(添加了更新版本的相关步骤):
# 1.先添加相应的仓库 sudo add-apt-repository ppa:brightbox/ruby-ng # 2.更新一下apt-get sudo apt-get update # 3.注:如果你安装了低版本的ruby,先执行下面这条命令。没有的不要理 sudo apt-get purge --auto-remove ruby # 4.安装ruby2.6 sudo apt-get install ruby2.6 ruby2.6-dev
# 5.安装one_gedget
sudo gem install one_gadget
最后检查一下:
七、最后
最后,一定一定一定要拍个快照:
菜单栏上的虚拟机 ——> 快照 ——> 拍摄快照
当以后出现问题时,就可以很快得恢复环境啦~
关于pwn的工具应该还有挺多,在后面的学习中遇到了再补充。
当然,如果在安装过程中遇到了不同的问题,可以在评论区提出或者加我QQ:1623093551 一起交流。
tolele 2022-01-02