byrdman wrote:Would you be willing to donate your program for our benefit? Of course you would be paid by us, so it really would not be a donation...!! :D
Well, the programs I have written pretty specifically require that you are running MS ISA Proxy/Firewalls and use the MS Proxy client on all your machines. If you have this setup then much of this stuff will already be being logged in the ISA logs. From there you can parse up a lot of info many different ways. Unfortunately in my company I don't have direct access or control over these ISA servers. Our platform group manages these. Even more unfortunately they don't really have a clue about the interesting things they could find in the logs. I do have access to the entire physical corporate network though so I have set up a span port to watch the VLAN that all the ISA servers are plugged in to. I can pick the proxy packets off the wire and build my own database of things I am interested in. One actual nice benefit of using the MS proxy client is it adds a lot of bonus information (like the executable name on the client computer that is trying to make the connection).
Here's a nice article that explains the MS Proxy packets:
http://www.isaserver.org/articles/Under ... annel.html
So for instance, for my "appz" database I just watch for all packets talking to the ISA servers on port 1745. I then look into the packet and pick out the "Hello" packets (0x500) in the command field. I then pick out the user name, machine name, and executable name and log it to the database along with the IP address. If this entry was already in the database I update the "last seen time" field, otherwise I set the "first seen time" and "last seen time" to "now()".
There is a lot of information you can infer from browsing though this simple database depending on how you slice and dice and color code it on your web interface.
For the Korgo sniffer I look for requests in the MS Proxy packets to destination port 445 outside of our network. You can be 99.9% sure that this is Korgo or some similar virus trying to exploit machines that are vulnerable to the LSASS buffer overflow (all unpatched M$ boxen). I log the same information to another table similar to the one I mentioned above for the "appz" sniffer and view it on a PHP web page sorted by most recently seen and highlight the ones seen in the last 2 minutes. Makes spotting and fixing machines rather easy.
Of course all of this is "reactionary" and not "preventative" which is what Tux is more interested in. Preventative measures would be like keeping all machines patched daily (that can be very painful on M$), having good network policies (inbound/outbound firewall policies) and good local system security and software installation policies, etc. It's still an eye opening experience to see what is really floating around your network. I have a feeling we are just scratching the surface. It's like turning the lights on in a dark room and seeing all the cockroaches scattering. Finding boatloads of viruses, adware, spyware, etc.
I don't think there would be any problem with posting the code. There's not much to it, would just have to clean it up a little so it wouldn't be so embarrassing. :)