# Truques do Wireshark
## Truques do Wireshark
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
## Melhore suas habilidades no Wireshark
### Tutoriais
Os seguintes tutoriais são incríveis para aprender alguns truques básicos interessantes:
* [https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/](https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/)
* [https://unit42.paloaltonetworks.com/using-wireshark-display-filter-expressions/](https://unit42.paloaltonetworks.com/using-wireshark-display-filter-expressions/)
* [https://unit42.paloaltonetworks.com/using-wireshark-identifying-hosts-and-users/](https://unit42.paloaltonetworks.com/using-wireshark-identifying-hosts-and-users/)
* [https://unit42.paloaltonetworks.com/using-wireshark-exporting-objects-from-a-pcap/](https://unit42.paloaltonetworks.com/using-wireshark-exporting-objects-from-a-pcap/)
### Informações Analisadas
**Informações de Especialistas**
Clicando em _**Analyze** --> **Expert Information**_ você terá uma **visão geral** do que está acontecendo nos pacotes **analisados**:
![](<../../../.gitbook/assets/image (570).png>)
**Endereços Resolvidos**
Em _**Statistics --> Resolved Addresses**_ você pode encontrar várias **informações** que foram "**resolvidas**" pelo Wireshark, como porta/transporte para protocolo, MAC para o fabricante, etc. É interessante saber o que está implicado na comunicação.
![](<../../../.gitbook/assets/image (571).png>)
**Hierarquia de Protocolos**
Em _**Statistics --> Protocol Hierarchy**_ você pode encontrar os **protocolos** **envolvidos** na comunicação e dados sobre eles.
![](<../../../.gitbook/assets/image (572).png>)
**Conversas**
Em _**Statistics --> Conversations**_ você pode encontrar um **resumo das conversas** na comunicação e dados sobre elas.
![](<../../../.gitbook/assets/image (573).png>)
**Pontos Finais**
Em _**Statistics --> Endpoints**_ você pode encontrar um **resumo dos pontos finais** na comunicação e dados sobre cada um deles.
![](<../../../.gitbook/assets/image (575).png>)
**Informações DNS**
Em _**Statistics --> DNS**_ você pode encontrar estatísticas sobre as solicitações DNS capturadas.
![](<../../../.gitbook/assets/image (577).png>)
**Gráfico I/O**
Em _**Statistics --> I/O Graph**_ você pode encontrar um **gráfico da comunicação.**
![](<../../../.gitbook/assets/image (574).png>)
### Filtros
Aqui você pode encontrar filtros do Wireshark dependendo do protocolo: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\
Outros filtros interessantes:
* `(http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)`
* Tráfego HTTP e HTTPS inicial
* `(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)`
* Tráfego HTTP e HTTPS inicial + TCP SYN
* `(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)`
* Tráfego HTTP e HTTPS inicial + TCP SYN + solicitações DNS
### Pesquisa
Se você quer **pesquisar** por **conteúdo** dentro dos **pacotes** das sessões, pressione _CTRL+f_. Você pode adicionar novas camadas à barra de informações principais (No., Time, Source, etc.) clicando com o botão direito e depois em editar coluna.
Prática: [https://www.malware-traffic-analysis.net/](https://www.malware-traffic-analysis.net)
## Identificando Domínios
Você pode adicionar uma coluna que mostra o cabeçalho Host HTTP:
![](<../../../.gitbook/assets/image (403).png>)
E uma coluna que adiciona o nome do servidor de uma conexão HTTPS iniciante (**ssl.handshake.type == 1**):
![](<../../../.gitbook/assets/image (408) (1).png>)
## Identificando nomes de host locais
### Do DHCP
No Wireshark atual, em vez de `bootp`, você precisa procurar por `DHCP`
![](<../../../.gitbook/assets/image (404).png>)
### Do NBNS
![](<../../../.gitbook/assets/image (405).png>)
## Descriptografando TLS
### Descriptografando tráfego https com chave privada do servidor
_edit>preference>protocol>ssl>_
![](<../../../.gitbook/assets/image (98).png>)
Pressione _Edit_ e adicione todos os dados do servidor e a chave privada (_IP, Port, Protocol, Key file e password_)
### Descriptografando tráfego https com chaves de sessão simétricas
Acontece que o Firefox e o Chrome ambos suportam o registro da chave de sessão simétrica usada para criptografar o tráfego TLS em um arquivo. Você pode então apontar o Wireshark para esse arquivo e pronto! tráfego TLS descriptografado. Mais em: [https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/)\
Para detectar isso, procure no ambiente pela variável `SSLKEYLOGFILE`
Um arquivo de chaves compartilhadas terá esta aparência:
![](<../../../.gitbook/assets/image (99).png>)
Para importar isso no Wireshark, vá para _edit > preference > protocol > ssl > e importe-o em (Pre)-Master-Secret log filename:
![](<../../../.gitbook/assets/image (100).png>)
## Comunicação ADB
Extraia um APK de uma comunicação ADB onde o APK foi enviado:
```python
from scapy.all import *
pcap = rdpcap("final2.pcapng")
def rm_data(data):
splitted = data.split(b"DATA")
if len(splitted) == 1:
return data
else:
return splitted[0]+splitted[1][4:]
all_bytes = b""
for pkt in pcap:
if Raw in pkt:
a = pkt[Raw]
if b"WRTE" == bytes(a)[:4]:
all_bytes += rm_data(bytes(a)[24:])
else:
all_bytes += rm_data(bytes(a))
print(all_bytes)
f = open('all_bytes.data', 'w+b')
f.write(all_bytes)
f.close()
```
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).