跳至主要内容

无处不在的监控: Hacking Team:WP8 监控代码分析

原文来自乌云,备份地址

0x00 背景


最近Hacking Team被黑客入侵,近400GB的资料泄漏,在安全界炒的沸沸扬扬.其中泄漏的资料包括:源代码,0day,资料入侵项目相关信息,相关的账户密码,数据及音像资料,办公文档,邮件及图片。
Hacking Team在意大利米兰注册了一家软件公司,主要销售入侵及监视功能的软件。其远程控制系统可以监测互联网用户的通讯,解密用户的加密,文件及电子邮件,记录各种通信信息,也可以远程激活用户的麦克风及摄像头。其产品在几十个国家使用
enter image description here
在源代码中有各个操作系统平台的远程控制软件源码,RCS(Remote Control System)。经过我们的分析,发现其监控内容不可谓不详尽。Android,blackberry,ios,windows,window phone,symbian均有与之对应的监控代码。
在源码中,rcs为前缀的源码文件是其远控功能,包括代理 控制 监控数据库 隐藏ip 等,而针对特定平台架构的是以core前缀命名。其中和相关window phone监控代码在core-winphone-master.zip文件中。其主要用于实时手机系统的系统状态信息如(电池状态,设备信息,GPS地址位置),联系人,短信记录,日历日程安排,照片;同时还能录音,截取手机屏幕,开启摄像头,话筒等功能,由此可见监控信息的详细程度令人害怕。
enter image description here

0x01 WP8监控源码分析


core-winphone-master\MornellaWp8\MornellaWp8下是其主要核心代码,主要文件如下:
enter image description here
通过观察源码流程图可以看出,整个监控项目源码的逻辑还是比较复杂的,但是深入之后,发现其还是设计的比较巧妙
enter image description here

0x01-1 程序框架分析

1.项目主要分为3大块Modules,Events,Actions,主要的功能Modules核心监控代码在此处,Event等待监控事件的到来并调用对应的监控模块,Action主要负责一些行为的启动和停止
程序启动流程如下:
main->mornellaStart->BTC_Init->CoreProc->Core->Task
setLoadLibraryExW分支主要负责加载一些API函数的地址,做一些初始化工作
enter image description here
最后Task创建了3大模块的管理对象ModulesManager,EventsManager,ActionsManager
并在Task::TaskInit()中启动了events
enter image description here

0x01-2 Event模块分析

Event主要负责以下事件的监控,例如短信,日历日程安排,联系人,地址位置,电池状态,进程信息,计时器状态等信息
enter image description here
所有的event均以json格式发送,并调用conf.cpp下ParseEvent进行解析,源码部分逻辑被注释上了,经过搜索发现被注释上的功能最后没有相关的实现代码.
enter image description here
我们选择电池状态监控为例,在OnBatteryLevel函数中,首先通过RefreshBatteryStatus刷新了电池的状态,deviceObj->GetBatteryStatus()得到当前的电池状态,最后me->triggerStart()添加到ActionManage中的Action队列中
enter image description here

0x01-3 Action模块分析

Action模块主要是3个类 ActionManage,Action,SubAction其中ActionManage主要维护一个Action队列,Action是抽象的接口,而执行的实体主要是SubAction
SubAction主要处理synchronize,execute,uninstall,module,event,sms,log,destroy等行为的执行
enter image description here
而在处理module时用了start类进行启动,Start首先初始化了一个ModulesManager对象,然后在调用conf对获取对应的module信息,并调用ModulesManager->start()启动对应的模块。
enter image description here

0x01-4 Module模块分析

Module模块同上面的模块结构保持一致,也是一个ModuleManage负责维护一个Modules队列。
进行外层调度,Module类是一个抽象的接口,负责统一调用接口,主要的模块接口如下.
这些模块,完成了获取设备信息(如:操作系统版本,设备ID,电量,应用程序列表,进程列表,可用磁盘空间,内存信息,处理器架构),联系人,一些社交帐号信息,同时还能开启摄像头,话筒,截取手机屏幕等功能
enter image description here
1.获取的设备信息,代码主要在DeviceInfo.cpp中
enter image description here
2.获取联系人的以及社交网站的帐号密码,代码主要在PoomAddressBook.cpp中
enter image description here
3.日历日程安排,代码主要在PoomCalendar.cpp中
enter image description here
4.截图功能(代码在SnapshotGrabber.cpp中,但是该部分代码已经被注释)
enter image description here
5.开启摄像头(代码在NativePhotoCaptureInterface.cpp中)
enter image description here
其主要通过WP的PhotoCaptureDevice API接口来实现,当你在啪啪啪的时候,你的摄像头被开启,那是种什么样的感觉呢?
enter image description here
其他的一些监控行为就不一一叙述了,大多都可以通过调用WP的接口来实现。

