跳至主要内容

无处不在的监控: 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 产品随想的博客

利用Rhino+GH+AI的数据可视化表现

原文来自 韩世麟博客 ,表示感谢,感谢作者可可 使用软件:Rhinoceros, Grasshopper, Illustrator 编者按: 可可 这次又带来神级教程,可以说完美的解决了一大类图解的绘制思路问题。我经常被问到类似文中的数据可视化图解“是怎么画的”这类问题,无奈对于数据处理方面,我知之甚少。相信今天的这一篇文章能够为大家解惑。 作者简介 张可天 张可天是2015年毕业于天津大学的建筑学硕士。目前就职于天津市设计院。他专长建筑方案设计及表现,基本功扎实,而且他也一直乐于分享他总结到的技巧,曾经在人人网上接连发表过多篇图文教程: 《可可这样画》 系列。同时他也是专筑网 《SketchUp极速出图八讲》 的主讲人。 这是一篇我在知乎的回答 (点击这里查看张可天的知乎答案) ,题主提出的参考原图如下,希望能够得知这张图的画法。 我尝试用Rhino+Grasshopper画图并导入AI修饰,步骤如下: 1.取得数据 样例中的图应该是有数据来源的,可能是作者调研或文献摘录的。我并没有这些数据,所以我把原图中的数据大概加估计地逆向回来。数据的存在形式有很多种,我使用了比较常见的一种,将数据放在一张EXCEL表格的两个SHEET中,如下图。 Sheet1是一张映射关系图,是样例图中从右上方到左下方的那些个映射曲线数据。excel中,横轴是“人口分布(Population Distribution)”中的各类人,纵轴是“元素时间表(Element Timeline)”中的那些“元素(Element)”,“0”代表着没有映射关系,“1”代表著有映射关系。 Sheet2是一张时间数据图,是样例图中右下的那张大表格的数据。excel中,横轴是样例图的“时间点”,纵轴是“元素(Element)”,其中的数据根据原图中的意思,应该是某个“元素(Element)”在“工作日/休息日(Workday/Weekend)”时,特定的“时间点”上所接待或容纳的人数。我并没有看出来样例图中该数据的单位,所以我臆测了一下。我以垂直方向一格代表“10人”为单位,读取了这些数据,得到上表。 2.导入Rhino 我使用Grasshopper中的Bumble Bee将Excel数据导进来,这个插件是我能够找到的导入Excel表格效率最高的一个插件...

