Quando conseguimos um shell reverso, geralmente faltam várias coisas que dificultam bastante a interação. Pela falta de um tty, não conseguimos verificar as permissões com “sudo -l”, não conseguimos usar o “vi” e várias outras dificuldades. Então a primeira coisa que costumamos fazer é obter (spawnar) um tty. Porém mesmo após este passo, ainda faltam algumas coisas:
- Não tem “autocomplete” com o tab
- O comando “clear”não funciona
- CTRL+C finaliza o shell
Rodar um “sudo -l” com estas limitações é terrível! Simplesmente não conseguimos dar um “CTRL+C” e somos obrigados a digitar a senha errada três vezes para sair! E quem já teve um shell travado e a única saída era o “CTRL+C” sabe o sofrimento que é ter que refazer todo o shell.
O “rennox” escreveu uma dica que é a solução de todos esses problemas! Com a dica dele, é possível obter um terminal totalmente funcional! É só seguir estes passos:
- Usar o Python para “spawnar” um tty digitando o seguinte comando no alvo:
- Coloque o shell reverso em background e altere as configurações do terminal digitando estes comandos no terminal local
- Coloque o shell reverso em primeiro plano (foreground) e defina a variável TERM com estes comandos:
python -c ‘import pty; pty.spawn(“/bin/bash”)’
CTRL+z
stty raw -echo
fg
export TERM=xterm-256color
Pronto! Agora o shell será muito melhor de usar. =D
Não funciona corretamente, quando se pressiona ENTER, simplesmente fica ^M e não vai a lugar nenhum.
Acredito que esse comando não funciona com shell ZSH, somente bash mesmo.
Tentei fazer essa Bixiga hj e não deu certo. Vou tentar amanhã