pwn入门(1):kali配置相关环境(pwntools+gdb+peda)

这篇具有很好参考价值的文章主要介绍了pwn入门(1):kali配置相关环境(pwntools+gdb+peda)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本菜鸟最近学习了缓冲区溢出的知识,打算针对wiki上基本ROP的攻击过程做一个复现,在这之前,首先要配置解pwn题的相关环境。本文就用kali虚拟机进行环境配置,这里做一个总结:

kali相关的配置和工具下载

软件源更新

更新软件源,编辑/etc/apt/sources.list ,更换为阿里云/清华等国内镜像,这样后续下载软件的时候就不用走国外的源了,速度会快很多,指令为:

vim /etc/apt/sources.list 

然后添加如下两条(我这里添加了阿里云镜像):

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

 添加之后的效果如下,改完之后别忘了输入:wq保存:

pwn环境,pwn入门,linux,网络安全,系统安全

更改完之后,还要运行如下命令更新:

sudo apt-get update

 安装docker(可跳过)

docker是应用容器引擎,用于模拟远程测试环境,虽然这次用不到docker相关的内容,但迟早是需要的,安装命令如下:

apt-get install docker docker-compose

pwn环境,pwn入门,linux,网络安全,系统安全

 启动docker:

service docker start

查看docker有啥镜像(此时应该啥也没有)

pwn环境,pwn入门,linux,网络安全,系统安全

 这样就基本可以了。

安装git

git是版本控制软件,主要用来从Github上下载开源程序,命令如下:

apt install git

pwn环境,pwn入门,linux,网络安全,系统安全

 安装结束后,输入git,如果出现以下界面,就安装好了:

pwn环境,pwn入门,linux,网络安全,系统安全

 安装pwntools

pwntools是一个python的库,方便解pwn题的时候编写漏洞利用的exp,在python2和python3中都支持,我们这里就安装在python3中就可以了,命令如下:

python3 -m pip install --upgrade pwntools

 ​​​​pwn环境,pwn入门,linux,网络安全,系统安全

 安装好之后,输入python,进入python3环境,试一试这个库能不能用,输入如下代码:

from pwn import *
asm("xor eax, eax")

pwn环境,pwn入门,linux,网络安全,系统安全

如上图,成功输出对应的bytes流,说明pwntools安装成功。

安装gdb并添加插件peda

安装gdb

命令如下,一共六条命令,按顺序执行即可,首先下载gdb压缩包,本文安装的是12.1版本:

wget http://ftp.gnu.org/gnu/gdb/gdb-12.1.tar.gz

 然后解压:

tar -zxvf gdb-12.1.tar.gz

 解压后进入gdb-12.1目录下:

cd gdb-12.1

 添加python配置,需要根据python的具体版本进行修改,我的是python3.10,不知道自己python版本的直接命令行输入python,进入解释器的时候会提示。

./configure --with-python='/usr/bin/python3.10'

最后运行如下两条命令,make的时间可能比较长,耐心等待一会。 

make
sudo make install

 安装完成后,输入gdb,如果能进入到gdb的命令行界面,就说明成功了

pwn环境,pwn入门,linux,网络安全,系统安全

添加插件peda

peda可以在调试程序的时候清除的看到寄存器、代码段、栈区的存储内存情况,是一个很方便的gdb插件工具。运行如下两行命令使用git获取peda,并添加到gdb环境,这样在下次在启动gdb的时候就自动进入gdb-peda模式:

git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit

安装完成之后,输入gdb,看看是否自动进入gdb-peda模式,如果是下图的状态,就成功了:

pwn环境,pwn入门,linux,网络安全,系统安全

 如果输入gdb,发现还是仅仅是gdb的命令行界面,可能是并未将peda添加到gdb环境中,我们可以查看以下gdb的配置文件.gdbinit,命令如下:

vim ~/.gdbinit

保证这个文件的内容里面有peda源,就像下图这样 :

pwn环境,pwn入门,linux,网络安全,系统安全

 特别注意两点:

1.peda的路径要正确,我这里是安装到了/root/peda/peda.py ,读者安装的时候要填写自己的安装路径。

2.source /(peda的路径)/peda.py 这一行的两端不要有双引号!

 更改完成之后(别忘了:wq保存),重新运行gdb试试,应该没有问题了:

pwn环境,pwn入门,linux,网络安全,系统安全

结语

本文用kali配置了解pwn题的相关环境,包括kali相关配置、pwntools的下载和gdb-peda的下载配置。在后续的章节中,我们将做一些基本的ROP(Return Oriented Programming)题目,其主要思想是在栈缓冲区溢出的基础上,通过利用程序中已有的小片段 (gadgets) 来改变某些寄存器或者变量的值,从而控制程序的执行流程,最终获取shell。希望大家多多支持!文章来源地址https://www.toymoban.com/news/detail-693077.html

