24 de abril de 2010

Teste de invasão (parte 1) - Identificação de banner

Introdução

Um teste de invasão é um método de avaliação de segurança de um sistema ou rede computacional mediante a simulação de um ataque malicioso, por parte de um cracker. O processo implica em uma análise ativa das vulnerabilidades em potencial que possam resultar de uma má ou inadequada configuração do sistema. Essa análise se realiza a partir da posição de um atacante em potencial, e pode implicar na exploração ativa de vulnerabilidades de segurança.

Qualquer problema de segurança que se encontre será apresentado ao proprietário da rede, juntamente com uma avaliação de seu impacto e uma proposta de mitigação ou solução técnica.

Fonte: http://en.wikipedia.org/wiki/Penetration_test

Esse artigo será o primeiro de uma série, onde explicarei de forma básica as ferramentas e métodos utilizados em cada uma das seguintes fases de um teste de invasão:
  • Identificação de banner
  • Enumeração do alvo
  • Varredura
  • Sniffing e Spoofing
  • Ataques de força bruta
  • Varredura de vulnerabilidades
  • Negação de serviço

Cada fase terá sua análise sobre os seguintes aspectos:
  • Descrição (da técnica/fase)
  • Ferramentas (utilizadas para a execução da técnica)
  • Método de Uso (forma de utilizar a ferramenta)
  • PoC (a famosa prova de conceito - Proof of Concept -, onde será dado um exemplo real com o resultado da utilização da ferramenta).


Identificação de banner

Um banner é definido como a obtenção do estado ou informação por meio de solicitações a determinadas portas do sistema.

Ferramentas:

Telnet

Telnet usa a porta 23 para realizar a conexão. Agora, se tentarmos conectar a uma determinada porta, ele nos devolve um banner da porta que tentamos conectar.

Método de uso: telnet [host-name [port]]

PoC:

# telnet 192.168.0.4 25
Trying 192.168.0.4...
Connected to 192.168.0.4.
Escape character is '^]'.
220 hacklabxp Microsoft ESMTP MAIL Service, Version: 6.0.2600.2180 ready at
Fri, 2 Apr 2010 19:45:41 -0500

Netcat

Netcat é uma ferramenta para protocolo TCP/IP, mas quando usamo-lo para reconhecimento de banners, retorna as informações da porta na qual tentamos conectar.

Método de uso: nc [host-name [port]]

PoC:

# nc 192.168.0.4 25
220 hacklabxp Microsoft ESMTP MAIL Service, Version: 6.0.2600.2180 ready at
Fri, 2 Apr 2010 19:58:41 -0500

FTP

FTP é uma ferramenta para transferência de arquivos, mas quando usamos para reconhecimento de banners, retorna as informações da porta na qual tentamos conectar.

Método de uso: ftp [host-name [port]]

PoC:

# ftp 192.168.0.4 25
Connected to 192.168.0.4.
220 hacklabxp Microsoft ESMTP MAIL Service, Version: 6.0.2600.2180 ready at
Fri, 2 Apr 2010 20:07:32 -0500

AMAP

AMAP é uma ferramenta para identificar os protocolos de aplicação nas portas do alvo.

Método de uso: amap [Options] [host-name [port]]

PoC:

# amap -b 192.168.0.4 25
amap v5.2 (www.thc.org/thc-amap) started at 2010-04-02 20:40:15 - MAPPING mode
[..cortado..]
Protocol on 192.168.0.4:25/tcp matches smtp - banner: 220 hacklabxp Microsoft
ESMTP MAIL Service, Version 6.0.2600.2180 ready at Fri, 2 Apr 2010 204015
-0500 \r\n500 5.3.3 Unrecognized command\r\n
[..cortado..]


Complemento

Depois de obter a informação das portas nas quais realizamos as conexões, o mais importante é saber a qual sistema operacional pertence esses dados.

Nmap

Um parâmetro do Nmap, nos permite identificar e/ou estabelecer o sistema operacional residente na máquina alvo.

Método de uso: nmap -O [host-name]

PoC:

# nmap -O 192.168.0.4
[..cortado..]
OS details: Microsoft Windows XP SP2 or SP3, or Windows Server 2003
[..cortado..]

Xprobe2

Xprobe2 permite determinar qual sistema operacional está sendo executado em um servidor remoto. Envia vários pacotes de dados ao servidor e analisa as respostas.

Método de uso: xprobe2 [host-name]

PoC:

# xprobe2 192.168.0.4
[..cortado..]
[+] Primary guess:
[+] Host 192.168.0.4 Running OS: "Microsoft Windows XP SP2" (Guess probability: 100%)
[..cortado..]

Auxiliary Metasploit

NetBIOS Information Discovery.

Método de uso:

msf> use scanner/netbios/nbname
msf auxiliary(nbname)> set rhosts [host-name]


PoC:

msf> use scanner/netbios/nbname
msf auxiliary(nbname)> set rhosts 192.168.0.4
rhosts => 192.168.0.4
msf auxiliary(nbname)> exploit
[..cortado..]
[*] 192.168.0.4 [HACKLABXP] OS:Windows Names:(HACKLABXP, GRUPO_TRABAJO,
__MSBROWSE__) Addresses:(192.168.0.4) Mac:00:0c:29:33:dd:72
[..cortado..]

Conclusão

A partir disso, com as informações que coletamos, podemos imaginar quais os possíveis serviços ou sistema operacional que podem ser usados num ataque.

Nenhum comentário:

Postar um comentário