现今由于易语言的出现,中文编程的门槛越来越低,虽然很多人对此不屑一顾,但不得不说,这门语言的出现,大大降低了黑产行业的门槛。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、数据库、程序人生、算法、数据结构、黑客、网络安全、大数据技术、前端开发、运维等。