0x02 感染途径


Window在新推出的WP8上做了很多对非越狱用户的保护,只能安装应用商店中的软件,但是WP8可以通过一个链接访问应用商店中的某个APP,当被攻击者被欺骗的安装了该APP应用,该APP遍可以通过WP提权的漏洞来提升运行权限,即可执行高权限代码,带来的后果非常严重,所以我们要警惕一些钓鱼欺诈的应用。
而对于越狱用户,别人可以直接把应用捆绑在越狱工具,在越狱的过程中,即可捆绑安装他们的APP应用,如果这个应用是恶意的,那么后果可想而知,然而在越狱后的WP系统安全性也将大打折扣.所以我们最好不要轻易的越狱。
Hacking Team是拥有微软的企业证书的,而具有企业证书的公司可以将自己的应用提交到商店供人下载,不用授权即可安装,不论是否越狱都可以安装上去,然而从应用商店下载的程序,用户一般都会认为是安全的。
由于Window Phone用户较少,反馈的问题可能也比较少,相关的开发维护人员也相应的比较少,可能会存在一些不为人知的安全漏洞,可以突破Window Phone8的安全限制,将恶意程序安装上去,还可能存在某些已经安装的应用存在漏洞,利用这些具有漏洞应用结合提权漏洞,将恶意的应用安装到设备上。

0x03 小结


通过Hacking Team泄漏的这些资料来看,Hacking Team团队还是具备非常专业的水平,但是强如Hacking Team的公司都被入侵了,你手机里面的那些私密照片还保险么?
建议:
1.不要随意安装不知名的应用
2.及时更新系统的安全补丁
3.社交帐号设置复杂的密码
4.给私密的照片加密

Popular posts from 产品随想的博客

BG投资十问(Baillie Gifford)

  1,公司是否能正面推动经济、社会或者文化发 展? 如果做不到,BG可能就不会再往下看了。比如军火、赌博类公司再便宜,BG不会去看。 2,公司销售额在5年之内能否翻倍? 为什么要讨论销售额?因为BG关注公司成长,销售额是比较简单直观的指标,而利润可有一些方法调节。所以,BG主要先关注销售额,再看现金流。 3,公司5年之后会怎么样? 这是未来5到10年或者5到15年的中间维度,一是看公司的成长空间究竟还有多大,二是考虑5年之后,公司的短期估值会不会下降,会不会变得成熟。 4,公司的竞争优势到底是什么?随着时间会变 强还是变弱? BG认为,如果公司的竞争优势是不断变弱的,将来在更远期挣回现金流的可能性就更低了。 5,公司是否有非常独特的文化?文化是否能够进化? 毕竟要投资这么长时间,对创始人和公司管理文化是非常关注的。特别喜欢创始人领导的公司,而不是说创始人什么都不干,创始人在做房地产,找了一些人在做新公司,要尽量避免这样的公司。 谈到进化在BG看来,大部分公司都会有大公司病,需要看它怎么能维持比较灵活的管理,变大之后还能够保持非常快速的成长,比如亚马逊的day one文化(注:就是始终处在 创业启动状态,充满迷茫和压力,但是充满创造力和颠覆思想 )。 6,公司过去的回报率怎么样? 一方面是考虑到公司的ROE(净资产收益率),二是考虑公司的Margins(利润),看它的过去是不是值得投资,如果每年ROE都不到10个点,可能长期来看也没什么意思。 7,ROE能不能随着时间增长? 有些公司一开始没有盈利,一直在烧钱,5年之后说不定ROE会到20%或者更高,它是一个动态过程。这样的公司BG也会投资,包括一些早期项目,很多公司都是没有盈利的。 8,公司怎么分配资本? 资本现金流无非就是5种方法:再投资、收购、还债、分红、回购股份,要看公司在某个阶段的资本分配是不是最优的。 如果公司明明可以发展更多,结果乱分红了;或者是明明到了特别成熟的时候,还不愿意分红,都是错误的分配资本。 9,公司怎样才能长成5倍? BG关注的是怎样,而不是能不能。这会强迫BG每个人去设想一些未来的可能性,包括公司现在的底层架构能不能够延伸到更多的业务。 比如,早期的亚马逊或者是阿里,连一个概念都没有,BG会考虑这个公司有没有这种机遇,以后去扩展到可触及的市场。 10,市场对公司有哪些误解,哪些事...

