2017年-360研究报告_“幽浮”广告:一个浏览器劫持软件的技术分析_8页_724kb
报告摘要
“幽浮”广告:浏览器劫持软件技术分析总结
核心内容
本文详细分析了一种名为“WebJs”的恶意软件,该软件通过劫持浏览器,注入恶意JS代码,从而实现对用户浏览行为的监控和广告推广。该恶意软件通常由名为“浏览器卫士”(HProtect)的软件安装运行,后者伪装成浏览器保护工具,实则为流氓软件,具有阻止其他浏览器和安全软件安装、破坏安全软件功能、静默下载推广软件等行为。
主要观点
-
恶意软件运行机制
- WebJs.exe 无用户界面,运行后会添加自身到系统自启动项,确保常驻系统。
- 通过释放并运行劫持DLL,实现DLL注入,进而劫持浏览器的HTTP请求。
-
HTTP劫持技术
- WebJs.exe 监听本地9868端口,接收并中转来自浏览器的HTTP请求。
- 使用Hook技术劫持浏览器的connect函数,将所有HTTP请求重定向到本地9868端口,从而篡改HTTP响应包,插入恶意JS代码。
-
广告投放方式
- 恶意JS代码会插入到HTML页面中,导致用户在浏览任何HTTP页面时都可能看到弹窗广告、侧边栏广告等。
- 该方式使得广告推广更加隐蔽,用户难以察觉。
-
传播渠道
- 浏览器卫士常通过盗版系统镜像进行传播,用户在安装系统时可能无意中被植入。
- 用户在安装浏览器时也可能被浏览器卫士拦截,导致安装失败。
关键信息
1. 恶意软件结构
- 主体程序:WebJs.exe,负责注入DLL、中转请求、篡改响应。
- 劫持DLL:用于实现DLL注入和HTTP请求劫持。
2. 运行流程
- 自启动:WebJs.exe 在运行后添加自身到自启动项,确保开机自动运行。
- DLL注入:从自身资源中释放劫持DLL,加载并运行其中的
SetShellHook函数。 - 请求劫持:监听9868端口,拦截浏览器的所有HTTP请求。
- 响应篡改:向HTML页面中插入恶意JS代码,用于广告推广。
3. 技术实现细节
- Hook connect函数:通过重写connect函数,将HTTP请求重定向到本地9868端口。
- 进程检测:劫持DLL会检测当前进程是否为浏览器,如果是则进行劫持。
- 代码示例:
int __cdecl HookConnect_100021A0(int socket, struct sockaddr *name, int namelen) { int result; // eax@2 struct sockaddr v4; // [sp+4h] [bp-14h]@3 if (ntohs(*(_WORD *)&name->sa_data[0]) == 443) { // https result = g_lpfnConnect(socket, name, namelen); } else { *((_DWORD *)&v4.sa_data[2] = inet_addr("127.0.0.1")); *((_WORD *)&v4.sa_data[0] = htons(9868u); v4.sa_family = AF_INET; result = g_lpfnConnect(socket, &v4, 16); } return result; }
4. 查杀与防范建议
- 查杀情况:360安全产品已能查杀该恶意程序。
- 防范建议:
- 使用正规渠道的系统镜像安装系统。
- 谨慎使用来源不明的程序。
- 保持杀毒软件常开,定期进行系统安全体检。
- 如发现异常程序,应及时向360互联网安全中心反馈。
总结
“WebJs”恶意软件通过浏览器卫士传播,利用DLL注入和HTTP劫持技术,实现对用户浏览器的控制和广告推广。其隐蔽性强,用户难以察觉,给上网体验带来严重影响。建议用户提高警惕,使用正规渠道安装软件,保持系统安全,及时查杀恶意程序。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载