[TOC]
kali安装PWN环境 1 2 3 pwntools是一个python 的库,方便解pwn题的时候编写漏洞利用的exp ,在python2和python3 中都支持,我们这里就安装在python3 中就可以了,命令如下: python3 -m pip install --upgrade pwntools
1 2 3 安装好之后,输入python,进入python3环境,试一试这个库能不能用,输入如下代码: from pwn import *asm ("xor eax, eax" )
1 如上图,成功输出对应的bytes 流,说明pwntools安装成功。
安装gdb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 命令如下,一共六条命令,按顺序执行即可,首先下载gdb压缩包,本文安装的是12.1 版本: wget http://ftp.gnu.org/gnu/gdb/gdb-15.1 .tar.gz 然后解压: tar -zxvf gdb-15.1 .tar.gz 解压后进入gdb-12.1 目录下: cd gdb-15.1 添加python 配置,需要根据python 的具体版本进行修改,我的是python3 .10 ,不知道自己python 版本的直接命令行输入python ,进入解释器的时候会提示。 ./configure --with-python ='/usr/bin/python3.10' 最后运行如下两条命令,make 的时间可能比较长,耐心等待一会。 make sudo make install 安装完成后,输入gdb,如果能进入到gdb的命令行界面,就说明成功了
添加插件peda(py3需要用更低的gdb版本) 1 2 3 4 peda可以在调试程序的时候清除的看到寄存器、代码段、栈区的存储内存情况,是一个很方便的gdb插件工具。运行如下两行命令使用git获取peda,并添加到gdb环境,这样在下次在启动gdb的时候就自动进入gdb-peda模式: git clone https://github.com/longld/peda.git /usr/bin/peda echo "source /usr/bin/peda/peda.py" >> ~/.gdbinit安装完成之后,输入gdb,看看是否自动进入gdb-peda模式,如果是下图的状态,就成功了:
安装 zsh 1 2 3 4 5 6 7 8 9 10 ## zsh 介绍 zsh 是一个兼容 bash 的 shell,相较 bash 具有以下优点: - Tab 补全功能强大。命令、命令参数、文件路径均可以补全。- 插件丰富。快速输入以前使用过的命令、快速跳转文件夹、显示系统负载这些都可以通过插件实现。- 主题丰富。- 可定制性高。关于 zsh 的更多的信息,可以访问 [zsh.org ](https://www.zsh.org/ )查看。
1 2 3 macOS: brew install zsh ubuntu: sudo apt-get install zsh ArchLinux/Manjaro sudo pacman -S zsh
1 2 3 使用 chsh -s /bin/zsh 命令将 zsh 设置为系统默认 shell。新开一个 Shell Session,就可以开始使用 zsh 了。 输入 q 会直接退出配置引导,下一次运行 zsh 时会再次进入配置引导。 输入 0,也会退出配置引导,但是会在当前用户目录生成一个空白的文件 .zshrc ,下一次运行时就不会再进入配置引导。下一次运行时是否再进入配置引导,取决于用户目录下是否存在.zshrc 文件。
1 由于 zsh 配置较为复杂,推荐大家使用配置管理工具来配置 zsh,花很少时间就可以得到一个称手的 zsh。下面介绍如何使用 oh-my -zsh 来修改 zsh 的主题和安装常用的插件。
1 2 3 4 5 6 7 8 9 10 安装 oh -my-zsh 安装 oh -my-zsh 之前,需要确保本地已经安装了 git。 使用 curl 下载脚本并安装: sh -c "$ (curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 或者使用 wget 下载脚本并安装: sh -c "$ (wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)" 在配置过程中,脚本会提示将 zsh 设为默认的 shell:
1 2 3 4 这样就安装好 oh-my-zsh 了,下面我们开始通过 oh-my-zsh 来配置 zsh 。 配置 zsh 修改主题 在 https://gi thub.com/ohmyzsh/ ohmyzsh/wiki/ Themes 中查看内置的主题样式和对应的主题名。这些内置主题已经放在 ~/.oh-my-zsh/ themes 目录下,不需要再下载。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 除了内置主题外,还可以选择其他开源的主题,强烈推荐尝试一下 powerlevel10k 主题,一个顶十个,项目地址为:https://github.com/romkatv/powerlevel10k oh-my-zsh 安装这个款主题的方法:使用 git 将文件 clone 只指定文件夹 ~/.oh-my-zsh/custom/themes/powerlevel10k ,命令如下: git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME /.oh-my-zsh/custom} /themes/powerlevel10k 使用 vim 编辑 .zshrc,键入以下内容并保存: ZSH_THEME="powerlevel10k/powerlevel10k" 最后,执行 source ~/.zshrc 配置生效,这时会提示对主题进行配置,按照提示进行即可。 安装插件 oh-my-zsh 已经内置了 git 插件,内置插件可以在 ~/.oh-my-zsh/plugins 中查看 ,下面介绍一下我常用的三个插件,更多插件可以在 awesome-zsh-plugins 里查看。 zsh-autosuggestions zsh-autosuggestions 是一个命令提示插件,,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速采用建议。效果如下:
1 2 3 4 5 6 7 8 9 10 11 12 安装步骤: 把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录: git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom} /plugins/zsh-autosuggestions 在 .zshrc 中,把 zsh-autosuggestions 加入插件列表: plugins=( zsh-autosuggestions ) 开启新的 Shell 或执行 source ~/.zshrc,就可以开始体验插件。 zsh-syntax-highlighting zsh-syntax-highlighting 是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。效果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 安装步骤: 把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录: git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom} /plugins/zsh-syntax-highlighting 在 .zshrc 中,把 zsh-syntax-highlighting 加入插件列表: plugins=( zsh-autosuggestions zsh-syntax-highlighting ) 开启新的 Shell 或执行 source ~/.zshrc,就可以开始体验插件了。 z z 是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。效果如下: 安装步骤: 由于 oh-my-zsh 内置了 z 插件,所以只需要在 .zshrc 中,把 z 加入插件列表: plugins=( zsh-autosuggestions zsh-syntax-highlighting z ) 开启新的 Shell 或执行 source ~/.zshrc,就可以开始体验插件了。 设置 alias zsh 支持为较长命令设置一个别名,这样在使用时可以快捷输入。 这里以 cd ~/projects/hackerneo/blog 这个命令来举例: 在 .zshrc 中键入: alias cdblog="cd ~/projects/hackerneo/blog" 开启新的 Shell 或 source ~/.zshrc,以使配置生效。生效后就可以使用 cdblog 进行跳转了。 除了自己设置 alias 之外,一些插件也内置内很多 alias 。最常用的是 git 插件内置的 alias 。例如,ga 就代表 git add,更多 git 插件内置 alias 可以在 git plugin alias 中查看。 其他 遇事不决,多敲 Tab。
1 2 3 4 5 6 7 8 9 10 11 12 13 ohmyzsh主题保存路径:~/.oh-my-zsh/themes 下载一个推荐的主题:git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME /.oh-my-zsh/custom} /themes/powerlevel10k 使用 vim 编辑 .zshrc,vi ~/.zshrc键入以下内容并保存: ZSH_THEME="powerlevel10k/powerlevel10k" 最后,执行 source ~/.zshrc 配置生效,这时会提示对主题进行配置,按照提示进行即可。 配置出错就重启zsh:exec zsh 其次有一个问题是重启zsh后无法执行ping和ifconfig。下载一下网络配件: sudo apt install net-tools然后自己再改改配色啥的。 我比较喜欢朴素一点的,还有就是xiong-chiamiov主题也不错。
我的主题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 配置zsh主题 powerlevel9k (推荐) 安装 $ git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k 编辑 ~/.zshrc来启用主题,在其中将ZSH_THEME 改为 ZSH_THEME="powerlevel9k/powerlevel9k" 如果你还没有安装字体,那么可以使用下面的命令来安装所需字体。 安装 powerline字体 git clone https://github.com/powerline/fonts.git ~/.oh-my-zsh/custom/themes/powerlevel9k/fonts cd ~/.oh-my-zsh/custom/themes/powerlevel9k/fonts./install.sh 安装 Awesome-Terminal Fonts字体 git clone https://github.com/gabrielelana/awesome-terminal-fonts.git ~/.oh-my-zsh/custom/themes/powerlevel9k/fonts cd awesome-terminal-fonts./install.sh 安装nerd-fonts cd ~/.oh-my-zsh/custom/themes/powerlevel9k/fontsgit clone https://github.com/ryanoasis/nerd-fonts.git或者git clone https://gitee.com/keyboardkiller/nerd-fonts.git cd nerd-fonts./install.sh 修改配置文件.zshrc export TERM="xterm-256color" export ZSH="/root/.oh-my-zsh" ZSH_THEME="powerlevel9k/powerlevel9k" plugins=(git zsh-autosuggestions) source $ZSH /oh-my-zsh.sh
安装工具
1 pip3 apt install python3-pip
1 qemu apt-get install qemu-user qemu-system
1 gdb-multiarch apt-get install gdb-multiarch
1 2 3 4 5 6 7 8 pwn 先给pwn创建一个文件夹。然后再创建一个tools文件夹 ❯ cd /home/kali/Desktop/ ❯ mkdir PWN ❯ cd PWN ❯ mkdir tools ❯ cd tools ❯ ls ┌──(root㉿penetration)-[/home/kali/Desktop/PWN]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 pwntools 第一行,git报错就执行下面指令取消系统代理: git config --global --unset http.proxy git config --global --unset https.proxy 第三行指令,pip安装会有环境依赖相关的警告。这里把警告给删了: sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.bk这里的x我们换成12,需要和本机python环境匹配。 防止python依赖冲突混乱,当然也可以装venv,参考:https://www.yaolong.net/article/pip-externally-managed-environment/ git clone https://github.com/Gallopsled/pwntools.git sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essentialpython3 -m pip install --upgrade pwntools 验证pwntools:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 pwngdb、peda、gef cd PWN/tools git clone https://github.com/pwndbg/pwndbg.git pwndbg安装: cd pwndbg ./setup.sh 插件依赖安装 sudo pip install keystone-engine ropper keystone-enginegdb挂在插件: sudo vi /usr/share/doc/texlive-doc/pdftex/tests/14-pdfadjustinterwordglue-segfault/.gdbinitgdbinit内容: source /home/kali/Desktop/PWN/tools/pwndbg/gdbinit.py之后执行gdb查看挂载是否成功(需要进入zsh):
1 备忘录:从这里开始是在py3 .12.7 虚拟环境里安装的
1 2 3 4 5 6 ROPgadget sudo pip3 install capstonecd PWN/tools git clone https://github.com/JonathanSalwan/ROPgadget.git cd ROPgadgetsudo python3 setup.py install
1 2 3 seccomp-tools sudo apt install gcc ruby-devsudo gem install seccomp-tools
1 2 patchelf sudo apt install patchelf
1 2 3 4 5 ARM 软件包具备ARM 交叉编译gcc与ARM 程序动态链接库 sudo apt-get install gcc-arm -linux-gnueabisudo apt-get install gcc-aarch64-linux-gnu
1 2 3 4 5 6 MIPS软件包 sudo apt-get install gcc-mips-linux-gnu sudo apt-get install gcc-mipsel-linux-gnu sudo apt-get install gcc-mips64-linux-gnuabi64 sudo apt-get install gcc-mips64el-linux-gnuabi64
打开pwn环境: 1 2 3 4 5 6 7 把bash下安装的软件包迁移到 Zsh 下: ~/.bashrc 的路径复制到 Zsh 的配置文件 ~/.zshrc 中 比如conda export PATH="$HOME /miniconda3/bin:$PATH " 这个路径复制到~/.zshrc 修改完 ~/.zshrc 后,需要重新加载 Zsh 配置文件,才能使更改生效:source ~/.zshrc python环境默认都有 source activate py3.12.7进入虚拟py3.12.7环境然后换成zsh,输入zsh即可
1 2 3 https: //www.cnblogs.com/qsons /p/ 17718510 .htmlhttps: //www.hackerneo.com/blog /dev-tools/better -use-terminal-with -zshhttps: //www.cnblogs.com/seyedog /p/ 18432103
Slogan:
Do you believe in DESTINY ?