Criar um "aplicativo personalizado" seria reimplementar o telnet / ssh. Isto é, evidentemente, possível, mas não necessário.
Se houver sshd (ou telnetd) no host, você poderá iniciá-lo da sua sessão netcat-shell com, por exemplo, /usr/sbin/sshd -p <port> -D 2>&1
e depois ssh -p <port> root@<host>
no seu cliente. Você pode precisar adicionar mais opções ao sshd, talvez criar um arquivo de configuração e fornecê-lo na linha de comando: /usr/sbin/sshd -f <config-file> ...
Se não, você pode usar a sessão netcat para fazer upload de telnetd ou sshd, configurar o ambiente / configuração necessário e executá-lo em alguma porta.
Você também pode criar um wrapper em torno do shell para redirecionar o stderr para o stdout, como /bin/sh 2>&1
, o que permitiria ver o stderr em sua sessão netcat, mas não lhe daria a funcionalidade "terminal real".
Outra opção é DISPLAY=<client>:0 xtrem
se você tiver xterm ou equivalente no host e no X Server no cliente.