Firewall-1拒绝服务漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1105496 漏洞类型 未知
发布时间 1999-07-29 更新时间 2005-05-02
CVE编号 CVE-1999-0770 CNNVD-ID CNNVD-199907-034
漏洞平台 Hardware CVSS评分 2.1
|漏洞来源
https://www.exploit-db.com/exploits/19436
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-199907-034
|漏洞详情
Firewall-1给ACK或者除SYN以外的其他包开头的连接设置长超时。攻击者可以通过对无回复系统的大量连接尝试进行服务拒绝。
|漏洞EXP
source: http://www.securityfocus.com/bid/549/info

A denial of service condition exists in some implementations of Firewall-1 by Checkpoint Software. This denial of service attack is possible due to the way Firewall-1 handles TCP connections.

Typically to initiate a TCP connection, a SYN packet is sent to the destination host. On systems where Firewall-1 is installed, this packet is first passed through an internal stack maintained by the Firewall before it is passed onto the operating system's native stack. When Firewall-1 filters this packet, it checks it against the rule base. If the session is allowed where it's rulebase is concerned, it is added to the connections table with a timeout of 60 seconds. When the remote host responds with an ACK (Acknowledge) packet, the session is bumped up to a 3600 second timeout.

However, if you initiate a connection with an ACK packet, Firewall-1 compares it against the rule base, if allowed it is added to the connections table. However, the timeout is set to 3600 seconds and does not care if a remote system responds. You now have a session with a 1 hour timeout, even though no system responded. If this is done with a large amount of ACK packets, it will result in a full connections table. This results in your Firewall-1 refusing subsequent connections from any source effectively rendering the Firewall-1 useless in a 'failed closed' state. 

Most companies allow http outbound. Run this command as root from an internal system, I give your FW about 10 to 15 minutes. If your internal network is a 10.x.x.x, try 172.16.*.*

nmap -sP 10.*.*.*

nmap is a very powerful port scanner. With this command it does only a PING and TCP sweep (default port 80), but uses an ACK instead of a SYN.

To verify that your connections table is quickly growing, try "fw tab -t connections -s" at 10 second intervals.

Tested on ver 4.0 SP3 on Solaris x86 2.6.
|参考资料

来源:BID
名称:549
链接:http://www.securityfocus.com/bid/549
来源:OSVDB
名称:1027
链接:http://www.osvdb.org/1027