Pwn虚拟环境搭建
Pwn虚拟环境搭建
1. ubuntu虚拟机创建(网上安装很多)















2.安装各种工具

1. 设置root账户
用 sudo 命令执行 passwd 命令:
1 | sudo passwd root |
随后输入你希望设置的 root 密码,即可完成设置。

2. git安装
sudo apt install git

3. curl安装
sudo snap install curl
4. vim安装
sudo apt install vim
5.gcc安装
sudo apt install gcc

6. python3-pip安装
sudo apt install python3-pip

7. qume安装
sudo apt-get install qemu-user qemu-system

8. gdb-multiarch安装
sudo apt-get install gdb-multiarch

9. pwn工具安装
先给pwn创建一个文件夹。然后再创建一个tools文件夹
1 | cd ~ |

1. pwntools安装
1 | git config --global --unset http.proxy |

下面第三行指令,pip安装会有环境依赖相关的警告。这里把警告给删了:
1 | sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.bk |
这里的x我们换成12,需要和本机python环境匹配


1 | git clone https://github.com/Gallopsled/pwntools.git |




2. pwndbg安装
1 | git clone https://github.com/pwndbg/pwndbg.git |


插件依赖安装
1 | sudo pip install keystone-engine ropper keystone-engine |
gdb挂在插件:
1 | sudo vim ~/.gdbinit |
gdbinit内容:

执行gdb查看挂载是否成功:

3.ROPgadget安装
1 | cd PWN/tools |


4. seccomp-tools安装
1 | sudo apt install gcc ruby-dev |

5. patchelf 安装
1 | sudo apt install patchelf |

6. ARM软件包
具备ARM交叉编译gcc与ARM程序动态链接库
1 | sudo apt-get install gcc-arm-linux-gnueabi |

7. MIPS软件包
1 | sudo apt-get install gcc-mips-linux-gnu |

3. 美化
1. 安装 zsh
1 | sudo apt-get install zsh |

检查shell配置:
1 | cat /etc/shells |

将 zsh设置为系统默认 shell
1 | chsh -s /bin/zsh |

执行完之后重启ubuntu

重启后新开一个 Shell Session,输入0

2. 安装 oh-my-zsh
使用 oh-my-zsh 来修改 zsh 的主题和安装常用的插件
使用 curl 下载脚本并安装:
1 | sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
如果安装报错。“Error: git clone of oh-my-zsh repo failed”。

则根据下面的内容修改:
先下载云安装包:
1 | wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh |

1 | vim install.sh |

找到以下部分:
1 | # Default settings |
把
1 | REPO=${REPO:-ohmyzsh/ohmyzsh} |
替换为:
1 | REPO=${REPO:-mirrors/oh-my-zsh} |

编辑后保存
运行前先给install.sh权限
1 | chmod 777 install.sh |

执行完运行安装即可

3. 修改主题
我使用powerlevel10k 主题
oh-my-zsh 安装这个款主题的方法:
使用 git 将文件 clone 只指定文件夹 ~/.oh-my-zsh/custom/themes/powerlevel10k ,命令如下:
1 | git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k |
使用 vim 编辑 .zshrc,键入以下内容并保存:
1 | ZSH_THEME="powerlevel10k/powerlevel10k" |


执行 source ~/.zshrc 配置生效,这时会提示对主题进行配置,按照提示进行即可。
4. 插件
1 | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
zsh-autosuggestions是一个命令提示插件,,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速采用建议。
zsh-syntax-highlighting 是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色
z 是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。
修改配置文件vim .zshrc
1 | plugins=( |
执行 source ~/.zshrc
4. 创建共享文件夹
1. 虚拟机设置
在关机模式中操作
2. 创建 hgfs 目录:
1 | sudo mkdir /mnt/hgfs |
3. 挂载共享目录
1 | sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022 |
3. 设置开机自动挂载
1 | sudo vim /etc/fstab |
文件最后面插入
1 | .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,umask=022 0 0 |
4. 创建桌面快捷方式
1 | 命令:ln -s [绝对路径] ~/桌面/Name |
5. 遇到的问题
1. 重启后卡住
按ctrl + alt呼出鼠标关闭VM软件(不要在任务管理器中结束任务)
2. 换源
!!!在安装pwngdb时执行到./setuo.sh卡住,大概率是由于网络的问题,所以建议进入系统后优先进行换源。
打开「软件和更新」,切换到「Ubuntu 软件」选项卡。
在「下载自」下拉列表中,选择「其他」。
点击「选择最佳服务器」自动测试并替换最优软件源。
或者在「中国」列表中手动指定软件源,推荐选择:
阿里云 mirrors.aliyun.com
腾讯云 mirrors.cloud.tencent.com
华为云 mirrors.huaweicloud.com

执行sudo apt-get update && sudo apt-get upgrade更新软件包
3. zsh: command not found
执行
1 | vim ~/.zshrc |
找到 “# User configuration”
在其下面添加下面内容
1 | source ~/.profile |
如果没有’# User configuration’,就直接把上面内容添加到 ~/.zshrc 里面
在终端里执行
1 | source ~/.zshrc |
4. ROPgadget安装报错
运行GOPgadget报错#
运行之后可能会发现报错
1 | Traceback (most recent call last): |
解决
1 | sudo cp -r scripts /usr/local/lib/python3.6/dist-packages/ROPGadget-6.6.dist-info |
scripts后面复制之前报错中最后显示的路径复制到上面的路径中
5. ubuntu24进入后黑屏卡住
先关闭3D图形加速功能,重启进入Ubuntu桌面,调出终端,执行更新命令
1 | sudo add-apt-repository ppa:oibaf/graphics-drivers |
更新完成后,打开3D图形加速功能,重启Ubuntu。
6. 解决vmware虚拟机启动失败:指定的磁盘需要修复,打不开磁盘:“”或它所依赖的某个快照磁盘
-
删除以 .lck 结尾的文件。
-
在虚拟机目录为之内找到以下几个文件,.vmdk文件是需要修复的文件

在上述文件目录中输入cmd,在弹出的终端内输入 vmware-vdiskmanager -R "待修复.vmdk文件名"
7. 安装完pwntools后命令行checksec无法调用
添加环境变量 ~/.local/bin到.bashrc
1 | vim .zshrc |
整体配置参考:2024最新pwn环境配置
参考视频:2024最新pwn环境配置与基础讲解