广告

揭秘Android木马如何实现用户定位,看看你中招没

2016-07-14 15:57:00 FreeBuf, GDLpa 阅读:
本文将逐步向读者揭秘这些高级安卓木马的核心实现技术,帮助大家更好地了解这些木马实现技术,从而做好对个人隐私的保护,防范该类木马的入侵。
广告

这几年安卓系统的普及速度可谓迅猛,一时间各式各样的设备都承载着安卓系统,手机、平板、机顶盒等都忠实地成为了安卓系统的用户。由于安卓系统在移动设备上的使用率最高,而移动设备上存储的数据往往涉及到个人隐私,如手机通讯录、短信内容、拍摄照片、阅读书目、保存文档等,有时更会涉及到经济利益,这诱惑着一些利益集团开始制作基于安卓系统的远程控制程序,即安卓系统木马。

__首个安卓系统木马应属2010年出现的“Trojan-SMS.AndroidOS.FakePlayer.a”,这是一个以扣取用户手机话费为目的的盈利性安卓系统木马。__随着需要的发展,__单纯的盈利性木马已经不是重点,用户的隐私数据才是核心,尤其是具有用户行为监视性的木马最受关注。__所谓“用户行为监视性的木马”就是指该类安卓木马能够监视用户的所在、所说、所做。

所在”即用户所处位置在哪里;“所说”即通话内容,聊天内容;“所做”即在操作什么程序,在干什么活动。

这一类的木马由于涉及到用户核心利益,往往经济价值较大,多用于私人侦探、商业窃密等领域,平时很难见到,更不要说了解其核心代码、实现机制。

为此,本文将逐步向读者揭秘这些高级安卓木马的核心实现技术,帮助大家更好地了解这些木马实现技术,从而做好对个人隐私的保护,防范该类木马的入侵。本文旨在讨论技术,凡利用本文技术进行违法活动的作者与杂志概不负责。

|如何实现定位?

如果你利用百度搜索安卓定位原理,会发现百度给出的解释不外乎是利用GPS或者手机基站定位,甚至结合Wi-Fi信号。原理不错,但这只是原理,要想具体实现定位可是有一定难度的。__以手机基站定位为例,现在传统的实现方式是利用AndroidSDK中的API(TelephonyManager)获得MCC、MNC、LAC、CID等信息,然后通过Google的API获得所在位置的经纬度,最后再通过GoogleMap的API获得实际的地理位置。__这其中:

MCC即MobileCountryCode,移动国家代码(中国的为460);
MNC,MobileNetworkCode,移动网络号码(中国移动为00,中国联通为01);
LAC,LocationAreaCode,位置区域码;
CID,CellIdentity,基站编号,是个16位的数据(范围是0到65535)。

由于谷歌存储了MCC、MNC、LAC、CID等信息,一旦我们能够获取当前移动设备所在基站的这些数据,就可以通过向谷歌的“http://www.google.com/loc/json” 网址发送查询数据获取基站所在经纬度。

得到经纬度后,我们将其转换为实际地址,这需要向谷歌的“http://maps.google.cn/maps/geo?key=abcdefg&q=” 发送经纬度数据,最终获得移动设备所在实际地址。这样的实现代码在网上很多,你会发现它们都不好使了,为什么呢?因为 “http://www.weixianmanbu.com/” 这个网址现在已经不能访问了。这个可悲的消息使得我们意识到必须采用一种相对稳妥的方法来实现移动设备定位。在对某个安卓木马程序做逆向分析时,发现一种新的基于手机基站定位实现技术。当然在这之前,细心的读者会发现为什么我们一直在详细讲解基于手机基站的定位实现,而不采用最为常用的GPS。

因为手机这样的移动设备一旦进入到房屋内等封闭场所,GPS信号就衰减为0,不足以实现定位,而手机信号多半都是存在的,所以基于手机基站的定位方式更为稳妥,这就是为什么很多高级安卓木马会采用该方式实现定位的原因。

言归正传,我们发现的这个安卓木马采用了基于百度提供的定位SDK。根据百度官方的解释:百度Android定位SDK支持Android1.5以及以上设备,提供定位功能,通过GPS、网络定位(WIFI、基站)混合定位模式,返回当前所处的位置信息。

反地理编码功能:

解析当前所处的位置坐标,获得详细的地址描述信息。如此丰富的技术支持,难怪该安卓木马会采用这个SDK。

