netcat ist ein Kommandozeilen Tools zum erstellen Verbindungen über TCP oder udp. Es kann aber auch benutzt werden, um eine Remote shell zur Verfügung zu stellen. Dazu muss auf dem Client das script nc-bash.sh mit einer Port angabe gestartet werden. Anschließend wird noch ein Kennwort für eine Verbindung abgefragt.

    ./nc-bash.sh 12345
    pass:test123

    Das script startet netcat im Hintergrund und stellt über den angegebenen Port eine Konsole (bash) zur Verfügung.

    Um die Verbindung zur Konsole aufzubauen, wird ebenfall nc verwendet.
    (Es gibt auch Windows Version von netcat [vulnwatch.org, blog.cscholz.io])

    nc client 12345
    pass:test123
    bash: no job control in this shell
    client ~ #
    nc-bash.sh
    #!/bin/bash
    export PW port
    if [ $1 ] ; then
            port=$1
            echo -n pass:
            read PW
    fi # do we know the port to listen on?
    if [ ! $port ]; then
            echo USAGE: $0 port ;
            exit;
    fi# wait for further connections (veiling params)
    echo "-l -p $port -e $0" | nc 2>/dev/null &
    [ $1 ] && exit; # first invocation exit here # ask for password
    unset p
    until [ "$p" = "$PW" ]; do
            echo -n pass:
            read p
    done# received good password. present a shell
    bash --noediting -i

    Leave A Reply