!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)

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


Viewing file:     generate-modprobe.conf (8.52 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#! /bin/sh -e

# Naive shell script to translate modules.conf + defaults to modprobe.conf
# Normal caveats apply, as with any machine translation.
if [ $# -gt 2 ] || [ x"$1" = x--help ]; then
    echo "Usage: $0 [--stdin] [modprobe.conf]"
    echo "   Converts your current modules setup to modprobe.conf."
    echo "   Don't trust it too much."
    echo " Version 0.1"
    exit 1
fi

STDIN=
if [ "$1" = "--stdin" ]; then
  STDIN=1
  shift
fi

# Set up output if specified.
if [ $# -eq 1 ]; then exec > $1; fi

MODPROBECONF=`mktemp /tmp/modprobe.XXXXXX || tempfile || echo /tmp/modprobe.$$`
trap "rm -f $MODPROBECONF" 0

if [ x"$TESTING_MODPROBE_CONF" != x ]; then
    cp $TESTING_MODPROBE_CONF $MODPROBECONF
elif [ "$STDIN" = "1" ]; then
    cat > $MODPROBECONF
elif [ -x /sbin/modprobe.old ]; then
    # In sbin.
    /sbin/modprobe.old -c > $MODPROBECONF
elif modprobe.old -c >/dev/null 2>&1; then
    # Somewhere in path.
    modprobe.old -c > $MODPROBECONF
elif /sbin/modprobe -V 2>/dev/null | grep -q 'modprobe version'; then
    # Running /sbin/modprobe gives old version.
    /sbin/modprobe -c > $MODPROBECONF
elif modprobe -V 2>/dev/null | grep -q 'modprobe version'; then
    # Running modprobe gives old version.
    modprobe -c > $MODPROBECONF
else
    echo Cannot find old version of modprobe.  Giving up. 2>&1
    exit 1
fi

# Resolve (possibly recursive) alias: args filename alias
resolve_alias()
{
    RA_RESOLVE=`grep "^alias[     ][     ]*$2[     ]" -- $1 | awk '{ print $3 }'`
    if [ x"$RA_RESOLVE" = x ]; then
    echo $2
    return
    fi
    # Recurse.
    (resolve_alias $1 "$RA_RESOLVE")
}

# Parse alias: args filename modulename aliasto.
parse_alias()
{
    PA_ALIAS=`resolve_alias $1 $3`
    NAME=`echo $2|sed -e 's/\(block\|char\)-major-\([0-9]\+\)$/\1-major-\2-*/'`

    echo "alias $NAME $PA_ALIAS"
}

# Parse options: args modulename aliasto.
parse_options()
{
    # Second arg can be null if grab_noninstall options returns empty.
    [ x"$2" = x ] || echo "options $1 $2"
}

# Separate out the modprobe options from the module options
grab_install_options()
{
    GRAB_OPTS=""
    GRAB_NEXT=0
    for grab_i; do
    case "$grab_i" in
    -o) GRAB_OPTS="$GRAB_OPTS -o"; GRAB_NEXT=1;;
    -*) echo Warning: Ignoring unknown alias option "$grab_i" >&2;;
    *)
        [ $GRAB_NEXT = 0 ] || GRAB_OPTS="$GRAB_OPTS $grab_i"
        GRAB_NEXT=0
        ;;
    esac
    done
    echo "$GRAB_OPTS"
}

grab_noninstall_options()
{
    GRAB_OPTS=""
    GRAB_NEXT=0
    for grab_i; do
    case "$grab_i" in
    -o) GRAB_NEXT=1;;
    -*) ;;
    *)
        [ $GRAB_NEXT = 1 ] || GRAB_OPTS="$GRAB_OPTS $grab_i"
        GRAB_NEXT=0
        ;;
    esac
    done
    echo "$GRAB_OPTS"
}

# Produce a multiple install/remove commands. Args: list, command, separator.
multi()
{
    mp_res=""
    for mp_arg in $1; do
    if [ x"$mp_res" = x ]; then mp_res="/sbin/$2 $mp_arg";
    else mp_res="$mp_res${3}/sbin/$2 $mp_arg";
    fi
    done
    echo "$mp_res"
}

