我有一台装有IIS6,SQL Server 2005,MySQL 5和PHP 4.3的Windows Server 2003 SP2计算机。这不是生产机器,而是通过域名公开给世界的。在计算机上启用了远程桌面,并且该计算机上有两个管理帐户处于活动状态。
今天早上,我发现该计算机已注销,并且登录文本框中仍然有一个未知的用户名。经过进一步调查,我发现已经创建了两个Windows用户,已卸载了防病毒软件,并将少量.exe文件放入了C:驱动器。
我想知道的是,我应该采取什么步骤来确保这种情况不再发生,并且我应该着重于确定进入途径的领域。我已经检查过netstat -a来查看哪些端口是打开的,那里什么都没有出现。我确实在MySQL的数据文件夹中找到了未知文件,我认为这可能是切入点,但不确定。
我非常感谢对服务器hack进行良好的事后剖析的步骤,以便将来避免这种情况。
调查后审查
经过一番调查,我想我发现了发生了什么。首先,在08年8月至09年10月期间,该机器未处于联机状态。在此期间,发现了一个安全漏洞MS08-067漏洞。“这是一个远程执行代码漏洞。成功利用此漏洞的攻击者可以远程完全控制受影响的系统。在基于Microsoft Windows 2000,Windows XP和Windows Server 2003的系统上,攻击者可以利用这种未经身份验证的RPC漏洞,可以运行任意代码。” 此漏洞已通过2008年10月发布的KB958644安全更新修复。
因为该计算机当时处于脱机状态,并且错过了此更新,所以我认为该漏洞在该计算机于09年10月重新联机后很快就被利用。我发现对bycnboy.exe程序的引用已被描述为后门程序,该程序随后在受感染的系统上造成了严重破坏。机器联机后不久,自动更新安装了该修补程序,从而关闭了对该系统进行远程控制的功能。由于后门现已关闭,我相信攻击者随后在计算机上创建了物理帐户,并能够再使用一周,直到我注意到发生了什么。
在积极地购买了恶意代码,.exes和.dlls,并删除了自托管网站和用户帐户后,该计算机现在又恢复了工作状态。在不久的将来,我将监视系统并查看服务器日志,以确定事件是否重复发生。
感谢您提供的信息和步骤。