51特价联盟 http://http www.51.comtjlm.com/ 骗人推广网站,没有一个流量 充值后就不理人了。

以下是霍常亮官方淘宝客QQ交流群,标注1~2元进群的群通常为人数较多且活跃度较高的群,标注免费进群的则是开放给经济条件不是很好的小伙伴,标注已满或者将满的群不建议加入,感谢关注!本QQ群信息是变化为,是实时进群信息为准,霍常亮QQ,有疑问可以联系我。
霍常亮淘宝客1群
霍常亮淘宝客2群
霍常亮淘宝客3群
霍常亮淘宝客4群
霍常亮淘宝客5群
霍常亮淘宝客6群
霍常亮淘宝客7群
淘宝客交流8群
淘宝客交流9群
霍常亮vip用户售后群
淘宝客交流10群
淘宝客交流11群
淘宝客交流12群
霍常亮淘宝客13群
霍常亮淘宝客14群
霍常亮淘宝客15群
霍常亮淘宝客16群
霍常亮淘宝客【福利】
淘宝客交流群(18)
霍常亮收费培训高级VIP【收费群】
霍常亮淘宝客19群
霍常亮淘宝客20群
淘宝客交流21群
霍常亮淘宝客22群
霍常亮淘宝客23群
霍常亮淘宝客24群
霍常亮淘宝客25群
霍常亮淘宝客30群
霍常亮淘宝客31群
霍常亮淘宝客32群
霍常亮淘宝客33群
霍常亮淘宝客34群
霍常亮淘宝客35群
霍常亮淘宝客36群
霍常亮淘宝客37群
霍常亮收费培训高级VIP【收费群】
霍常亮淘宝客39群
霍常亮收费培训高级VIP【收费群】
霍常亮淘宝客40群
霍常亮淘宝客51群
霍常亮淘宝联盟1群
霍常亮淘宝联盟2群
霍常亮淘宝联盟4群
霍常亮淘宝联盟5群
霍常亮蘑菇街2群
有人回复时邮件通知我Posted by: Google researchers, Wu Jun Gun fans or read Nicholas. Cage (Nicolas Cage) movie &Lord of War& (Lord of War) who may remember that movie at the beginning of the paragraph: (light weapons in all), the most famous is the Aga 47 (AK47) as
mysql-5.1.47 binary version of the installation and uninstall the binary version of mysql is already compiled, no need to configure, make make install other steps, just configure what to use, easy to uninstall too, can Now mysql-
47. Print the object &script& function print_r(obj) { var result = []; for (var id in obj) { try { if (typeof(obj[id]) == &function&) { result.push(&function & + id + &: & + obj[id].toString()); } else { result.push(&qu
晨报讯 今年6月起,电子商务企业亚马逊中国悄悄在沪推出了&慢递服务&,用户如果购买亚马逊自营商品金额满99元,可选择&4-7天配送&服务,还可以享受立减3元的优惠.该公司表示,推出&4-7天配送&主要基于对价格敏感型客户的考虑,但也有业内人士认为,夏季,电商企业和快递公司普遍面临高温.雷雨给配送带来的压力,实行&慢递&有助于给自身减压.&运费可以比免费更划算.&亚马逊中国透露,目前&慢递服务&qu
这篇文章主要介绍了深入理解JavaScript系列(47):对象创建模式(上篇),本文讲解了命名空间.定义依赖.私有属性和私有方法 .Revelation模式.链模式等内容,需要的朋友可以参考下 介绍 本篇主要是介绍创建对象方面的模式,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码. 模式1:命名空间(namespace) 命名空间可以减少全局命名所需的数量,避免命名冲突或过度.一般我们在进行对象层级定义的时候,经常是这样的: var app = app || {}; app.mo
7月7日凌晨消息,6日晚间,苏宁电器在深交所发布公告,苏宁电器完成2011年非公开发行项目,本次发行一共募集47亿元资金,发行股份将于7月10日上市. 公告显示,本次非公开发行的对象为公司实际控制人张近东的全资子公司--南京润东投资有限公司与北京弘毅贰零壹零股权投资中心(有限合伙),上述两家公司分别认购苏宁股份2.88亿股.0.99亿股,认购价格为12.15元,认购金额分别为35亿元.12亿元. 此前,张近东持有苏宁电器股票比例为 27.9%:认购完成后,张近东直接及间接持有苏宁电器股票的比例将
枪迷或者看过尼古拉斯.凯奇(Nicolas Cage)主演的电影&战争之王&(Lord of War)的人也许还记得影片开头的一段话:(在所有轻武器中,)最有名的是阿卡 47( AK47)冲锋枪(也就是中国的五六式冲锋枪的原型),因为它从不卡壳.从不损坏.可在任何环境下使用.可靠性好.杀伤力大并且操作简单. 我认为,在计算机中一个好的算法,应该向阿卡 47 冲锋枪那样简单.有效.可靠性好而且容易读懂(或者说易操作),而不应该是故弄玄虚.Google 的杰出工程师阿米特.辛格博士 (Am
导语:美国科技博客Silicon Alley Insider撰稿人帕斯卡·伊曼纽尔·果布里(Pascal-Emmanuel Gobry)和尼古拉斯·卡尔森(Nicholas Carlson)今天共同撰文称,Zynga之所以能够拥有47%的惊人利润率,是因为模仿了上世纪80年代的街机模式. 以下为文章全文: 据&华尔街日报&报道,Zynga 2010年实现利润4亿美元,实现收入8.5亿美元.倘若这一数据属实,那么Zynga的利润率就高达47%. 作为对比,谷歌的利润率仅为29%,苹果为28%,但
海信电器今日发布的今年上半年财报显示,1~6月份,实现营业收入94.88亿元,同比增长27.95%:实现净利润2.47亿元,同比增长47.8%. 其中,国内市场营收71.29亿元,同比增长20.97%:国外市场营收17.96亿元,同比增长82.29%. 根据中怡康最新统计数据,海信液晶电视占有率继续保持第一:海信LED电视占有率达到21.3%,继续稳居首位. 海信电器方面表示,今年上半年,国内彩电行业的竞争态势与2009年相比发生了一些变化.一方面国内液晶电视需求仍然较为旺盛,但增长速度逐渐趋缓
题目47:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成.其中:金额=单价*数量计算得出.函数ReadDat()是读取这100个销售记录并存入结构数组sell中.请编制函数SortDat(),其功能要求:金额从大到小进行排列, 若金额相等, 则按产品代码从小到大进行排列. 最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到
本报记者 郎朗 广州报道 对中国直播卫星公司(以下简称&直播星公司&)而言,2月9日的一起卫星事故,让它的&8星计划&再次受到考验. 2月9日,于日成功发射,设计寿命为16.5年的&中星6B&卫星突然发生故障,导致在该卫星上传输的中央电视台.中国教育电视台和23个省的卫视等共150套电视节目全部中断47分钟. 加上此前发射的&鑫诺2号&事故,对正在酝酿从传统&出租转发器&盈利模式向&quot
格力空调发布2010年年报,实现营收608.07亿元,较去年增长42.62%,净利润42.76亿元,较去年增长46.76%.格力空调表示,拟向全体股东每10股派发现金3.00元. 按照产品划分,格力电器2010年空调业务营收551亿元,同比增长43.78%,营业成本426.86亿元,毛利率22.54%,比上年降低2.32%.其他产品中,小家电营收7.87亿元,较上年增长47.18%. 2010年格力电器在国内市场实现营业收入466亿元,较去年增长40.23%:国外市场营收97.51亿元,同比增长
据国外媒体报道,Sun周五发布的截至6月30日的2009财年第四季财报显示亏损1.47亿美元. Sun第四季亏损1.47亿美元,折合每股亏损0.20美元,去年同期实现利润8800万美元,折合每股收益0.11美元.Sun第四财季实现营业收入26.3亿美元,同比下滑31%,低于分析师26.9亿美元的预期. 除去特殊项目,Sun第四财季每股亏损0.03美元,好于分析师0.09美元的每股亏损预期. Sun第四季毛利率由去年同期的44.3%减少至40.5%.截至6月30日,该公司共计持有18.8亿美元现金
本报杭州10月20日电 (江南.周炜)日前在浙江杭州举行的&中国研究生院院长联席会议2008年年会&上,国务院学位办有关负责人表示,目前我国研究生特别是博士生的待遇过低,导致优秀生源缺失,吸引优秀生源就应提高研究生待遇. 我国从2006年起试点进行研究生培养机制改革,目前试点高校已经增加至47所,2009年此项改革将进一步扩大到所有的部属高校. 北京大学校长许智宏在发言时说:&有舆论认为我国最好的大学成为国外高校的留学预备班,我们应该尽力让最好的本科生留在本国读研.&quot
关卡:4-7 这一关依然有钻地, 后面继续放石头 再放上些海星,不需要 后(河蟹)庭打后面了 过关. 得到--呃--套套....
7月初,搜狗音乐盒正式推出了1.1.1.47版,基于搜狗网络音乐盒,依托搜狗(Sogou) 强大的搜索技术.先进的p2p下载技术,搜狗音乐盒(桌面版)是一款集音乐搜索.下载和播放为一体的音乐播放器: 功能强大.使用方便.完全免费.100%纯净(绝对不含恶意插件). 两年前搜狗拼音输入法推出,开创了一个基于互联网和搜索引擎技术的智能输入法时代.两年多来搜狗研发团队保持与用户的良好交流,依托搜狗的强大技术及搜狗拼音输入法成功的运营经验,推出的又一款桌面产品--搜狗音乐盒. 搜狗音乐盒是一种全新模式的
新浪科技讯 北京时间4月15日凌晨消息,据国外媒体报道,英特尔今天公布了2009财年第一季度财报.报告显示,英特尔第一季度净利润同比大幅下滑55%,但超出华尔街此前预期,营收则同比下滑26%. 在截至3月28日的这一财季,英特尔的净利润为6.47亿美元,每股收益11美分,这一业绩远不及去年同期.2008财年第一季度,英特尔的净利润为14.43亿美元,每股收益25美分.英特尔第一季度运营利润为6.70亿美元,同比下滑68%,与上一季度相比下滑56%.英特尔第一季度营收为71亿美元,同比下滑26%,
新浪科技讯 美国东部时间2月25日18:00(北京时间2月26日7:00),网易(Nasdaq:NTES)今天发布了截至12月31日的2008财年第四季度和2008财年未经审计财报.报告显示,网易第四季度总营收为人民币8.017亿元(约合1.175亿美元),去年同期为人民币6.221亿元(约合9120万美元):净利润为人民币5.759亿元(约合8440万美元),比去年同期为的人民币3.898亿元(约合5710万美元)增长47.8%. 2008年第四季度财务业绩收入 2008年第四季度总收入达8.
新浪科技讯 北京时间5月19日晚间消息,据国外媒体报道,全球最大的移动电话公司沃达丰表示,其08财年净利润为30.8亿英镑(约合47.3亿美元),去年同期为66.6亿英镑. 受全球经济疲软影响,沃达丰将土耳其.西班牙和加纳业务的资产减记59亿英镑,该项资产减记主要反映在西班牙业务上. 沃达丰包括税收.折旧和分期偿还债务在内的年收益将从去年的132亿英镑增加到今年的145亿英镑(约合223亿美元).销售收入达到410.2亿英镑,增长了16%.分析师预测,409.4亿英镑的销售收入带来144.3亿英
据日本电子和信息技术产业协会(JEITA)宣布,2008年8月份日本手机的出货量比去年同期(同比)下降了47.9%,为208.4万台. 其中PHS终端的出货量比去年同期减少了62.4%,为82000台.JEITA指出,夏季销售旺季并没有持续多长时间,因为仅有小部分手机配备了新功能,而另一个原因是销售方式的改变,用户必须比以前支付更多的费用,所以手机销售相对疲软. 不过,具备1SEG广播接收功能的一些移动电话出货量增加了20.9%,为1774000台,占到了日本所有手机出货量的85.1%.根据报告
据国外媒体报道,市场研究公司comScore今天发布调查报告称,根据旗下comScore Video Matrix调查数据,英国4月份网络视频浏览量同比增长47%至47亿次. 该数据还指出,4月份共有2180万英国网民观看了多媒体网站的显示广告,广告整体浏览次数为9.71亿次.4月份,谷歌旗下网站仍是视频浏览量最高的网站,同比增长58%至24亿次,这主要归功于YouTube,后者约占谷歌网站群视频流量的99%:BBC旗下网站则以7900万次视频浏览量位居第二,其次分别是ITV旗下网站和Megav
新浪科技讯 北京时间8月1日消息,据国外媒体报道,全球第三大电脑厂商宏?昨天发布了2008财年第二季财报.报告显示,由于市场份额提升,宏?第二季利润为29.2亿元(新台币,下同,约合9500万美元),超出了分析师预期. 第二季,宏?净利润为29.2亿元,同比增长47%,每股盈利新台币1.17元,超出了此前10名分析师预测的26.2亿元的中值.去年同期净利润为19.8亿元,每股盈利0.76元. 通过收购Gateway及欧洲PB,宏?提升了在亚洲.欧洲以及中东和非洲的市场份额.宏?总裁兰奇在昨天的投
新浪科技讯 2月3日中午消息,工业和信息化部运行监测协调局2日公布的数据显示,2008年我国生产电脑1.47亿台,同比增长14%,占全球08年3.022亿台电脑销量的一半. 工业和信息化部运行监测协调局2日公布了我国电子制造业2008年的运行数据,其中微型电子计算机(电脑)的生产量为14703万台,同比增长14%,笔记本增长速度远超台式机,为27.1%. Gartner的统计显示,2008年全球电脑的销量为3.022亿台,中国1.47亿台的电脑产量占据了全球的一半,即全球每两台电脑就有一台是中国
1. 5Thirtyone 2. 31Three 3. aiAlex 4. AndyKnight 5. Art Culture 6. Artypapers 7. Ashwebstudio 8. Astheria 9. Bart-Jan Verhoef 10. Blogsolid 11. Blogspots.de 12. Brian Jeremy 13. Charisma18 14. Cult-foo 15. Darkmotion 16. David Hellmann 17. Design Dis
Here is a compilation of 47 jaw-dropping CSS3 animation demos. They demonstrate the possibilities of the CSS3 transform and transition property. Some are very useful and can be used as Javascript alternatives. Most of them are simply to look cool. In
刊号 # 47 - Mar 03, 2009 项目新闻 NetBeans 6.7里程碑2现在可以下载了! NetBeans 团队兴奋的发布了NetBeans IDE 6.7的里程碑2.发布中包括了几个改进和增强的特征:Mave 和 C++ 的支持,分析工具,SVN组件等等. 伴随着发布,IDE目前能给用户选择激活他们想使用的功能.增强自我诊断的工具可以让用户审查问题的表现情况,或者发送一份报告给 NetBeans 团队进行分析.MAC OS X的外观和风格同样也能得到很好的更新.了解更多关于发布
日期: 来源:GBin1.com 在今天我们这篇文章中,我们收集了47套超棒的图标集,你可以免费的下载到你自己的电脑中,并且可以自由的应用到你的web设计中去.希望大家喜欢,如果你有更好的免费资源,请和我们联系和推荐,谢谢合作! 免费高清图标集KOLORIA 学校学院相关图标集 ........ 来源:免费图标素材:47套最新的超棒免费图标集
日期: 来源:GBin1.com 如果你已经足够精通CSS3的话呢,那么它带给你的惊喜和乐趣已经不言而喻了吧,它不仅可以帮助你创建出最优美的设计,还可以大大提高你的工作效率.今天我们给大家推荐的这47套CSS3教程无疑可以带给大家巨大的帮助,不光是专业开发人员,即使初学者也同样适用.在这套CSS3教程中,我们收集了足够多的小技巧可以更巧妙的运用在你的网站设计中,你可以用它们更好的优化你的网站.还等什么呢?快来试试吧. 相关阅读:推荐20款最新的超棒CSS技术教程 1. Swa
熟练使用CSS3可以使整个页面看起来更加酷炫. 在这里,我们收集了47 个使用 CSS3 实现的酷炫效,并付上各个效果的教程地址. 1. Swatch Book with CSS3 and jQuery Demo 2. 3D Thumbnail Hover Effects Demo 3. Create a Stunning Menu in CSS3 Demo 4. More Efficient CSS3 Transitions Demo 5. Create Fluid Layouts with
1.判断sd卡是否存在 boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 2.TextView部分文字设置颜色 TextView tv = new TextView(this); //添加css样式 tv.setText(Html.fromHtml(&&font color=&#ff0000&&红色&lt
1, when a compilation unit initialization of an object moves, and another compilation unit value of an object dependencies, which also need to initialize. May lead to the first object is not the initial value. 2, the solution: Singleton pattern. To e
1, when a compilation unit initialization of an object moves, and another compilation unit value of an object dependencies, which also need to initialize. May lead to the first object is not the initial value. 2, the solution: Singleton pattern. To e
#include&stdio.h& #include&string.h& #define BUFSIZE 100 char buf[BUFSIZE]; int bufp = 0; int getch(void); void unGetch(int); /* Getch: get a ( possibly pushed back) character. */ int getch(void) { return (bufp & 0) ? buf[--bufp]: getchar()
http://webdev.csdn.net/?p=744 Very nice
使用数组精确计算M/N(0&M&N&=100)的值.如果M/N是无限循环小数,则计算并输出它的第一循环节,同时要求输出 循环节的起止位置(小数位的序号) *问题分析与算法设计 由于计算机字长的限制,常规的浮点运算都有精度限制,为了得到高精度的计算结果,就必须自行设计实现方法. 为了实现高精度的计算,可将商存放在一维数组中,数组的每个元素存放一位十进制数,即商的第一位存放在第一个元素中,商的第二位存放在第二个元素中....,依次类推.这样就可以使用数组不表示一个高精度的计算结果. 进行除法
9月25日消息,根据中国移动发布的公告,其开始进行TD-LTE终端招标,用于13个城市的TD-LTE技术规模试验,总计七大类TD-LTE终端,共计34700部,比之前传达的2.9万部要多. 首次TD-LTE招标 此次中国移动集采的TD-LTE主要供多个城市的TD-LTE技术规模试验使用,之前,业内曾预测8月开始招标,但最终近日中国移动开始刊登公告,要求9月29日之前需要参与竞标的厂商领取标书. 此次招标明确为TD-LTE/TD-SCDMA多模终端.目前测试中有多种形态TD-LTE双模终端,包括数
路透社援引日本经济新闻消息称,软银在亚洲市场的拓展又进一步.其已经以约1.474亿美元的价格,通过私募配售的方式,于本月早些时候购买美国社交游戏开发商Zynga股份. 软银将会通过雅虎日本把Zynga的手机与网络游戏服务本地化,同时还会与Zynga一起在亚洲其他市场进行推广.Zynga开发的游戏出现在Facebook与Myspace里,而且还可以下载到iPhone上. 由于Zynga游戏的流量近期出现了下滑,导致投资者产生了紧张情绪.为了打消这种担忧,Zynga必须要进行国际化扩张以及多元化发展
Linux系统中的iostat是I/Ostatistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析.iostat属于sysstat软件包.可以用yuminstallsysstat直接安装. 1.命令格式: iostat[参数][时间][次数] 2.命令功能: 通过iostat方便查看CPU.网卡.
This release includes 4 new libraries ( Chrono, Geometry, Phoenix and Ratio) as well as updates to many existing libraries. See Release History for more information
当我们在一个交换网络里面,不知道别人的QQ号码是个很痛苦的事情,假如一个PLMM在上网,你却不知道她得QQ也没有勇气去问,是个很可惜的事情, 至于我们搞编程的,可以通过交换机的数据交换,嗅探出QQ号,因为QQ数据里面唯独QQ号码不加密. #include &stdafx.h& #include &pcap.h& #include &stdio.h& #include &Iphlpapi.h& #include &protoc
迭代开发区别于瀑布式开发就是它将众多的需求分成若干个迭代来完成,每个迭代只完成当下优先级最高的那部分需求.禅道软件中项目关联需求的过程,就是对需求进行排序筛选的过程.下面我们来看下如何关联需求. 一.关联产品 如果在创建项目的时候,已经关联过产品,可以忽略这个步骤. 以项目经理身份登录. 进入项目视图. 点击&关联产品&按钮.然后点选该项目相关的产品即可. 二.关联需求 在关联需求的时候,可以按照优先级进行排序. 关联的需求状态必须是激活的(评审通过,不能是草稿) 更多开源详情: ht
这几天忙着研究Tornado,想着总得学以致用吧,于是就决定做个聊天室玩玩. 实际上在Tornado的源码里就有chat和websocket这2个聊天室的demo,分别采用Ajax Long-Polling和WebSocket技术构建. 而我要实现的则很简单:将这2种技术融合在一起. 当然,这样做并不是为了好玩. 就技术而言,WebSocket的通信开销很少,没有连接数的限制,但由于本身比较新,支持它的浏览器并不多(目前仅有Chrome 6+.Safari 5.0.1+.Firefox 4+和O
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令. 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执
es:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_partial_updates_to_a_document.html 下一篇:http://my.codeweblog.com/qiangzigege/blog/264473 内容 更新API包含读和写的过程. 1)客户端发送更新请求给节点1. 2)转发请求给节点3. 3)节点3检索文档,改变文档,重新索引文档,如果期间文档被别人修改了,则重新尝试直到达到最
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现. Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块).不过,Tomcat是自由的开
本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdC type TForm1 = class(TForm) CheckBox1: TCheckB CheckBox2: TCheckB procedure FormCreate(Sender: TObject); proced
IGPMatrix 的属性与方法: //方法 IGPMatrix.R { 重置 Matrix 得到单位矩阵(斜对角线是1其他是0) } IGPMatrix.Translate(); { 平移 } IGPMatrix.Scale(); { 放缩 } IGPMatrix.Rotate(); { 旋转(沿(0,0)点, 顺时针) } IGPMatrix.RotateAt(); { 沿指定点, 顺时针旋转 } IGPMatrix.Shear(); { 剪切(或叫错切.斜切) } IGPMatr
本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DIB, StdC type TForm1 = class(TForm) DXPaintBox1: TDXPaintB Button1: TB Button2: TB procedure Button1Click
一.概述 Java的反射和C#的反射也是一样的道理: 在Java中的反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制. 与反射有关的所有接口以及类都在java.lang.reflect包里: Demo: 实例一:获得完整的类名 package reflection. //获得完整的类名 public class GetClassN
1, object-oriented features of what has 1. Abstract: Abstract is that it has overlooked a subject has nothing to do with the current goal of those aspects in order to more fully with the current objectives of the attention-related aspects. Abstract d
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.037 (s). 9 q(s)记得09年大学毕业,第一次踏入广东这个遍地是黄金的地方。当时学校是包分配工作的,我分配到中山一个厂里面做平面设计实习生,由于老乡都在深圳,我毅然辞去工作来到深圳暂留在老乡的宿舍里。初来乍到,老乡们也都为了每个月几十块的全勤奖舍不得请假,我便去了人才市场,看着满目琳琅的招聘信息,基本跟我专业对口的行业月薪都达到3000+,我暗自庆幸没有像其他老乡一样初中毕业就出来打工,有文化还是有点小优越的...踏入一家看着不错的招聘门店,里面的接待大哥热情的不行,问清楚我的状况后,马上给我推荐了一份富士康设计首席助理的工作,月薪5000管吃管住,不过要交500块押金,我一听高兴的不行,想不到我这么抢手,果断的把身上所剩的500块交了填表,大哥让我回去,明天过来交接给公司正式上班。&br&&br&
第二天去到昨天的那个招聘处,才知道我还是太年轻了。到了那里,昨天招聘的那个大哥说体检费要缴300块,我告诉他真的一分钱没有了,他立马翻脸了,扎着袖子露出个大臂纹身大声吼:没钱还想找好工作?你他妈的xxxx....。总之后来我被轰了出来,自己也没胆去要回来,从龙岗走路回了老乡在大梅沙那边的宿舍,后来老老实实的进了中原地产,虽然苦逼,但是人变得踏实了,也在这几年中介生涯里老练了许多。
记得09年大学毕业,第一次踏入广东这个遍地是黄金的地方。当时学校是包分配工作的,我分配到中山一个厂里面做平面设计实习生,由于老乡都在深圳,我毅然辞去工作来到深圳暂留在老乡的宿舍里。初来乍到,老乡们也都为了每个月几十块的全勤奖舍不得请假,我便…
哈~刚被告知这条答案下面有人挂了我。这张图和说明是前段时间两个群里都有朋友发来的,下面的说明也都相同,那天看到这道题,突然想起来也就顺手贴上来了。&br&&br&要说在微博上盗图的话倒还不至于,反正我也不缺这么几个赞同,没必要自毁名声。顺手抖个机灵而已,要真是微博上转的图我会标明的。&br&至于这个“中央党校教材”的谣言是ZXP这个鄙五毛界的智障炮制出来的我确实不知道,也没有考证过。这本书的译本是中央党校出版社出版的,该出版社一般出版三种书目:中央党校教材、干部必读书目和一些理论研究著作。或许是ZXP这货不明白,想当然地认为它是党校教材了。&br&不过这个事情是个警示,以后遇到这种问题还是要考证,非常抱歉,感谢&a href=&//www.zhihu.com/people/46bd8c62fe9a828d0c7f& data-hash=&46bd8c62fe9a828d0c7f& class=&member_mention& data-hovercard=&p$b$46bd8c62fe9a828d0c7f&&@千手关叔&/a&的指出。&br&不删了,以此为戒。&br&&br&—————更新—————&br&&figure&&img data-rawwidth=&640& data-rawheight=&800& src=&https://pic1.zhimg.com/v2-e9e4bbbbcb83b2cff9dc_b.jpg& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-e9e4bbbbcb83b2cff9dc_r.jpg&&&/figure&&br&1991年4月,中央党校教材《权力的转移》(译本)。
哈~刚被告知这条答案下面有人挂了我。这张图和说明是前段时间两个群里都有朋友发来的,下面的说明也都相同,那天看到这道题,突然想起来也就顺手贴上来了。 要说在微博上盗图的话倒还不至于,反正我也不缺这么几个赞同,没必要自毁名声。顺手抖个机灵而已…
&figure&&img src=&https://pic3.zhimg.com/v2-f3d872e8ab3f75b173dd32fd99eaef83_b.jpg& data-rawwidth=&660& data-rawheight=&370& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&https://pic3.zhimg.com/v2-f3d872e8ab3f75b173dd32fd99eaef83_r.jpg&&&/figure&&h2&一、
经火绒安全实验室截获、分析、追踪并验证,当用户从百度旗下的&a href=&http://link.zhihu.com/?target=http%3A//www.skycn.net/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&skycn.net/&/span&&span class=&invisible&&&/span&&/a&和 &a href=&http://link.zhihu.com/?target=http%3A//soft.hao123.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&soft.hao123.com/&/span&&span class=&invisible&&&/span&&/a&这两个网站下载任何软件时,都会被植入恶意代码。该恶意代码进入电脑后,会通过加载驱动等各种手段防止被卸载,进而长期潜伏,并随时可以被“云端”远程操控,用来劫持导航站、电商网站、广告联盟等各种流量。&p&&br&
火绒实验室近期接到数名电脑浏览器被劫持的用户求助,在分析被感染电脑时,提取到多个和流量劫持相关的可疑文件:HSoftDoloEx.exe 、bime.dll 、MsVwmlbkgn.sys、LcScience.sys、WaNdFilter.sys,这些可疑文件均包含百度签名。&br&这些包含恶意代码的可疑文件,被定位到一个名叫nvMultitask.exe的释放器上,当用户在&a href=&http://link.zhihu.com/?target=http%3A//www.skycn.net/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&skycn.net/&/span&&span class=&invisible&&&/span&&/a&和&a href=&http://link.zhihu.com/?target=http%3A//soft.hao123.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&soft.hao123.com/&/span&&span class=&invisible&&&/span&&/a&这两个下载站下载任何软件时,都会被捆绑下载该释放器,进而向用户电脑植入这些可疑文件。需要强调的是,下载器运行后会立即在后台静默释放和执行释放器nvMultitask.exe,植入恶意代码,即使用户不做任何操作直接关闭下载器,恶意代码也会被植入。&/p&&p&&br&
根据分析和溯源,最迟到2016年9月,这些恶意代码即被制作完成。而操纵流量劫持的“远程开关”于近期被开启,被感染的电脑会被按照区域和时段等条件,或者是随机地被“选择”出来,进行流量劫持——安全业界称之为“云控劫持”。&br&&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-78ca677cca6dba715fc61db_b.png& data-rawwidth=&510& data-rawheight=&258& class=&origin_image zh-lightbox-thumb& width=&510& data-original=&https://pic4.zhimg.com/v2-78ca677cca6dba715fc61db_r.jpg&&&/figure&&br&&br&
图 1、下载器向用户计算机植入恶意代码&/p&&p&&br&
被植入的恶意代码没有正常的用户卸载功能,也没有常规启动项,电脑每次开机时都会启动和更新恶意代码,恶意代码接收C&C服务器指令,行为受云端控制,并且会通过加载驱动,保护相关的注册表和文件不被删除。&/p&&p&&br&
因此,这些植入恶意代码的用户电脑成为长期被远程控制的“肉鸡”。&/p&&p&&br&该恶意代码被远程启动后,会劫持各种互联网流量,用户的浏览器、首页、导航站都会被劫持,将流量输送给hao123导航站。同时,还会篡改电商网站、网站联盟广告等链接,用以获取这些网站的流量收入分成(详情在本报告第二章)。&br&
综上所述,该恶意代码本身以及通过下载器植入用户电脑的行为,同时符合安全行业通行的若干个恶意代码定义标准,因此,火绒将这一恶意代码家族命名为“Rogue/NetReaper”(中文名:流量收割者)。升级到“火绒安全软件”最新版本,即可全面查杀、清除该类恶意代码。&br&&figure&&img src=&https://pic4.zhimg.com/v2-53d212e6c25cf1b21b06ca97_b.png& data-rawwidth=&800& data-rawheight=&515& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic4.zhimg.com/v2-53d212e6c25cf1b21b06ca97_r.jpg&&&/figure&&br&&br&
图2、火绒安全软件检测结果&br&&br&火绒安全软件4.0下载地址:&br&&a href=&http://link.zhihu.com/?target=http%3A//www.huorong.cn/downv4.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&huorong.cn/downv4.html&/span&&span class=&invisible&&&/span&&/a&&br&火绒专杀工具下载地址:&br&&a href=&http://link.zhihu.com/?target=http%3A//huorong.cn/download/tools/hrkill-v1.0.0.10.exe& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&huorong.cn/download/too&/span&&span class=&invisible&&ls/hrkill-v1.0.0.10.exe&/span&&span class=&ellipsis&&&/span&&/a&&br&&br&&/p&&h2&二、
主要劫持行为描述&/h2&&br&
用户在这两个下载站下载软件后,电脑即被植入“Rogue/NetReaper”恶意代码,在长期的潜伏期过程中,电脑可能发生如下流量劫持情况(按地域和时间等因素云控劫持,或者随机劫持):&br&
1.导航站劫持:当用户访问其他导航站时,会被劫持到百度hao123导航站。&br&
包括360、QQ、2345、搜狗、猎豹、114la、瑞星……等导航站都会被劫持,劫持后的hao123网址带有百度联盟的推广计费名。&p&&figure&&img src=&https://pic4.zhimg.com/v2-50f2b5a76e6cc67def3b_b.png& data-rawwidth=&569& data-rawheight=&169& class=&origin_image zh-lightbox-thumb& width=&569& data-original=&https://pic4.zhimg.com/v2-50f2b5a76e6cc67def3b_r.jpg&&&/figure&
图3、常见导航站被直接为hao123&br&&/p&&p&&br&
2.首页劫持:把用户电脑首页修改为hao123导航站。&br&
使用IE浏览器的用户,其首页被修改为hao123导航站,并通过百度联盟计费名统计流量。&br&&br&
3.浏览器劫持:360浏览器替换成IE浏览器或者假IE浏览器。&br&
当发现用户使用360安全浏览器或360极速浏览器时,默认浏览器被修改为IE浏览器,或者修改为假IE浏览器,以躲避安全软件的浏览器保护。无论 怎样,被替换后首页都会变成hao123导航站,并通过百度联盟计费名统计流量。&br&&br&
4.网盟广告劫持:将百度网盟其他渠道计费名换成渠道商猎豹(金山毒霸)。&br&&br&
百度网盟有许多渠道商,这些渠道商都将流量售卖给百度网盟,这个劫持行为是将其他渠道商的推广计费名换成金山的,这样的话,本来应该属于其他渠道的百度网盟推广费用,就被猎豹获得,猎豹再向恶意代码制作者分钱。&br&&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-bd979cefcb46ed20eddf6a_b.png& data-rawwidth=&571& data-rawheight=&149& class=&origin_image zh-lightbox-thumb& width=&571& data-original=&https://pic3.zhimg.com/v2-bd979cefcb46ed20eddf6a_r.jpg&&&/figure&&br&
图 4、替换百度网盟广告&/p&&p&&br&
5.电商流量劫持:使用IE浏览器访问京东等电商网站时,先跳转到电商导流网站站,然后再跳转回该电商网站。&br&
先跳转到电商导流网站妖猴网(&a href=&http://link.zhihu.com/?target=http%3A//www.xmonkey.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&xmonkey.com/&/span&&span class=&invisible&&&/span&&/a&),再返回原购物网站之后,电商网站链接就加上了妖猴网的计费名,电商网站就会按照流量向妖猴网支付推广费用,妖猴网再向恶意代码制作者分钱。&br&&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-e415d1aecc1d7dfaf5206c_b.png& data-rawwidth=&561& data-rawheight=&771& class=&origin_image zh-lightbox-thumb& width=&561& data-original=&https://pic1.zhimg.com/v2-e415d1aecc1d7dfaf5206c_r.jpg&&&/figure&图 5、访问电商网站时会跳转到电商导流网站&br&&/p&&br&&h2&三、概要分析&/h2&&br&
执行任意从&a href=&http://link.zhihu.com/?target=http%3A//soft.hao123.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&soft.hao123.com/&/span&&span class=&invisible&&&/span&&/a&下载到的下载器,不需要进行任何操作,恶意代码就会植入用户计算机。使用火绒剑可以监控植入恶意代码的整个过程,如下图: &br&&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-8c73a1dde9d0c1db3febd8f18a117027_b.png& data-rawwidth=&701& data-rawheight=&1078& class=&origin_image zh-lightbox-thumb& width=&701& data-original=&https://pic4.zhimg.com/v2-8c73a1dde9d0c1db3febd8f18a117027_r.jpg&&&/figure&&br&
图 6、恶意代码首次植入用户计算机流程&p&&br&&b&
恶意代码首次植入用户计算机流程:&/b&&br&&br&
1.下载器执行释放的nvMultitask.exe。目前下载器包含的nvMultitask.exe是0.2.0.1版本,该版本仅会在用户计算机上植入部分恶意代码,如下:&br&&br&&br&
3.2.0.1版的HSoftDoloEx.exe&br&
1.7.0.1版的bime.dll&br&
0.4.0.130 版的LcScience.sys&br&
0.5.30.70 版的WaNdFilter.sys&br&
1.0.0.1020版的npjuziplugin.dll&br&&br&&/p&&p&
2.植入恶意代码成功后nvMultitask.exe使用命令行参数“-inject=install”执行HSoftDoloEx.exe&br&&br&
3.启动的HSoftDoloEx.exe链接C&C服务器(&a href=&http://link.zhihu.com/?target=http%3A//update.123juzi.net/update.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.123juzi.net/upda&/span&&span class=&invisible&&te.php&/span&&span class=&ellipsis&&&/span&&/a&)进行更新,更新的恶意组件将在下次计算机启动后被激活&br&&br&&b&
每次计算机重启,恶意代码都会启动和检查更新:&/b&&br&
经过几次更新之后,nvMultitask.exe的会升级到当前最新版本3.2.0.4,后续分析将会以这个版本展开。&br&&br&
最新版本的恶意组件在用户每次开机后都会执行以下流程:&br&&br&1.LcScience.sys注册进程和映像加载回调将bime.dll分别注入services.exe、explorer.exe、iexplore.exe和其他第三方浏览器进程。&br&&br&2.注入services.exe中的bime.dll负责启动HSoftDoloEx.exe&br&
1)HSoftDoloEx.exe链接C&C服务器(&a href=&http://link.zhihu.com/?target=http%3A//update.123juzi.net/update.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.123juzi.net/upda&/span&&span class=&invisible&&te.php&/span&&span class=&ellipsis&&&/span&&/a&)检测更新。&br&
2)HSoftDoloEx.exe链接C&C服务器(&a href=&http://link.zhihu.com/?target=http%3A//update.qyllq.com/getupfs2.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.qyllq.com/getupf&/span&&span class=&invisible&&s2.php&/span&&span class=&ellipsis&&&/span&&/a&),获取流量劫持指令。(后续章节进行详细分析)&br&&br&3.注入explorer.exe中的bime.dll负责在执行5分钟后链接C&C服务器(&a href=&http://link.zhihu.com/?target=http%3A//update.123juzi.net/ccl.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.123juzi.net/ccl.&/span&&span class=&invisible&&php&/span&&span class=&ellipsis&&&/span&&/a&)下载并加载恶意代码svcprotect.dat到explorer.exe。&br&&br&4.svcprotect.dat(1.0.0.11)加载后释放两个全新的流量劫持模块:&br&
1)5.0.0.1版的iexplorer_helper.dat&br&
2)1.5.9.1098版的iexplore.exe&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-ae2b7f6a0f542651fea9_b.png& data-rawwidth=&702& data-rawheight=&516& class=&origin_image zh-lightbox-thumb& width=&702& data-original=&https://pic2.zhimg.com/v2-ae2b7f6a0f542651fea9_r.jpg&&&/figure&&br&
图 7、恶意代码植入用户计算机流程&br&&br&&/p&&p&1.5.9.1098版的iexplore.exe是一个伪装系统名称的假IE浏览器,我们把这个文件上传到VirusTotal后发现,很多安全软件检测此文件是病毒,如图:&br&&/p&&p&&br&&figure&&img src=&https://pic2.zhimg.com/v2-bc65e6211deaa15f9681b1_b.png& data-rawwidth=&1002& data-rawheight=&1307& class=&origin_image zh-lightbox-thumb& width=&1002& data-original=&https://pic2.zhimg.com/v2-bc65e6211deaa15f9681b1_r.jpg&&&/figure&&br&
图 8、Virustotal检测的结果&br&&figure&&img src=&https://pic3.zhimg.com/v2-f6bd0a9dcd81df8e599aa_b.png& data-rawwidth=&1256& data-rawheight=&674& class=&origin_image zh-lightbox-thumb& width=&1256& data-original=&https://pic3.zhimg.com/v2-f6bd0a9dcd81df8e599aa_r.jpg&&&/figure&&br&
图 9、恶意代码包含百度签名&/p&&p&&br&&b&
最终在用户计算机中所有包含恶意代码的文件如下:&/b&&br&&br&&/p&&br&&figure&&img src=&https://pic3.zhimg.com/v2-90fd5b7efa4ea_b.png& data-rawwidth=&614& data-rawheight=&531& class=&origin_image zh-lightbox-thumb& width=&614& data-original=&https://pic3.zhimg.com/v2-90fd5b7efa4ea_r.jpg&&&/figure&&br&&br&&h2&四、
详细分析&/h2&&br&1.
启动、保护和更新模块分析&br&&br&1.1
恶意代码有两个重要的启动模块HSoftDoloEx.exe和bime.dll。这两个文件是整组恶意代码的关键项,驱动文件LcScience.sys负责每次开机启动它们。&br&
LcScience.sys(0.4.0.130)注册映像加载通知,排队一个工作例程,如下图:&br&&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-f41e109c674d32b035a69a_b.png& data-rawwidth=&698& data-rawheight=&410& class=&origin_image zh-lightbox-thumb& width=&698& data-original=&https://pic1.zhimg.com/v2-f41e109c674d32b035a69a_r.jpg&&&/figure&
图 10、排队注入例程&p&&br&
该工作例程会判断启动进程是否需要注入,完整的注入列表如下:&br&&br&&/p&&br&&figure&&img src=&https://pic2.zhimg.com/v2-70ff1f9ddc50fe15d14e01_b.png& data-rawwidth=&471& data-rawheight=&79& class=&origin_image zh-lightbox-thumb& width=&471& data-original=&https://pic2.zhimg.com/v2-70ff1f9ddc50fe15d14e01_r.jpg&&&/figure&&p&&br&
如果满足注入条件,就会注入bime.dll(1.7.0.5)到指定进程。LcScience.sys实现了两种注入方式:一种通过patch系统动态库ntdll.dll的入口将动态库bime.dll注入到制定进程;另一种则是通过patch系统动态库ntdll.dll的NtTestAlert函数实现注入bime.dll到指定进程,相关代码如下图:&br&&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-8d84fd0decebe3a689619fee4cfd4d99_b.png& data-rawwidth=&554& data-rawheight=&181& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&https://pic2.zhimg.com/v2-8d84fd0decebe3a689619fee4cfd4d99_r.jpg&&&/figure&
图 11、选择注入方式&/p&&p&&br&
bime.dll(1.7.0.5)注入到services.exe、explorer.exe、iexplorer.exe和其他浏览器进程后,会根据宿主进程名称不同,会执行不一样的流程。&br&&br&
注入到services.exe系统进程bime.dll,在系统开机运行services.exe后,以&-inject=start&参数执行HSoftDoloEx.exe。在explorer.exe中的bime.dll(1.7.0.5)也会随着“桌面”程序的启动,一同被激活。bime.dll还会随着用户启动的浏览器一并启动,如下图:&br&&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-3cc52ccb46b5b_b.png& data-rawwidth=&706& data-rawheight=&253& class=&origin_image zh-lightbox-thumb& width=&706& data-original=&https://pic4.zhimg.com/v2-3cc52ccb46b5b_r.jpg&&&/figure&&br&图 12、恶意代码启动流程图&/p&&p&&br&1.2
WaNdFilter.sys(0.5.30.70)同LcScience.sys(0.4.0.130)都使用了注册表回调保护自己的注册表启动项不被删除,除此以外WaNdFilter.sys(0.5.30.70)还有两个保护点,如下图所示:&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-9374fb4ded3f5df6e72d9_b.png& data-rawwidth=&711& data-rawheight=&806& class=&origin_image zh-lightbox-thumb& width=&711& data-original=&https://pic2.zhimg.com/v2-9374fb4ded3f5df6e72d9_r.jpg&&&/figure&图 13、文件保护逻辑&/p&&p&&br&
图中标明file_needs_protect_1 函数负责保护“WaNdFilter.sys”、“LcScience.sys”和“MsVwmlbkgn.sys”这几个文件不被删除,标明file_needs_protect_2 函数会阻止特定进程不能访问恶意代码指定的文件列表。&br&
WaNdFilter.sys阻止的特定进程如下表:&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-2cebbe87adbd8a_b.png& data-rawwidth=&474& data-rawheight=&79& class=&origin_image zh-lightbox-thumb& width=&474& data-original=&https://pic3.zhimg.com/v2-2cebbe87adbd8a_r.jpg&&&/figure&&br&
恶意代码指定的文件列表的在我们的实验环境中并未得到。&/p&&p&&br&&br&1.3
更新&/p&&p&&br&
不同版本nvMultitask.exe释放的恶意代码在功能上存在差异。本文分析的是当前最新版本3.2.0.4。每次计算机重启恶意代码都会执行更新,升级到最新版本需要经过以下流程。&br&
1)开机后执行HSoftDoloEx.exe,HSoftDoloEx.exe会向服务器&a href=&http://link.zhihu.com/?target=http%3A//update.123juzi.net/update.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.123juzi.net/upda&/span&&span class=&invisible&&te.php&/span&&span class=&ellipsis&&&/span&&/a&发送升级请求,每次请求返回的都不是最新版本,一般来说从下载器自带的0.2.0.1版本需要至少重启三次计算机 ,才可以更新到3.2.0.4版本。&br&&br&&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-eda2cc08d1b3af745aa49212be44debd_b.png& data-rawwidth=&700& data-rawheight=&220& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-eda2cc08d1b3af745aa49212be44debd_r.jpg&&&/figure&图 14、恶意代码释放器升级流程&br&&br&&/p&&p&
2)除了HSoftDoloEx.exe会向服务器发送请求更新以外,3.2.0.4版的nvMultitask.exe中包含的1.7.0.5版的bime.dll ,会在注入系统进程Explorer.exe之后,也会向服务器&a href=&http://link.zhihu.com/?target=http%3A//update.123juzi.net/ccl.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.123juzi.net/ccl.&/span&&span class=&invisible&&php&/span&&span class=&ellipsis&&&/span&&/a&发送请求。 &br&&br&
3)请求得到的数据是一段Base64编码后的字符串,解码后可以得到win_32_1.0.0.11.dat的下载地址后开始下载。这是一个新出现的恶意代码。&br&&br&&/p&&p&
4)win_32_1.0.0.11.dat是加密的32位版本的svcprotect.dat(1.0.0.11)。&br&&br&
5)bime.dll解密后调用svcprotect.dat名为“Run”的导出函数,释放恶意代码“iexplorer_helper.dat” (5.0.0.1)&br&&br&
6)svcprotect.dat还会检查当前系统中是否存在“C:\ProgramData\userdata\data.dat”这个文件,如果不存在或者该文件最后写入时间距今相差30天以上,svcprotect.dat就会在“%HOMEPATH%\AppData\Roaming\{ED6E-48E3-98B5-FC68}”目录中释放假iexplore.exe(1.5.9.1098)。“C:\ProgramData\userdata\data.dat”是一个0字节文件,会在svcprotect.dat第一次释放iexplore.exe后被svcprotect.dat创建。&br&svcprotect.dat释放的文件都包含在它的PE资源中,如图:&br&&br&&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-fdf25f2d27c8ef86a2d1f0d86c5fc974_b.png& data-rawwidth=&436& data-rawheight=&582& class=&origin_image zh-lightbox-thumb& width=&436& data-original=&https://pic1.zhimg.com/v2-fdf25f2d27c8ef86a2d1f0d86c5fc974_r.jpg&&&/figure&图 15、svcprotect.dat中包含的二进制资源&/p&&p&&br&
FILE_对应iexplore.exe(1.5.9.1098),FILE_对应iexplorer_helper.dat(5.0.0.1)。至此所有恶意代码已经全部植入用户计算机了。&br&&br&
如果升级服务器不返回请求数据(此处由云端控制),也可以在安装了nvMultitask.exe 0.2.0.1版本计算机上,直接运行nvMultitask_3.2.0.4.exe的安装包(MD5: 4bfa2fa7d6),同样会更新到最新版的恶意代码。但是会缺少两个关键组件iexplorer_helper.dat(5.0.0.1)和svcprotect.dat(1.0.0.11)。&br&&br&HSoftDoloEx.exe和C&C服务器通信的请求升级流程如下表:&br&&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-045fcb70a0e70a9fb2095c7_b.png& data-rawwidth=&700& data-rawheight=&798& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic4.zhimg.com/v2-045fcb70a0e70a9fb2095c7_r.jpg&&&/figure&图 16、HsoftDoloEx和C&C服务通信流程&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-20fa859bf6_b.png& data-rawwidth=&700& data-rawheight=&76& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic3.zhimg.com/v2-20fa859bf6_r.jpg&&&/figure&图 17、C&C服务器返回的base64解码后数据2.
用户态流量劫持模块 &/p&&p&&br&
bime.dll会被注入到explorer.exe进程,在其等待5分钟之后会加载恶意模块svcprotect.dat。svcprotect.dat会释放另一个恶意模块iexplorer_helper.dat和一个假iexplore.exe,二者分别实现不同流量劫持功能:&br&&br&
1)针对用户浏览器首页的劫持:&br&
在Explorer.exe中的svcprotect.dat Hook了的CreateProcessW劫持浏览器首页流量,此外svcprotect.dat还会直接启动假iexplore.exe替换用户运行的浏览器完成首页劫持。&br&&br&
2)针对用户访问购物网站做流量劫持:&br&
svcprotect.dat释放的出来的iexplorer_helper.dat会针对系统IE浏览器劫持某购物网站流量。&br&&br&&b&
负责用户态流量劫持的模块列表:&/b&&br&&br&&/p&&br&&figure&&img src=&https://pic1.zhimg.com/v2-e6fb868ea3dd5d382f6bd8_b.png& data-rawwidth=&527& data-rawheight=&156& class=&origin_image zh-lightbox-thumb& width=&527& data-original=&https://pic1.zhimg.com/v2-e6fb868ea3dd5d382f6bd8_r.jpg&&&/figure&&br&&p&&br&&b&
负责用户态流量劫持的C&C服务器:&/b&&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-81db66f095d90fa016c88548_b.png& data-rawwidth=&278& data-rawheight=&108& class=&content_image& width=&278&&&/figure&&br&&br&2.1
svcprotect.dat劫持模块分析&/p&&p&&br&
加载到explorer.exe中的svcprotect.dat会向服务器&a href=&http://link.zhihu.com/?target=http%3A//update.123juzi.net/getupfs2.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.123juzi.net/getu&/span&&span class=&invisible&&pfs2.php&/span&&span class=&ellipsis&&&/span&&/a&发送请求获取控制指令。&br&&br&&b&
svcprotect.dat和C&C服务器通信流程如下表:&br&&/b&&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-eb95d7c4bc833d6c6d4115b_b.png& data-rawwidth=&700& data-rawheight=&227& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic4.zhimg.com/v2-eb95d7c4bc833d6c6d4115b_r.jpg&&&/figure&&br&图 18、svcprotect.dat和C&C服务器通信流程&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-37d501ec1ca49c2dcbc1ab7_b.png& data-rawwidth=&700& data-rawheight=&219& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic4.zhimg.com/v2-37d501ec1ca49c2dcbc1ab7_r.jpg&&&/figure&&br&&br&图 19、解码服务器返回的数据为二进制格式&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-070facb05efb67e3cc95f_b.png& data-rawwidth=&700& data-rawheight=&672& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic4.zhimg.com/v2-070facb05efb67e3cc95f_r.jpg&&&/figure&&br&&br&图 20、通过XOR 0x29得到的JSON格式的控制指令&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-5075396eda6ba07c2edf1ce31496bbbd_b.png& data-rawwidth=&700& data-rawheight=&168& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-5075396eda6ba07c2edf1ce31496bbbd_r.jpg&&&/figure&&br&&br&图 21、控制指令的完整列表&br&&b&
通过C&C服务器得到的JSON各键名含义:&/b&&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-f0abf40e0fb_b.png& data-rawwidth=&347& data-rawheight=&264& class=&content_image& width=&347&&&/figure&&br&
svcprotect.dat根据接收到的云控指令,判断用户启动的浏览器是否匹配劫持条件,如果匹配则会选择对应的劫持方法。其流量劫持的手法一共分为三种:&/p&&p&&br&
1)将用户启动的浏览器劫持为假IE:&br&在用户双击浏览器快捷方式(包括带网址参数和不带网址参数两种)或者通过explorer直接启动浏览器时(当前只劫持通过“Win+R”方式启动的浏览器,直接启动浏览器的可执行文件不会被劫持),只要配置文件中对应的概率命中,就会将当前启动浏览器替换为假IE。当然这样的劫持手法过于明显,很容易引起用户警觉,所以劫持为假IE的概率很低。&br&&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-6e8892920baa8e8aa47c94d05ded07c2_b.png& data-rawwidth=&1539& data-rawheight=&716& class=&origin_image zh-lightbox-thumb& width=&1539& data-original=&https://pic3.zhimg.com/v2-6e8892920baa8e8aa47c94d05ded07c2_r.jpg&&&/figure&图 22、假IE访问其默认首页&/p&&p&&br&
2)劫持浏览器的命令行启动参数:&br&在用户启动无命令行参数的浏览器快捷方式时,如果配置文件中对应的概率命中,则会添加带有自己计费号的百度搜索网址参数,如果启动的浏览器是系统IE,劫持网址就是带有计费号的hao123链接。针对360安全浏览器和360极速浏览器这种当启动参数为其他导航站时,就会跳转到&a href=&http://link.zhihu.com/?target=http%3A//hao.360.cn/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&hao.360.cn/&/span&&span class=&invisible&&&/span&&/a&的浏览器,劫持网址就是带有计费号的百度搜索链接。 &br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-5ea18bf925ba_b.png& data-rawwidth=&1170& data-rawheight=&728& class=&origin_image zh-lightbox-thumb& width=&1170& data-original=&https://pic1.zhimg.com/v2-5ea18bf925ba_r.jpg&&&/figure&图 23、劫持浏览器参数&/p&&br&&p&3) 将启动的第三方浏览器替换为系统IE:&/p&&p&&br&
用户双击浏览器快捷方式(包括带网址参数和不带网址参数两种)或者通过explorer.exe直接启动时,如果“per”键值中的概率没有命中,则会继续使用“perie”键值中的概率进行第二次随机。如果命中第三方浏览器替换为系统IE。这种手法主要用于当第三方浏览器启动参数为hao123导航时,为了保住这些流量不会因为使用其他第三方浏览器而跳转到其他导航站(如:&a href=&http://link.zhihu.com/?target=http%3A//hao.360.cn/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&hao.360.cn/&/span&&span class=&invisible&&&/span&&/a&),所以将第三方浏览器替换为系统IE,从而保护其固有流量。&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-317ea370daab3c_b.png& data-rawwidth=&658& data-rawheight=&405& class=&origin_image zh-lightbox-thumb& width=&658& data-original=&https://pic1.zhimg.com/v2-317ea370daab3c_r.jpg&&&/figure&&br&图 24、劫持逻辑流程图&/p&&p&&br&&b&
svcprotect.dat 释放的假IE &/b&&/p&&p&&br&
因为当360安全浏览器和360极速浏览器的启动参数为&a href=&http://link.zhihu.com/?target=http%3A//www.hao123.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&hao123.com/&/span&&span class=&invisible&&&/span&&/a&时,会默认打开&a href=&http://link.zhihu.com/?target=http%3A//hao.360.cn/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&hao.360.cn/&/span&&span class=&invisible&&&/span&&/a&,所以为了更加彻底地劫持流量,svcprotect.dat中的恶意代码会将这两款浏览器替换为假IE,从而达到其劫持目的。除了启动后会默认打开hao123导航外,当假IE的启动参数为百度搜索时,其实际使用的计费号依然为自己的计费号(如下图,在访问网址时我们可以看到上述网址在浏览器标题栏中一闪而过)。&br&&figure&&img src=&https://pic1.zhimg.com/v2-637d1da09aa713bfceefb3786ddc5ed0_b.png& data-rawwidth=&975& data-rawheight=&636& class=&origin_image zh-lightbox-thumb& width=&975& data-original=&https://pic1.zhimg.com/v2-637d1da09aa713bfceefb3786ddc5ed0_r.jpg&&&/figure&图 25、假IE访问百度搜索&br&&br&&br&2.2
iexplorer_helper.dat劫持模块分析&/p&&p&&br&
注入浏览器的bime.dll会加载iexplorer_helper.dat组件,调用iexplorer_helper.dat动态库的&Run&导出函数后执行以下操作:&br&
1)启动rundll32.exe,加载iexplorer_helper.dat,调用参数为Init&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-42f2f0d8f5aa36f0486d_b.png& data-rawwidth=&556& data-rawheight=&526& class=&origin_image zh-lightbox-thumb& width=&556& data-original=&https://pic2.zhimg.com/v2-42f2f0d8f5aa36f0486d_r.jpg&&&/figure&图 26、rundll32.exe启动的iexplorer_helper.dat&/p&&p&&br&
2)向C&C服务器发送获取控制指令,一共发送三个请求:&br&
a)请求&a href=&http://link.zhihu.com/?target=http%3A//update.qyllq.net/test_json.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.qyllq.net/test_j&/span&&span class=&invisible&&son.php&/span&&span class=&ellipsis&&&/span&&/a&获取的云控指令,我们命名为hijack_cmd1。&br&
b)请求&a href=&http://link.zhihu.com/?target=http%3A//api.qyllq.com/url_loc.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&api.qyllq.com/url_loc.p&/span&&span class=&invisible&&hp&/span&&span class=&ellipsis&&&/span&&/a&获取云控指令,我们命名为hijack_cmd2。&br&
c)请求&a href=&http://link.zhihu.com/?target=http%3A//update.qyllq.com/tnpp.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.qyllq.com/tnpp.p&/span&&span class=&invisible&&hp&/span&&span class=&ellipsis&&&/span&&/a&获取云控指令,我们命名为hijack_cmd3。&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-ee4fb0cf11a_b.png& data-rawwidth=&819& data-rawheight=&478& class=&origin_image zh-lightbox-thumb& width=&819& data-original=&https://pic3.zhimg.com/v2-ee4fb0cf11a_r.jpg&&&/figure&&br&&br&图 27、iexplorer_helper.dat和C&C服务器通信&br&
iexplorer_helper.dat和C&C服务器通信流程如下表:&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-a4b4bfbf3c44cf4_b.png& data-rawwidth=&700& data-rawheight=&239& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic1.zhimg.com/v2-a4b4bfbf3c44cf4_r.jpg&&&/figure&&br&图 28、iexplorer_helper.dat和C&C服务器通信流程&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-95c9f16ac0b829dcea40_b.png& data-rawwidth=&700& data-rawheight=&189& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic1.zhimg.com/v2-95c9f16ac0b829dcea40_r.jpg&&&/figure&&br&图 29、解码服务器返回的数据为二进制格式&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-a87f1c6af8cb66a2e92be_b.png& data-rawwidth=&700& data-rawheight=&560& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic3.zhimg.com/v2-a87f1c6af8cb66a2e92be_r.jpg&&&/figure&&br&图 30、通过XOR 0x9C得到的JSON格式的控制指令&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-17b234b2be48e01e9e53ee4_b.png& data-rawwidth=&700& data-rawheight=&1301& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic1.zhimg.com/v2-17b234b2be48e01e9e53ee4_r.jpg&&&/figure&&br&图 31、控制指令的完整列表&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-16f687afdc18fb08d07e6a9_b.png& data-rawwidth=&700& data-rawheight=&323& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-16f687afdc18fb08d07e6a9_r.jpg&&&/figure&&br&图 32、iexplorer_helper.dat和C&C服务器通信流程&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-b79ac7f28c407b2ae64ba_b.png& data-rawwidth=&700& data-rawheight=&171& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic3.zhimg.com/v2-b79ac7f28c407b2ae64ba_r.jpg&&&/figure&&br&图 33、解码服务器返回的数据为二进制格式&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-3d3ca60ea9e63df22b69ed65_b.png& data-rawwidth=&700& data-rawheight=&399& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-3d3ca60ea9e63df22b69ed65_r.jpg&&&/figure&&br&图 34、通过XOR 0x9C得到的JSON格式的控制指令&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-1cec8026b73cff8cb18d7d13e746a8c9_b.png& data-rawwidth=&700& data-rawheight=&399& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-1cec8026b73cff8cb18d7d13e746a8c9_r.jpg&&&/figure&&br&图 35、控制指令的完整列表&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-13ac798f76b7a769c59cc6ac8030a35d_b.png& data-rawwidth=&700& data-rawheight=&173& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-13ac798f76b7a769c59cc6ac8030a35d_r.jpg&&&/figure&&br&图 36、iexplorer_helper.dat和C&C服务器通信流程&br&&figure&&img src=&https://pic1.zhimg.com/v2-664b99a8a39b2e47f1d4_b.png& data-rawwidth=&700& data-rawheight=&105& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic1.zhimg.com/v2-664b99a8a39b2e47f1d4_r.jpg&&&/figure&&br&图 37、通过XOR 0x9C得到的JSON格式的控制指令&/p&&p&&br&
hijack_cmd3没有请求后没有得到对应数据,但是会保存从服务器请求到的base64编码指令到%HOMEPATH%\AppData\Local\ProgramData\iehlp.dat。其余两组的指令保存在内存没有在本地保存,对应的含义如下:&br&&br&通过C&C服务器得到hijack_cmd1的JSON各键名含义:&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-5da335ddeb803f6606aec2f_b.png& data-rawwidth=&349& data-rawheight=&197& class=&content_image& width=&349&&&/figure&&br&
通过C&C服务器得到hijack_cmd2的JSON各键名含义: &br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-9c7fb722f3c23d90ca5b_b.png& data-rawwidth=&381& data-rawheight=&239& class=&content_image& width=&381&&&/figure&&br&
每个浏览器都会加载中iexplorer_helper.dat启动rundll32.exe执行iexplorer_helper.dat的Init函数。但是如果启动的进程是iexplorer.exe。注入iexplorer_helper.dat会和rundll32.exe进程通信,将IE地址栏的访问地址劫持交给rundll32.exe进行分析,如果满足劫持条件跳转网址发送给iexplorer。进行劫持。&br&&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-361c1cc3fe0f3f8a3198_b.png& data-rawwidth=&650& data-rawheight=&365& class=&origin_image zh-lightbox-thumb& width=&650& data-original=&https://pic1.zhimg.com/v2-361c1cc3fe0f3f8a3198_r.jpg&&&/figure&&br&图 38、进程通讯流程图&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-13ac798f76b7a769c59cc6ac8030a35d_b.png& data-rawwidth=&700& data-rawheight=&173& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-13ac798f76b7a769c59cc6ac8030a35d_r.jpg&&&/figure&&br&图 39、劫持&a href=&http://link.zhihu.com/?target=http%3A//jd.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&jd.com&/span&&span class=&invisible&&&/span&&/a&添加推广号 &/p&&br&&p& 3)内核态流量劫持模块&br&
HSoftDoloEx.exe接收C&C服务器云控指令发送给MsVwmlbkgn.sys进行HTTP收发包的流量劫持。从C&C服务器接收到的云控指令包含了普通导航站的劫持和百度网盟广告的劫持。&br&
在x64系统zethelpEx64.exe(3.2.0.3)负责发送云控指令给MsVwmlbkgn.sys。&br&&b&
内核态负责流量劫持的模块列表:&br&&/b&&br&&figure&&img src=&https://pic3.zhimg.com/v2-a5ccd18d6d5fae_b.png& data-rawwidth=&401& data-rawheight=&101& class=&content_image& width=&401&&&/figure&&br&&b&
内核态负责流量劫持的云控指令文件:&/b&&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-12b355bb2e1d33e1aab39d_b.png& data-rawwidth=&406& data-rawheight=&96& class=&content_image& width=&406&&&/figure&&b&内核态负责流量劫持的C&C服务器指令接口:&/b&&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-a34d8d22b18373abc876d_b.png& data-rawwidth=&408& data-rawheight=&55& class=&content_image& width=&408&&&/figure&&br&3.1
云控指令获取&/p&&p&&br&
HSoftDoloEx.exe连接C&C服务器(&a href=&http://link.zhihu.com/?target=http%3A//update.qyllq.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://update.qyllq.net&/a&)得到的加密的云控指令,解密后通过API函数DeviceIoControl,发送给设备“\\.\{D87A9329-ED85-49C3-A8D2-}”对应的驱动程序”MsVwmlbkgn.sys“。&br&
HSoftDoloEx.exe通过C&C服务器获取运控制令流程:&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-5bf1dfa6c55e1bed11da452d15bffea4_b.png& data-rawwidth=&700& data-rawheight=&150& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic1.zhimg.com/v2-5bf1dfa6c55e1bed11da452d15bffea4_r.jpg&&&/figure&图 40、HSoftDoloEx.exe和C&C服务器通信流程
请求格式如下:&br&&figure&&img src=&https://pic2.zhimg.com/v2-8a3293ede3e2fbb61079_b.png& data-rawwidth=&609& data-rawheight=&394& class=&origin_image zh-lightbox-thumb& width=&609& data-original=&https://pic2.zhimg.com/v2-8a3293ede3e2fbb61079_r.jpg&&&/figure&&br&3.2
云控指令解密&/p&&p&&br&
从C&C服务器返回的http:\\&a href=&http://link.zhihu.com/?target=http%3A//d.qyllq.net& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&d.qyllq.net&/span&&span class=&invisible&&&/span&&/a&\DB\iecomv2.7z&下载地址是一个压缩文件。HSoftDoloEx.exe下载后解压文件到%HOMEPATH%\AppData\Roaming \Internet Explorer目录,一共三个文件分别是cfg.dat、iecompa.dat和iecompb.dat。&br&&br&
除cfg.dat是明文保存云控指令版本外。其余的iecompa.dat和iecompb.dat都是加密过的二进制数据。&br&iecompa.dat(后文简称指令A)和iecompb.dat(后文简称指令B)的格式如下:&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-47ee154a4f19ae68295aa_b.png& data-rawwidth=&881& data-rawheight=&354& class=&origin_image zh-lightbox-thumb& width=&881& data-original=&https://pic3.zhimg.com/v2-47ee154a4f19ae68295aa_r.jpg&&&/figure&图 41、iecompa.dat XOR 0xB5后得到的控制指令&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-ad100d21fa2_b.png& data-rawwidth=&886& data-rawheight=&375& class=&origin_image zh-lightbox-thumb& width=&886& data-original=&https://pic3.zhimg.com/v2-ad100d21fa2_r.jpg&&&/figure&&br&图 42、iecompb.dat XOR 0xB5后得到的控制指令
图中前0x16个字节中蓝色框中内容和版本相关,绿色是指令长度,黄色是校验和。在0x16字节后面的数据XOR 0xB5,就可以得到为被加密的具体指令。&br&&b&
指令A(iecompa.dat)&/b&&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-3c46e03b8e4b6c4c2f20aa_b.png& data-rawwidth=&700& data-rawheight=&929& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic3.zhimg.com/v2-3c46e03b8e4b6c4c2f20aa_r.jpg&&&/figure&图 43、控制指令的完整列表(指令A) &/p&&p& 指令B(iecompb.dat)&br&&figure&&img src=&https://pic2.zhimg.com/v2-024fad399b3c174ece315_b.png& data-rawwidth=&700& data-rawheight=&929& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic2.zhimg.com/v2-024fad399b3c174ece315_r.jpg&&&/figure&图 44、控制指令的完整列表(指令B)&/p&&p&&br&
获取云控指令后的HSoftDoloEx.exe使用DeviceIoControl函数和MsVwmlbkgn.sys进行通信。一共有三组控制码(HSoftDoloEx.exe版本3.2.0.4,MsVwmlbkgn.sys版本0.6.60.70),分别是:&br&
a)222000 发送指令A的内容给MsVwmlbkgn.sys&br&
b)222004 发送指令B的内容给MsVwmlbkgn.sys&br&
c)222008 控制流量劫持功能的开关&br&&br&
目前3.2.0.4版HSoftDoloEx.exe还没有使用222008这个控制码, 因为在0.6.60.70版本的MsVwmlbkg.sys中,流量劫持功能默认为开。&br&&br&
“指令A”和“指令B” 分工合作, 在指令A中不同的劫持类型对应指令B给出不同处理劫持方案,根据具体的劫持内容可以分为三种情况,不同的劫持方案在下文会有详细分析:&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-fe76ab4c4b3a8c70c579aaae338ad7de_b.png& data-rawwidth=&726& data-rawheight=&481& class=&origin_image zh-lightbox-thumb& width=&726& data-original=&https://pic3.zhimg.com/v2-fe76ab4c4b3a8c70c579aaae338ad7de_r.jpg&&&/figure&图 45、劫持指令说明&/p&&p&&br&&br&3.3
劫持流程 &br&&br&
MsVwmlbkgn.sys是一个WFP驱动程序,该驱动会向WFP FWPM_LAYER_STREAM_V4和FWPM_LAYER_STREAM_V6注册Callout(我们标记为wfp_classify_callout)来分别过滤IPv4和IPv6的TCP数据流:&br&&br&&figure&&img src=&https://pic1.zhimg.com/v2-6ef31dc70d500491dbf9b80_b.png& data-rawwidth=&547& data-rawheight=&120& class=&origin_image zh-lightbox-thumb& width=&547& data-original=&https://pic1.zhimg.com/v2-6ef31dc70d500491dbf9b80_r.jpg&&&/figure&&br&图 46、注册IPv4和IPv6数据流过滤Callout
wfp_classify_callout中会调用http_hijack函数对TCP发送和接收的数据进行协议分析并按照一定的逻辑进行劫持:&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-96c9be57aacc5ddad1d451b_b.png& data-rawwidth=&1266& data-rawheight=&782& class=&origin_image zh-lightbox-thumb& width=&1266& data-original=&https://pic4.zhimg.com/v2-96c9be57aacc5ddad1d451b_r.jpg&&&/figure&&br&图 47、wfp_classify_callout函数&/p&&p&&br&
http_hijack函数中,根据HSoftDoloEx.exe接收C&C服务器云控指令对收发数据有选择地进行劫持,具体劫持流程如下:&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-cd54d2abcaf_b.png& data-rawwidth=&771& data-rawheight=&641& class=&origin_image zh-lightbox-thumb& width=&771& data-original=&https://pic4.zhimg.com/v2-cd54d2abcaf_r.jpg&&&/figure&图 48、内核态劫持流程图&/p&&p&&br&3.3.1
发包流程&br&
MsVwmlbkgn有一个全局开关决定是开启劫持功能,这个全局开关在MsVwmlbkgn中由控制码222008进行控制(70版本默认是打开的,上层没有对应控制的流程)。&br&&br&
除了全局开关以外,MsVwmlbkgn还会根据请求包中“Host”字段的网址,在C&C服务器给出的指令中查找,根据指令有不同的处理方式,C&C给出的指令包含:需要劫持的网站、劫持概率、使用何种方式劫持和浏览器名称。&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-e18bdc0f94c_b.png& data-rawwidth=&875& data-rawheight=&883& class=&origin_image zh-lightbox-thumb& width=&875& data-original=&https://pic4.zhimg.com/v2-e18bdc0f94c_r.jpg&&&/figure&&br&图 49、发包流程判断逻辑1&/p&&p&&br&
如果请求的URL在C&C服务器返回的劫持列表中,接下来驱动还会对当前发起进程进行判断,最后再计算C&C服务器返回的对当前URL的劫持概率。&br&&br&&figure&&img src=&https://pic2.zhimg.com/v2-bc8b26a9955_b.png& data-rawwidth=&877& data-rawheight=&926& class=&origin_image zh-lightbox-thumb& width=&877& data-original=&https://pic2.zhimg.com/v2-bc8b26a9955_r.jpg&&&/figure&图 50、发包流程判断逻辑2&/p&&p&&br&
如果上述判断逻辑均通过,则会根据C&C服务器返回的针对当前请求URL的劫持类型,有选择地分别执行两类劫持逻辑:&/p&&p&&br&&b&标记为“2”的劫持方式:&/b&&br&
首先将要劫持到的目标URL保存在redir_url。接下来,将当前HTTP Flow的句柄保存在flowHandle_lo/hi,在收包劫持流程中做判断使用。&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-c4f9d39cee64fdae4f89f6_b.png& data-rawwidth=&906& data-rawheight=&134& class=&origin_image zh-lightbox-thumb& width=&906& data-original=&https://pic3.zhimg.com/v2-c4f9d39cee64fdae4f89f6_r.jpg&&&/figure&图 51、保存收包劫持所需数据&/p&&p&&br&
MsVwmlbkgn会保留请求包中原始”Host“地址,在地址前添加“http://”子串后进行base64编码,在编码后的字符串前添加&&s=&,构成一个新的字符串,结果保存在url_from_http_get_request。恶意代码制造者会通过该字符串统计截取流量的来源。&br&&br&
以“&a href=&http://link.zhihu.com/?target=http%3A//hao.qq.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&hao.qq.com/&/span&&span class=&invisible&&&/span&&/a& ”为例,转换后”&s=aHR0cDovL2hhby5xcS5jb20vIA==“,保存该字符串在对应的应答包中使用,用于服务器后台统计。&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-4cbc8978cd8affaf23c5c3_b.png& data-rawwidth=&782& data-rawheight=&664& class=&origin_image zh-lightbox-thumb& width=&782& data-original=&https://pic4.zhimg.com/v2-4cbc8978cd8affaf23c5c3_r.jpg&&&/figure&&br&图 52、分析HTTP发送请求完整URL&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-b0f6bbf0c80b8b_b.png& data-rawwidth=&780& data-rawheight=&783& class=&origin_image zh-lightbox-thumb& width=&780& data-original=&https://pic4.zhimg.com/v2-b0f6bbf0c80b8b_r.jpg&&&/figure&&br&图 53、拼接劫持来源统计信息&/p&&p&&br&&b&
标记为“8”的劫持方式:&/b&&/p&&p&&br&
如果是方式“8”直接添加插入一个请求数据包,在”Host“地址后面修改推广号,具体实现在construct_send_hijack_packet中完成。&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-e8d6bfcfb6c356a5ddbe6_b.png& data-rawwidth=&781& data-rawheight=&783& class=&origin_image zh-lightbox-thumb& width=&781& data-original=&https://pic3.zhimg.com/v2-e8d6bfcfb6c356a5ddbe6_r.jpg&&&/figure&图 54、发包劫持流程&/p&&p&&br&3.3.2
收包流程&/p&&p&&br&
如果当前HTTP Flow为发包时记录下的需要被劫持的Flow (flowHandle_lo/hi与当前句柄相同),则表示这个收到的HTTP数据是需要被劫持的。这时,则会在应答流程中插入一个302重定向应答包,并将重定向地址指向redir_url,且将劫持来源统计信息(url_from_http_get_request)同时拼接到重定向URL中。&br&&br&&figure&&img src=&https://pic4.zhimg.com/v2-5cfb20046f_b.png& data-rawwidth=&714& data-rawheight=&579& class=&origin_image zh-lightbox-thumb& width=&714& data-original=&https://pic4.zhimg.com/v2-5cfb20046f_r.jpg&&&/figure&&br&图 55、收包劫持流程&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-9e2af0b8b95b72c120b8fc1dfc204afe_b.png& data-rawwidth=&812& data-rawheight=&987& class=&origin_image zh-lightbox-thumb& width=&812& data-original=&https://pic3.zhimg.com/v2-9e2af0b8b95b72c120b8fc1dfc204afe_r.jpg&&&/figure&图 56、拼接302重定向应答包&/p&&p&&br&
以用户访问“&a href=&http://link.zhihu.com/?target=http%3A//hao.qq.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&hao.qq.com/&/span&&span class=&invisible&&&/span&&/a& ”为例,经过内核态劫持后,真正的访问链接就变成了“&a href=&http://link.zhihu.com/?target=https%3A//www.hao123.com/%3Ftn%3D_hao_ss%26s%3DaHR0cDovL2hhby5xcS5jb20vIA%3D%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&hao123.com/?&/span&&span class=&invisible&&tn=_hao_ss&s=aHR0cDovL2hhby5xcS5jb20vIA==&/span&&span class=&ellipsis&&&/span&&/a&”&br&&br&3.3.3
百度网盟广告劫持&br&
通过云控指令一节中可以看到,指令A中劫持的网站列表中绝大多数都是导航站,但是最后两个却是百度网盟的广告js脚本,劫持关系如下表:&br&&br&&figure&&img src=&https://pic3.zhimg.com/v2-17bb843ce91c2af3e78e_b.png& data-rawwidth=&600& data-rawheight=&85& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-17bb843ce91c2af3e78e_r.jpg&&&/figure&&br&
用户访问有投放百度广告的网站时,恶意代码会劫持百度广告,具体流程如下:&br&
1)&a href=&http://link.zhihu.com/?target=http%3A//cpro.baidustatic.com/cpro/ui/c.js& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&cpro.baidustatic.com/cp&/span&&span class=&invisible&&ro/ui/c.js&/span&&span class=&ellipsis&&&/span&&/a&和&a href=&http://link.zhihu.com/?target=http%3A//cpro.baidu.com/cpro/ui/c.js& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&cpro.baidu.com/cpro/ui/&/span&&span class=&invisible&&c.js&/span&&span class=&ellipsis&&&/span&&/a&是用于展示从百度网盟获取广告的js脚本。&br&
2)访问带有百度广告脚本的网站时,步骤1的“c.js”脚本被劫持替换成&a href=&http://link.zhihu.com/?target=http%3A//update.qyllq.net/r.php%3Fc%3D30%26v%3D3& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.qyllq.net/r.php?&/span&&span class=&invisible&&c=30&v=3&/span&&span class=&ellipsis&&&/span&&/a&或&a href=&http://link.zhihu.com/?target=http%3A//update.qyllq.net/r.php%3Fc%3D31%26v%3D3& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&update.qyllq.net/r.php?&/span&&span class=&invisible&&c=31&v=3&/span&&span class=&ellipsis&&&/span&&/a&。&br&
3)步骤2的PHP页面会继续跳转到&a href=&http://link.zhihu.com/?target=http%3A//xz.mascldl.com/ifr/c3w.js& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&xz.mascldl.com/ifr/c3w.&/span&&span class=&invisible&&js&/span&&span class=&ellipsis&&&/span&&/a&,得到”c3w.js”脚本。&br&
4)继续跳转到&a href=&http://link.zhihu.com/?target=http%3A//xz.mascldl.com/ifr/cw3.js& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&xz.mascldl.com/ifr/cw3.&/span&&span class=&invisible&&js&/span&&span class=&ellipsis&&&/span&&/a&,得到”cw3.js”脚本。&br&
5)

我要回帖

更多关于 http www.51.com 的文章

 

随机推荐