科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道网络安全断网与黑客无关 暴风那点见不得人的猫腻

断网与黑客无关 暴风那点见不得人的猫腻

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这几天看新闻,发现暴风七搞八搞,居然包装成了5.19断网的受害者,听说实际上是暴风被禁止,在新版本发布前,不准提供旧版本的下载,结果搞成了什么“召回”。

来源:chinaitlab 2010年12月12日

关键字: 黑客 网络安全

  • 评论
  • 分享微博
  • 分享邮件

  这几天看新闻,发现暴风七搞八搞,居然包装成了5.19断网的受害者,听说实际上是暴风被禁止,在新版本发布前,不准提供旧版本的下载,结果搞成了什么“召回”。然后就是一帮弱智媒体跟着瞎起哄,看得我牙都笑掉了。哄谁哪?圈里谁不知道暴风是怎么回事?说白了就是一款高水平的流氓软件,或者干脆叫间谍软件。稍微动动脑子就明白了,如果不是上亿用户的暴风本身有什么猫腻,几个小黑客怎么可能搞出那么大动静?

  前几天翘班在家,闲着没事把GF笔记本上的暴风逆向了一下,结果发现了一个名叫stormliv的后台进程,每20秒自动轮询一次暴风的广告服务器,说白了就是暴风让它的1.2亿用户的电脑自动去点它的广告,用虚假点击骗广告主的钱,但是技艺不精,结果搞成了一个死循环,大量地占用dns资源,即便没有这次黑客攻击,酿成大祸也是迟早的事。

  更蹊跷的是,我又测了一个519断网后,暴风25号发的一个新版本,这个版本里,导致断网的那些猫腻居然还都在!stormliv的死循环轮询机制根本没去掉,只是把轮询时间改得间隔长了一点,用了一些更复杂更隐蔽的逻辑,仍然是在在后台偷偷运行,而且删除后还会重新生成,服务删除或禁止后也会复活,普通人根本清不掉。

  最cao蛋的是这软件在开机时,会通过服务项强行自启动,一般人根本关不掉这个开机启动项,占用内存不说,关键是把开机速度搞得巨慢(我把暴风卸了后,感觉本本的速度有明显提升)。就算把软件整个关掉了,还会驻留在内存里后台运行,卸也很难卸干净,另外还会干扰其他视频播放软件关联视频文件,这不是流氓是什么?

  在坛子里混这么多年,从来都是潜水,这次是在受不了了,赤膊上阵,发个处女贴,说得不对的,希望大家包涵。

  先分析一下暴风5月8日版本。

  分析目标:stormliv.exe

  一、静态特征:

  版本:3.9.5.15

  数字签名:有 [北京暴风网际科技有限公司 ]

  签名时间:2009年5月8日 11:06:16

  大小: 596,064 字节

  编译日期:20009年5月8日 03:05:38(GMT)

  CheckSum:A1192

  编译工具: Mircosoft Visual C++ 6.0

  加壳:无

  运行界面:有,如图1

  

  二、动态特征

  1.启动和保护:

  stormlive.exe通过服务实现开机自启动,而且此服务不能被删除、禁用、停止,如果删除或停用或禁止,下次再次运行暴风影音主程序storm.exe 会自动恢复。

  2.端口侦听:

  此进程被用于暴风影音多进程通讯,使用开启本地端口侦听,UDP协议实现。

  监听UDP 1025 5357等端口,实现Stline(暴风盒子) ,stormlive和storm.exe间通讯

  3.用户态钩子

  stormlive.exe启动后,其meedb.dll会HOOK DeviceIoControl ,RegQueryValueA,RegQueryValueExW,CoCreateInstance 等函数

  主要是用于过滤DVD区码控制(IOCTL_DVD_GET_REGION )和一些COM接口控制。

  三、stormlive主要功能分析:

  1.暴风影音自动升级功能

  stormlive会自动连接 hxxp://download.baofeng.com/stormII/storm_ctrl.ini 文件

  这是一个普通的升级配置文件。

  目前内容如下,可以看到有最新版本、升级URL、是否强制升级、是否提示用户、提示用户信息等配置内容

  [SERVER]

  version=3.09.06.10

  url=

  force=0

  alert=0

  info="暴风影音有新版\n\n,已更新至3.09.06.10"

  [EXPERT]

  lib=

  url=

  升级部分逆向代码:如图2

  

  2.信息统计:

  目前发现可能连接下面这些地址来获取信息、或者回传统计,没发现涉及用户隐私或者系统配置信息等。

  hxxp://active.baofeng.com/active2?pid=%d&id=%d&uid=%s&t=%d&v=%s&i

  用户活动信息,包括安装日期,UID,ID等信息。

  逆向代码:如图3

  

  hxxp://areacode.baofeng.com:8081/adp/custom/;action=get_city_code

  这个似乎是用来查询当前城市代码的,可能广告弹出需要。

  hxxp://bukebo.baofeng.com/upload/talks.do?talkMd5=%s&talkVersion=

  hxxp://midInfo.baofeng.com/mid/downSucc.html?ver=%s&pl_id=%s

  MID统计信息,上传版本和MID

  hxxp://midsd.baofeng.com/p2p/seed?name=

  获取P2P种子信息,stormlive.exe似乎在升级时使用了P2P技术。

  3.不可播放文件回传。如图4

  

  当暴风影音发现不可播放文件时,会通过stormlive.exe,连接:hxxp://noplay.baofeng.com:9000/upload/upload.do来上传这个文件的部分片段。

  这也是一个有界面的功能,只有用户手动选择不再自动提示,才会后台静默上传。

  逆向代码如下:如图5

  

  4.下载广告

  stormlive.exe会连接download.baofeng.com,试图下载一个exmat.ini,其中包含了广告信息。

  广告链接都是一个个ZIP压缩包,但其中未包含可执行程序。

  逆向代码:如图6

  

  其中在下载广告时,可能是为了绕过某些安全软件或anti-ad软件对其的封锁,没有采用HOSTS文件中的配置,而是自行获取download.baofeng.com的域名,而且会在一个死循环中每隔20000 毫秒(20秒)发送一次DNS查询包

  这段代码可能是导致此次断网门的罪魁祸首。

  逆向代码如下:如图7

  

  可以看到,如果对download.baofeng.com的gethostbyname调用失败,会每隔20秒重新获取一次,直到获取成功为止。

  这样每小时就会发送数百个查询包,乘上暴风的用户量,数量之大非常恐怖。

  四、清除方法

  暴风影音新版共有3个没必要存在的进程:

  1.stormpop.exe 用于弹出广告。

  2.stline.exe 暴风盒子,也是广告和推荐等。

  3.stormlive.exe 前述的升级、回传客户端。

  其中前两个直接删除即可清除掉。

  最后一个删除后还会重新生成,服务删除或禁止后也会复活。

  有一个简单的方法可以清除这个程序,通过定位此文件的PE头,将IMAGE_NT_HEADERS->SubSystem改为IMAGE_SUBSYSTEM_NATIVE

  即将这个程序修改为一个驱动/NATIVE程序,由于services.exe无法启动此程序,这个升级程序就无法继续工作了,同时也不会复活或被重生。

  再分析一下暴风影音的最新版本

  签名日期:2009年5月25日 22:11:57

  版本:3.9.5.29

  经过分析可以发现,5月8日签名版本(版本号:3.9.5.15)的相应功能都仍存在。

  区别在于:其死循环获取download.baofeng.com域名的代码(ForeverLoopGetHost)改为了每隔30分钟获取一次。

  而且在每次获取时有一些比较复杂的逻辑,而不是单纯地调用系统API gethostbyname来获取,可能是用于流量控制。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章