Visite também: Viva o Linux · Dicas-L · NoticiasLinux · SoftwareLivre.org



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


[Artigo] Teste de invasão (parte 2) - Enumeração de Serviços

Linux user
luizvieira
05/05/2010
Segunda fase de um pentest, dando prosseguimento ao artigo anterior.
[ Hits: 7259 ] Por: Luiz Vieira

Introdução

Definição: Neste processo identificamos e buscamos informações do sistema alvo, no qual desejamos realizar uma invasão. Aqui apenas buscamos coletar mais informações daquilo que já conseguimos na primeira fase (identificação de banner).

Fases e ferramentas:

Identificação do estado do sistema alvo

Descrição: Esta opção é usada apenas para estabelecer o estado da conexão do sistema alvo.
Ferramenta: ping
Método de uso: ping [host-name]
PoC:

# ping 192.168.0.4
PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.
64 bytes from 192.168.0.4: icmp_seq=1 ttl=128 time=1.21 ms
[..cortado..]
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
[..cortado..]

Identificação do estado do roteador

Descrição: Proporciona informação que é a combinação dos resultados obtidos com o ping e traceroute.
Ferramenta: traceroute
Método de uso: traceroute [host-name]
PoC:

# traceroute 192.168.0.4
traceroute até hacklabxp.Planet[192.168.0.4], 30 hops max, 40 byte packets
0 hacklabxp.Planet [192.168.0.4]
1 hacklabxp.Planet [192.168.0.4]
Processamento de estatísticas durante 25 segundos...
Origem até aqui Este nó/Link
Salto RTT Perdido/Enviado = Pct Perdido/Enviado = Pct Direção
0 hacklabxp.Planet [192.168.0.4] 0/ 100 = 0% |
1 0ms 0/ 100 = 0% 0/ 100 = 0% hacklabxp.Planet [192.168.0.4]

Identificação de sessões nulas

Descrição: As sessões nulas são usadas em máquina Windows para a visualização dos recursos compartilhados. A partir daí são realizadas conexões para enumerar a informação do sistema alvo.
Ferramenta: net use
Método de uso: net use \\[host-name]\IPC$ "" /u:""
PoC:

net use \\192.168.0.4\IPC$ "" /u:""

Identificação de endereço MAC

Descrição: Se conhece também como endereço físico o identificador do dispositivo de rede. É individual, cada dispositivo tem seu próprio endereço MAC determinado e configurado.
Ferramenta: arp
Método de uso: arp -a [host-name]
PoC:

# arp -a 192.168.0.4
? (192.168.0.4) at 00:0c:29:33:dd:72 [ether] on eth0

Identificação de máquinas e recursos

Descrição: Mostra uma lista de domínio, equipamentos ou recursos de uso compartilhado e disponível em um equipamento específico.
Ferramenta: smbtree
Método de uso: smbtree
PoC:

# smbtree
GRUPO
\\hacklabxp             
\\hacklabxp.Planet\C$       Recurso compartilhado padrão
\\hacklabxp.Planet\ADMIN$   Administração remota
\\hacklabxp.Planet\IPC$     IPC remoto

Identificação de DNS

Descrição: Permite consultar um servidor de nomes e obter informação relacionada com o domínio do host.
Ferramenta: nslookup
Método de uso: nslookup [host-name]
PoC:

# nslookup 192.168.0.4
Server: 192.168.0.1
Address: 192.168.0.1#53
** server can't find 1.1.168.192.in-addr.arpa.: NXDOMAIN

Identificação de portas com serviços desconhecidos

Descrição: Permite verificar serviços que podem estar rodando em portas que tenham sido detectadas como desconhecidas na fase identificação de banner.
Ferramenta: netcat
Método de uso: nc [ip] [porta]
PoC:

# nc 192.168.200.1 8100
z303help
ls
punt!

Identificação passiva de SO

Descrição: Permite identificar qual sistema operacional e versão está sendo executado na máquina alvo. Esse método funciona analisando as respostas de seu alvo à "solicitações" inócuas, tal como tráfego web, ping ou operações triviais.
Ferramenta: p0f ou xprobe2
Método de Uso: p0f -[opções] ou xprobe2 [-opções] [ip]
PoC:

# p0f -Fl
p0f - passive os fingerprinting utility, version 2.0.8
(C) M. Zalewski <lcamtuf@dione.cc>, W. Stearns <wstearns@pobox.com>
p0f: listening (SYN) on 'eth0', 262 sigs (14 generic, cksum 0F1F5CA2), rule: 'all'.
192.168.0.92:54400 - Linux 2.6 (newer, 2) (up: 11 hrs) -> 74.125.47.118:80 (distance 0, link: ethernet/modem)
192.168.0.92:46773 - Linux 2.6 (newer, 2) (up: 11 hrs) -> 74.201.81.148:80 (distance 0, link: ethernet/modem)
^C+++ Exiting on signal 2 +++
[+] Average packet ratio: 0.73 per minute.

