# 环境搭建
# 虚拟机安装
-
安装VMware Workstation PRO
-
下载Ubuntu镜像
https://ubuntu.com/download/desktop
多个版本,选择Ubuntu 20.04.3 LTS即可
-
打开VMware Workstation PRO,选择创建新的虚拟机。

选择下载的Ubuntu镜像

输入用户名和密码(自定)

设置虚拟机安装位置(一般在D盘新建一个文件夹专门放虚拟机)

后面全部性能设置默认就好
-
安装完成后,输入之前设置的密码登录,弹窗全部跳过即可。
# 虚拟机配置
# 1.换源
因为Ubuntu初始源在美国,从国内访问比较慢,所以这里换成清华源(阿里源)
首先备份一下原文件:
cd /etc/apt sudo cp sources.list sources.list.bak编辑sources.list
sudo gedit sources.list将其中的内容替换为如下内容:(20.04LTS清华源)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 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(20.04LTS阿里源)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse #deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse* 更新一下源和已安装的软件包 ```bash sudo apt update sudo apt upgrade
# 2.必备软件安装
# Pip3
Python包管理工具,很重要。
Ubuntu20默认安装python3,故安装pip3。
安装后pip/pip3都可以使用。
sudo apt-get install python3-pip
# Git
git的功能是拷贝一个git仓库到本地,通常用来下载Github上的工具。
sudo apt-get install git
Github有时候连接不上,这里改一下host。
在网站www.ipaddress.com查找下面两个域名对应的ip
github.global.ssl.fastly.net github.com然后修改host文件
sudo gedit /etc/hosts
保存后重启虚拟机即可。
# Vim
文本编辑器,功能很强大,具体使用需要自己下去学习。
sudo apt-get install vim
# Pwntools
pwntools是一个CTF框架和漏洞利用开发库,涵盖了pwn题利用脚本所需要的各种工具。包括方便的IO交互函数,ROP、格式化字符串等利用的自动化工具,shellcode生成器等等,是目前最好用也是仅有的大型pwn利用框架。能节省大量编写脚本的时间。
极其重要!!!
python3-dev git libssl-dev libffi-dev build-essential
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install --upgrade pwntools
# 32位依赖库
sudo apt-get install lib32ncurses5-dev
sudo apt-get install lib32z1
# Pwndbg/Peda/Gef
GDB是一款功能强大的程序调试工具,是动态调试必不可少的工具,可以很方便的查看堆中链表的状态,各个地址的内容。GDB拥有多个插件(peda、pwndbg、gef等)这些插件提供了一些额外的命令,在可视化和功能上都进行了扩展。
推荐安装一个插件即可,多个插件的切换与系统环境变量相关,自行百度。
- Pwndbg
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
- Peda
git clone https://github.com/longld/peda.git~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
- Gef
wget -q -O-https://github.com/hugsy/gef/raw/master/scripts/gef.sh| sh
Pwndbg/Peda/Gef插件可以自由切换,
sudo gedit ~/.gdbinit打开gdb环境变量路径文件
以使用pwndbg为例:
source /home/coldwinds/pwndbg/gdbinit.py #source ~/peda/peda.py需要使用哪一个插件,在其他插件前面加上
#注释即可
# 3.实用软件安装
# ROP-garget
用来查找程序中一些指令的地址,64位程序中运用较多。
sudo pip3 install capstone
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
sudo python3 setup.py install
# One_gadget
可以找到libc中的execve('/bin/sh', NULL, NULL),在构造其他条件后,利用一个Gadget就可以GetShell。
sudo apt install ruby
sudo apt-get install gem
sudo gem install one_gadget
# LibcSearcher
在开启地址随机化后,通过泄露某一个函数的地址偏移,利用LibcSearcher可以搜索到该程序使用的libc版本,从而计算出其他函数的地址。
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
sudo python3 setup.py develop
# seccomp-tools
用来读取seccomp沙箱规则。
sudo apt install gcc ruby-dev
sudo gem install seccomp-tools