产品随想 | 周刊 第126期:Think of your life as a rainbow arcing across the horizon of this world

FolderPaint   https://github.com/MichaelTr7/FolderPaint Folder colour changing application for macOS. 乔布斯说:“对于我和苹果公司的许多人来说,索尼的盛田昭夫是最大的灵感来源之一。我希望我们今天的所想所为能让他会心一笑。” 乔布斯甚至从索尼挖走了一位顶级设计师。哈特穆特·艾斯林格被苹果挖走前,已在 100 多种索尼产品的创造中发挥了重要作用。 供职于索尼时,艾斯林格所在的设计工作室与管理办公室和工厂车间享有同等地位。他说,这样有助于促进公司生产和设计团队之间在一定程度上达成团结,这正是乔布斯试图重建的团结。 艾斯林格指出:“乔布斯有能力洞察事物的好坏,却不知道如何实现以及如何通过组织去构建。因此,我们向苹果提出的第一个建议是,赋予设计师一定的话语权。” 斯卡利表示,乔布斯和盛田之间的深厚友谊和相互敬重可以归结为对于设计的共同热忱。 “他们以非常积极的方式产生了共鸣”,斯卡利说,“两位来自不同文化背景的创始人共聚一堂,这是非常难能可贵的。他们讨论设计原则,却从不谈及商业模式。” “Think of your life as a rainbow arcing across the horizon of this world. You appear, have a chance to blaze in the sky, then you disappear.” City Lights Bookstore   https://en.wikipedia.org/wiki/City_Lights_Bookstore?useskin=vector 旧金山的城市之光独立书店 Vesuvio Cafe   https://en.wikipedia.org/wiki/Vesuvio_Cafe?useskin=vector 好奇怪,这家Cafe居然没有太多的介绍 “One of the things that I was fortunate of was to see and understand the context of San Francisco through the eyes of Steve Jobs,” Mr. Ive said. “He kn...

产品随想 | 周刊 第68期:Glory to Z-Library

Products Anna’s Archive   https://annas-archive.org/ Search engine of shadow libraries: books, papers, comics, magazines. Z-Library不会消失,只会激励更多 ReVanced Manager   https://github.com/revanced/revanced-manager The official ReVanced Manager based on Flutter. YouTube免广告 Gopeed   https://github.com/monkeyWie/gopeed High speed downloader that supports all platforms. All Platforms,非常霸气,除了iOS,确实都支持了 The Twitter archive   https://github.com/timhutton/twitter-archive-parser Python code to parse a Twitter archive and output in various ways 逃离Twitter Ideas 吴晓波|“我们这是怎么了?”   https://chinadigitaltimes.net/chinese/680826.html 我辈需保持那股企业家的精气神 Worth Moving to Sweden as Engineers?   https://hongchao.me/living-and-working-in-sweden-as-engineers/ 瑞典工作10年的华人工程师,分享自己的看法 Murray Newton Rothbard 默里·罗思巴德   https://zh.wikipedia.org/wiki/穆瑞·羅斯巴德 米塞斯学生,也是推崇自由主义、开放社会 个人工具箱(2022 年 11 月 16 日更新)   https://github.com/pseudoyu/yu-tools 我的个人工具箱 (设备, macOS 软件, iOS Apps...) Design 2022台北...

产品随想 | 周刊 第127期:晨光只开一刻钟,但比千年松,并无甚不同

