iOS Reverse Engineering Toolkit(iRET)介绍

原帖:https://blog.veracode.com/2014/03/introducing-the-ios-reverse-engineering-toolkit/
作者:Stephen Jensen

减少工作量的同时提供生产量,是每个人梦寐以求的事情。作为一名iOS渗透测试员,我发现自己日复一日的工作中存在着不少重复而机械的工作;有句讲句,有时我觉得还蛮无聊的。程序员坐得久,坐得久要长膘,长膘了不灵活,不灵活按错键,工作量上去了,生产量下来了。因此我喜欢自动化,我喜欢流水线上的创新,它能在节省我时间的同时较好地达到我的目标。为了节省那挤挤总会有的X沟——哦不,时间,远离鼠标手,我开发了iOS Reverse Engineering Toolkit。

一、什么是iRET?
那么iRET是啥?作个不恰当的比喻,它是一套在逆向分析iOS应用时能让多道工序自动化的工具集。听起来平淡无奇?别急,我们的重点是——这些工作全都可以在iDevice上完成(编者注:也就是说,你不需要一台昂贵的Mac喽)。是不是有点心动了呢 :heart_eyes:
iRET可以从这里下载~

二、iRET特性
听我吹了半天牛,那么iRET到底怎么个自动化法呢?下是iRET的主界面,列出了所需要安装的工具,并且提醒你哪些工具还没有安装。在这个界面,你还可以选择你想要分析的应用。


左边的一系列分析工具均可从网页或Cydia免费下载。当你从右边的下拉菜单选择一个待分析的应用时,iRET进入下图的功能界面:

二进制文件分析:实际调用otool来展示MachO二进制文件的消息,包括MachO头部信息,例如PIE是否开启、支持的处理器架构、是否加密、是否开启了ARC,等等。

密钥串分析:实际调用了ptoomey开发的“keychain_dumper”,让用户能够分析密钥串里的内容,包括密码、密钥、证书等等敏感信息。

数据库分析:此功能自动分析目标应用目录下的所有数据库文件,包括db、sqlite、sqlite3这三种格式。

日志查看器:此功能包括两个部分,一个是能让用户查看/var/log/syslog文件最新的100行内容,另一个是能查看目标应用里所有的日志(log)和文本文件(txt)。

plist查看器:此功能列出所有目标应用目录下的plist文件。

头文件查看器:此功能提供三个子功能,分别是:1. 自动判断此文件是否被加密(编者注:苹果DRM),如果被加密,则会自动解密(编者注:即砸壳)。2. 自动class-dump,形成头文件。3. 用户选中一个头文件时,将针对此头文件的所有方法形成一个Theos logify模板,如下图所示:

在此页面编辑好tweak的内容后,即可在下图中新建一个Theos工程:

Theos工程建好后,可以在下图中浏览和编辑Makefile及Tweak.xm文件。


编辑完成后,点击“Save”保存更改,如图:


保存所有编辑后,即可点击“Build”编译并自动安装tweak,如图:

Tweak安装后,用户可以手动respring或重启目标应用,使tweak生效。
截屏查看器:此功能可以方便用户查看目标应用的截屏缓存。

最后我想说的是,iRET工具集并不是万能的,它只是帮你把iOS应用渗透分析的许多流程给自动化了。最具有技术含量的分析过程,还需要你日复一日的技术积累,方可达到炉火纯青的境界。

4 个赞

进不到 主界面 囧…下载了…:cry:

哦,不会吧~!我还没有试!rpetrich告诉我说有这个东西,我就赶紧转过来了

确实进不到主界面,没法访问进去,不知道是缺少什么还是怎么

原帖给的链接下载的App,主界面也进不去吗?


这一步之后怎么走 我打开方式不对吗 囧 求教啊

就是原地址下载的,在iPhone设备上进去并且开启了web,但是通过浏览器还是没法进主界面

装deb后手机上没图标啊,怎么回事啊;而且ire.app打不开

Cydia下载的话,要添加什么源啊

我自己回~。~!add http://cydia.myrepospace.com/TSWDEV/ to your Cydia Sources

看里面的README文件,里面有详细内容

sdk 怎么安装?

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

sdk 是这个? 好大!1.2 G 总是卡死 ,压缩了,也弄不进。
按照 readme 基本操作了,就sdks 没弄进去。怎么也是没界面?

Reboot works.
Should wait for a few minutes to connect from the PC/Mac successfully.

见鬼了,重新试下好了。。。星期天总是不行!没做什么修改!

Reboot works.
Canot connect from the PC/Mac after wait for a few minutes
IPod 6.1.5

Installation:
Install the iRET.deb package onto any jailbroken iPhone using dpkg -i on the command line or by using iFile, which is available from Cydia. After it is installed, respiring the device and you should see a new “iRET” icon on the device.

Usage:
Must be connected to a wireless network. Launch the application, click the “Start” button. It will then show the ip address and port number you should navigate to on your computer (computer must be connected to same wireless network as device). On first run, it will take a bit of time for the iRET tool to identify all of the required tools.

Dependencies:
The following apps are required to be installed on the device (in addition to the tools required on the main page)

  • Python (2.5.1 or 2.7) (Need to be Cydia ‘Developer’)
  • coreutils
  • Erica Utilities
  • file
  • adv-cmds
  • Bourne-Again Shell
  • iOS Toolchain (coolstar version)
  • Darwin CC Tools (coolstar version)
  • An iOS SDK (presumably iOS 6.1 or 7.x) installed to /theos/sdks
  • An iOS SDK (presumably iOS 6.1 or 7.x) installed to /theos/sdks

请问一下这个你是怎么解决的?

我打算用 iTools 工具直接拷贝进去,但是 对这个目录 /theos/sdks 不清楚。
另外 SDK 是之前你问的这个吧 ’/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs‘?

iPad上的DEB文件可以安装打开,MAC上的APP文件双击没有反应是怎么回事?

sdk 没弄进去了,theos 不能用的,一部分功能能使用,感觉比较鸡肋。。。