一旦该可执行文件下载或安装到一个用户的计算机上,它会创建一个隐藏的系统目录,并在该目录下存放2个文件:
wow.dll文件:包含恶意软件的动态链接库
wow.ini文件:包含恶意软件的配置。
用户专用“InprocServer32”的注册表项是与CLSID“fbeb8a05-BEEE-4442804e-409d6c4515e9”相关联的。一旦做好该关联,系统会在系统初始化时加载wow.dll,而不是加载shell32.dll,这样,当系统启动时,恶意软件会自动启动。
当加载wow.dll时,它解压缩Googost相关动态链接库,并在Windows DLLHOST COM代理进程中运行。所有后续的网络活动,可以追溯到该过程。
该恶意软件删除最初的可执行文件,并作为TCP代理开始为网页浏览建立连接。
保护
Googost在以下几个方面进行自我保护:
watchdog进程监视恶意软件执行情况,并提供一些伪装。
在系统启动时就启动该恶意软件,这种注册表的更改在注册表编辑器里是不可见的。
当杀死DLLHOST进程时,它会在几秒钟内重新启动。
当对DLLHOST进程进行调试时,该恶意软件会立即终止,从而无法追查该恶意软件。内存的大部分会被垃圾信息覆盖。
执行
系统初始化过程中加载wow.dll文件时,Googost开始执行。运行恶意软件的主要流程是提供在DLLHOST COM下的代理服务。
该wow.ini配置文件控制恶意软件根据以下步骤进行执行:
受感染的主机建立一个TCP连接到google.com来验证该Internet连接 - 因此称为Googost。
主机通过联系在wow.ini文件中由“knock”参数定义的IP地址发出一个HTTP GET请求。这一步是在初次感染后一个初步的检查,但以后不会再次发生。在GET请求中的参数能识别受感染的主机和恶意软件的版本。返回的( 404 )的数据只是原始文本,而不是实际的HTTP错误代码。
该恶意软件会向配置文件中的服务器发布一个域名系统( DNS)请求。这些服务器的名字各有不同。如果恶意软件无法解析域名,恶意攻击的操作无法执行。在一些情况下,“knock”定义的IP地址 - 也会放在服务器的列表中作为备份。服务器的端口号也可以各有不同。端口号80、 81、8080 、8000和443都会被使用。
恶意软件联系列表上的一个服务器,并发出了“hello”命令:hello/3.1/171/5b11f268-048b-42d0-9eb5-440097fdfa1c/6.1.7600_0.0_32/1/00000000。该 hello命令包括以下字段,由斜线隔开:
文本“Hello ”
版本,从wow.ini文件获得
Aid,从wow.ini文件获得
感染主机的CLSID标识,从HKLM\SOFTWARE\Microsoft\Cryptography获得