• 断网与黑客无关 我来抖一抖暴风那点见不得人的猫腻


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

    前几天翘班在家,闲着没事把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来获取,可能是用于流量控制。

    发表于 @ 2009年06月09日 21:35:00|评论(11)|编辑|举报|收藏

     | ccitt 发表于2009年6月10日 2:03:43  IP:举报
    对你用的反汇编工具很有兴趣,这是什么啊?tfzxyinhao 发表于2009年6月10日 2:34:36  IP:举报
    第一篇博文 ? 这个不是IDA吗 怎么你得到的代码这么好 近似C语言了 不知道是什么版本的flagger 发表于2009年6月10日 8:26:43  IP:举报
    支持 一个 我加不了你为好友啊windywany 发表于2009年6

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/coachman/archive/2009/06/09/4255825.aspx

  • 相关阅读:
    VS2008 Ajax Toolkit 控件(修正后转载)
    AD操作类[修改版]
    java中使用Rhino执行js文件中的function
    XSTL中单引号的问题
    [转]ADSearch User Property Attributes
    2008我的健身计划
    spring执行定时任务
    分页存储过程,支持多表查询,效率还行
    今天写一个读卡器程序,操作AD时的一个Exception:The authentication mechanism is unknown
    httpclient模拟windows认证
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839574.html
Copyright © 2020-2023  润新知