Cherry Studio   https://github.com/CherryHQ/cherry-studio Cherry Studio is a desktop client that supports for multiple LLM providers. Support deepseek-r1 Aalto Repository beta   https://repo.aalto.fi/ Images, sounds and videos from Aalto University 这个系列,价值极高 Nokia Design Archive   https://nokiadesignarchive.aalto.fi/ 芬兰这个国家很了不起 对话影石刘靖康:两代未出现划时代的产品,就会沦为平庸的品牌   https://www.geekpark.net/news/308996 还挺喜欢这个创始人的,有一种海盗的内涵 从哈佛、明星创业者到酷家乐副总裁,苏奇的传奇   https://app.modaiyun.com/mdy/article/3FO4K4W0M259 WHO关于猫狗咬伤、抓伤的处理建议 动物咬伤: https://www.who.int/zh/news-room/fact-sheets/detail/animal-bites 狂犬病: https://www.who.int/zh/news-room/fact-sheets/detail/rabies 关于狂犬病的10个事实: https://www.who.int/zh/news-room/facts-in-pictures/detail/rabies INDIGO 新年直播(2025)   https://www.youtube.com/live/ZIgPvSDGAfY 对2024年AI发展的回顾部分特别好 Artab   https://github.com/get-artab/artab Get Inspired by the World's Greatest Artworks Every Time You Open a New Tab. Extension Available for Chrome, Edge, and...

产品随想 | 周刊 第39期:《自由秩序原理》

Products Exodus   https://github.com/Exodus-Privacy/exodus-android-app Exodus is an Android application that let you know what trackers are embedded in apps installed on your smartphone using the εxodus plateform. It let you also know the permissions required by any apps on your smartphone. 检测你Android机子获取权限、嵌入追踪SDK的 simplewall   https://github.com/henrypp/simplewall Simple tool to configure Windows Filtering Platform (WFP) which can configure network activity on your computer. Mem Reduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 内存清理工具,Windows上挺多这类小工具,很有意思 Squad303   https://1920.in/ 提供大家一个方式,告诉俄罗斯人,乌克兰在发生什么 Chameleon   https://github.com/sereneblue/chameleon WebExtension port of Random Agent Spoofer 帮助隐匿浏览器信息 CanvasBlocker   https://github.com/kkapsner/CanvasBlocker 浏览器指纹识别是丧心病狂 Alpine Linux   https://zh.wikipedia.org/zh-hans/Alpine_Linux 以安全为理念的Linux分支 Wirecutter   https://www.nytimes.com...

产品随想 | 张鸣论中国传统政治

原始文章目录 张鸣:皇权不确定性下的统治术——传统中国官场机会主义溯源   https://www.aisixiang.com/data/68897.html 张鸣:从科举制到市场经济转型——官本位的源流及滥觞   https://www.aisixiang.com/data/59273.html 张鸣:权力边界何在,实话空间几许?——论中国政治传统中的权力与真理关系   https://www.aisixiang.com/data/67054.html Insight: 中国自秦汉以来一直是官僚化的帝制结构,虽然皇帝最终要凭借官僚这个中介才能统治国家,但官员的权力来源和合法性依据都是皇权。官僚机器只是帝制的“车轮”。所以,皇帝要怎么样,官员只要迎合,就能获利。只有在皇帝明显违反常识道理、造成重大灾祸之时,官员才可能凭借儒家伦理对皇帝提出批评。理性选择的结果使得官员更多地趋向于顺从皇帝。 ——符合历史以来的感知 中国尽管有两千多年官僚制的传统,但守规矩、遵法制、走程序的现代理性官僚制度却一直都没有建立起来。考试取官的确是理性官僚制的一个重要因素,但中国古代官僚制只是万里长征走完了第一步,然后就再也不走了。隋唐科举制建立的初衷也并非建设官僚体系,而是防止贵族垄断官职,强化君权。科举制度越来越严密,选拔出来的人才也愈发精英化。但是,官僚的行为却没有程式化和规法化。官员的个人行为偏好往往直接影响一地的发展。 ——如何再往前走一步,可以看看新加坡 官员的行为模式往往以皇帝的喜好为风向标。一般来说,皇帝喜欢什么,一个朝代就兴什么。汉初皇帝喜欢黄老,臣子们就清静无为;东汉皇帝喜欢儒生,则臣子们多为经学家;唐初皇帝喜人上书言事,则多诤谏之徒;到晚唐,皇帝喜欢佛教了,则多礼佛之士;清代嘉庆之后,皇帝提倡节俭,带头穿补丁衣服,则满朝文武衣服上都打了补丁,有的补丁比衣服本身还贵。 ——Interesting 皇帝行为的不确定性,势必导致官员行为无法程序化、规范化,而皇帝行为的不确定往往是由统治术决定的,属刻意为之。多数王朝都外儒内法,崇尚权术,甚至迷信权术。秦始皇和丞相李斯之间,有过一个小故事。李斯随从车马过盛,很是招摇,皇帝看了不高兴。随行的宦官就把这事告诉了李斯,李斯于是轻车简从,低调起来。秦始皇马上知道身边有人泄密,又审不出来,于是把当时在身边的人都杀...

