Item Description: A module that handles all of the Lanman functionallity for Win32
Review Synopsis:
I've been very impressed with this module! It provides all types of functionallity for working with the Windows NetBIOS shares. Its amazing what information you can get with a simple connection to the IPC$ share. I've used this module to create a script that will test the password strength of networks I administer with a brute-force attack method. If a pass can be cracked in under 15 minutes, its changed. It has great functionallity allowing you to pull back user information, share information, password policies, Transport information, etc. etc. Deffinitely recommend taking a look at this!
I would, however, like to see a module that is able to connect to the windows SMB shares and send and receive packets with out using the standard Windows API to do so. The reason being is that there is a hefty timeout delay for an incorrect password.
Per request, here are some source examples of how this can be useful:
1.) Make a connection to the IPC$ share.
if (ConnectIPC($server, "", "", "")) { $this->{f_resultsTB}->AppendText("Null Session to $server successf +ul. \n"); # Now try getting some information $this->{f_resultsTB}->AppendText("Connecting to Registry...\n"); $this->{f_resultsTB}->AppendText("Succesful!\n"); \&RegConnect($server);
What have we done here? We've established a connection to the server's ($server) IPC$ share with null credentials, i.e., ConnectIPC(server, user, pass, domain), with null for user, pass, and domain.
2.) Enumerate users$this->{f_resultsTB}->AppendText("[Local Users] \n"); @users = GetLocalUsers($server); if (@users) { foreach (@users) { $this->{f_resultsTB}->AppendText("$_ \n"); $user = (split(/:/,$_))[1]; $l_user = (split(/\\/,$user))[1]; \&GetUserInfo($server,$l_user); } } else { $this->{f_resultsTB}->AppendText("Did not retrieve local users +. \n"); }
Its important to recoginize that this should be within the if(ConnectIPC(...)) block. I will post the whole code bellow.
if (ConnectIPC($server, "", "", "")) { $this->{f_resultsTB}->AppendText("Null Session to $server successf +ul. \n"); # Now try getting some information $this->{f_resultsTB}->AppendText("Connecting to Registry...\n"); $this->{f_resultsTB}->AppendText("Succesful!\n"); \&RegConnect($server); $this->{f_resultsTB}->AppendText("[Local Users] \n"); @users = GetLocalUsers($server); if (@users) { foreach (@users) { $this->{f_resultsTB}->AppendText("$_ \n"); $user = (split(/:/,$_))[1]; $l_user = (split(/\\/,$user))[1]; \&GetUserInfo($server,$l_user); } } else { $this->{f_resultsTB}->AppendText("Did not retrieve local users +. \n"); } } else { $this->{f_resultsTB}->AppendText("Could not establish null ses +sion with $server. \n"); }
I apologize, this code has been made for Visual Perl.NET, hopefully some of you will find that helpful. Here is a link to the actual Perl script I used to help me figure out the module: Null.pl
|
---|
Replies are listed 'Best First'. | |
---|---|
(jeffa) Re: Win32::Lanman
by jeffa (Bishop) on Jul 16, 2003 at 15:36 UTC | |
by SyN/AcK (Scribe) on Jul 16, 2003 at 17:02 UTC | |
by jeffa (Bishop) on Jul 16, 2003 at 21:38 UTC | |
by SyN/AcK (Scribe) on Jul 17, 2003 at 01:35 UTC | |
by SyN/AcK (Scribe) on Jul 16, 2003 at 17:59 UTC | |
Re: Win32::Lanman
by Anonymous Monk on Jun 25, 2004 at 11:20 UTC | |
by martymart (Deacon) on Mar 11, 2005 at 14:55 UTC | |
by Anonymous Monk on Mar 11, 2005 at 15:04 UTC | |
by Anonymous Monk on Jun 25, 2004 at 11:42 UTC |