到了这里,关于pwn入门(1):kali配置相关环境(pwntools+gdb+peda)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始配置pwn环境:sublime配置并解决pwn脚本报错问题

    Download - Sublime Text 用vscode鼠标右键调出命令平台  输入 convert indentation to Tabs,保存文件  完美解决,具体如下:

    2024年01月22日
    浏览(42)
  • Unity入门(一)——Unity的安装与相关环境配置

    unity官网 Unity官网下载 下载并安装Unity Hub,然后在unity hub中选择安装一个Unity编辑器( 推荐安装背后带有LTS的编辑器,这意味着该版本还在官方维护更新中 ) 然后在安装后的界面设置编辑器选项,选择“添加模块”安装所需的组件, 在该界面中选择如下二者进行安装 安装前

    2024年02月12日
    浏览(30)
  • 从零开始配置pwn环境:优化pwndocker配置

    从零开始配置kali2023环境:配置pwn调试环境-CSDN博客 前期安装好pwndocker后发现不好用,所以通过研究修改一些配置后可以满足解题需要 docker环境pwndocker里面安装python2环境 保存安装好的pwndocker环境为镜像   更新docker-compose.yml  更新run.sh ──(holyeyes㉿kali2023)-[~/pwndocker1604] └─

    2024年02月22日
    浏览(56)
  • 在Linux的Ubuntu系统下安装QT及相关环境配置

           从官网下载QT的安装包,在本地安装。本次使用的是Ubuntu18.06以及QT5.14.2,下文皆使用此版本作为示例。        首先安装QT,具体操作如下:  1、使用cd命令: cd /home/(usr)/download ,切换至安装包所在的目录下。 2、使用命令: sudo chmod +x qt-opensource-linux-x64-5.14.2.run ,获

    2024年02月07日
    浏览(40)
  • 【Linux入门】Linux环境配置

    👉系列专栏:【C语言–大佬之路】 🙈个人主页:阿伟@t 🎈今日心语: 你所看到的惊艳,都曾被平庸所历练。 前言:本篇内容讲解Linux环境的配置,云服务器和虚拟机的配置、如何多用户使用一个云服务器。关于选择哪一种还是依情况而定。 1、直接安装在物理机上. 但是由

    2024年02月11日
    浏览(30)
  • Linux环境下gdb调试方法与演示

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Linux专栏】🎈 本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌 演示环境: centos7 如果还未安装gdb的话,输入下面命令进行安装即可: 首先,gd

    2024年02月07日
    浏览(34)
  • 【UNIX 环境编程】GCC 编译器 | Makefile 基础入门 | GDB 调试教学

    💭 写在前面: 本文将介绍如何使用 GCC 编译器编译,并详细介绍了 Makefile 的基本构造、创建Makefile 文件以及 Makefile 变量,以提高编译效率。此外,本文还将探讨GDB调试器的使用,包括调试前的准备、readelf 读取 ELF 文件信息、显示代码、断点、调试、监视、跳转等内容。 

    2024年02月03日
    浏览(68)
  • 【Linux从入门到精通】gdb调式技巧大全

         本篇文章会对开发工具:gdb调试器的使用进行讲解。希望本篇文章会对你有所帮助。 目录 一、gdb简单介绍  二、gdb 调试 2、1 加入调试信息 2、2 调试命令 2、2、1 gdb+可执行程序——进入调式 2、2、2 l+行号/函数名——显示代码 2、2、3 b+行号/函数名——打断点 2、2、4 

    2024年02月15日
    浏览(39)
  • Linux——环境开发基础(vim、gcc、yum、git、gdb)

    目录 1.Linux编辑器——vim使用  2.Linux编译器——gcc/g++ 3.Linux项目自动化构建工具——make/Makefile 4.Linux软件包管理器——yum 5.Linux调试器——gdb 前言:因为篇幅原因,本文着重列出命令,小伙伴下去自己尝试,只有多使用才能真的记住!  vim是一款多模式的编辑器 ——命令模式

    2024年02月17日
    浏览(42)
  • 『Linux从入门到精通』第 ⑪ 期 - Linux调试器——gdb使用详解

    🌸作者简介: 花想云 ,在读本科生一枚,致力于 C/C++、Linux 学习。 🌸 专栏简介:本文收录于 C语言初阶专栏 ,本专栏主要内容为本专栏主要内容为Linux的系统性学习,专为小白打造的文章专栏。 🌸 相关专栏推荐: C语言初阶系列 、 C语言进阶系列 、 C++系列 、 数据结构

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包