信息流的初衷是节省用户时间

https://mp.weixin.qq.com/s/nMZzLkEe7Cfk6Wu5560m9w 讲述信息流前世今生,讽刺的是信息流发展之初是为了让用户在短时间内找到最需要自己关注的内容,现在却成为消磨时间、捕捉用户兴趣的一个作用。

A Tribute to a Great Artist: Steve Jobs

  Steve Jobs, who died October 5 after resigning in August as CEO of Apple, the company he co-founded, had many talents. But what set him apart from other computer wizards was his artistic sense. He continually used the word “taste” in explaining what was ready to be manufactured at Apple, and what wasn’t ready yet—what he had to reject. The Apple computer, the iPhone, the iPad and the iPod are all strikingly beautiful objects; the clarity of their visual design matches the way they function. It’s clear that Steve Jobs was an artist and that his artistry worked at many levels: it was a visual sensitivity that extended outward to a way of thinking about how things worked and how different variables could interact with each other in a pleasing harmony. Where did this ability come from? Jobs gave some credit for his success to a seemingly unlikely source—a course on calligraphy that he took as an undergraduate at Reed College, a course established by a maverick profes...

巴菲特致股东信-1969年

 编者笔记: 巴菲特正式清算合伙人企业。 我把它们视为实业,而非股票,如果长期而言实业的业绩良好,那么股票也会有着同样的表现。 我不想解散一个雇佣了1100人的生意,尤其在管理层已经在努力改善公司相对整体行业的表现,而且也取得了合理结果的时候,同时该业务目前尚不需要额外的资本投入。 但是如果未来我们面临需要投入大量资本,或者该业务遭受相当程度的损失时,我将做出不同的决定。 原文: 1969 年 5 月 29 日 致合伙人: 大概在 18 个月以前,我曾经给你们致信,认为投资环境和我个人情况的变化将导致我对我 们未来业绩预期做出调整。 我当时所讨论的投资环境 ,已经变得更加的恶劣且令人沮丧 。也许我仅仅是缺乏从精神层面 进行调整的能力。(正如一位评论家对超过 40 岁的证券分析师所评价的那样:“他们知道太 多如今已不再适用的东西 。”) 虽然如此,就我看来: (1) 在过去的二十年中,对于数量(定量)分析方法所能把握的机会 之水已经逐渐干涸 ,到今天可以说是已经完全枯竭了 ;( 2 )我们的资金基数已经达到一个亿 , 也就是说不超过三百万的投资量对于我们净资产的影响几乎可以忽略不计 ,实际上我们的投 资标的的市值已经不能低于一亿美元 ;( 3 )大量地对于投资的专注已经导致市场的交易行为 变得极度追求短期的利润,市场的投机性大大增加。 在 1967 年 10 月的信中我亦提到个人境遇的变化是我调整我们未来收益预期的最重要的原 因。我表达了自己不想再在合伙公司上注入我 100% 的精力的愿望。然而在过去的 18 个月 中我完全没有做到这一点。我曾经写到 :“希望随着预期的降低,我的对此投入的个人努力 也可以随之降低 。”然而实际上完全不是这样,我发现只要我一天还在管理合伙企业,我就 完全无法让自己投入到其它与之无关的东西上去。我不想让自己成为一个永远管理着资金 , 追逐着投资收益的疯狂的兔子,而唯一让我放缓脚步的办法,就是将其停止。 所以,在年底之前,我希望所有的有限合伙人都能正式地得知我的退休愿望。 1969 年 10 月 9 日 致合伙人: 以下是接下来我认为对于我的退休将要涉及的事情: ( 1 )向你们介绍一下 Bill...