为什么选择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是刚刚设置的磁盘名字,进入阶段二的安装。阶段二也就是阶段一的延续。
阶段二还是什么都不用做三星笔记本按f几进入u盘启动,等进度自己跑到底就行了,系统就安装完成了。
跑到底后系统还是自动重启,重启后还是使用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,下载地址:,下载之后解压缩打开里面的app,选择c(安装 Clover EFI 开机引导文件(HFS)),回车,选择0号bsd磁盘,1号分区,也就是黑苹果所在磁盘的EFI分区,这款app会自动将clover文件复制到黑苹果的EFI分区去,并且做好相应的设置。此时另开一个终端,运行mount命令可以看到EFI分区的挂载位置,一般是/Volumes/EFI这里,cd到里面去之后三星笔记本按f几进入u盘启动,删除整个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原创奖励计划,未经许可禁止转载