揭秘:充电宝是如何盗取你的个人隐私的?

标签: 专题 极客 终端安全 充电宝 | 发表时间:2014-12-02 02:57 | 作者:creturn
出处:http://www.freebuf.com

中午吃完饭,看到一个微博中别人转的央视新闻 《别被改装充电宝盗取隐私》觉得又是啥高大上的东西上了央视,看完后才知道是数字公司的某研究员做的伪装充电宝盗取隐私的玩意。

心里豁然开朗,原来这玩意也可以上央视啊!那么问题来了: 这玩意都应用到了哪些技术,并且那个防护神器又是怎么实现的?我们这些天天写脚本的能玩不?还是需要那些玩二进制的牛人帮忙才能完成呢?

那么下面我给大家介绍一种方法,揭秘攻击者是如何低成本快速打造一个伪造的充电宝的,以及我们该如何防御。主要是IOS系统,至于Android的方法我想满大街都是吧这里就不说了,以后说不定会在博客中写下。至于用途吗不关你是进行物理社工还是什么的就自由发挥,本文所提技术并不局限于“充电宝” ,不费话了进入正题。

原理分析

首先,我们来分析下在不了解已有技术情况下假设要从零开始做起,我们是怎么分析和设计这个东西?我估计大多数人第一个想到的应该是iTunes , 苹果手机管理的配套软件,因为在它里面有个功能是备份数据用的,即使刷机后,只要恢复下数据那么所有的通讯录,短信,甚至上网信息等等都会被恢复回去,二进制牛如果看到了应该会说逆下iTunes分析下它通讯协议不就完事了。

嗯,确实可以实现奈何我们脚本小子操起IDA跟看天书的应该差不多,不过这里有一点说的对,那就是通讯协议。如果我们能够模拟iTunes协议,告诉iPhone我需要给你备份数据,那么按照它的接受协议把数据copy到存储单元不就ok了。至于它怎么去打包那些数据,根据它打包的方式解包不就还原所有数据了。 上面我们分析的是如何把数据从手机拿到存储单元,那么和充电宝又有什么关系? 看过那个视频的应该注意到,手机查到充电宝上面会提示 “是否信任此电脑” 。回想下,我们自己充电的时候是否会提示?那么在什么情况下会提示?

是的,在手机数据线插到别人电脑上面的时候会提示!这里我们在分析下,在正常充电宝上和电脑上面为什同为USB,一个提示一个却不提示,为后面的防御做个铺垫。

我们先看下下图:

图是网上找来的, 其中黄色部分为四个usb里面的触点, 其中1,4 从图中可以看到是正负极(虽然只有+,-号),2,3 是 “D+ 和D-” 是什么呢?其实就是data+ 和 data- 数据信号的输入和输出。其实从这张图上也能猜到为什么正常充电宝不会提示,而插到陌生电脑上会提示。因为在陌生电脑上面data+和data-上面产生了数据信号,所以导致iPhone会进行询问是否应该信任此设备以进行数据交互,下面看看如何快速实现。

设计实现

上面原理分析了那么多,还是没有进入核心部分 “ 如何快速制造” 估计骂街的已经开始了….

所需材料:

1. 树莓派 (raspberry pi) 一枚
2. 大号锂电池(至于多大,看你想要多大容量的充电宝)
3. 充电器(为啥要这个?充电宝要充电呗)
4. 小灯 led小灯 3-4 枚 (充电宝充电闪烁效果)

上面这些东西怎么组合?  树莓派USB 对外供电, 锂电池给树莓派供电,充电器拆了(里面的东西)给锂电池充电,至于led小灯,接树莓派GPIO口。让树莓派闪烁小灯的教程网上应该也是一大把了,这里就不详述了请自行查询。

其实树莓派就是一个ARM平台上面可以跑跑Linux, 大家最关心的应该都是在ARM平台上面的Linux怎么模拟数据让iPhone把备份数据给存储到树莓派上面的存储器。看到上面的分析估计很多人心里不自在了,都说了脚本小子为什么又扯到上面的分析,难道又要让我们逆向iTunes了。当然不是了,既然我们能想到模拟数据难道就没有人做过?是的,你又一次猜对了,由开源实现

libimobiledevice , 这就是我们今天的主角,看看它介绍(官方介绍):

libimobiledevice is a cross-platform software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. It allows other software to easily access the device's filesystem, retrieve information about the device and it's internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. The library is in development since August 2007 with the goal to bring support for these devices to the Linux Desktop.