百度Android定位SDK的使用非常简单,首先在百度的官网下载最新的库文件,将liblocSDK.so文件拷贝到libs/armeabi目录下,将locSDK.jar文件拷贝到工程根目录下,并在工程属性->JavaBuildPath->Libraries中选择AddJARs,选定locSDK.jar,确定后返回,就可以在程序中使用百度Android定位SDK了。在代码实现时,首先需要初始化LocationClient类,其代码如下:
5787086ddd36c
接着实现BDLocationListener接口。BDLocationListener接口有一个方法,作用是接收异步返回的定位结果,参数是BDLocation类型参数。其代码如下:
578707ef51f72
578707f07758c
578707f180cc7

接着设置参数。设置定位参数包括定位模式(单次定位,定时定位),返回坐标类型,是否打开GPS等。实现代码如下:
5787079735016
最后,发起定位请求。请求过程是异步的,定位结果在上面的监听函数中获取,代码如下:
57870796344ba
实际测试效果如图所示。从图中可以看出,演示程序准确定位到了我此刻手机所在的位置,定位精度在百米内。木马程序一旦使用了这样的技术,完全可以实现对用户所在的监视,你此刻是不是有一种毛骨悚然的感觉呢?
5787070d02f60
定位代码实现后,就可以利用移动网络将用户数据时时上传至控制端网站,由控制端用户查看。结合以往数据,就可以勾画出一个人一段时间内的行踪,对被控制者来说,此刻的手机或者其它移动设备就成为了出卖自己的第一元凶。定位代码的成功实现,只是高级安卓木马程序的一部分功能,随后的工作还有很多,将会陆续将这些核心技术向读者一一揭秘。

编按:本文由FreeBuf黑客与极客(FreeBuf.COM)投稿,原作者GDLpa,原博客:危险漫步博客

原文链接:http://www.leiphone.com/news/201607/WZoB56W8BTpWT7Uf.html

EETC wechat barcode


关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 高盛:2025比亚迪6.18促销研报告
  • 春招 | 寻找AI时代的汽车博主 AI司机 发自 副驾寺智能车参考 | 公众号 AI4Auto喝咖啡,看News,各种出差体验最新的车,见各种有意思的人获取最酷的认知。这大概就是智能车参考编辑部的日常,现在这样的工作和生活方式,正式向
  • 驾驶培训致命车祸?小米回应 点击上面↑“电动知家”关注,记得加☆“星标”!电动知家消息,6月10日,小米汽车副总裁李肖爽通过微博辟谣称,网传“小米汽车高阶驾驶培训出现致命车祸”的消息为恶意造谣。他指出,近日有大量小号在各平台广泛
  • 麒麟9600芯片现身! 华为首款鸿蒙折叠电脑MateBook Fold非凡大师已于6月6日正式开售,迅速成为科技圈焦点。随后,有博主第一时间对电脑进行了拆解。最让人意外的地方不是折叠屏设计、不是做工堆料,而是那颗从未官宣、但
  • Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元 本文作者:Qorvo亚太区无线连接事业部高级行销经理 林健富英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。”这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似?怎么
  • 包含9个项目表,4张项目地图及5份年度报告!亚化咨询半导体数据全家桶/年报开启订阅 亚化咨询重磅推出《中国半导体材料、晶圆厂、封测项目及设备中标、进口数据全家桶》。本数据库月度更新,以EXCEL表格的形式每月发送到客户指定邮箱。中国大陆半导体大硅片项目表(月度更新)中国大陆再生晶圆项
  • 中办、国办:完善最低工资标准调整机制,合理提高最低工资标准 人民财讯6月9日电,中共中央办公厅、国务院办公厅印发《关于进一步保障和改善民生 着力解决群众急难愁盼的意见》。其中提出,加强低收入群体兜底帮扶。充分运用大数据比对与实地摸排相结合等方式,加强动态监测预
  • 首选英特尔至强智能化升级的行业,有一个相同的原因 导语:性能够用,价格友好,至强是智能化转型的实用首选。 正如新药研发在临床前鲜有人问津,却能在上市后挽救无数生命。 医院的智能化升级鲜为人知,却悄然重塑着每一位患者的就医体验。
  • 严守安全底线!工信部将加大力度抽查这些车型  深挖汽车科技 解码智能安全 (谈思汽车讯)6月9日,工信部发布《关于组织开展2025年度道路机动车辆生产企业及产品生产一致性监督检查工作的通知》,提出加大对舆论关注度高、存在较大
  • 又一汽车行业巨头面临破产! 点击上面↑“电动知家”关注,记得加☆“星标”!电动知家消息,2025年6月7日,日本共同社一则报道引爆全球汽车供应链:日产与Stellantis的核心供应商、全球排名第23位的马瑞利(Marelli)
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了