报道http://www.cnbeta.com/articles/239726.htm称:安全研究员用BeagleBone做出“有毒”充电器可以入侵iphone。这个报道给了点灵感,于是便尝试做出一个Android版的来。开发板采用RaspberryPI而不是BeagleBone,大幅度降低成本……
实现思路:1、使用Android提供的adb,adb是android开发的一个调试工具,虽说是开发用的工具,但是很多普通用户也经常跟adb打交道:因为豌豆荚或者刷机软件之类的东东大多使用adb实现的。adb的详细介绍可以看:http://developer.android.com/tools/help/adb.html
2、要用adb跟Android客户端交互,就要先在客户端上由用户开启开发者模式,这是android的一个安全机制。换句话来说就是不能入侵没有开启USB DEBUG模式下的手机。但是如1所说,一般豌豆荚或者91助手的用户都会开启开发者模式并且打开USB DEBUG,所以其实很多人都是开了USB DEBUG的。
3、adb能够干什么?在一台已经root的机器上,只要连接adb,那就是只有想不到,没有做不到。没有root的情况下,安装个app或是下载几个照片搞个艳照门还是没问题的。SO,危害性也不小
过程:
本次实验用的是nexus4和nexus7,在实验的过程中发现一个问题,就是4.2.2更新了USB DEBUG的机制:当与一台新的机器上的adb通信的时候,手机上会弹出是否在这台机器上进行调试的选项,这是为了防止ADB-savvy thief……好吧。不过鉴于Android的碎片化,其实使用4.2.2的设备还不多,所以可以暂时不考虑
官网上的linux adb并不支持Raspbian “wheezy”,所以需要编译一个树莓派下的adb.
RPI官方的系统wheezy默认安装了python,所以就用python写了个简单的exploit,代码扔到github上了,以后慢慢改,现在可以往手机里安装app以及自动下载已root手机的通讯录和wifi账号密码。
https://github.com/shenyuanv/ToxicCharger
待解决的问题:RPI需要5V/1A的电源供电,想要伪装成移动电源就要自带一个电源,所以要把一个电源集成在RPI的板子上
可以优化的地方:1、在RPI添加WIFI模块,再配合安装到受害者手机里的app,可以利用无线adb实现远程控制
2、配合一些提权的漏洞,可以在没有root的手机上获取root权限,比如最近的P6手机上就暴了一个提权漏洞:remap_pfn_range不检查参数,导致mmap可以映射到任何地址。根据这个漏洞写一个exploit出来应该没有太大问题。漏洞在:http://wooyun.org/bugs/wooyun-2013-026290
最后上个和移动电源比较的图