M3 ‘调教’手记
2023-11-17 16:59:22 Author: 骨哥说事(查看原文) 阅读量:25 收藏

背景说明

终于鼓起勇气,将Intel的MBP更换为M3,由于之前的intel MBP用了近4年,上面不仅部署了各种渗透环境,关键还有二进制的PWN环境,决定更换之前就听闻很多朋友吐槽M芯片的坑点,尤其是x86的模拟问题,于是将这几天来的’调教‘心得整理总结,希望有同样问题的朋友可以避免踩坑,同时也欢迎在评论区交流哈~

一开始拿到M3 MBP后,图省事,用了苹果自带的“迁移助理”对新旧两台电脑进行数据迁移,结果发现同步了近10小时,进度也才80%不到,后来经过推测,怀疑大概率是微信聊天记录的同步,最终不得不狠心点下‘放弃’,直接将新MBP设置为新电脑,因此才有了从0开始的‘调教’手记。

记录一:JDK问题导致的‘冰蝎’启动问题

下载后的冰蝎,直接双击JAR包无法直接打开,在命令行中使用:
java -jar behinder.jar
会提示javafx报错,因此首先需要解决javafx问题,首先打开

https://gluonhq.com/products/javafx/

在下方找到与你java sdk版本匹配的javafx,下载,然后可以将lib目录放入冰蝎同级目录。

然后发现依然无法双击启动,同样java -jar也无法启动,好在有其它同事曾经踩过该坑,告知解决方案,建立“自动操作”,写好脚本:

java --module-path [javafx lib目录] --add-modules javafx.controls,javafx.fxml -jar [冰蝎jar文件路径]

generic

92 Bytes

© Guge's Blog

因此,以后每次启动‘冰蝎’,都需要从这个自动化脚本来启动,而无法双击一键启动。

记录二:Burpsuite 问题

之前在旧的intel MBP上,骨哥是安装的正版bp,结果发现到了新的MBP安装bp后,导入证书提示无效,后经查询,需要到bp公司网站提交申诉,说明由于电脑更换问题,让他们重新发送新的证书才可以。

后来想了想,反正正版 D版一样用,懒得折腾,索性直接装了D版,就是启动的话,不能像之前正版那样,一键安装+一键启动,同样需要使用‘自动操作’的脚本来实现启动burploader才可以。

记录三:x86 Ubuntu部署

在M芯片上,为了实现x86模拟,基本都使用的是QEMU进行模拟,在MBP上,目前有两种解决方案,一种是docker,另一种则是使用UTM,由于docker拉起的x86系统在gdb调试时会有问题,因此最终骨哥选择了UTM方案(以下图片来自互联网,并非骨哥安装时的截图

1、首先下载并安装UTM(略)

2、安装好UTM后,选择新建,选择模拟:

3、选择linux:

4、选择‘浏览’ 选中下载好的Ubuntu server的iso:

5、启动并开始安装,全选英文即可:

6、然后会自动DHCP获得IP地址:

7、默认时Ubuntu的国内镜像源,可以改为阿里云或其它国内源,我这里没改,直接保持默认:

8、磁盘分区,同样选择默认,我默认给了80G:

9、格式化警告,选择continue即可:

10、设置PC名、用户名及密码:

11、SSH安装,空格勾选安装,然后点Done:

12、下面什么都没选,直接Done:

13、Ok,然后就是安装了,一杯茶的功夫,安装就完成了。

14、安装完毕后,需要选择Reboot重启,重启时,记得将镜像ISO断掉:

15、等待启动完成后,根据前面DHCP的IP,就可以直接SSH远程登录虚拟机了,如果不记得IP,可以先使用用户名/密码登录虚拟机,然后安装net-tools:
sudo apt install net-tools
然后使用ifconfig查看IP即可。

PWN环境部署

Ubuntu 20.04 server 默认是安装好python3的,版本为3.8.10。

1、安装pip:
sudo apt-get install python3-pip
2、安装pwntools前的依赖:
sudo apt instal libssl-dev libffi-dev build-essential git
3、安装pwntools:
pip3 install pwntools -i https://pypi.tuna.tsinghua.edu.cn/simple
4、pwntools安装完成后,会获得checksec 和 ROPgedget两个工具,但是在运行checksec时,会提示没有找到,因此需要设置一下环境变量:

echo $PATH

#在~/.bashrc内添加

export PATH=$PATH:/home/用户名/.local/bin

source ~/.bashrc

generic

81 Bytes

© Guge's Blog

然后再运行checksec就OK了:

5、然后是安装gdb插件:

mkdir tools

cd tools

generic

20 Bytes

© Guge's Blog

5-1、peda
git clone https://github.com/longld/peda.git
5-2、Pwngdb
git clone https://github.com/scwuaptx/Pwngdb.git
5-3、pwngdbg

git clone https://github.com/pwndbg/pwndbg

cd pwndbg/

./setup.sh

generic

64 Bytes

© Guge's Blog

6、配置插件:

cd ..

#tools目录下

cp Pwngdb/.gdbinit ~

vim ~/.gdbinit

#打开文件后文件内容修改如下,这里要注意source ~/pwndgb/gdbinit.py

#一定要在source ~/Pwngdb/angelheap/gdbinit.py前面,要不然会使用默认配置。

generic

155 Bytes

© Guge's Blog

测试看看:

7、安装seccomp-tools(查沙箱)

sudo apt install gcc ruby-dev

sudo gem install seccomp-tools

generic

60 Bytes

© Guge's Blog

8、安装ropper:

pip3 install ropper

9、安装Glibc-all-in-one:

git clone https://github.com/matrix1001/glibc-all-in-one.git

cd glibc-all-in-one

vim update_list

为#!/usr/bin/python3

generic

117 Bytes

© Guge's Blog

食用方法:

#更新最新版本的glibc

./update_list

#查看可下载的glibc

cat list

#根据题目所给的libc,找对应版本的连接器,并下载该连接器

./download 2.23-0ubuntu11.3_amd64

#下载好的libc就在libs目录下

ls libs/2.23-0ubuntu11.3_amd64/

#把ld文件和libc复制到pwn题同目录下

#一般来说使用时把标记的ld-2.23.so和libd-2.23.so拷贝在程序目录下即可

#.debug文件用于gdb调试

#在gdb设置setdebugf

generic

269 Bytes

© Guge's Blog

10、patchelf:
sudo apt-get install patchelf
食用方法:

#使用

#查看题目原来的libc和ld “easyheap”为可执行程序 此处为例子

ldd easyheap

#替换libc

patchelf --replace-needed libc.so.6 ./libc-2.23.so ./easyheap

#设置ld文件

patchelf --set-interpreter ./ld-2.23.so ./easyheap

generic

184 Bytes

© Guge's Blog

11、one_gadget:
sudo gem install one_gadget

12、Windows11&&IDA

安装Vmware Fusion 13.5.0,然后下载Windows 11 Pro ARM版本ISO,一路next安装激活即可。

IDA 7.7 略

OK,就这样,经历了近4天的‘调教’,终于将渗透环境、Android环境、PWN环境全部搞定,希望对你有所帮助。

感谢阅读,如果觉得还不错的话,欢迎分享给更多喜爱的朋友~

====正文结束====


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5Mzc4MzUzMQ==&mid=2650257432&idx=1&sn=12124fe000fcd44e6e667d783c4831ae&chksm=be92d39c89e55a8aeb181588bf91a4d483588c98a7e75aeccbd90d1237823452bf7a893fe672&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh