PC傻瓜式安装黑苹果并打造成全能逆向工作站

2017 年 10 月 1 日 FreeBuf Roy_Chen


0x01.为什么要安装黑苹果

为什么要安装黑苹果?对于这个问题,不同的人应该有不同的回答。对于学生党来说,花小钱就能体验原版macOS操作系统,不管是什么牌子的电脑,只要上了苹果的操作系统,逼格发生了翻天覆地的变化,从此在小伙伴儿面前,也有了炫耀的资本。学生党时间相对充裕,可以花费巨大的精力在反复的折腾和尝试上面;

1.对于小型工作室来说,苹果的台式机动辄一两万的售价实在是高攀不起,一台iMac Pro都能买三台性能上旗鼓相当的黑苹果主机了,同样的人员配置,预算立刻下降了三分之二,效果明显;对于一些“刷榜”“多开”工作室来说,利用低廉的硬件来迅速地复制和铺开,才是降低成本、提高效率、获得暴利的关键所在。

2.对于真·果粉来说,手机是苹果的了,平板也是苹果的了,操作系统当然也得是苹果的。哪怕没能够立即买Mac,先用上苹果系统,体验一下最先进的人机界面,折腾一下苹果专用的技术,而且大多数型号的笔记本也可以安装,包括最新很火的小米笔记本、戴尔燃系列等等;

3.对于安全研究人员来说,本身就是反复折腾、反复折磨机器的行业,也许研究员舍不得在轻易在真机上运行“来源不明”的脚本、木马或病毒,黑苹果就不一样了,大胆地试!大胆地调!大不了重装系统就好了;安装盘在手,天下我有!只要掌握了黑苹果的技术,运行macOS就跟运行Windows一样简单!

相对于真机的昂贵娇贵,虚拟机的性能孱弱,黑苹果拥有者无可比拟的成本优势、高度定制化的优势、以及与真机相当的性能优势,更有甚者在攒出一套Mac Pro的硬件的基础上,总花费和开销竟然可以不超过五千块!要知道前者在中国的售价可是高达21888软妹币!另外,相对于数年之前OS X系统对兼容机硬件的各种不友好,如今可是大变天,安装黑苹果的基本步骤已经与安装Windows越来越接近,动不动重装个系统简直就是小儿科,跟正版Windows重装没有什么区别;就差出个Ghost镜像了。究竟简单到什么程度,我们接下来使用真机来实践一次,您就知道了。

0x02.安装黑苹果有多简单

原版Windows镜像安装大家都会,当然Ghost安装除外喔,太“乡村范儿”了。Windows操作系统的安装,无非下列四个步骤。

准备镜像→写镜像到U盘→从U盘安装系统→系统自定义配置

现在我们安装黑苹果也是同样的流程。

先说一下本机的配置:2014年1999元买的宁美国度的组装台式机

*CPU:i3 4160

*GPU:HD 4400 CPU自带

*RAM:4G DDR3 1600HZ 三星 + 8G DDR3 1600HZ 海力士 = 12G 双通道

*BOARD:七彩虹 C.B85主板

*SSD:金泰克 Tigo 120G SSD

准备镜像

本镜像采取官方原版macOS Sierra 10.12.6 (16G29)的app文件封装制作,macOS本身的引导肯定用不得(毕竟苹果官方肯定不支持啊,要不然怎么叫黑苹果呢),黑苹果大牛为其增加了自定义引导器——clover,以适应不同品牌的不同机型。

下载地址:http://pan.baidu.com/s/1eRE7QZg

文件名称:macOS Sierra 10.12.6 16G29 with Clover 4123.dmg

文件大小:5500020736 字节(在笔者的电脑上显示为5.12GB)

修改时间:2017年7月21日 13:15:28

MD5 :1872EE8761BFADDAE4B46E0864F70FDC

SHA1 :A16F59DA34F873BCC68698CE474D45521ABEC7DC

CRC32 :ABC4AE6B

下载完成之后请务必验证一下md5,确保文件完整。

镜像来源:http://bbs.pcbeta.com/viewthread-1750692-1-1.html

为什么选择macOS Sierra 10.12.6这个版本,因为最新的High Sierra 10.13才刚刚出来(17年9月24号),连小白鼠都还没能很好地适应这个系统,各种问题不断。而10.12.6是macOS Sierra的最后一个版本,是非常成熟的、久经考验的、安全稳定的、适合日常生活甚至一定工作强度的最佳选择。

制作安装U盘

之前我们在Windows下写入Win镜像使用Win32diskimager,或者UltraISO,现在我们要在Windows下写入MacOS的镜像系统,得采用TransMac这款软件。

下载地址在这里,并不需要购买正版,我们只要使用一次就好了。首先在U盘的盘符上右键,选择Format Disk for Mac,见下图a。

格式化完成之后,在U盘的盘符上右击,选择Restore with Disk Image,将上面下载的dmg镜像原封不动烧录进U盘中。请见下图b。

烧录完成之后,需要进入PE系统,找到U盘的EFI引导分区,给clover引导器选择一个适合你机型的配置文件,最新的或者较新的Intel的CPU都可以支持,不管是台式的还是笔记本,都可以支持。具体的操作是进入EFI/CLOVER文件夹,删除默认的config.plist文件。选择正确对应你的机型的CPU的plist文件,重命名为config.plist即可。文件夹的结构图如下图c所示。

没有PE系统的同学可以将U盘插到Linux机器上进行修改,可以无障碍识别EFI引导分区。再或者使用大白菜U盘制作工具制作一个带PE的U盘,完全傻瓜式操作。

从U盘安装系统

支持UEFI启动的主板,开机就会进入clover引导界面,选择Boot OS X Install from macOS Sierra 10.12.6,开始进行安装,如下图d所示。从2010年以后的主板基本上都支持UEFI,更旧的主板亦可以使用变色龙来引导。

开始进入黑色滚屏,大概五六分钟之后,出现macOS实用工具界面,在这里我们把磁盘准备好,否则后面安装过程中无法选择安装磁盘。选择我们的SSD点击“抹掉”,名称改成你喜欢的名字,方案要改成“GUID分区图”,如下图e所示。

然后退出磁盘工具,选择安装macOS,开始进行系统的安装。这里没有什么需要注意的,只需要选择上面格式化好的磁盘就可以了。然后就是安装的过程了,如下图f所示。

安装完之后系统会重启一次,进入阶段二的安装。这时候不用拔U盘,还是用U盘的clover来引导,选择Boot macOS Install from MacSSD,MacSSD是刚刚设置的磁盘名字,进入阶段二的安装。阶段二也就是阶段一的延续。

阶段二还是什么都不用做,等进度自己跑到底就行了,系统就安装完成了。

跑到底后系统还是自动重启,重启后还是使用U盘的clover来引导,选择Boot macOS from MacSSD,即可进入系统。然后就是熟悉的账号初始化等见下图g,然后就直接就进入系统了。

到这里安装就结束了。

下图h是已经安装好Xcode 9.0(9A235),成功登录iCloud面板和iTunes Store的截图。

现在的镜像集成度非常高,完全没有需要自己动手的地方了,记得若干年之前还在大学的时候进行折腾的时候,iTunes死也登录不上,连网卡驱动还是我自己找的,现在都集成好了。

系统自定义配置

首先该安装盘的引导器自带多个驱动,对于不适用自己电脑的驱动不用担心,它不会加载,所以没有影响,引导带多个有线网卡驱动,驱动核显的必要驱动,万能声卡驱动2.9.0,安装上即可驱动本机大部分硬件,不用费心找驱动。

因为后续引导器还是得继续使用clover,不可能今后一直插着U盘,用U盘上的clover来引导吧。所以我们得给黑苹果主机也安装上clover,使用这款EFI Tools Clover,下载地址:http://pan.baidu.com/s/1bpewwPL,下载之后解压缩打开里面的app,选择c(安装 Clover EFI 开机引导文件(HFS)),回车,选择0号bsd磁盘,1号分区,也就是黑苹果所在磁盘的EFI分区,这款app会自动将clover文件复制到黑苹果的EFI分区去,并且做好相应的设置。此时另开一个终端,运行mount命令可以看到EFI分区的挂载位置,一般是/Volumes/EFI这里,cd到里面去之后,删除整个EFI文件夹,然后将U盘里的EFI文件夹拷贝进来,完美替代即可。今后就可以拔掉U盘,使用自带的clover引导器啦!

安装完成之后跑分试试,下载最新的Geekbench4来跑一下,最后测出来跑分如下:

其性能相当于2017年中期的13寸MacBook Pro:

非常强势,这款机器现在还卖一万多。

0x03.高度定制化——适合各种人群

硬件随意定制

之前只有Mac系列一种选择,现在选择多种多样,想买哪款笔记本基本上都可以,毕竟连小米笔记本都支持了!。这样节约下来开销是非常巨大的,毕竟我这旧机器已经是接近三年前的四代i3了,仍然感觉性能澎湃,延绵不绝!笔者日常使用的是一款16年的Macbook Air中配,台式机的性能优势远非移动平台可以比拟!给人的感觉就是有使不完的劲,有一种6.0升w12发动机还带双涡轮增压的感觉。毕竟不需要考虑功耗的因素,自然就不用畏畏缩缩,而是放开手脚大力出奇迹就好。

Attention Plsease:你的Mac也可以长这样!

开机启动定制

加入clover引导之后,再装一块Windows做双系统也是轻而易举的,笔者这里没有这个需求,所以就没有深究。有需求的同学继续深入就行了,远景论坛有详细的教程。即使是Mac真机也是可以双系统的,更何况黑苹果。

由Clover所带来的EFI定制引导选项远远超过macOS系统自带的引导项,其定制能力深入到系统的方方面面,单单是一个Boot,就有多达数十种选项和支持策略,为macOS系统测试人员带来了巨大的尝试机会。请见下图i。

macOS各个系统随意安装

只要引导正确,macOS各个系统,各个版本,随便安装,没有Mac机器上的那些束缚,放心大胆的格盘!放心大胆的上病毒!放心大胆的做实验吧!macOS系统第一次有了Windows系统的感觉!记得备份好数据就好!在远景论坛从10.12.1开始搜索,一直搜索到10.12.6,每个版本都有对应的安装盘!真的是就是只差个Ghost了!对于做逆向安全研究的我们来说,如虎添翼,事半功倍!

好了,其他行业的使用场景我也不举例了,总之Mac能做到的,黑苹果都能做到,我们稍微部署一下Mac下用于逆向研究的环境,打造应有尽有的全能的macOS逆向安全工作站!

0x04 使用黑苹果进行逆向研究

安装Homebrew、Xcode、Command line tool等基础App;

太简单,就不骗稿费了。

安装Metasploit;

安装只要一句代码:

$ curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall

即可自动开始下载:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5394 100 5394 0 0 3489 0 0:00:01 0:00:01 --:--:-- 3489
Switching to root user to update the package
Password:
Downloading package...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 136M 100 136M 0 0 589k 0 0:03:56 0:03:56 --:--:-- 892k
Checking signature...
Package "metasploitframework-latest.pkg":
Status: signed by a certificate trusted by Mac OS X
Certificate Chain:
1\. Developer ID Installer: Rapid7 LLC (UL6CGN7MAL)
SHA1 fingerprint: 76 2C 0C 45 5E CD 91 EB B1 2C D1 23 EC FE BE 8A BC C3 BD 69
-----------------------------------------------------------------------------
2\. Developer ID Certification Authority
SHA1 fingerprint: 3B 16 6C 3B 7D C4 B7 51 C9 FE 2A FA B9 13 56 41 E3 88 E1 86
-----------------------------------------------------------------------------
3\. Apple Root CA
SHA1 fingerprint: 61 1E 5B 66 2C 59 3A 08 FF 58 D1 4A E2 24 52 D1 98 DF 6C 60
Installing package...
installer: Package name is Metasploit-framework
installer: Installing at base path /
installer: The install was successful.
Cleaning up...
metasploitframework-latest.pkg
roysuedeiMac:~ roysue$ ls

安装完成后开始运行,见下图k:

安装Github出品的文字编辑器

从官网下载即可,强力推荐,因为非常漂亮。见下图l。

安装抓包神器BurpSuite

抓包最强,不解释!

- 安装”大蓝鲨“——WireShark!

协议分析最强!不解释!

后来想到竟然装了这么多Kali的工具,不如直接装个Kali好了,反正现在性能严重过剩。

方案采用Vagrant + Virtual Box的,原因是Vagrant拥有巨大的虚拟机库,想下就下,想装就装!

Vagrant + Virtual Box ,双V合璧,打造最强虚拟机库!

现在搜索一个Kali Linux来安装,见下图o。

可以看到有很多选择,简直太多。选择一款你喜欢的版本,点击进去,就会出现安装脚本,安装脚本非常简单,就一两句话就行了。

我们直接运行这句安装脚本。(前提是最新版Vagrant和Virtual Box已经在系统上安装好了噢)

cd到临时目录下,运行第一句话,这句话创建vagrant配置脚本。

$ vagrant init Sliim/kali-2017.2-amd64 \
> --box-version 1
A Vagrantfile has been placed in this directory. You are now
ready to vagrant up your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
vagrantup.com for more information on using Vagrant.

第二句话,按照vagrant的配置,将虚拟机up起来!

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'Sliim/kali-2017.2-amd64' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: 1
==> default: Loading metadata for box 'Sliim/kali-2017.2-amd64'
default: URL: https://vagrantcloud.com/Sliim/kali-2017.2-amd64
==> default: Adding box 'Sliim/kali-2017.2-amd64' (v1) for provider: virtualbox
default: Downloading: https://vagrantcloud.com/Sliim/boxes/kali-2017.2-amd64/versions/1/providers/virtualbox.box
default: Progress: 1% (Rate: 282k/s, Estimated time remaining: 1:36:20)
...
...
==> default: Box 'kali' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'kali' (v0) for provider: virtualbox
default: Unpacking necessary files from: file:///Users/roysue/tmp/kali
==> default: Successfully added box 'kali' (v0) for 'virtualbox'!
==> default: Importing base box 'kali'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: tmp_default150639184014722066
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
There was an error while executing VBoxManage, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "df2f35e0-9c43-4310-89b1-4acc6e8dfe65", "--type", "headless"]
Stderr: VBoxManage: error: Implementation of the USB 2.0 controller not found!
VBoxManage: error: Because the USB 2.0 controller state is part of the saved VM state, the VM cannot be started. To fix this problem, either install the 'Oracle VM VirtualBox Extension Pack' or disable USB 2.0 support in the VM settings.
VBoxManage: error: Note! This error could also mean that an incompatible version of the 'Oracle VM VirtualBox Extension Pack' is installed (VERR_NOT_FOUND)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

vagrant会全自动为你下载、配置、安装、启动这款虚拟机,你要做的就是去旁边抽根烟,或者嗑点瓜子就行了。

全部时间大概有接近一个小时,这取决于你的网速和机器的速度了。

Kali会要求安装VirtualBox_Extension_Pack来支持usb 2.0和3.0,否则只能使用usb 1.0,从官网下载安装就好了。

Kali装好了,装个Windows也是轻而易举,毕竟Vagrant Cloud里Widnows的虚拟机也好多!

从XP到Win10应有尽有!

安装Hopper Disassembler

- 安装IDA pro

不要跟我要!又不是7.0。

- Xcode多版本共存

在苹果的开发者资源下载中心下载你想要的版本,笔者这里又下载了8.3.3,没办法,Xcode 9毕竟还是太新了,毕竟没有iPhone 8让我来调试。

把原来的Xcode直接改名,改成对应的Xcode加版本号的命名方式即可。

$ sudo mv /Applications/Xcode.app/ /Applications/Xcode9.0.app/

然后安装新下载的Xcode8.3.3。将下载好的xib格式的压缩包解压,解压出来的Xcode.app重命名为Xcode8.3.3.app。将其移动至/Applications文件夹中。

运行xcode-select命令将默认Xcode改成我们下载的这个版本。参数-p打印一下路径,查看是否修改成功。

$ sudo xcode-select -s /Applications/Xcode8.3.3.app/Contents/Developer
$ xcode-select -p
/Applications/Xcode8.3.3.app/Contents/Developer

lldb调试Ian Beer的Triple Fetch!

使用刚刚安装的Xcode来编译Ian Beer的iOS 10.3.2用户态过沙盒工具,lldb可以attach任意进程进行调试,并且运行任意自定义的二进制,详细分析可以看keenlab的陈良和阿里的蒸米对漏洞的分析。

这是最终效果图。关于代码的分析后续有时间再写吧。^_<

*本文原创作者:Roy_Chen,本文属FreeBuf原创奖励计划,未经许可禁止转载



登录查看更多
0

相关内容

【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
专知会员服务
31+阅读 · 2020年4月24日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
187+阅读 · 2019年12月28日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
教程 | 从零开始搭建『深度学习』GPU开发环境
机器学习算法与Python学习
8+阅读 · 2019年10月28日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
已删除
架构文摘
3+阅读 · 2019年4月17日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
12+阅读 · 2018年2月4日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
手把手教你安装深度学习软件环境(附代码)
数据派THU
4+阅读 · 2017年10月4日
从零开始:深度学习软件环境安装指南
机器之心
6+阅读 · 2017年10月2日
Neural Image Captioning
Arxiv
5+阅读 · 2019年7月2日
Arxiv
3+阅读 · 2018年10月25日
Arxiv
3+阅读 · 2018年5月21日
Arxiv
3+阅读 · 2018年3月29日
Arxiv
27+阅读 · 2017年12月6日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
专知会员服务
31+阅读 · 2020年4月24日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
187+阅读 · 2019年12月28日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
相关资讯
教程 | 从零开始搭建『深度学习』GPU开发环境
机器学习算法与Python学习
8+阅读 · 2019年10月28日
“黑客”入门学习之“windows系统漏洞详解”
安全优佳
8+阅读 · 2019年4月17日
已删除
架构文摘
3+阅读 · 2019年4月17日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
12+阅读 · 2018年2月4日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
手把手教你安装深度学习软件环境(附代码)
数据派THU
4+阅读 · 2017年10月4日
从零开始:深度学习软件环境安装指南
机器之心
6+阅读 · 2017年10月2日
Top
微信扫码咨询专知VIP会员