Wireshark ~ Part 1

Postagem de conteúdo relacionados a segurança da informação
Post Reply
User avatar
51M0N
Admin
Admin
Posts: 871
Joined: Fri Jan 02, 2015 2:06 pm

Wireshark ~ Part 1

Post by 51M0N » Tue Mar 31, 2015 6:30 pm

Galera achei uns .txts perdido em meus arquivos por aqui, compartilhando com vocês, vou tentar postar uma série de posts envolvendo wireshark, sem mais falação, bora aprender um pouco ... :geek:

O Wireshark e um analisador de protocolos open source que atualmente esta disponível para plataformas windows e linux, seu principal objetivo e analisar o trafico de determinada aplicação para estudos ou analise,seja para resolução de problemas ou para ver uma determinada comunicação,suporta mais de 1100 protocolos.

>>>> Port Mirroring o VACL (VLAN-BASED ACLS)

Sempre que temos um acesso a algum switch,sera a maneira mais comoda para capturar o trafego da rede, esse modo de trabalho e denominado em alguns switch de SPAN permitindo o duplicamento do trafego em um ou vários switch,esse método e muito implementado por administradores para instalar IDS ou outras ferramentas de monitoração,uma vantagem de VACL frente ao port mirroring e que pode permitir uma maior granularidade especificando o trafego e analisando posteriormente.
Mentira!!! que configurando o port mirroring e possível redirecionar o trafico de uma porta da VLAN para outra,com VACL e possível especificar as ACLs para selecionar os tipos de tráfegos que interessamos

Tela do wireshark veja abaixo:

Image

- Temos outra área de definição de filtros,permite definir,buscar,visualizar os pacotes e os protocolos que interessamos

- Temos uma área corresponde a uma lista de visualização de todos os pacotes que esta capturando em tempo real,vai nos permitir em certas ocasiões deduzir algum problemas e realizar auditorias minuciosas.

- Temos outra área que permite visualizar cada protocolo com mais detalhe,dos pacotes com os campos facilitando assim melhor o entendimento.

- Temos outra área que representa o formato hexadecimal do pacote bruto capturado dos pacotes.

>>>> Wireshark & GeoIP

Wireshark suporta MaxMind GeoIP 's. Você pode usar suas bases de dados para coincidir com os endereços IP para os países, cidade e outros bits de informação. As informações sobre todos os locais de endereços IP conhecidos podem ser exibidas em um mapa, essa parte e muito interessante, deixarei para o próximo post :D


>>>> Wireshark Capturando a impressão em rede.

Podemos usar o Wireshark para interceptar os pacotes destinados a qualquer servidor de impressão na rede e, a partir da captura, identificar quais pacotes você deve conter dados que são enviados para a impressora a ser impresso e apresentado.

Qualquer ferramenta de identificação como o nmap pode identificar os IPs das impressoras e os servidores de impressão,para capturar todos os pacotes que são enviados a partir do servidor de impressão para a impressora de rede, você pode usar várias técnicas, tais como o uso ARP spoofing ou usando rpcapd para captura remota e assim analisar.

Depois de saber o IP do servidor/impressora vamos colocar o seguinte filtro: tcp.dstport == 9100
Depois clicamos com o botão direito em "follow tcp stream" , assim salvamos o conteúdo para depois analisarmos.

Os filtros são a parte mais importante no Wireshark vejamos.

-se quisermos mostrar so o ip de destino usamos o seguinte filtro :
ip.dst == [host destino] ou ip.dst eq [host destino]

*eq - significa igual

-se quisermos saber qual tamanho do pacote "frame" usamos o seguinte filtro

frame.len ne [tamanho do pacote] ou frame.len != [tamanho do pacote] ou frame.len < [tamanho do pacote]

-se quisermos saber o ip da fonte usamos o seguinte filtro

ip.src > [host]

Podemos variar esses simbolos, igual na programação >= ; <= ; > ; < .

-se quisermos saber e filtrar somente alguns dns que contenham algumas especificaçao usamos o seguinte filtro

dns.qry.name contains [www.sitequalquer.com]

ou podemos encontrar somente as palavras

dns.qry.name contains [qualquercoisa]


>>>> Na barra de filtros temos o seguinte botão "EXPRESSION.." esse botão e onde temos todas nossas expressões e seu filtros,vamos usar o seguinte filtro,veja

http.request.method == "POST"

Esse == "POST" podemos pegar no form do codigo fonte da pagina do site,agora se não queremos sniffar algum host podemos fazer dessa maneira !(ip.src eq [host])
Quando estamos querendo saber algun login e senhas pelo filtro ,varias informações são jogadas em nossa tela, então a melhor coisa a fazer e tirar algumas colunas com o seguinte filtro

!(ip.src== host fonte) && !(ip.dst== host destino)

Se queremos listar a lista de protocolos arps podemos fazer o seguinte filtro

(!(ip.src== host fonte) && !(ip.dst== host destino)) && !(protocolo)

Se mudarmos o filtro para :

(!(ip.src== host fonte) && !(ip.dst== host destino)) && !(http)
E depois olharmos no cabeçalho do frame em "hypertext transfer protocol" podemos ver algumas coisas interessantes se buscarmos um pacote que tem status 200 OK (text/html) podemos perceber que encontraremos a versão do servidor sem algum scan de rede

