Netcat - O canivete suíco do TCP/IP

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.

[ Hits: 223.756 ]

Por: Perfil removido em 16/03/2005


Utilizando o Netcat



Esta parte será prática, mas sempre utilizando os conceitos já aprendidos anteriormente.

O Netcat é chamado com o comando "nc", você pode tanto dar as sintaxes depois do nc, quanto na linha "CMD LINE" que aparece após o comando "nc" simples.

Para listar as sintaxes disponíveis no Netcat, digite:

$ nc -h

A tela ficará mais ou menos assim:


Agora vamos traduzir as sintaxes para o português para o melhor compreendimento de todos:
  • -l = coloca uma porta em estado de listenning (escuta);
  • -p = define uma porta;
  • -v = ativa o recebimento de eco;
  • -vv = ativa o recebimento de eco. Mostra mais detalhes que -v;
  • -u = utiliza o protocolo UDP ao invés de TCP;
  • -t = para se conectar a TELNET;
  • -o = gera um log em formato hexadecimal;
  • -w = determina um tempo máximo para aguardar uma reposta;
  • -e = redireciona arquivos;
  • -n = recebe e faz conexões apenas em formato numérico (IP);

É mais do que óbvio que comandos e sintaxes do Linux podem ser misturadas, assim como a utilização de pipes( | ), <, > e >>.

Veremos agora, a versatilidade e utilização dos comandos em ação:

1) Conectando-se a um host


É feita da mesma maneira que o telnet. É especificado apenas um host e a porta a se conectar. Exemplos:

$ nc mail.yahoo.com.br 110
$ nc www.terra.com.br 80


Lembrando que a porta 110 é dos servidores de POP3 e a 80 é para web.

2) Abrindo uma porta (listenning)


É utilizada a sintaxe -l para colocar em listenning e -vv para retornar eco com detalhes. A seguir é estipulada a porta:

$ nc -l -p 53 -vv

Será retornada uma mensagem:

"listenning on [any] 53 ... "

3) Escaneando portas com o Netcat


Será feita uma tentativa de conexão à um IP ou host e será estipulada as portas da tentativa de conexão:

$ nc -vv www.vivaolinux.com.br 110 80 139
$ nc -vv www.vivaolinux.com.br 1-10000


No primeiro exemplo serão escaneadas apenas as portas 110 (POP3), 80 (web) e 139 (compartilhamento do Windows).

Já no segundo exemplo serão escaneadas desde a porta 1 até a 10000.

4) Abrindo a porta, dando entrada para um "shell" (=Trojan)


Será colocada a porta X em listenning, redirecionaremos a saída de dados para um shell (/bin/bash). Assim quando alguém se conectar a essa porta terá domínio total sobre o computador. Funciona de forma semelhante a um trojan.

$ nc -l -e /bin/bash -p 1033

5) Realizando um brute-force


Na página anterior eu já disponibilizei a sintaxe, ou seja, como se faz. Veja a sintaxe novamente:

$ nc -vv 79 < ~/wordlists.txt > bruteforce.log

Perceba, que conectaremos a porta do FINGER(79) e redirecionaremos o conteúdo do arquivo wordlists.txt para essa porta. Quando algum resultado for válido ele será salvo em bruteforce.log para uma análise posterior dos resultados.

6) Fazendo um sniffer


Além de tudo isto demonstrado acima, o 'amazing' Netcat ainda pode capturar todo o tráfego de uma rede. Eu acho que você já sabe como fazer isso se observar os redirecionamentos utilizados no exemplo anterior. Mas vamos lá.

Iremos nos conectar a uma porta e mandar o netcat "dar eco" nela, ou seja, exibir TUDO o que passa por ela. Após isso, é só redirecionar tudo o que o Netcat gravou para um arquivo. Veja a sintaxe, para melhor compreensão:

$ nc -vv -L 127.0.0.1 -p 80 > ~/sniffer.log

Página anterior     Próxima página

Páginas do artigo
   1. Introduzindo-lhes
   2. Como o Netcat funciona
   3. Utilizando o Netcat
   4. Fazendo uma conexão reversa com o netcat
   5. Finalizando
Outros artigos deste autor

Bluetooth descomplicado em notebook Toshiba / HP

Perl e MySQL

Usando tabelas no editor de textos do OpenOffice

Configurando um servidor DNS e DHCP na rede

Passos essenciais para configurar sua impressora no Linux

Leitura recomendada

Acessando o Linux via SSH através do Android

Backup gerenciável usando tar

Configurando um servidor de logs simples

Linux - Permissões de acesso especiais

Detectando vulnerabilidades com o Nessus

  
Comentários
[1] Comentário enviado por rsouza em 17/03/2005 - 00:54h

Muito bom.......
Estava atrás de uma explicação sobre o 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.

Então gostaria de saber como esconder isto ?

Obrigado,

Fernando.

[3] Comentário enviado por __FERNANDO__ em 17/03/2005 - 09:00h

Putz...o nmap também mostra..heheheh..

Cara, por favor, se souber ai como bloquear tanto o scan com Netcat como o com Nmap agradeço hein

Valeu ai,

Fernando.

[4] Comentário enviado por paulovaladares em 17/03/2005 - 11:57h

Ótimo! Netcat é mto bom! Mas e esse Nmap? Faz o mesmo? Acompanha o Linux também?

Interessante esse comentario sobre bloquear scans... Rolava até um artigo sobre isso, o q acham?

Falow...
Paulo

[5] Comentário enviado por fabio em 17/03/2005 - 12:37h

Olá Paulo. Use o sistema de busca do site, ele não é um "Google search", mas pode lhe ser útil :P

Veja esse artigo:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1650

[]'s

[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....

[9] Comentário enviado por fredwind em 17/10/2005 - 10:55h

Brother c tah de pabens! teu artigo tah fera!!!! esse netcat era tudo q eu tava precisando

[10] Comentário enviado por fredwind em 17/10/2005 - 19:24h

existe ainda este link: http://www.invasao.com.br/coluna-bytes-02.htm
tambem fala sobre o netcat e com alguns detalhes à mais
falowww))))))))))

[11] Comentário enviado por removido em 30/10/2005 - 13:47h

meu artigo sobre o Nmap já está pronto: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2168
abraços!

[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.

[13] Comentário enviado por emerson.789 em 29/08/2008 - 12:40h

Dúvidas .. Netcat como Snifer ...

é necessário o tráfego da rede passar pelo computador que esta rodando o Netcat ?

por que faço o comando e no arquivo não mostra nada, e o é gerado o tráfego na porta.

[14] Comentário enviado por thiagosabo em 07/04/2017 - 01:00h

Muito...mas muito favoritado!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts