ecepass - proof of concept code for FreeBSD ipfw bypass (fwd)

From: Buliwyf McGraw (
Date: 01/29/01

Date: Mon, 29 Jan 2001 11:18:44 -0500 (COT)
From: Buliwyf McGraw <>
To: freebsd-security@FreeBSD.ORG

 Very interesting...

---------- Forwarded message ----------
Date: Thu, 25 Jan 2001 15:04:30 +0200
From: Roelof Temmingh <roelof@SENSEPOST.COM>
Subject: ecepass - proof of concept code for FreeBSD ipfw bypass

An all ZA production...;)

FreeBSD ipfw+ECE proof of concept code

Code written by:
Plathond ( for Sensepost (,

More info on the problem:

Original problem found by:
Aragon Gouveia <>

How it works:
Using FreeBSD divert rule, all outgoing traffic (or as specified in
ipfw rule) will be diverted to the ecepass process - the ECE flag will
be added. Traffic directed to hosts behind ipfw-based firewall will be
passed, rendering the firewall useless if it makes use of the "allow
all from any to any established" rule. Tried & tested...

How to use:
1. Make sure your kernel is compiled with the following options:
 options IPDIVERT

2. gcc -o ecepass ecepass.c

3. ./ecepass &

4. ipfw add 5 divert 7000 tcp from any to any

5. All TCP traffic will now have the ECE flag added to it.

PS1: obviously you need to make sure that the last ipfw rule allows
     traffic e.g.:
     00001 divert 7000 tcp from any to any
     65535 allow ip from any to any

PS2: as the exploit uses "ipfw divert" it only works on FreeBSD.
     Ironic eh?

spidermark: sensepostdata ece


Roelof W Temmingh SensePost IT security +27 83 448 6996

To Unsubscribe: send mail to
with "unsubscribe freebsd-security" in the body of the message