netcat sem -e
Escrito por meleu em 26 May 2008
$ nc -l -p 6060 -e /bin/sh
Pesquisando pela web eu vi em http://www.datastronghold.com/articles/3.html uma maneira criativa de fazer isso, porém o método proposto é meio incômodo.
Continuando a minha pesquisa eu acabei aprendendo uma maneira mais bacana de fazer isso. Pasmem: eu aprendi isso no orkut!
Vamos lá.
Basta criar um named pipe, também chamado de fifo, e usá-lo para que a saída do /bin/sh volte para o netcat. Vamos ao comando:
$ mkfifo test_fifo # criando o named pipe
$ nc -l -p 6060 < test_fifo | /bin/sh > test_fifo
Explicando:
- o netcat fica escutando na porta 6060;
- a entrada do netcat vem do test_fifo;
- a saída do netcat (vinda da rede) vai para a entrada de /bin/sh através do pipe;
- a saída de /bin/sh vai para test_fifo;
- como test_fifo é um named pipe o que entra nele vindo de /bin/sh sai indo para o netcat.
Moral da história: se você souber garimpar as informações, o orkut pode ter lá alguma valia!