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