Obtendo mais resultados do NetCat

Obtendo mais resultados do NetCat

Atualmente estou usando o padrão netcat -e /bin/shpara fornecer um shell remoto para acesso de outros computadores.

O problema, porém, é que esse shell é bastante terrível, pois tem produção limitada. Por exemplo, se eu enviar algum comando inválido xxxxx, não obterei resposta da máquina, mas na máquina haverá um erro no terminal dizendo /bin/sh: xxxxx: not found.

Se eu usar o shell para iniciar um aplicativo de console, geralmente não consigo ver nada que o aplicativo de console produz e não consigo Ctrlzpassar pelo shell porque isso fechará o netcat na máquina. Está uma bagunça, gostaria que funcionasse como SSH (que não posso usar).

Em vez de canalizar tudo /bin/shcomo estou fazendo com o netcat, seria possível criar um aplicativo personalizado que me mostrasse todas as saídas em um terminal? É possível de alguma forma retirar o texto do terminal, independentemente do processo que escreveu nele?

Seria possível começar um sshdna caixa e depois netcat -e "ssh root@localhost"fazer dessa forma? (Eu tentei isso, não parece funcionar).

Estou procurando qualquer tipo de solução.

Responder1

Criar um "aplicativo personalizado" seria reimplementar o telnet/ssh. É claro que isto é possível, mas não necessário.

Se houver sshd (ou telnetd) no host, você poderá iniciá-lo a partir de sua sessão netcat-shell com, por exemplo, /usr/sbin/sshd -p <port> -D 2>&1e depois fazê-lo ssh -p <port> root@<host>em seu cliente. Talvez seja necessário 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> ...

Caso contrário, 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 de seu shell para redirecionar stderr para stdout, como /bin/sh 2>&1, o que permitiria ver stderr em sua sessão netcat, mas não forneceria funcionalidade de "terminal real".

Outra opção é DISPLAY=<client>:0 xtremse você tiver xterm ou equivalente no host e X Server no cliente.

informação relacionada