# xprobe2 -B 192.168.0.92
Xprobe2 v.0.3 Copyright (c) 2002-2005 fyodor@o0o.nu, ofir@sys-security.com, meder@o0o.nu
[+] Target is 192.168.0.92
[+] Loading modules.
[+] Following modules are loaded:
[x] [1] ping:icmp_ping - ICMP echo discovery module
[x] [2] ping:tcp_ping - TCP-based ping discovery module
[x] [3] ping:udp_ping - UDP-based ping discovery module
[x] [4] infogather:ttl_calc - TCP and UDP based TTL distance calculation
[x] [5] infogather:portscan - TCP and UDP PortScanner
[x] [6] fingerprint:icmp_echo - ICMP Echo request fingerprinting module
[x] [7] fingerprint:icmp_tstamp - ICMP Timestamp request fingerprinting module
[x] [8] fingerprint:icmp_amask - ICMP Address mask request fingerprinting module
[x] [9] fingerprint:icmp_port_unreach - ICMP port unreachable fingerprinting module
[x] [10] fingerprint:tcp_hshake - TCP Handshake fingerprinting module
[x] [11] fingerprint:tcp_rst - TCP RST fingerprinting module
[x] [12] fingerprint:smb - SMB fingerprinting module
[x] [13] fingerprint:snmp - SNMPv2c fingerprinting module
[+] 13 modules registered
[+] Initializing scan engine
[+] Running scan engine
[-] ping:tcp_ping module: no closed/open TCP ports known on 192.168.0.92. Module test failed
[-] ping:udp_ping module: no closed/open UDP ports known on 192.168.0.92. Module test failed
[-] No distance calculation. 192.168.0.92 appears to be dead or no ports known
[+] Host: 192.168.0.92 is down (Guess probability: 0%)
[+] Cleaning up scan engine
[+] Modules deinitialized
[+] Execution completed.

Identificação de servidor web

Descrição: Permite descobrir qual o servidor web está sendo executado no alvo. Nesse passo, é interessante utilizar uma ferramenta que não faça muito "barulho" para que, caso haja um IDS no alvo, o mesmo não identifique a ação que estamos realizando.
Ferramenta: httprint
Método de Uso: httprint [opções] [alvo] -s signature.txt
PoC:

# httprint -h www.vivaolinux.com.br -s signatures.txt
httprint v0.301 (beta) - web server fingerprinting tool
(c) 2003-2005 net-square solutions pvt. ltd. - see readme.txt
http://net-square.com/httprint/
httprint@net-square.com

--------------------------------------------------
Host: www.vivaolinux.com.br
[cortado]
--------------------------------------------------



Páginas do artigo
   1. Introdução

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por roberto_espreto em 06/05/2010 - 13:17h:

Grande Luiz Vieira,

Li e achei legal os 2 artigos sequênciais!
Acho que vale a pena salientar que a grande parte destes comandos/ferramentas mostrados são executados apenas em rede interna, ou seja, muitos dos comandos não funcionaram em testes remotos, a não ser que já se tenha acesso a um micro da rede interna!

Pra quem está começando, eu recomendo continuar seguindo seus artigos, pois basta montar um ambiente virtual e testar todos estes ensinamentos!

Abraços!

®

[2] Comentário enviado por luizvieira em 06/05/2010 - 20:16h:

Opa Roberto!

O objetivo é justamente esse, o cara montar um lab e treinar, para ter noção de como funcionam as ferramentas eas respostas que podem ter. Meu objetivo não foi de ensinar a invadiremm, mas sim de buscar e analisar vulnerabilidades. Para invadir existem N tutoriais na net heheheh.

Abração!
Luiz

[3] Comentário enviado por andrezc em 07/05/2010 - 11:34h:

Muito bom o artigo! Estou acompanhando ;)

E quanto aos laboratórios para testes, a 3 anos que eu tenho um em minha casa, apenas para realizar testes de penetração.

Um abraço.

[4] Comentário enviado por roberto_espreto em 07/05/2010 - 17:57h:

Fala ae Luiz Vieira.

Certo, eu entendi perfeitamente o que quis dizer, mais já que não irá demonstrar nenhuma invasão e sim vulnerabilidades, o artigo deveria se chamar "Teste de Vulnerabilidades (Parte 2) Enumeração de Serviços. Mais deixa pra lá, o que importa é que está massa o artigo!

Quando li o comentário do Junior Linux, me veio a seguinte idéia:

Pensei se a gente (Até então eu, você e o junior linux) pudessemos trabalhar em um artigo juntos, seria para a criação de um lab completo para quem está iniciando, acredito que temos otimos experiências se agregarmos os conhecimentos dos 3. Claro que para cada tipo de testes, necessita de um novo lab, e a intenção é: Montar um lab o mais completo possível para os testes mais variados! O que acha da idéia Luiz?
Bom, o junior_linux já receberá este comentário também e espero que responda!

Abraços!

®

[5] Comentário enviado por andrezc em 07/05/2010 - 19:18h:

Roberto, a idéia é interessantíssima, por mim ta beleza! E você, Luiz, o que diz ?

Abraços.

[6] Comentário enviado por luizvieira em 09/05/2010 - 15:30h:

Junior e Roberto,
Ótima idéia!
Entrem em contato comigo para iniciarmos o trabalho hehehe
luizwt at gmail.com

Abração

PS: algum de vcs dois estarão no GTS ou YSTS 4.0 dias 14/05 e 17/05, respectivamente? Se alguém for me avise, pois estarei em ambos.

[7] Comentário enviado por andrezc em 12/05/2010 - 08:45h:

Infelizmente não estarei lá :-(
...


Entrarei em contato com vocês por e-mail.

andre [dot] rosa36 [at] gmail [dot] com



Um abraço.

[8] Comentário enviado por l-x em 17/05/2010 - 16:05h:

Excelente post!!!

[9] Comentário enviado por joaobps em 05/11/2010 - 11:59h:

Excelente artigo!! Parabens...

[10] Comentário enviado por laerciodeas em 04/02/2011 - 14:42h:

é impressão minha ou o artigo não termina aqui?


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Contribuir com: [ Artigo | Conf | Dica | Notícia ]
Responsáveis pelo site: Fábio Berbert de Paula / OYS Academy
Site hospedado por:

Segurança Linux

Site especializado em conteúdo de segurança para Linux.