Steve Jobs: `There's Sanity Returning', 1998

Nobody can doubt the charisma of Steven P. Jobs. The interim CEO of Apple Computer Inc., who returned to the company last July after his ignominious 1985 ouster, has brought back his legendary vision, impatience, and infectious passion for the Macintosh. Jobs spoke to Business Week Correspondent Andy Reinhardt in Apple's stark, fourth-floor boardroom, just after the company rolled out its new software strategy on May 11. Note: This is an extended, online-only version of the Q&A that appears in the May 25, 1998, issue of Business Week. Q: Now that you've introduced the new, bold-looking iMac, are you going to do some radically different products? A: There's a lot of talk about such things -- about handhelds, set-top boxes. A lot of computer companies have been searching for a consumer product. My view is that the personal computer has been the most successful consumer product of the last 10 years. What we have to do, what the industry stopp...

CAD 天正与 AI 工作流

基本步骤   1. 天正导出 T3 .dwg 文件,尽量在2007版本   2. AI 打开,打开时候可以选择比例,因为 AI 画布是基于真实尺度   3. AI 打开 .dwg 后,更改画布到所需要的大小   4. 之后用 PS 打开 AI 文件,可以维持想要的大小和比例   5. 而且 AI 可以读取天正的图层 课外了解   1. ETH 风格平面图   2. 日本创新性的停车方式   3. AI中的实时上色功能去了解

产品爱好者周刊 第36期:走进Linux

Products OpenShot   https://github.com/OpenShot/openshot-qt OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows 开源的视频剪辑工具,跨平台 Run   https://github.com/The-Run-Philosophy-Organization/run 润学全球官方指定GITHUB,整理润学宗旨、纲领、理论和各类润之实例 Dozer   https://github.com/Mortennn/Dozer Hide menu bar icons on macOS ThisIsWin11   https://github.com/builtbybel/ThisIsWin11 Win11的隐私保护 RoundedTB   https://github.com/torchgm/RoundedTB Add margins, rounded corners and segments to your taskbars! Droptop Four   https://github.com/Droptop-Four/Basic-Version Droptop Four is the fourth iteration of the popular dropdown app launcher for Windows & Rainmeter. LibreTube   https://github.com/Libre-tube/LibreTube An alternative frontend for YouTube, for Android. nheko   https://github.com/Nheko-Reborn/nheko Quaternion   https://github.com/quotient-im/Quaternion 多平台的Matrix客户端 FluffyChat   https://fluffychat.im/ Phone端的Matrix...

ISSUU使用指南--木喵

作者: 木喵   出处: Wonderworks 问:issuu是什么? 答:Issuu是国外的一个在线文档共享网站,它是你的PDF文档发布专家。它类似于我们熟悉的youtube,但它共享的是文档、杂志之类的文本。 简而言之、同志们想看国外的各种杂志? 想找国外的汇报文本么? 想借鉴国外学生的作品集么? 那么你就要用到它啦~ 今天主要和大家讲两个方面 一、如何在pc端使用和下载issuu上的pdf文档 首先我们打开issuu的网址 https://issuu.com/ 我们可以很清楚的看到网页上呢都是国外的杂志以及一些作者自己制作的pdf文档 首先我们点击右上角的 sign up  然后填写相关信息注册一个账户: 注册完成之后我们就可以搜索我们想要找的资料: 比如说,我想找一些分析图的资料,我们就搜索: architecture diagram 然后我们就可以看到相关的文档了: 点击你所选择的文档, 好了问题来了: sorry,this publication is not available 这个时候!就需要在用pc端的我们做一件必不可少的事: 翻墙 然后我们就能将页面刷新粗来了 好、接下来是非常有建设性意义的一步 怎样把我们网页上的文件 下载下来 呢? 截图? no~no~no~ 接下来,让木喵告诉你怎么下载: 首先你需要复制上面的网址 然后将 https://wenfan.hk/issuu/index_link.php 在另一个网址中打开 将你之前复制的pdf的网址粘贴在下面的对话框中 点击 I‘m not a robot 再点击 get it 然后会出现一堆网址代码 我们 全选 打开你的迅雷点击 新建 将你之前的复制粘贴到下载链接里 然后呢~我们就全都下载成功啦~ 然后我们回到之前的网页向下看 我们可以看到有上传文档的作者(记得要关注哟) 然后还有 info   share   stack   ❤ 如果...

Rhino_GH从入门到精通听课笔记_二

一. 基础操作   1. Rhino F6精确更改相机视野   2. 中键和左菜单栏弹出时间都是可以自己设置缩短的 二. 软件技巧   1. GH搭配生成楼梯,柱子,栏杆   2. SU\3DS\OBJ 均可被Rhino识别   3. 已命名工作位置很有用,和和已命名是图标是不一样的   4. Rhino等轴测做法          显示——投影——改为平行          旋转改为0/360          视图——等角视图 三. 奇技淫巧   1. 善用微信搜索,比如“地形制作”,第三讲前半部分讲解利用高程点制作地形   2. Rhino转折剖制作方法,用面split模型,即模型被切成两个,类似于佐罗刀   3. 转折剖模型制作时间很久,工作量比较大 四. Rhino命令   1. worksession  链接文件进来,以一个图层显示,类似于SU里面的另存再载入的操作,可       以节省运算量,比ctrl+c ctrl+v快   2. ctrl+w  局部放大   3. hatch  嵌面

世界需要什么样的智能系统

原文: - By 道哥 - Link:https://archive.ph/h0nNj  笔记: - 人工智能,不应该是一个产业,应该是各个产业,都要有智能; - 智能:感知+行动 (目前很多视觉、语音的识别,停留在感知层面) - 智能技术角度看, 自动驾驶与智能音箱是两个完整的从“感知”到“行动”的闭环     - 对话机器人被成为人工智能界的圣杯 - 构建智能时代:     - 飞行员:各个企业中,智能部门的员工     - 航道:基础设施提供商,比如运营商、云计算厂商     - 机场:最后真正的商业模式,类似苹果的App Store,给机器智能系统提供服务 - 机器与机器的协同交互,价值巨大(以往很看重的是:机器与人的交互) - 数据、训练在内部;一旦进行外部的机器交流,默认为“不信任”模式 - 云计算厂商可能会被智能厂商管道化,就跟运营商被互联网内容提供商管道化一样(因为:云计算和大数据都不是智能)

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,市场对公司有哪些误解,哪些事...

产品随想 | 周刊 第67期:静水铭室

Products Design Scenes #77   https://walling.app/TGE6qnCacxmwEV3d2lg2/design-scenes-77efbc88e4bbaeefbc89 非常不错的产品/设计周报 静水铭室   https://liuliu.me/ 静水可铭,丰山须镂。 - Silent Water and Curved Mountain 不错的中英博客 Classic HCI Demos   https://jackrusher.com/classic-ux/ A curated collection of HCI demo videos produced during the golden age from 1983-2002. 经典老演示Demo health-code-index   https://github.com/ilovexjp/health-code-index 健康码模拟 - 索引 EnergyStar   https://github.com/imbushuo/EnergyStar EnergyStar is a terrible* Windows application that leverages Windows EcoQoS API to throttle any inactive user process and background applications to improve system thermal and battery life, similar to the process management strategy on modern Apple macOS releases. 中共政治精英数据库   https://chinadatalab.ucsd.edu/elites/ Victor Shih/史宗瀚维护的一个履历库 Tribler   https://github.com/Tribler/tribler Privacy enhanced BitTorrent client with P2P content discovery 在美国执法区会有帮助 nuclear   https://github....

微软收购暴雪来给腾讯游戏业务做个估值

  微软收购暴雪来给腾讯游戏业务做个估值 1月18日,微软宣布将以每股95美元的价格收购动视暴雪,全现金交易,总价值687亿美元。预计将在2023财年完成交易。 这个信息出来后,书房老朋友@李强 利用这个收购做了个估值对比,思路挺清晰的。我修正了几个数字分享给大家,谢谢李强 李强:其实倒是可以借助微软收购暴雪来给腾讯游戏业务做个估值。 2020年,腾讯总收入4820亿,非国际准则口径净利润1227亿。非国际准则口径净利率=1227/4820=25.45%。 2020年,腾讯游戏收入1921亿。由于已知游戏的毛利率和净利率,远高于广告业务和金融科技及企业服务。 所以我们可以推测,游戏业务的净利润最保守的估计也应该不低于1921×25.45%=489亿。 按照2020年美元平均汇率6.89折算,相当于489/6.89=71亿美金。 暴雪2020年净利润是22亿美金,微软出全现金687亿美元收购。 按照这个比率,腾讯游戏业务的价值至少不低于71/22×687亿≈2200亿美元,约1.4万亿人民币(按照目前6.35汇率折算)。 按照目前腾讯约455港币的价格(指1月19日上午),总市值不超过3.6万亿人民币。 3.6万亿里,减去腾讯持有的约1.5万亿股权投资(三季报数据:市值1.08万亿的联合营股权,约4500亿笋子和粽子),再减去游戏业务市值1.4万亿。 这意味着除了游戏和投资之外,腾讯的广告、视频、音乐、文学、金融科技、企业服务等其他板块,合并起来的总估值3.6-1.5-1.4=0.7万亿。 而 这些业务2020年的净利润是1227-489=738亿,不足10倍市盈率,属于明显低估。 即使将有息负债约3500亿算上(借款、应付票据、其他金融负债),对应也就约14倍市盈率,依然属于明显低估。   这大概就是不管怎么算,都能看见的“低估”吧!