上面啰嗦了那么多E文其实就是说它不依赖于第三方库,跨平台的实现了iPhone,iPod Touch, Ipad等苹果设备的通讯协议。

在树莓派上面怎么编译可以看这里所需依赖

https://github.com/libimobiledevice/libimobiledevice

编译后有它的动态库,可以根据它的文档自己实现想要的功能,不过对于仅仅只是需要“窃取”隐私数据,其实自带的tools目录中的工具就已经够用了,在看编译完后的工具都长什么样(图片演示均为笔记本上面的libimobile):

可以看到编译后tools目录自带的这些小工具,比较显眼的几个: 

idevice_id                  获取已连接设备ID, idevice_id -l
idevicebackup               ios较低版本用来备份数据的工具
idevicebackup2              ios新版本备份数据工具
idevicesscreenshot          从名字就能看出来是屏幕截图
idevicesyslog               实时显示log信息的,跟adb logcat 一样
ideviceinfo                 设备信息
....                        其他的看名字基本就知道大概了

好了,我们直接上主角吧,idevicesbackup2。‍在当前目录建立文件夹bak,当然你愿意放在那里都行只是用来存储备份数据的。usb连接电脑和手机(不是说好的充电宝么,好吧…没啥差吧^_^)

输入命令:

 idevicebackup2 backup ./bak

如果没有配置环境变量就给idevicebackup2 指定当前目录./

运行过程如下图所示:

运行结束后在bak目录下会生成一个由字符串组成的目录,打开我们可以看到一堆不太能够容易理解的文件,其实这些就是备份经过处理的数据,如果所示:

那么拿到这些数据有毛用…   别捉急,既然能拿到肯定有办法解包还原数据

输入命令:

ideivcesbackup2  unpack ./bak

命令执行完后我们就可以看到bak目录下多了一个_unpack_目录,看看里面有些什么吧。

由于层级太多只显示了3级目录,不过我们先找找数字公司演示的照片是在什么地方存储的可以在var/mobile/Media/DCIM 目录中看到这里存储的都是个人相机拍的照片和视频(没拍摄过所以里面木偶有显示~)如下图:

仅仅只能拿到相片么?  其实细心的读者肯定都看到了Keychains 就应该知道这玩意是啥了。好了再看看能获取到其他信息不? 比如safari或者其他APP的本地遗留数据,例如cookie 、 聊天记录? 看看var/mobile/library下面的sms和cookie信息:

我不会告诉你 var/mobile/Applications  全部是应用的备份文档信息里面包含的账户密码,聊天信息等。这里就不看了,太尼玛冷了,得进被窝了…

防御措施

这会再看结合USB的那个图你应该知道两种防御方法了吧?

1. 提示信任信息的时候如果是充电宝,坚决选NO
2. 也就是数字公司的“防御神器”切掉USB的data数据(猜测数字公司这么干的)

哎,好久没写文章了有点手生,写了快一个小时就到此打住了,写着文章没有任何恶意,只是想分享一些东西,认识我的人都知道我很乐意分享所掌握的知识并且是无条件的。你会问为啥从始至终都没有看到你的“充电宝”,额没钱买呗,哈哈…

版权信息

原创作品FreeBuf独家首发,我博客都还没发布
weibo: @creturn
blog: www.creturn.com

后面有时间了再写个IOS关机窃听的东西,哎,上次吃饭时候说要弄一个,感觉给自己挖了个坑…

[本文由作者creturn原创并投稿FreeBuf,版权属于creturn,转载须注明来自FreeBuf.COM]

相关 [个人 隐私] 推荐:

大数据下的个人隐私

- - 人月神话的BLOG
前几天听了罗胖《逻辑思维》里面的大数据下的个人隐私,谈下个人看法. 不知道大家是否还有印象在两年前有个微博,通过大数据分析曝光了某个人具体的居住地址和位置,而依赖的仅仅是该人前后发的多种照片分析和个人的一些微博言语. 现在的各种新媒体和社交工具太多,这些工具时刻都在有你这个自媒体不断的发送各种信息,再加上信息直接的相关性分析很容易得出某些结论.

揭秘:充电宝是如何盗取你的个人隐私的?

- - FreeBuf.COM | 关注黑客与极客
中午吃完饭,看到一个微博中别人转的央视新闻 《别被改装充电宝盗取隐私》觉得又是啥高大上的东西上了央视,看完后才知道是数字公司的某研究员做的伪装充电宝盗取隐私的玩意. 心里豁然开朗,原来这玩意也可以上央视啊. 那么问题来了: 这玩意都应用到了哪些技术,并且那个防护神器又是怎么实现的. 还是需要那些玩二进制的牛人帮忙才能完成呢.

银行里是怎么使用个人征信系统的?如何确保个人隐私不会被泄露的?都有哪些措施?

- - 知乎每日精选
第一,你要了解征信数据是怎么来的,人行建立了征信系统,我估计这个系统有接口,金融机构可以通过这个接口向征信系统报送数据,一般报送的都是授信业务,因为你办授信业务要提供的资料比你去存款提供的资料要详细的多,更重要的是授信业务才存在你是不是守信还款的数据,比如你征信记录什么信息也没有,那去办一笔贷款或者办张信用卡很快你就会发现征信记录上出现了你的信息.

口令与隐私

- Kindy - 《程序员》杂志官网
就在我开始撰稿之时,英国女王正在二战盟军密码破译中心所在地向英国儿童宣布一项密码破解挑战赛. 这是自美国总统奥巴马在电视讲话中提醒公众注意密码安全后,第二位西方国家元首就很细节的安全技巧直接与民众进行对话,给充满口令和密码迷局的本月带来了有趣的风景. 微软决定强化Hotmail的口令安全管理,逐步禁止用户采用常见密码.

关于隐私那点事

- - 《商业价值》杂志
个人信息的释放不可阻挡,这是整个互联网经济下一步发展的关键基石. 而如何建立秩序和规则,合理开发个人信息的价值,并且让每个用户都因为“等价交换”而认同这个趋势,则是一个必须迈过去的坎儿. 多年以后,当人们谈论起传说中的2013年315晚会,记住的应不仅仅是那句“大概八点二十发”,“隐私”问题正在成为悬在中国互联网经济头上的达摩克利斯之剑,随时可能酿成巨大的产业灾难.

HttpOnly 隐私嗅探器

- - FEX 百度 Web 前端研发部
终于赶上个想点东西的日子,原本打算继续更新那拖了好久的流量劫持系列的博客和工具. 不过中午闲来无事去乌云逛了圈,发现百度的漏洞又双叒叕上头条了. 而且还是那个 BDUSS 泄露的问题,记不得这已经是第几回了. 尽管这事和咱没啥关系,但本着拯救世界和平的目的,还是打算去研究下:). 既然是 cookie 泄露,无非就两种.

Facebook 和它的隐私政策

- 云飞风起 - 爱范儿 · Beats of Bits
隐私的问题一直贯穿着 Facebook 的整个发展历程,在 Facebook 历史上有两次重大危机是因为隐私的问题而引起的. 在美国时间的星期四,Facebook 将实行新的隐私政策. 在 Facebook 实行隐私政策前,我们回顾一下 Facebook 的隐私政策发展过程和那两次重大的危机. 在 Facebook 还名为 Thefacebook 的时候,“任何不在您联系人列表中的用户,都无法查看您在 Thefacebook 提交的个人信息.

你真的在意隐私么?

- 纸条 - 36氪
最近的CIQ上传用户隐私事件闹得沸沸扬扬,人们说智能手机的普及让他们越来越没有隐私可言. 在我们报道360推出专门针对CIQ的检测工具后,甚至有微博用户笑称,相比CIQ,他更不相信360. 国内的360和腾讯是在隐私上被人诟病最多的两家公司,人们说360收集用户信息,说腾讯监控QQ聊天记录,今天看到微博用户的评论,让我想起Seth Godin在去年9月份写得一篇文章 - 你真的在意隐私吗.

如何控制您的在线隐私

- - LinuxTOY
只不是关于在线相册,不是关于明文密码,而是关于那些或许比你自身都更了解你自己的搜索引擎和互联网广告商. 以为 清除了浏览器本地历史记录就没人知道你到底浏览些什么网站了. 下面是个简单例子解释为什么:. 假设你访问旅游咨询网站 A 查询关于渡假景点 Z 的信息,网站 A 上包含了来自互联网广告商 G 的广告 Cookies.

关系经济下的隐私悖论

- - 《商业价值》杂志
很快,我们就将进入一个关系经济的时代. 过去10年来,互联网带来的数字化轨迹,让每个ID都可以成为被精确定义的个体,可以与相关信息精确的关联;. 而社交网络导入的现实人际关系和创造出的新人际关系,则让每个个体被“关联”起来,而信息得以基于关系更高效的流动;. 然后,基于智能终端的移动互联网则更进一步,个体不仅仅可以与其他个体和信息关联起来,还可以马上直接回馈到现实之中,此时信息的流动已经不再是终点.