ios安全系列(1)

IOS Application security Part1:

http://resources.infosecinstitute.com/ios-application-security-part-1-setting-up-a-mobile-pentesting-platform/

http://resources.infosecinstitute.com/ios-5-backups-part-1/

 

一共七部分. 另外我还会融合其它资料一道展开介绍。这个系列在内容上还存在不少不足。

一开始,就是越狱。。难道ios不越狱就没有啥事可做了吗? 其实这个系列我本来没有太多的兴趣。给越狱终端开发软件!不过现在有不少兄弟就是搞这个行当啊!

1、环境篇


越狱完毕就是安装一大堆软件,后续都用得着,也不见得马上都要装吆!

  • OpenSSH – Allows us to connect to the iPhone remotely over SSH
  • Adv-cmds : Comes with a set of process commands like ps, kill, finger…
  • Sqlite3 : Sqlite database client
  • GNU Debugger: For run time analysis & reverse engineering
  • Syslogd : To view iPhone logs
  • Veency: Allows to view the phone on the workstation with the help of veency client
  • Tcpdump: To capture network traffic on phone
  • com.ericasadun.utlities: plutil to view property list files
  • Grep: For searching
  • Odcctools: otool – object file displaying tool
  • Crackulous: Decrypt iPhone apps
  • Hackulous: To install decrypted apps



还可以装一堆hack软件,如BigBoss Recommended tools package( APT 0.6 Transitional, Git, GNU Debugger, less, make, unzip, wget and SQLite 3.x)。还可以装个本地的 MobileTerminal,无需SSH的。

运行一下MT,执行一条ps命令,效果如下:


本地登录完了,开始远程登录:

先把手机和pc置于一个wifi环境中!你懂的!

ssh缺省的密码是alpine.


顺便也把口令改一下吧,用这个命令passwd 。

如果你舍不得WIFI(省流量啊给女神买iPhone),USB也是不错的选择。

下载这个软件 http://code.google.com/p/iphonetunnel-usbmuxconnectbyport

SSH to iPhone over USB cable –

1
2
3
./iphone_tunnel -lport 2222
ssh -p 2222 root@127.0.0.1
password : alpine


Cydia 真的非常强大。使用前建议大家先更新。执行: apt-get update 即可。

还有个很重要的工具:class-dump-z 。详细信息:https://code.google.com/p/networkpx/wiki/class_dump_z

class dump是一个命令行工具,用来监测存储在Mach-O二进制文件的Objective-C运行时信息。它为类(class),分类(category)和协议(protocol)生成声明信息。这些信息与 otool -ov 命令提供的信息是一样的,但表示得更像正常的Objective-C的声明,所以它更紧凑,更易读。

先下载吧:


然后解压缩,拷贝到/usr/bin,这样随时随地玩。



2、网络数据包分析

现在不少应用还在空中裸奔,明文传输数据。如果你和一个屌丝在星巴克相遇,都用星巴克的免费网络,小心一点。屌丝可能正在监控你和糕富帅的谈话。如果你是男人,也要谨慎,屌丝还爱搞基。

FireSheep 之类的软件都可以拦截你的数据。如果你要在一个iphone终端上监控那些应用正在上网、都传输那些内容。最佳的选择就是设置一个代理




其实代理就是你的计算机: 计算机安装 Burp Suite 之类的软件and navigate to Proxy->Options,
Edit proxy listeners – enter ‘port’ as 8080, disable ‘loopback only’ and select ‘support invisible’ 即可。


剩下的就是Enjoy your life。

但如果真的HTTPS加密传输的,也存在一些问题,因为https基于ssl,ssl会校验服务器证书的。现在整一个代理服务器,其实就破坏力端对端认证和加密机制。如果是浏览器应用,浏览器会校验服务器证书,如果是客户端应用,码农就得自己写校验证书的代码。但码农如果犯了错误,尤其是客户端应用,很容易把任何服务器证书认证通过。

HTTPS流程不了解的同志们建议好好看看SSL协商过程。 HTTPS分单向和双向认证,单向就是客户端(浏览器)验证服务器即可,客户端(浏览器)预制(本地保存)根证书用于验证。如果是双向认证,还需要发送客户端证书给服务器侧进行认证。

如果客户端在验证服务器证书的过程中放松了警惕,失去了党性原则。就可能被敌人使用一个假证书搞中间人攻击。相当于你好像是建立了ssl通道(和敌人建立了,和同志们失去了联络),但通道仅限于你和代理服务器。你还竟然和代理服务器协商了一个密钥。。。

容易被码农使用的认证api包括allowanyhttpscertificateforhost (NSURLRequest)  以及continueWithoutCredentialForAuthenticationChallenge(NSURLConnection) 。这些api容易让人失去原则。

如果我们坚持原则,服务器证书验证按照流程,系统就会提示“无效证书”。

但如果码农都坚持了原则,咋还捕获ssl信息呢?那就要走关系啊,要在Phone trusted certificates list里面添加一个根证书,然后用该证书签发一个代理服务器证书. 就可以建立和代理服务器的ssl通道了。从而监控https。

有时候网络流不光是http,https。还会有一些协议比如low level socket communication APIs (NSStreams, CFStreams). 上述的技术就不能拦截了。. 就可以用 tcpdump 监控了。非常简单。其实所有网络流都可以用tcpdump 监控了。

1
2
3
ssh root@iphone-IP
password: alpine
tcpdump -w traffic.pcap

然后用Wireshark之类的软件打开 .pcap f文件分析即可。 

 DNS spoofing 也可以用来做网络监控。。这个我不就不多说了,很多人都懂的!

.



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值