Wireshark tricks
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Покращте свої навички Wireshark
Підручники
Наступні підручники чудові для вивчення деяких класних базових трюків:
- 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-identifying-hosts-and-users/
- https://unit42.paloaltonetworks.com/using-wireshark-exporting-objects-from-a-pcap/
Проаналізована інформація
Експертна інформація
Натискаючи на Analyze --> Expert Information, ви отримаєте огляд того, що відбувається в аналізованих пакетах:
Вирішені адреси
У Statistics --> Resolved Addresses ви можете знайти кілька інформації, яка була "вирішена" Wireshark, наприклад, порт/транспорт до протоколу, MAC до виробника тощо. Цікаво знати, що залучено в комунікацію.
Ієрархія протоколів
У Statistics --> Protocol Hierarchy ви можете знайти протоколи, залучені в комунікацію, та дані про них.
Розмови
У Statistics --> Conversations ви можете знайти резюме розмов у комунікації та дані про них.
Точки доступу
У Statistics --> Endpoints ви можете знайти резюме точок доступу в комунікації та дані про кожну з них.
DNS інформація
У Statistics --> DNS ви можете знайти статистику про захоплені DNS запити.
I/O графік
У Statistics --> I/O Graph ви можете знайти графік комунікації.
Фільтри
Тут ви можете знайти фільтри Wireshark в залежності від протоколу: https://www.wireshark.org/docs/dfref/
Інші цікаві фільтри:
(http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)
- HTTP та початковий HTTPS трафік
(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
- HTTP та початковий HTTPS трафік + TCP SYN
(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)
- HTTP та початковий HTTPS трафік + TCP SYN + DNS запити
Пошук
Якщо ви хочете шукати вміст всередині пакетів сесій, натисніть CTRL+f. Ви можете додати нові шари до основної інформаційної панелі (No., Time, Source тощо), натиснувши праву кнопку миші, а потім редагуючи стовпець.
Безкоштовні лабораторії pcap
Практикуйтеся з безкоштовними викликами на: https://www.malware-traffic-analysis.net/
Ідентифікація доменів
Ви можете додати стовпець, який показує заголовок Host HTTP:
І стовпець, який додає ім'я сервера з ініціюючого HTTPS з'єднання (ssl.handshake.type == 1):
Ідентифікація локальних імен хостів
З DHCP
У сучасному Wireshark замість bootp
вам потрібно шукати DHCP
З NBNS
Дешифрування TLS
Дешифрування HTTPS трафіку з приватним ключем сервера
edit>preference>protocol>ssl>
Натисніть Edit і додайте всі дані сервера та приватний ключ (IP, Port, Protocol, Key file and password)
Дешифрування HTTPS трафіку з симетричними сесійними ключами
Як Firefox, так і Chrome мають можливість записувати сесійні ключі TLS, які можна використовувати з Wireshark для дешифрування TLS трафіку. Це дозволяє проводити детальний аналіз захищених комунікацій. Більше деталей про те, як виконати це дешифрування, можна знайти в посібнику на Red Flag Security.
Щоб виявити це, шукайте в середовищі змінну SSLKEYLOGFILE
Файл спільних ключів виглядатиме так:
Щоб імпортувати це в Wireshark, перейдіть до _edit > preference > protocol > ssl > і імпортуйте його в (Pre)-Master-Secret log filename:
ADB комунікація
Витягніть APK з ADB комунікації, де APK був надісланий:
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()
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.