原文:html
http://www.websecgeeks.com/20...ios
http://www.websecgeeks.com/20...git
http://www.websecgeeks.com/20...github
众所周知,应用程序由代码构成,其中有许多关于功能的信息,等等。若是咱们可以提取出咱们将要攻击的应用程序的全部可能的信息,那将是极好的。windows
咱们将会看到如何提取iOS应用的类信息。xcode
苹果在安全方面作了一些修改,如今大多数appstore应用都是加密的,首先须要解密来提取类信息。
首先,咱们将看到未加密应用的类的状况。安全
转储预安装应用程序的类信息ruby
咱们有两种方法来找到这款应用。服务器
1) find /-type d -iname “Dam*.app”
2)若是应用程序是使用IPA文件安装的,那么他的保存目录将是Applications/
我使用的是命令行搜索,这是由PrateekGianchandani开发的受影响的iOS应用程序。
咱们在本地找到这个文件 /Applications/DamVulnerableIOSApp.app
首先进入这个文件夹[有漏洞的iOS APP]这里有一个闪着原谅绿颜色的文件,这是这个app的可执行文件,因此咱们须要使用这个文件名dump 出类。
如今咱们来提取这个app类的信息。
class-dump-z DamVulnerableIOSApp.app / DamVulnerableIOSApp
如今咱们能够看到大量的输出信息出现,因此若是咱们能将这些信息保存下来进一步分析会更容易一点。
要作到这一点,咱们可使用sftp。因此使用sftp登陆到您的设备,使用[email]sftproot@192.168.0.3[/email]并输入您的根用户密码。
而后sftp /Applications/Appdirectory.app/Appname> outputfilename
若是你使用的是mac和windows用户,这个文件将会被下载到你的home文件夹中,它将会被保存在你的User的主文件夹中。
这些类信息帮助咱们理解应用程序和逻辑的流程。
项目中加密的DumpingClass信息
正如咱们所知,从应用商店下载的应用程序放置在/var/containers/Bundle/Application。这些应用一般是加密的,以免信息泄露。这使得提取类信息和很是困难的任务。
为了克服这些问题,咱们须要使用clutch,并将这个二进制文件放入/usr/bin文件夹,并使用chmod+xclutch彻底访问这个二进制文件。
首先,我使用了命令clutch-i——我这个命令将用它们的bundleid提取全部已安装的应用程序。
例如应用程序。<BundleID>
在咱们的例子中,我在演示中使用了Rediffmail。咱们有了应用程序名称为RediffmailNG它的bundleID- com.rediff.com
如今使用命令clutch -b com.rediff.com。这个命令将建立一个新的文件/var/tmp/clutch/<>/directory.
从上面的图片能够看到,文件被保存到/var/tmp/clutch/someid/。进入这个目录
咱们在这个目录中有一个可执行文件。外瑞古德
接下来使用命令:class-dump-z RediffmailNG [提取类信息]
安装IGoat在实践和学习方面,咱们将使用OWASP安全项目的iGoatiOS应用程序。你能够在这里找到他们的Github页面。这个移动应用程序被设计为安全专业人员和学习者在iOS应用程序测试中提升他们的技能。
这个项目由下面的人来维护。
Swaroop
masbog
mtesauro
DinisCruz
这是项目的细节
在之后的实践例程中,咱们将会在XCode中安装这个程序而且运行它。可是我建议你使用物理机。
1)首先下载这个漏洞程序
URLhttps://github.com/OWASP/igoat
2)解压
igoat-master
igoat-master->iGoat
用XCode打开这个文件夹下的iGoat.xcodeproj这个XCode项目
3)在左边选择你想要的设备版本,好比iphone5 6或7;)
个人例子是Iphone6:
4)在此按钮以前点击play(就是那个运行符号)按钮,结果将会看到一个屏幕运行咱们的iGoat应用程序。
5)而后进入windows菜单,选择50%的比例选项。因此咱们的应用程序运行窗口是很方便的
完美~!
6)如今让咱们的服务器可以处理这个应用程序的请求,让咱们能够更进一步的研究。
在同一个文件夹中,你会发现一个名为“serveropen”的文件夹。在这个文件夹中,您将看到一个ruby文件。
搞起!
一切就绪,准备玩一波浪的吧。
不安全的HTTP数据中转.
就像在HTTP敏感凭证上传同样,使用HTTP与服务器通讯的应用程序不使用任何类型的加密都很容易受到这些问题的影响。
在iGoat应用程序中,有一个简单的演示,在应用程序中传递的用户名和密码是经过http传输的,而没有任何加密,攻击者能够捕获/嗅探这些包,并可能劫持受害者的账户。
打开iGoat并进行数据保护(传输),而后选择服务器通讯
另外,不要忘记运行IGoat的ruby服务器。
如今进入应用程序并输入任何凭证并单击submit按钮。点击提交按钮后,输出就会像这样。
在后台,咱们的ruby IGoat服务器将做为一个攻击场景进行演示,其中用户登陆凭证信息被攻击者窃取为纯文本。
当你真正的深刻接触时,你也能够这样作。在你的设备上,你能够设置一个burp代理,或者你可使用Wireshark来演示这个漏洞,在那里你能够看到明文格式的证书。