0×01.为什么要安装黑苹果
为什么要安装黑苹果?对于这个问题,不同的人应该有不同的回答。对于学生党来说,花小钱就能体验原版macOS操作系统,不管是什么牌子的电脑,只要上了苹果的操作系统,逼格发生了翻天覆地的变化,从此在小伙伴儿面前,也有了炫耀的资本。学生党时间相对充裕,可以花费巨大的精力在反复的折腾和尝试上面;
1.对于小型工作室来说,苹果的台式机动辄一两万的售价实在是高攀不起,一台iMac Pro都能买三台性能上旗鼓相当的黑苹果主机了,同样的人员配置,预算立刻下降了三分之二,效果明显;对于一些“刷榜”“多开”工作室来说,利用低廉的硬件来迅速地复制和铺开,才是降低成本、提高效率、获得暴利的关键所在。
2.对于真·果粉来说,手机是苹果的了,平板也是苹果的了,操作系统当然也得是苹果的。哪怕没能够立即买Mac,先用上苹果系统,体验一下最先进的人机界面,折腾一下苹果专用的技术,而且大多数型号的笔记本也可以安装,包括最新很火的小米笔记本、戴尔燃系列等等;
3.对于安全研究人员来说,本身就是反复折腾、反复折磨机器的行业,也许研究员舍不得在轻易在真机上运行“来源不明”的脚本、木马或病毒,黑苹果就不一样了,大胆地试!大胆地调!大不了重装系统就好了;安装盘在手,天下我有!只要掌握了黑苹果的技术,运行macOS就跟运行Windows一样简单!
相对于真机的昂贵娇贵,虚拟机的性能孱弱,黑苹果拥有者无可比拟的成本优势、高度定制化的优势、以及与真机相当的性能优势,更有甚者在攒出一套Mac Pro的硬件的基础上,总花费和开销竟然可以不超过五千块!要知道前者在中国的售价可是高达21888软妹币!另外,相对于数年之前OS X系统对兼容机硬件的各种不友好,如今可是大变天,安装黑苹果的基本步骤已经与安装Windows越来越接近,动不动重装个系统简直就是小儿科,跟正版Windows重装没有什么区别;就差出个Ghost镜像了。究竟简单到什么程度,我们接下来使用真机来实践一次,您就知道了。
0×02.安装黑苹果有多简单
原版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:
非常强势,这款机器现在还卖一万多。
0×03.高度定制化——适合各种人群
硬件随意定制
之前只有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逆向安全工作站!
0×04 使用黑苹果进行逆向研究
安装Homebrew、Xcode、Command line tool等基础App;
太简单,就不骗稿费了。
安装Metasploit;
安装只要一句代码:
$ curlhttps://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \chmod755msfinstall && \./msfinstall
即可自动开始下载:
% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 5394 100 5394 0 0 3489 0 0:00:01 0:00:01--:--:-- 3489Switching to root user toupdatethepackagePassword:Downloadingpackage...% Total % Received % Xferd Average SpeedTimeTimeTimeCurrentDload Upload Total SpentLeftSpeed100136M100136M00589k00:03:560:03:56--:--:-- 892kChecking signature...Package"metasploitframework-latest.pkg":Status: signedbya certificate trustedbyMac OS XCertificateChain:1.DeveloperIDInstaller: Rapid7 LLC (UL6CGN7MAL)SHA1fingerprint:762C0C455ECD91EB B12CD123EC FE BE8A BC C3 BD69-----------------------------------------------------------------------------2.DeveloperIDCertification AuthoritySHA1fingerprint:3B166C3B7DC4 B751C9 FE2A FA B9135641E388E186-----------------------------------------------------------------------------3.Apple Root CASHA1fingerprint:611E5B662C593A08FF58D14A E22452D198DF6C60Installingpackage...installer:PackagenameisMetasploit-frameworkinstaller: Installingatbasepath/installer: Theinstallwas successful.Cleaning up...metasploitframework-latest.pkgroysuedeiMac:~ 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-version1A Vagrantfile has been placedinthisdirectory. You are nowready to vagrant up your firstvirtualenvironment! Please readthe commentsinthe Vagrantfileaswellasdocumentation onvagrantup.comformore information onusingVagrant.
第二句话,按照vagrant的配置,将虚拟机up起来!
$ vagrant upBringing machine'default'up with'virtualbox'provider...==>default: Box'Sliim/kali-2017.2-amd64'could not be found. Attempting to findandinstall...default: Box Provider: virtualboxdefault: Box Version:1==>default: Loading metadataforbox'Sliim/kali-2017.2-amd64'default: URL: https://vagrantcloud.com/Sliim/kali-2017.2-amd64==>default: Adding box'Sliim/kali-2017.2-amd64'(v1)forprovider: virtualboxdefault: Downloading: https://vagrantcloud.com/Sliim/boxes/kali-2017.2-amd64/versions/1/providers/virtualbox.boxdefault: Progress:1% (Rate:282k/s, Estimated time remaining:1:36:20)......==>default: Box'kali'could not be found. Attempting to findandinstall...default: Box Provider: virtualboxdefault: Box Version: >=0==>default: Box file was not detectedasmetadata. Adding it directly...==>default: Adding box'kali'(v0)forprovider: virtualboxdefault: 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 addressforNAT 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: Adapter1: nat==>default: Forwarding ports...default:22(guest) =>2222(host) (adapter1)==>default: Booting VM...There was an errorwhileexecuting VBoxManage, a CLI used by Vagrantforcontrolling VirtualBox. The commandandstderr is shown below.Command: ["startvm","df2f35e0-9c43-4310-89b1-4acc6e8dfe65","--type","headless"]Stderr: VBoxManage: error: Implementation of the USB2.0controller not found!VBoxManage: error: Because the USB2.0controller 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'ordisable USB2.0support 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,interfaceIConsole
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的陈良和阿里的蒸米对漏洞的分析。
这是最终效果图。关于代码的分析后续有时间再写吧。^_<
www.freebuf.com/geek/149063.html
*本文原创作者:Roy_Chen