- Se quisermos um IP que responde ao alguns estátos de código podemos fazer dessa maneira

(ip.addr == [host destino]) && (http.response.code == 200)

Se pegarmos o pacotes com stream 6 ,vamos utilizar o seguinte filtro :

tcp.stream eq 6

Observamos o seguinte código do navegador:

--- REQUEST do NAVEGADOR ---

Code: Select all

GET /loginExt.php?denied=true HTTP/1.1
Host: maismedicos.saude.gov.br
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: BIGipServermaismedicos.saude.gov.br=453057964.20480.0000; PHPSESSID=5ded2vi0m10odrd50u1uuln345

--- RESPONSE do NAVEGADOR ---

Code: Select all

HTTP/1.1 200 OK
Date: Fri, 23 May 2014 13:34:00 GMT
Server: Apache/2.2.15 (Red Hat)
X-Powered-By: PHP/5.3.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 7480
Connection: close
Content-Type: text/html; charset=UTF-8


...........=.r...g9..P
.M.-...z.....z...e....v(.@.D7.p..Z......<...8........._....XxQ......3-.@UVV..*..............]2
f6..>y....Z......N........HC...G..
,..v.....6
..a.v{{..6u....W........j..........#>.......8.....]4f........(..U.]h-ZZ.u.......i...ZZ.>.5....S..,h......Z..Cg..-,v;w.@.pk...e..e.*..E,..A..oP...,Z!Z.V....;.....*f.n.@`!...V.?...{.[............g...{FK......B..U.........QM<Z.ShA..}[7B?pg....j5....7}.l...u.P.T{. ~.7..8....,..=g.......0.....J..#A.3..x.J..3.]..=....f4........J...`[...1...w6.....L=6ni.........X..A...s.....R.|........<....e...J......{.YQ..z............|:..X`Q./dKt.p.+......6..d.-CNX`..........,&Ur.6.....,xD....d....".?.$(..3.
(.t.?..'|&.....5W9.T.X.2...[x.,H.

>>>> Podemos fazer o seguinte filtro

ip.addr eq [host destino] && tcp

Depois clicamos com o botão direito em cima dos pacotes,clicamos em "conversation filter > tcp" então teremos o seguinte filtro abaixo:

(ip.addr eq 189.27.130.41 and ip.addr eq 192.145.23.102) and (tcp.port eq 80 and tcp.port eq 1144)

Percebemos no comando netstat -noa que sempre o IP da fonte sai com qualquer porta aleatoriamente, ja o IP destino esta com porta 80 e assim que e feita a comunicação

*** Para observamos o que esta consumindo toda a velocidade de nossa rede podemos verificar da seguinte forma,iniciamos uma nova captura e vamos na barra de tarefa em "stastitics > conversation" vamos na aba "TCP" e então clicamos nos processos abaixos que estamos vendo com o botão direito "aplique as filtre > selected > A <-> B"

Se vermos algum pacote mau formado é porque não ouve conecção (na maioria os pacotes são apresentado na cor preta) ou algo do tipo no wireshark,podemos ir na barra de tarefa pela cor e ver qual filtro queremos e qual pacote desejamos veja o filtro abaixo

!(arp) && tcp.flags.reset eq 1

>>>> Como recuperar arquivos com wireshark,

vamos procurar o pacote que baixou o arquivo do servidor vejamos um exemplo

Code: Select all

no 	   time 	     source 		                     destination          protocol                       info
478	55.8923820   10.10.6.10 	                      10.10.6.11	          ftp                      Request:RETRarquivo_teste.txt	
vamos clicar com o botão direito em cima do pacote "conversation filter > IP" o seguinte filtro vai aparecer assim:

ip.addr eq 10.10.6.10 and ip.addr eq 10.10.6.11

O ftp e um protocolo orientado a conexão da seguinte forma o Three-Way Handshake(SYN ---> SYN+ACK---> ACK),buscamos então os pacotes que tem mais bytes veja abaixo:

Code: Select all

no 	time 	                source 		destination            protocol           info
584	99.8922320   10.10.6.10	          10.10.6.11	     FTP-DATA      1449 bytes
Clicamos com botão direito em cima desse pacote "Follow TCP stream" a proxima janela mostrando numeros,simbolos e letras do nosso arquivo (bytes do frame), iremos então clicar em "guardar como" e salvamos e encerramos a janela, podemos então ver que é o mesmo arquivo no caso arquivo_teste.txt.


Bem galera esse é o basicão de Wireshark da para brincar muito em rede local, não coloquei imagem ilustrativas porque isso é mais um resumo que faço durante os meus estudos, ai saio jogando nos .txts ...hehehe :lol: .. qualquer duvida só gritar!.. ahh é ate o próximo post de wireshark
=)
Image
"Você, eu, nem ninguém vai bater tão duro como a vida. Mas não se trata de bater duro. Se trata de quanto você aguenta apanhar e seguir em frente (...). É assim que se consegue vencer." by Rocky Balboa

Post Reply

Return to “Segurança da info / Proteção / Hardning”