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 princípio o Netcat foi lançado para ser um telnet
aprimorado. Até então a única utilidade que ele teria seria se
conectar a um host. E eu te garanto, até hoje a única coisa que
ele faz é isso mesmo, se conectar a um host. Mas aí você me
pergunta: "Mas no começo do artigo você disse que ele poderia
servir para escanear hosts e fazer brute-forces?"
Para responder à essa pergunta, vamos voltar ao nosso
eletrizante episódio sobre o como o Netcat nasceu. Como já dito,
ele nasceu para se conectar à hosts, nisso, consultores do
mundo inteiro alertaram para a AtStake (fundação que
mantinha o Netcat) que opções como listen, redirecionamento de
dados e criação de logs poderiam ser incluídas no programa, de
forma a não alterar sua principal funcionalidade, a conexão.
Agora, eu faço uma pergunta: "Como que é realizado o brute-force?"
O brute-force é o método de tentativa de obtenção de senhas
utilizado quando um cliente se conecta a um host e tenta se logar,
utilizando uma seqüência de senhas que estão em um arquivo. Ou
seja, se eu pegar o Netcat, que nada mais é do que um telnet
aprimorado, eu posso me CONECTAR ao host e com uma linha de
comando, posso completar o comando com a comparação para obtenção
das senhas. Como veremos mais adiante o comando ficaria assim:
Da mesma forma, para escanear um host, basta mandar o Netcat se
conectar a todas as portas do computador analisado, assim primeiro
ele se certificará de quais as portas abertas que ele pode
estabelecer contato.
Respondida a nossa perguntinha do começo da página.
Veja a seguir a sintaxe de utilização do Netcat...
[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.