# Install and remove commands frequently refer to insmod and rmmod.
# Use "modprobe --ignore-install " and "modprobe -r --ignore-remove" since 
# our versions of rmmod and insmod are deliberately stupid.
convert_command()
{
    echo "$@" | sed -e 's,insmod,/sbin/modprobe --ignore-install,' -e 's,rmmod,/sbin/modprobe -r --ignore-remove,'
}

while read ADD NAME MODULE REST; do
    # Ignore a spurious add, otherwise move them down.
    if [ x"$ADD" = x"add" ]; then :; else
    REST="`echo $MODULE $REST | sed 's/ *$//'`"
    MODULE="$NAME"
    NAME="$ADD";
    fi
    #echo "NAME=$NAME MODULE=$MODULE REST=$REST" >&2

    # MODNAME is the converted name for use in variables.
    MODNAME=`echo $MODULE | tr -c A-Za-z_0-9 _`
    case "$NAME" in
    '#'*) : ;; # Comment 
    '') : ;;   # Blank line

    keep) # Do nothing.
    ;;

    alias)
    if [ x"$REST" = xoff ] || [ x"$REST" = xnull ]; then
        INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
        eval install_$MODNAME=\"/bin/true\"
    else
        parse_alias $MODPROBECONF "$MODULE" $REST
    fi
    ;;

    options) 
    # Options used to be able to contain extra args to insmod
    # (eg. -o foo).  Not any more.
    case " $REST" in
    *' '-[-a-z]*)
        parse_options $MODULE `grab_noninstall_options $REST`
        INSTALL_OPTIONS=`grab_install_options $REST`
        INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
        eval install_$MODNAME=\"/sbin/modprobe $INSTALL_OPTIONS --ignore-install `resolve_alias $MODPROBECONF $MODULE`\"
        ;;
    *)
        parse_options $MODULE "$REST"
        ;;
    esac
    ;;

    above)
    # Pull in these modules after me.
    INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
    eval post_install_$MODNAME=\"`multi "$REST" 'modprobe' '; '`\; /bin/true\"
    REMOVE_COMMANDS="$REMOVE_COMMANDS $MODULE"
    eval pre_remove_$MODNAME=\"`multi "$REST" 'modprobe -r' '; '`\"
    ;;
    below)
    # Pull in these modules before me.
    INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
    eval pre_install_$MODNAME=\"`multi "$REST" 'modprobe' '; '`\"
    REMOVE_COMMANDS="$REMOVE_COMMANDS $MODULE"
    eval post_remove_$MODNAME=\"`multi "$REST" 'modprobe -r' '; '`\; /bin/true\"
    ;;
    probe) 
    INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
    eval install_$MODNAME=\"`multi "$REST" 'modprobe' ' || '`\"
    ;;
    probeall)
    # Not quite correct.  If they all fail, we should fail.
    INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
    eval install_$MODNAME=\"`multi "$REST" 'modprobe' '; '`\; /bin/true\"
    ;;
    post-install)
    INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
    eval post_install_$MODNAME=\"`convert_command "$REST"`\"
    ;;
    pre-install)
    INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
    eval pre_install_$MODNAME=\"`convert_command "$REST"`\"
    ;;
    install)
    INSTALL_COMMANDS="$INSTALL_COMMANDS $MODULE"
    eval install_$MODNAME=\"`convert_command "$REST"`\"
    ;;
    post-remove)
    REMOVE_COMMANDS="$REMOVE_COMMANDS $MODULE"
    eval post_remove_$MODNAME=\"`convert_command "$REST"`\"
    ;;
    pre-remove)
    REMOVE_COMMANDS="$REMOVE_COMMANDS $MODULE"
    eval pre_remove_$MODNAME=\"`convert_command "$REST"`\"
    ;;
    remove)
    REMOVE_COMMANDS="$REMOVE_COMMANDS $MODULE"
    eval remove_$MODNAME=\"`convert_command "$REST"`\"
    ;;
    include)
    # Recurse.
    ($0 $MODULE)
    ;;
    # Ignore default lines which are not required any more.
    "path[boot]=/lib/modules/boot"|"path[toplevel]=/lib/modules/`uname -r`"|"path[toplevel]=/lib/modules/2.4"|"path[kernel]=/lib/modules/kernel"|"path[fs]=/lib/modules/fs"|"path[net]=/lib/modules/net"|"path[scsi]=/lib/modules/scsi"|"path[block]=/lib/modules/block"|"path[cdrom]=/lib/modules/cdrom"|"path[ipv4]=/lib/modules/ipv4"|"path[ipv6]=/lib/modules/ipv6"|"path[sound]=/lib/modules/sound"|"path[fc4]=/lib/modules/fc4"|"path[video]=/lib/modules/video"|"path[misc]=/lib/modules/misc"|"path[pcmcia]=/lib/modules/pcmcia"|"path[atm]=/lib/modules/atm"|"path[usb]=/lib/modules/usb"|"path[ide]=/lib/modules/ide"|"path[ieee1394]=/lib/modules/ieee1394"|"path[mtd]=/lib/modules/mtd"|"generic_stringfile=/lib/modules/`uname -r`/modules.generic_string"|"pcimapfile=/lib/modules/`uname -r`/modules.pcimap"|"isapnpmapfile=/lib/modules/`uname -r`/modules.isapnpmap"|"usbmapfile=/lib/modules/`uname -r`/modules.usbmap"|"parportmapfile=/lib/modules/`uname -r`/modules.parportmap"|"ieee1394mapfile=/lib/modules/`uname -r`/modules.ieee1394map"|"pnpbiosmapfile=/lib/modules/`uname -r`/modules.pnpbiosmap"|"depfile=/lib/modules/`uname -r`/modules.dep"|"persistdir=/var/lib/modules/persist")
    ;;

    # Ignore prune lines unless they end in .o or .ko, which would
    # have an effect.
    prune)
    case "$MODULE" in
    *.ko|*.o)
        echo "Warning: not translating $NAME $MODULE $REST" >&2
        ;;
    esac
    ;;
    *)
    echo "Warning: not translating $NAME $MODULE $REST" >&2
    ;;
    esac
