Argus scripts and docs

Russell Fulton r.fulton at auckland.ac.nz
Thu Feb 11 15:44:15 EST 1999


On Wed, 10 Feb 1999 21:40:10 -0800 Joerg Bashir <jkb at healtheon.com> 
wrote:

 
> First off, are there more contributed scripts (clients) for data
> analysis, some kind of repository?

Only what comes with the argus distribution, so far as I am aware.

>  Secondly, is there more
> documentation available anywhere?  I'm very interested in answering some
> of the questions that are supposedly answerable, as mentioned in the
> readme.  I'll keep plugging away, no worries...

I am working on a generic scan detection tool based on the offlie 
processing of argus logs.  The aim is to detect 'scans' where the event 
rate is down about two or three events a day.  I have the detection and 
reporting stuff finished now and had it running for several months on 
our DMZ and, yes, it has detected activity that our other tools has 
missed without over burdening one with false hits.

Here is what it put in my mailbox this morning.  It shows a machine 
probing ftp control ports in one of our subnets --  hmmm funny how many 
of the machines we get probes from don't have PTR records for the 
addresses:

 [ xxx.yyy.168.239] -- hosts 39, times 8
	** 1999.02.11.19.00. **
		   130.216.5.151.21
	** 1999.02.11.18.00. **
		   130.216.5.138-142.21
		   130.216.5.144.21
	** 1999.02.11.17.00. **
		   130.216.5.131-136.21
	** 1999.02.11.16.00. **
		   130.216.5.123.21
		   130.216.5.129.21
	** 1999.02.11.15.00. **
		   130.216.5.113-114.21
		   130.216.5.117-119.21
		   130.216.5.121-122.21
	** 1999.02.11.14.00. **
		    130.216.5.77.21
		    130.216.5.79.21
		    130.216.5.89.21
		   130.216.5.105-106.21
	** 1999.02.11.13.00. **
		    130.216.5.29.21
		    130.216.5.51.21
		    130.216.5.59.21
		    130.216.5.61.21
		    130.216.5.67-69.21
		    130.216.5.73-74.21
	** 1999.02.11.12.00. **
		     130.216.5.3.21
		    130.216.5.11.21
		   130.216.5.254.21

I will now use ra to print all traffic for this address for yesterday 
and decide what should be done about it.

This tool is currently written in perl and maintians an external 
history file to remember past events between runs.  After a bit more 
tweaking I will be very happy to release it to the list.  Long term it 
would be possible and possibly desirable to rewrite the tool in C in 
the 'classic' style, all that would be necessary is a good hash table 
implementation and some trivial code to dump/restore it to/from disk.

What I need to do now is sharpen up my ra filters to catch more 
'suspicious events'.

Here is what I use now:

my $filter =  'not est and tcp and \(not \(port 80 or port 113 or port 
25\)\) and \(not src net 130.216\)';

Basically I am looking at tcp streams orginating from outside our net 
(130.216) that did not get established.  I had to exclude ports 80, 25 
and 113 because there is too much noise.

This is clearly inadequate for a real system and I would welcome 
suggestions.

As this stands it does not detect half open scans because the source 
address is always local so I need a way of detecting tcp streams that 
consist of a single syn/ack packet -- i am working on sumarized files.

Here is a more complete version:

 ( tcp and 'lone syn/ack' ) or 
 ( (not src net 130.216) and 
   not est and 
   ( (tcp and (not (port 80 or port 113 or port 25))) or
     (udp and (not (port.........)))
   )
 )

If somone can fill in the 'lone syn/ack'. 

I need to test (in C)  ! status & SAW_SYN && status & SAW_SYN_SENT but 
it isnt obvious how to do this in a tcpdump filter.

> 
> The output, while it seems very useful, appears to be a little confusing
> to me as well.  The (sd) I have assumed so far, stands for standard
> deviation? Is that correct.  Secondly, what "seconds" are those?
> milliseconds?  If so, then life is much better already...

Hmmm... not at all sure what you are asking here.  Which client output 
are you taking about?

Cheers, Russell.



More information about the argus mailing list