Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Netcat - Canivete Suíço de Redes do Linux

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Dica Netcat - Canivete Suíço de Redes do Linux

    Olá pessoal venho trazer algumas coisinhas básicas sobre o netcat mais que poucas pessoas conhecem.


    O Netcat é uma ferramenta usada para ler e escrever dados em conexões de rede usando o protocolo TCP/IP. Dada sua grande versatilidade, o Netcat é considerado pelos hackers o canivete suíço do TCP/IP, podendo ser usado para fazer desde portscans até brute force...


    O nome netcat vem do comando "cat" do Linux. O cat concatena arquivos e envia para a saída padrão (stdout). O netcat faz praticamente o mesmo, porém ao invés de concatenar arquivos, o netcat concatena sockets TCP e UDP.


    Como o Netcat funciona



    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: "Se ele só faz isso, como ele pode ser tão útil?"

    É aí que entra a grande sacada. Como o netcat pega os dados da entrada padrão (stdin) e envia pra outra ponta da conexão, que as escreve na saída padrão (stdout), você pode utilizar ele em conjunto com o shell pra fazer uma infinidade de coisas, limitadas somente pela sua criatividade.

    Já que sei que vocês estão curiosos pra saber quais são as utilidades do netcat, vou citar algumas que conheço. Só aviso que o teste dessas técnicas é por sua própria conta e risco. No entanto, se você testar, gostaria que comentasse suas experiências com a ferramenta e quem sabe dar dicas de outros usos, já que o que limita o uso dela é só sua criatividade.

    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 localhost -z 1-3000

    Aqui serão escaneadas desde a porta 1 até a 10000.

    Bruteforce com Netcat

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

    $ nc -vv 79 < ~/wordlist.txt > nc_log.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 nc_log.log para que você possa analizar posteriormente.

    Sniffer com Netcat

    O Netcat 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 localhost 80 > ~/sniffer.log


    Transferência de arquivos com Netcat

    Sim, é possível transferir arquivos de maneira fácil usando o Netcat. A vantagem em relação à outros métodos é a velocidade. No entanto, desde que você queira somente transferir um único arquivo, ou uns poucos, o Netcat pode ser uma excelente solução para isso:

    Primeiro vamos montar nosso servidor, que ficará esperando uma conexão e direcionaremos sua saída para um arquivo, que chamaremos de arquivo.zip

    nc -l 1234 > arquivo.zip

    Em seguida, vamos abrir uma conexão com nosso servidor, e direcionaremos um arquivo, por exemplo original.zip, para a entrada padrão desse cliente, da seguinte forma:

    nc localhost 1234 < original.zip

    Chat simples usando o Netcat

    Acho que todo mundo que já usou o netcat já deve ter feito isso. Pra mim uma opção extremamente simples e que pode ser muito útil em determinadas situações.

    Simplesmente crie um servidor do netcat e abra uma conexão cliente para essa porta. O que você digitar de um lado, aparecerá do outro ...

    nc -l 1234

    nc localhost 1234

    Fazendo Spoof em servidores HTTP


    Você pode usar o netcat para se conectar a um servidor web usando cabeçalhos totalmente personalizados. Você pode adicionar quaisquer USER-AGENT, referer, ou qualquer outra informação de cabeçalho HTTP. Eu sinceramente acho isso muito útil, e foi usando o netcat e o wireshark (shiffer de rede) que eu descobri uma forma de enviar scraps em massa para o orkut, na época do layout antigo (Scraptimizer, não funciona mais).

    Código:
    $ nc google.com 80
    GET / HTTP/1.1
    Host: google.com
    User-Agent: Vindex
    Referrer: http://L.henvy.com.br

    Código:
    HTTP/1.0 200 OK
    Content-Type: text/html; charset=UTF-8
    Last-Modified: Fri, 02 Jul 2010 21:02:58 GMT
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Expires: Fri, 02 Jul 2010 22:07:19 GMT
    Date: Fri, 02 Jul 2010 22:07:19 GMT
    Cache-Control: public, max-age=0, proxy-revalidate, must-revalidate
    ETag: "73202059-b4d7-4150-bdb0-e42c3bbe0c0b"
    Server: GSE
    X-Cache: HIT from gw.ifto.edu.br
    Via: 1.0 gw.ifto.edu.br (squid/3.0.STABLE16)
    Proxy-Connection: close
    Aqui o exemplo do cabeçalho. Não vou colar o código todo.


    Clonar partições via rede com o Netcat

    Uma das técnicas um pouco perigosas é a clonagem de partições via rede. Eu já fiz o teste em duas máquinas de manutenção, que não tinha problema perder dados, e a técnica funcionou de boua. NÃO FAÇA NA SUA MAQUINA SE VOCÊ NÃO SOUBER O QUE SIGNIFICA!

    Primeiro, eu crio um servidor com o netcat e redireciono a saída dele para o comando dd:

    $ nc -l 1234 | dd of=/dev/sda

    Em seguida, eu rodo o dd, que vai fazer uma varredura no disco e enviar tudo para a entrada padrão (stdin) do netcat, que se conectará à nosso servidor previamente configurado:

    $ dd if=/dev/sdb | nc localhost 1234

    É claro, você precisará estar com os discos desmontados para que o comando funcione. Minha sugestão é usar um LiveCD nas máquina. Nesse nosso caso eu me conectei à mesma máquina, mas nada impede que essa conexão se dê via rede ou mesmo via internet.


    Criando um servidor web simples com o netcat



    Esse é meu truque favorito, não vou mentir. Apesar de nunca ter usado ele para algo mais do que passar cola de um trabalho pra meus colegas de sala, essa técnica é interessante e mostra um pouco mais da interação do shell com o netcat:

    $ while true; do nc -l 80 -q 1 < pagina.html; done

    Esse comando roda o netcat infinitamente e a cada vez que ele roda, o arquivo pagina.html é enviado para o cliente, no nosso caso o browser, que você pode acessar com o endereço Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Conclusão


    Apesar de ser capaz de fazer tudo o que ele faz, o netcat ainda está em conformidade com a filosofia Unix de ao fazer uma coisa fazê-la bem. Netcat foi projetado para uma única finalidade - a ler e escrever pacotes de dados em conexões de rede. E por causa de sua singular finalidade pode ser utilizada de uma miríade de formas.

    É irônico, mas quanto mais características mais você adicionar à sua aplicação, mais especializado ele fica.

    Eu já ouvi falar que a ferramenta socat é mais poderosa que a netcat por ter ainda mais funcionalidades. Pessoalmente, eu não usei essa ferramenta. No entanto, acredito que qualquer coisa que essa ferramenta fizesse, poderia ser feito, de alguma forma, com o netcat.

    É isso pessoal. Espero que esse tutorial seje de uma utilidade tão grande como foi para mim. Até uma próxima postagem!

    Fonte: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


    Tem Hackers que usam os 10 dedos da mão para digitar, sem desperdiçar o dedão na barra de espaçosigpic

  • Font Size
    #2
    Mto bom !!!


    sigpic

    Comment


    • Font Size
      #3
      Só que tem outras formas de uso mais avançadas, mais valeu ficou bom!!!

      Comment


      • Font Size
        #4
        muitoo bom mesmooo ... mas tem mas tecnicas de usoo avançados msmoo?? tem post?

        Comment


        • Font Size
          #5
          Postado Originalmente por thiagoharley Ver Post
          muitoo bom mesmooo ... mas tem mas tecnicas de usoo avançados msmoo?? tem post?
          Sim sim tem sim e são inúmeras ,com o NC pode se fazer muitas e muitas coisas só depende da criatividade do usuário e quanto a outra pergunta por enquanto é só este post mesmo quando estiver com mais tempo preparo outro. xD
          Tem Hackers que usam os 10 dedos da mão para digitar, sem desperdiçar o dedão na barra de espaçosigpic

          Comment


          • Font Size
            #6
            show de bola este tutor


            Comment


            • Font Size
              #7
              bom estudando agora ele! ja consegui logar na maquina atacada, mas fico ainda sem saber para onde ir!
              "Sou a única certeza que vocês terão em toda a VIDA de vocês, eu tardo mais não falho !!! Tenho a certeza que algum dia irei visitar todos vocês"



              Comment


              • Font Size
                #8
                Vamos lá aprender!!!muito bom este post

                Comment

                X
                Working...
                X