done < $MODPROBECONF

for mod in `echo $INSTALL_COMMANDS | tr ' ' '\n' | sort -u`; do
    # MODNAME is the converted name for use in variables.
    MODNAME=`echo $mod | tr -c A-Za-z_0-9 _`
    eval PREINSTALL=\"\$pre_install_$MODNAME\"
    eval POSTINSTALL=\"\$post_install_$MODNAME\"
    eval INSTALL=\"\$\{install_$MODNAME:-/sbin/modprobe --first-time --ignore-install $mod}\"
    if [ -n "$PREINSTALL" ]; then PREINSTALL="{ $PREINSTALL; } ; "; fi
    if [ -n "$POSTINSTALL" ]; then POSTINSTALL="&& { $POSTINSTALL; }"; fi
    echo install $mod $PREINSTALL $INSTALL $POSTINSTALL
done

for mod in `echo $REMOVE_COMMANDS | tr ' ' '\n' | sort -u`; do
    # MODNAME is the converted name for use in variables.
    MODNAME=`echo $mod | tr -c A-Za-z_0-9 _`
    eval PREREMOVE=\"\$pre_remove_$MODNAME\"
    eval POSTREMOVE=\"\$post_remove_$MODNAME\"
    eval REMOVE=\"\$\{remove_$MODNAME:-/sbin/modprobe -r --first-time --ignore-remove $mod}\"
    if [ -n "$PREREMOVE" ]; then PREREMOVE="{ $PREREMOVE; } ; "; fi
    if [ -n "$POSTREMOVE" ]; then POSTREMOVE="&& { $POSTREMOVE; }"; fi
    echo remove $mod $PREREMOVE $REMOVE $POSTREMOVE
done

:: 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.0061 ]--