从零搭建一个IOT/pwn环境

我用的环境是纯净的wsl的kali-linux子系统,什么也没有,接下来我们开始一步步搭建pwn环境,默认带的Python是3.12.7,建议读者也下载和我一样的python版本,避免后续环境由于版本不同出现问题

换源

终端输入

sudo vim /etc/apt/sources.list

输入”i”,出现INSERT字样,此时可以插入

将下面内容任选其一复制进去,并将原本内容注释掉

中科大Kali镜像源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
阿里云Kali镜像源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free non-free-firmware contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free non-free-firmware contrib
清华大学Kali镜像源
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware

最后摁esc、冒号、wq退出

最后sudo apt update,sudo apt upgrade更新一下

修改python软连接(可选)

由于我个人习惯直接python而不是python3,所以我选择修改一下python的默认软连接

先查看一下,可以看到我压根就没有python2,只有一个python3

这个时候输入

sudo ln -s /usr/bin/python3 /usr/bin/python

再次查看已经有了

pip换源

切换根用户,进入根目录,查看一下隐藏文件,发现没有.pip文件夹

手动建一个,输入

mkdir /.pip  #这个是在 / 目录下创建而不是 ~ 目录
cd /    #进入 / 目录
la
vim pip.conf #创建配置文件

配置文件的内容如下

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=https://pypi.tuna.tsinghua.edu.cn

和上面一样的方式保存退出,查看一下,确保写进去了

安装gdb

cd+空格回到~目录

直接输入

sudo apt install gdb

等待安装完毕即可

安装pwntools

首先创建一个tools文件夹,之后的工具我们都放到这里面

mkdir tools
cd tools
pip install pwntools -i https://pypi.tuna.tsinghua.edu.cn/simple/   # -i 指定源

提示我没有pip,按照提示安装一下即可

安装完后遇到报错

找到解决方案https://blog.csdn.net/qq_25439417/article/details/139485697,我用了文章里的方案一,直接暴力删掉,再次执行就好啦

下载完毕,最后验证一下

没有报错就是安装成功了

安装pwncli

cd ~/tools
git clone https://github.com/RoderickChan/pwncli.git
cd ./pwncli
sudo pip3 install --editable .

有个警告,问一下AI,根据AI说的去改一下就没有了

安装pwndbg

这里就涉及到用梯子了,自行研究,没有梯子很难装好的

进入tools目录下,终端输入

cd ~/tools
git clone https://github.com/pwndbg/pwndbg.git
cd pwndbg
sudo ./setup.sh

这里停留的时间比较长

执行失败了的话就多执行几次

连接错误,再重跑一次就行了

我一共是跑了三遍,最终成功后长这样

最后验证一下,没有问题,如果有问题的话就vim ~/.gdbinit,看一下里面的东西,没有东西就把

source ~/tools/pwndbg/gdbinit.py        #你的路径

加进去,再次看一下gdb,应该就没问题了

安装pwngdb(和上面是两个东西哦)

cd ~/tools
git clone https://github.com/scwuaptx/Pwngdb.git 
vim ~/.gdbinit

然后再gdbinit里面输入

source ~/tools/Pwngdb/pwngdb.py
source ~/tools/Pwngdb/angelheap/gdbinit.py

保存退出,再次运行gdb,在里面输入heapinfo,出现如下界面则证明安装成功

安装peda

cd ~/tools
git clone https://github.com/longld/peda.git

这里由于网络问题一直克隆不下来,所以直接到github上把压缩包下下来拖到wsl里面解压即可

这块后面也没怎么配好,但是也没啥用了,有gdb和dbg就够用

安装LibcSearcher

这个工具我本身不是很喜欢,因为每次跑脚本他都要联网搜索,有的时候还搜不到,所以我基本不用他了,有这时间还不如联网找一下libc-database

对这个工具感兴趣的自行搜索一下吧

安装ROPgadget

cd ~/tools
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget/
sudo python setup.py install    #我这里改过软连接所以用python跑,你没改过的话就用python3跑

等待一段时间后安装成功

安装seccomp-tools

cd ~
sudo apt install gcc ruby-dev
sudo gem install seccomp-tools

安装onegadget

sudo apt -y install ruby
sudo gem install one_gadget

安装glibc-all-in-one

这个我们装在主目录下,方便后续使用

cd ~
sudo git clone https://github.com/matrix1001/glibc-all-in-one.git
cd glibc-all-in-one/
sudo python update_list

发生报错

把request库装一下即可

sudo pip install requests

再次重新执行

执行成功后应该是这样的

安装patchelf

cd ~/tools
sudo apt install patchelf
patchelf -h   #检查一下

至此,pwn环境全部搭建完毕

安装FirmAE

cd ~/tools
git clone --recursive https://github.com/pr0v3rbs/FirmAE
cd FirmAE 
./download.sh
./install.sh

这个download执行的相当慢,等吧~(等了一晚上都没下完)

这条命令不要轻易ctrl+c取消掉,如果取消了需要手动吧download.sh里面的相关项给注释掉

从gdb那里开始实在是下不下来了,cat ./download.sh

摁住ctrl,点击相关网址,即可手动下载

把下载完的东西手动拖入~/tools/FirmAE/binaries

即可完成下载,其他下不下来的也可以按照同样方式操作

最后执行./install.sh即可,多跑几遍

一共有这么几个报错,我们从下到上依次解决

Error: Package ‘python’ has no installation candidate

解决方案:

sudo apt install python2

Error: Package ‘uml-utilities’ has no installation candidate

这个比较麻烦,不知道为什么kali就是找不到这个包,但这个很重要,必须要有

到阿里云镜像站下载安装包https://mirrors.aliyun.com/debian/pool/main/u/uml-utilities/

下载完之后拖到tools地下

终端进入tools文件夹下,输入

sudo dpkg -i uml-utilities_20070815.2-1_amd64.deb

发生报错,缺少依赖,那就缺啥补啥

sudo apt-get update
sudo apt-get install libfuse2

libreadline7在https://packages.debian.org/zh-cn/buster/amd64/libreadline7/download

最后再次执行sudo dpkg -i uml-utilities_20070815.2-1_amd64.deb

成功安装,有个警告不用管它

Error: Unable to locate package qt5base-dev

sudo apt update
sudo apt install qtbase5-dev

Error: Unable to locate package fusecram

这个也很麻烦,同样采用deb安装http://launchpadlibrarian.net/363148179/fusecram_20051104-0ubuntu4_amd64.deb

安装fuse-module

sudo apt-get update
sudo apt-get -y install fuse

到这卡死了,可能是因为安装的是Ubuntu的deb导致不兼容问题,我也没办法了,因为网上找不到kali的包

Building wheel for python-lzo (pyproject.toml) did not run successfully.

sudo apt install liblzo2-dev
pip install python-lzo

ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
selenium 4.27.1 requires urllib3[socks]<3,>=1.26, but you have urllib3 1.24.3 which is incompatible.

AI查了一下说要升级

pip install --upgrade urllib3

升级完又报错,发现是request版本低了

再把requests升级一下

pip install --upgrade requests

搞定

最后执行

python3 -m pip install selenium

重新装一下

至此所有bug解决完毕

安装binwalk

sudo apt install binwalk

出现报错,于是我执行sudo pip uninstall capstone,他就莫名其妙的好了,我也不知道为啥,反正能用就行。。。

安装qemu

sudo apt-get install qemu-user-static
sudo apt-get install qemu-system

安装firmwalker

cd ~/tools
git clone https://github.com/craigz28/firmwalker

安装upx

sudo apt-get install upx

目前我能想到的东西就这么写,后面会不断更新的

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