Debian: Remote shell daemon

0

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
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

Antworten