!c99Shell v. 1.0 pre-release build #16!

Software: Apache/2.2.3 (CentOS). PHP/5.1.6 

uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44
EDT 2010 i686
 

uid=48(apache) gid=48(apache) groups=48(apache) 

Safe-mode: OFF (not secure)

/usr/bin/   drwxr-xr-x
Free 52.29 GB of 127.8 GB (40.92%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     findsmb (4.5 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
#
# Prints info on all smb responding machines on a subnet.
# This script needs to be run on a machine without nmbd running and be
# run as root to get correct info from WIN95 clients.
#
# syntax:
#    findsmb [-d|-D] [-r] [subnet broadcast address]
#
# with no agrument it will list machines on the current subnet
#
# There will be a "+" in front of the workgroup name for machines that are
# local master browsers for that workgroup. There will be an "*" in front
# of the workgroup name for machines that are the domain master browser for
# that workgroup.

# Options:
#
# -d|-D        enable debug
# -r        add -r option to nmblookup when finding netbios name
#

$SAMBABIN = "/usr/bin";

for ($i = 0; $i < 2; $i++) {    # test for -d and -r options
    $_ = shift;
    if (m/-d|-D/) {
        $DEBUG = 1;
    } elsif (m/-r/) {
        $R_OPTION = "-r";
    }
}

if ($_) {            # set broadcast address if it was specified
    $BCAST = "-B $_";
}


######################################################################
# do numeric sort on last field of IP address
sub ipsort            
{
    @t1 = split(/\./,$a);
    @t2 = split(/\./,$b);
    @t1[3] <=> @t2[3];
}
######################################################################

# look for all machines that respond to a name lookup

open(NMBLOOKUP,"$SAMBABIN/nmblookup $BCAST '*' --debuglevel=0|") || 
    die("Can't run nmblookup '*'.\n");

# get rid of all lines that are not a response IP address,
# strip everything but IP address and sort by last field in address

@ipaddrs = sort ipsort grep(s/ \*<00>.*$//,<NMBLOOKUP>);

# print header info
print "\n                                *=DMB\n";
print "                                +=LMB\n";
print "IP ADDR         NETBIOS NAME     WORKGROUP/OS/VERSION $BCAST\n";
print "---------------------------------------------------------------------\n";

foreach $ip (@ipaddrs)        # loop through each IP address found
{
    $ip =~ s/\n//;        # strip newline from IP address

    # find the netbios names registered by each machine

    open(NMBLOOKUP,"$SAMBABIN/nmblookup $R_OPTION -A $ip --debuglevel=0|") || 
        die("Can't get nmb name list.\n");
    @nmblookup = <NMBLOOKUP>;
      close NMBLOOKUP;

    # get the first <00> name

    @name = grep(/<00>/,@nmblookup);
    $_ = @name[0];

    if ($_) {            # we have a netbios name
        if (/GROUP/) {        # is it a group name
            ($name, $aliases, $type, $length, @addresses) = 
            gethostbyaddr(pack('C4',split('\.',$ip)),2);
            if (! $name) {            # could not get name
                $name = "unknown nis name";
            }
        } else {
            # The Netbios name can contain lot of characters also '<' '>'
            # and spaces. The follwing cure inside name space but not
            # names starting or ending with spaces
            /(.{1,15})\s+<00>\s+/;
            $name = $1;
            $name =~ s/^\s+//g;
            }

        # do an smbclient command on the netbios name.

        if ( "$name" ) {
            open(SMB,"$SAMBABIN/smbclient -L $name -I $ip -N --debuglevel=1 2>&1 |") ||
                die("Can't do smbclient command.\n");
            @smb = <SMB>;
            close SMB;

            if ($DEBUG) {        # if -d flag print results of nmblookup and smbclient
                print "===============================================================\n";
                print @nmblookup;
                print @smb;
            }

            # look for the OS= string

            @info = grep(/OS=/,@smb);
            $_ = @info[0];
            if ($_) {                # we found response
                s/Domain=|OS=|Server=|\n//g;    # strip out descriptions to make line shorter

            } else {                # no OS= string in response (WIN95 client)

                # for WIN95 clients get workgroup name from nmblookup response
                @name = grep(/<00> - <GROUP>/,@nmblookup);
                $_ = @name[0];
                if ($_) {
                    # Same as before for space and characters
                    /(.{1,15})\s+<00>\s+/;
                    $_ = "[$1]";
                } else {
                    $_ = "Unknown Workgroup";
                }
            }
        }

        # see if machine registered a local master browser name
        if (grep(/<1d>/,@nmblookup)) {
            $master = '+';            # indicate local master browser
            if (grep(/<1b>/,@nmblookup)) {    # how about domain master browser?
                $master = '*';            # indicate domain master browser
            }
        } else {
            $master = ' ';            # not a browse master
        }

        # line up info in 3 columns

        print "$ip".' 'x(16-length($ip))."$name".' 'x(14-length($name))."$master"."$_\n";

    } else {                # no netbios name found
        # try getting the host name
        ($name, $aliases, $type, $length, @addresses) = 
        gethostbyaddr(pack('C4',split('\.',$ip)),2);
        if (! $name) {            # could not get name
            $name = "unknown nis name";
        }
        if ($DEBUG) {            # if -d flag print results of nmblookup
            print "===============================================================\n";
            print @nmblookup;
        }
        print "$ip".' 'x(16-length($ip))."$name\n";
    }



:: Command execute ::

Enter:
 
Select:
 

:: Shadow's tricks :D ::

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

:: Preddy's tricks :D ::

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0059 ]--