从零开始⼊门pwn(⼆):环境搭建
⽬录
⼀.前⾔
前⼏天写了⼀些关于pwn的介绍以及⼀些前置知识,其实那些知识都是浅尝辄⽌就⾏,重点还得放在后续的做题中,边做边学不⾹吗,不仅有成就感还能快速熟悉pwn绝对不是因为没时间去专门学。
但是之前的前置知识主要还是为了给那些真正没有基础的⼩⽩⼀个相对平滑的⼊门曲线,对于真正想要⼊门pwn的同学来说,前置知识其实都已经掌握过了(不会有⼈真的是没⼀点计算机基础单纯是看pwn帅就想来⼊门的吧)。
所以,这就马不停蹄给已经有前置知识的同学写⼀个环境搭建的博客,也是分享⼀下⽬前我遇到的题⽬所⽤到的⼯具的分享。
⼆.环境搭建
⼀.Linux系统
上⼀篇博客已经说过了,绝⼤部分pwn题的⽂件都是Linux上的可执⾏⽂件,所以没有⼀个Linux系统的电脑完全做不了pwn。
所以把你的windows换成Linux吧。
咳咳,开个⼩玩笑,说到Linux系统,除了⼀些⽜⼈,不会真有⼈放弃windows装上Linux吧,毕竟正版windows还是要钱的,所以Linux 装在虚拟机上就⾜够⽤了。
但是Linux系统这么多版本,到底要装哪⼀个呢,centos还是ubuntu或者奢侈⼀点装Redhat?
NO,对于⼀个CTFer来说,说到Linux就不得不提⼤名⿍⿍的Kali酱。
光看着图标就帅爆了好吗。在经过ubuntu和centos纯命令⾏的洗礼之后,我觉得kali简直就是⼩天使,尤其是在上⾯做ctf题的时候,当你觉得这个⼯具肯定要apt-get的时候,它偏偏会给你惊喜,⼏乎CTFer所需要的所有⼯具都被包含在这个⼩天使⾥⾯,⼏乎是随叫随到,⽽且⼲净整洁的图形界⾯让⼈⼼旷神怡。
贴⼼的kali官⽹也是给你打包好了你想要的⼀切,直接把东西下载下来解压双击,直接把虚拟机安排上
进⼊下载⽹址后选择你所⽤的虚拟机软件,VMware或者Virtualbox,点击下载(话说为什么virtualbox的⼤这么多啊)
由于我⽤的是VMware,所以这⾥⽤VM的做演⽰,下载好的压缩包解压在⼀个⽂件夹。除⾮你想你的数据是⼀次性的
⾄于要不要嘛,看你⾃⼰的意愿了
⼆.pwntools
安装完虚拟机,就可以开始pwn的⼯具的准备了,pwntools顾名思义,就是pwn的⼯具们。ajax教程全集视频
pwntools是⼀个python的库,⾥⾯集合了各种各样有关于pwn的函数,在我们写脚本攻破⽂件的时候
基本⼯具就是pwntools,⽽pwntools的安装⽅式也很简单,官⽹也写得很清楚,但是我猜你们懒得去官⽹,所以就把代码搬上来
打开kali酱的控制台,复制代码,粘贴,回车,搞定,但是根据官⽹的指令做可能会有⼀点警告,虽然⽆伤⼤雅,但是看着总是不舒服。
sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
究其原因还是因为环境变量的问题,先输⼊以上代码之后再进⾏以下操作python基础代码大全黑客
vim ~/.zshrc
Shift+g跳到最后
按o新加⼀⾏,并输⼊以下字符
export PATH=/home/kali/.local/bin/:$PATH
esc后:wq保存(这属于是把奶喂嘴⾥了)
最后输⼊以下代码,完事
source ~/.zshrc
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools
注意,这⾥是安装python3的代码,如果要使⽤python2
apt-get update
apt-get install python python-pip python-dev git libssl-dev libffi-dev build-essential
python2 -m pip install --upgrade pip==20.3.4
python2 -m pip install --upgrade pwntools
不过python2好像已经停⽌更新了,所以我还是推荐⽤python3,记住以后要⽤这个库都要⽤python3命令哦。kali酱已经⾃带了python2和python3,就不⽤⾃⼰安装python了,kali yyds!
安装完成后,在控制台输⼊python3进⼊python3命令模式,输⼊from pwn import *
如果没有报错,说明安装成功
三.pwngdb
pwn题中⼆进制⽂件⼏乎都是要⾸先在⾃⼰的机⼦上跑,同时你要在⾃⼰的机⼦上⾯攻击掉了这个⽂件你才有可能攻击掉赛⽅的⽂件。所以我们要做出pwn题的第⼀件事,就是获取⾃⼰的电脑控制权(bushi)。⽽pwn掉⾃⼰的电脑,就需要⽤到调试。
俗话说的好,静态调试看IDA,动态调试看pwngdb(其实动态调试也能⽤IDA啦),pwngdb可以帮助你在可执⾏⽂件执⾏的时候查看各种寄存器的值,以及函数地址和偏移量,甚⾄可以让你⼀条汇编语⾔⼀条汇编语⾔分析,是分析程序不可或缺的⼯具。
安装指令
git clone github/pwndbg/pwndbg
cd pwndbg
curl命令post请求./setup.sh
记得要在/home/kali下⾯的控制台执⾏这⼏条指令,除⾮你更改了⾥⾯的安装位置,否则安装完之后pwndbg⽂件夹也不要移动网络vb什么意思
执⾏完这⼏条指令后在控制台输⼊gdb
当看到以上画⾯时说明安装成功。
四.IDA
IDA为什么是神
IDA是⼀个⾮常⽜逼的反编译⼯具,可以把可执⾏⽂件反编译成汇编语⾔来让我们攻破阅读,同时IDA⾃带的插件可以帮助我们把汇编语⾔转化成C语⾔形式,帮助我们更好地分析程序,这也是为什么上⼀篇博客需要⼤家学习C语⾔的原因,但是程序最终还是要归约到地址
上,IDA也将这些地址相应的指令反汇编出来,可以说即使是初学者,也能够很容易通过IDA分析出栈的位置。
⽽且IDA还⾃带着动态调试的功能,前提是需要将在linux上运⾏,⽤远程linux运⾏也可以,如果实在看不懂gdb也可以直接⽤IDA动态调试,具体操作在后续博客中会详细说明
但是,IDA pro是付费的
如果有能⼒的同学可以⾃⾏购买正版
官⽹就放这⾥了
如果没有经济能⼒,给个提⽰:吾爱
五.⼤脑&时间
虽说有了⼯具,但是就算是计算机,有了键盘屏幕也要⼀个好的、活跃的CPU,CTFer更不例外,⼯具始终只是帮助我们做出题⽬,真正如何做出题⽬还是要我们有⼀个善于思考、⽤于钻研的⼤脑,本⼈虽然⼊门pwn也不久,但是也深深感受到真正理解⼀道没看过的pwn题的困难,就算把⼤佬的writeup给我,要看懂也是⼀件不容易的事。需要我们付出⼤量的时间和脑⼒来思考和理解。
所以如果真⼼想⼊门pwn,准备好你的时间和⼤脑,pwn掉⾃⼰的电脑吧(笑)
陪聊app源码下载三.总结
本⽂列出了我⽬前遇到的题⽬⽤到的⼯具,后续如果有题⽬需要其他的⼯具,我会在以后的博客中更新。
这些⼯具⼤都需要上⼀篇博客中提到的前置知识来使⽤,所以希望没有相应知识的同学先去学习好前置的知识再来配置环境,免得有⼯具⼼痒痒。注意,浅尝辄⽌。
这些⼯具的使⽤我会在后续的博客中陆续更新,不过其实这些⼯具我也不算是特别会⽤,只是把我使⽤的经验写出来,⼤家如果想看的话就期待吧,当然⼤佬就随便看看啦。
如果你已经看完了这篇博客并且配置好了这些环境,那你就是pwn的⼈了,也是开始真正踏⼊pwn的世界了,可以开始帅⽓的⿊客之路了。
constitutional logic
既然都看到这⾥了,还不给个赞吗,跟着我⼀起进步,⼀起从⼊门到⼊狱。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。