江苏的段先生在QQ群里下载了一款号称“免费刷Q币”的软件后,电脑再开机就无法进入系统,而且弹出一个提示,“获取开机密码请联系QQ********”,同时索要15元解锁费,这让段先生非常郁闷,只好通过微博向网友们求助。
经过朋友指点,段先生才知道自己电脑感染了一款名为“敲竹杠”的木马病毒,幕后黑手就是他下载点击的“免费刷Q币”软件。记者采访360安全中心获悉,近期“敲竹杠”木马活跃度确实明显增加,提醒用户开启360安全卫士就不会中招,千万不要为了“刷Q币”而不顾安全软件报警冒险放行木马。
根据360工程师介绍, “敲竹杠”木马主要通过QQ群和邮件传播的,经常会伪装成“CF免费刷枪无毒软件”,“免费刷Q币”等极具诱惑性的标题,一旦用户点击运行,系统登陆密码就会被篡改。以下是详细的技术分析:
遭遇“敲竹杠”木马后,开机的时候会出现类似以下的信息。
分析发现,这一类木马主要是通过net命令来修改管理员的密码,然后利用设置注册表相关的信息来通知受害人联系木马作者的QQ号。
不过,这种手段很快就被安全软件拦截查杀了,于是木马作者通过第二种方法去达到目的,就是使用NetUserSetInfo这个api来设置登陆密码。
通过对以下函数断点。断了两次,一次是名字,一次是密码:
在msdn上查到:
1 NET_API_STATUS NetUserSetInfo(
2 LPCWSTR servername,//当为Null的时候表示使用本地计算机。
3 LPCWSTR username,//指向一个字符串指针,如0016ACE0,指向的就是字符串“Administrator”。
4 DWORD level,//不同的level,指明buf中存放不同的数据信息
5 LPBYTE buf,//存放数据。
6 LPDWORD parm_err );
level参数描述
level
[in]
Specifies the information level of the data. This parameter can be one of the following values.
当level中的参数为1011,Specifies the full name of the user. The buf parameter points to a USER_INFO_1011 structure.
1 typedefstruct _USER_INFO_1011 {
2 LPWSTR usri1011_full_name;
3 } USER_INFO_1011,
4 *PUSER_INFO_1011,
5 *LPUSER_INFO_1011;
可以发现,0016CE88在内存中有如下信息:
通过电脑的“系统工具”直接修改:
当level中的参数为1003,Specifies a user password. The buf parameter points to a USER_INFO_1003 structure.
1 typedefstruct _USER_INFO_1003 {
2 LPWSTR usri1003_password;
3 } USER_INFO_1003,
4 *PUSER_INFO_1003,
5 *LPUSER_INFO_1003;
在0012FC24指向的就是这么一个结构;而00171820在内存中对应的unicode:bu。可以判定,被锁的密码是“bu”。
现在 输入“bu”后,电脑登陆成功。
针对以上“敲竹杠”木马的攻击手段,360安全卫士都能够全面拦截查杀此类木马,即便是黑客制作出最新的木马变种,只要它去篡改系统登陆密码,360就会发出警报,提示用户选择阻止:
由于部分网友没有使用专业安全软件,或是为了刷Q币而冒险关闭安全软件,对于这些“敲竹杠”木马的受害者,360工程师通过逆向分析木马样本,提供了敲竹杠木马开机密码查询服务(http://fuwu.360.cn/chaxun),如有网友不慎中招,可以访问这个网址尝试解锁。