2007/05/28

从源头解决 Serv-U 权限提升漏洞

Serv-U 如今已成为主流 FTP Server. 和 Windows 一样,因为用的人多,所以研究并试图破解它的人也多,于是就爆出比 G6 FTP Server 多得多的漏洞。我经常听说某人服务器上的 Serv-U 无端地多出了用户或域,或被远程连接。

一旦 Serv-U 被攻破,接下来黑客可以很容易在服务器上创建管理员帐号,开启远程桌面,或者进行其他操作。基本上这台服务器就“沦陷”了。

为什么黑客能做到这些?究其原因,在于 Serv-U 的进程标识权限太高——Serv-U作为系统服务启动,并且使用本地系统帐号登录,这个帐号可以在系统中进行做任何操作!一旦 Serv-U 被攻破,黑客程序就可以同样以本地系统作为标识运行,如此则可几乎没有阻拦地进行任何操作。

一款功能强大的软件,要做到没有漏洞几乎是不可能的。保持软件更新是一个基本手段;另外,还可以从源头——进程标识——解决 Serv-U 权限提升的问题。默认情况下,Serv-U 创建的系统服务是以本地系统帐号登录的,只要我们把它改为权限较低的帐号,则可以避免一旦它被攻破时带来的安全风险。

设置方法也比较简单,首先确认已经将 Serv-U 作为系统服务运行(在 Serv-U Administrator 中可以设置),然后进入管理工具 (Administrative Tools) > 服务 (Services),找到名为 "Serv-U FTP Server" 的服务,双击以打开服务属性 (Properties) 对话框,然后切换到"登录 (Log on)" 标签。这时会发现默认是以本地系统帐号运行,修改为网络服务帐号 (NT AUTHORITY\NetworkService), 并保持密码框为空(注意:网络服务帐号是系统内置的安全体,密码是随机生成且无需人工干预,不要尝试修改网络服务的密码,只需简单地在密码框留空即可)。然后点击“应用 (Apply)”按钮,切换到一个标签,重启服务。

服务重启后,打开任务管理器 (Task Manager), 会发现此时运行 ServUDaemon.exe 的用户名是 Network Service.

还没有完。默认情况下,网络服务帐号对 Serv-U 安装目录没有权限,需要为此目录手动添加网络服务的读写权限。同时,所有 Serv-U 用户读写的目录也需要添加读写权限。That's all!

2007/05/22

跳过维真台球 (Virtual Pool) 3 的插入光盘提示

经典的 3D 台球游戏维真台球 (Virtual Pool) 3,在安装后立即运行,可能会不停地要求你插入游戏光盘。此处使用 71.4M 的安装版本 (v3.0.7.7).

经过跟踪,发现 vp3.exe 在运行后,会查询安装目录 (通常是 C:\Virtual Pool 3\) 的 .\0\movie\gameopen.mpg.\0\movie\dm_logo.mpg 两个文件,如果没找到,就会提示用户插入光盘。而这两个文件就在安装目录的 .\movie\ 目录下。

尝试在安装目录下创建新文件夹,名称为 "0", 然后将 .\movie\ 目录移到 .\0\ 目录中去,再次运行,将不再出现插入光盘的提示。