专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
OSC开源社区  ·  日本中学生创造了一门“类似中文”的编程语言 ·  4 天前  
程序猿  ·  “彻底放弃 ... ·  5 天前  
程序猿  ·  用 Linux 超过 10 ... ·  1 周前  
程序员小灰  ·  我的项目,彻底爆了! ·  1 周前  
程序员之家  ·  博士媳妇吐槽:我老公985博士,月薪能有4万 ... ·  1 周前  
51好读  ›  专栏  ›  程序员大咖

“易语言”偷跑流量恶意软件分析

程序员大咖  · 公众号  · 程序员  · 2017-04-08 19:13

正文

简介

现今由于易语言的出现,中文编程的门槛越来越低,虽然很多人对此不屑一顾,但不得不说,这门语言的出现,大大降低了黑产行业的门槛。90%以上的游戏辅助和各类抢购软件都出自易语言开发,大量恶意程序也出自易语言之手。

0×01前言

现今由于易语言的出现,中文编程的门槛越来越低,虽然很多人对此不屑一顾,但不得不说,这门语言的出现,大大降低了黑产行业的门槛。易语言编写简单,入门快,再加上各种易模块,使得简单几行代码就能实现一些强大的功能。据不完全统计,90%以上的游戏辅助和各类抢购软件都出自易语言开发,大量恶意程序也出自易语言之手。早在2011年亚洲反病毒大会上,微软工程师JIM就针对易语言程序的逆向进行了演讲,使得易语言程序的分析变得简单。笔者搜集了部分相关资料,通过对易语言程序结构的学习,分析了一款刷流量的恶意软件。

0×02运行效果

该程序伪装为IE图标,运行后窗口被隐藏起来,通过PCHunter把程序窗口隐藏属性去掉,效果如下图。

0×03基本流程

该程序的窗口在启动时被隐藏起来,通过定时器访问C&C地址,跳转到各类推广连接中。部分推广连接中包含有添加QQ群、下载文件和一些弹出窗口,该程序通过枚举窗口检查后,通过模拟点击关闭这些窗口。

0×04详细分析

该程序是易语言程序,通过分析易语言程序的结构得知,包含一个窗口、4个定时器、3个浏览器控件、一个选择框和一个编辑框。易语言窗口程序只需要分析它控件回调即可。

1.窗口初始化功能

该程序获取系统中的所有进程。

检查进程列表中是否有包含“qq”字符串的应用程序。

结束掉所有QQ进程。

InlineHook “waveOutWrite”、”midiStreamOut”、”DirectSoundCreate”、”InternetReadFile”这4个函数,让程序保持静音。

开启4个定时器,第一个定时器为5秒执行一次,后面3个定时器是随机时间

设置随机数种子,并取随机数

设置3个定时器随机时间间隔。

2.定时器1

使用易语言 超文本浏览框.跳转 对3个浏览器控件访问下面的URL,这些URL会随机访问各类推广网站,比如赌博、黄色、游戏推广、营销推广连接等。

 ”http://www.sunshoo.com/10001.html

 ”http://www.0571jihao.com/reyu.html

 ”http://www.bangyuanhome.com

 ”http://www.sunshoo.com/10002.html

 ”http://www.0571jihao.com/eqsythjkl.html

3.定时器2

查找所有的QQ加群窗口。

枚举QQ加群窗口的所有子窗口。

检查子窗口的标题是否是如果“离开”或者“确定”

激活子窗口,通过发送按键消息,模拟点击空格键,关闭加QQ群的窗口。


同样的方法还对其他类似的弹出窗口进行模拟点击取消。

4.定时器3

清理IE缓存

5.定时器4

关闭所有QQ进程。

0×04总结

该程序结构清晰,在定时器访问C&C地址,跳转到各类推广链接中。部分推广连接中包含有添加QQ群、下载文件和一些弹出窗口,该程序通过枚举窗口检查后,通过模拟点击关闭这些窗口,使得用户无法察觉。但由于部分弹出窗口没有被及时关闭,使得自身浏览器控件被占用,系统便打开默认浏览器跳转到目标链接。最终变成每隔一段时间自动打开浏览器并跳转到广告页中。

 




作者:吃荤的驴子

出处:freebuf

链接:http://www.freebuf.com/articles/system/130899.html

推荐↓↓↓
 

程序员共读

涵盖:Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、程序人生、算法、数据结构、黑客、网络安全、大数据技术、前端开发、运维等。