Wireshark часть 2 из 3

Август 2, 2017

Wireshark в Linux

В линуксе Wireshark можно использовать в двух видах — обычном графическом
sudo wireshark
и консольном
sudo tshark
оба способа требуют Root прав. Последний будет незаменим для систем без графического интерфейса, в последствии его результаты можно будет сохранить в файл (.pcap расширение wireshark) и отправить для анализа на машину с графическим интерфейсом, если вам будет так удобней.

Справка с описание всех ключей
tshark --help
Итак, сначала нужно выбрать сетевой интерфейс для захвата
Смотреть список интерфейсов для захвата трафика
sudo tshark -D

Понять какой интерфейс используется в данный момент можно командой (в ubuntu enp0s3 — используется в данный момент, lo — интерфейс обратной петли, в других дистрибутивах могут быть другие аббревиатуры)
ifconfig

аргумент для задания используемого интерфейса
sudo tshark -i enp0s3
аналогично
tshark -i 1
производить захват со всех доступных интерфейсов
tshark -i any

после чего последует сессия захвата, выводящаяся информация не сохраняется
таким способом захвата пользуются, когда нужно контролировать трафик в определённый момент времени.

Захват с двух интерфейсов
tshark -i p8p1 -i wlp2s0

Захват с первого по счёту интерфейса
tshark

в каталог home программа не даст сохранять, даже под root, папке tmp хранятся все временные файлы на неё не нужно ни каких прав, она отлично подойдёт для таких файлов. Куда и под каким именем сохранять указываем ключом -w.
tshark -i enp0s3 -w /tmp/test.pcap

Можно запустить захват в реальном времени и отключить захват по времени, по количеству файлов либо по размеру с ключом -a
-a duration: продолжительность по времени
-a filesize: по размеру файла, измеряется в кб
-a files: по количеству файлов (через -b)

продолжительность захвата 10 сек
tshark -i p8p1 -a duration :10
продолжительность 10 сек и сохранить результат в файл /tmp/test.pcap
tshark -i p8p1 -a duration :10 -w /tmp/test.pcap

Сброс по достижению какого-либо размера или количества файлов
-b duration: сменить файл после определённого количества сек.
-b filesize: сменить файл после определённого размера
-b files: заменить после определённого количества файлов

Для примера захватим с enp0s3 по портам 443, 80, 53 (пакет должен будет принадлежать любому из портов) сброс файла при 5 кб, автостоп после 3 файлов, сохраняем результат:
tshark -i enp0s3 -f "port 80 or port 443 or port 53" -b filesize:5 -a files:3 -w /tmp/test.pcap

Очень кстати придётся команда watch что бы обновлять каталог каждую секунду и мониторить появление файлов. В данном случае будет выполняться каждую секунду команда ls -ltr
watch -n 1 "ls -ltr"

Фильтры захвата
Фильтры захвата нужны для того чтобы уменьшить размер захваченной информации, если захватывать всё то место на компьютере очень быстро закончится, а так мы отберём только то что нам нужно и размер файла будет намного меньше.

Пример простого фильтра захвата (-f), захватим только http и https трафик:
tshark -i p8p1 -f " ->Enter<-
теперь вводим фильтры по одному
port 80
or
port 443" ->Enter<-

Пример второй серии фильтров, подходит для нескольких интерфейсов:
tshark -i p8p1 -f " ->Enter<-
port 80
or
port 443" -i wlp2s0 -f " ->Enter<-
port 53" ->Enter<-

Чтение из файла и получение списка всех Ip (-T задаёт поля, в данном случае выведет все Ip)
tshark -r /tmp/test.pcap -T fields -e ip
получаем список source источников
tshark -r /tmp/test.pcap -T fields -e ip.src

Немного отвлечёмся и поговорим про режимы беспроводных сетевых карт, всего их порядка 7.
Auto — автоматический, название говорит само за себя.
Monitor — карта захватывает не только трафик, предназначенный ей, но и любой другой ходящий по сети.
Master — какрта работает как точка доступа.
Ad-Hoc — подключаются два соединения между собой
Managed — управляемый (узел подключается к сети, состоящей из множества Точек Доступа, есть роуминг)
Repeater — Повторение пакетов, для увеличения радиуса беспроводной сети.
Secondary — Вторичный (узел выступает в качестве резервного мастера/повторителя)

Смотрим список карт, работающих с беспроводными сетями
iwconfig
смотреть параметры wifi карты (в моём случае wlp2s0, у вас может быть другое)
ifconfig wlp2s0
смотреть текущий режим беспроводного интерфейса
iwconfig wlp2s0 | grep -i mode
переключение карты в режим мониторинга
iwconfig wlp2s0 mode monitor
Если устройство используется даст ошибку, нужно предварительно выключить сетевую карту, и после этого перевести её в другой режим.
sudo ifconfig wlp2s0 down
включить обратно
sudo ifconfig wlp2s0 up

Ещё один способ перевода карты в режим мониторинга, это скачать пакет aircrack с репозитория, ищем нужный пакет в репозитории для RedHat ветки
yam -C search aircrack
для Debian ветки
apt-cache search aircrack

ставим пакет для RedHat ветки
yam install aircrack-ng -y
для Debian ветки
apt-get install aircrack-ng -y

В этом пакете есть инструмент airmoon-ng, он покажет список беспроводных интерфейсов, а также ваш чипсет поддержку которого можно посмотреть на их сайте (https://www.aircrack-ng.org/)
sudo airmon-ng
включение режима мониторинга
sudo airmon-ng start wlp2s0
если выдаст список процессов и их PID то их следует прервать.
если первым прервём NetworkManager то сможем прервать и другие процессы из списка и они не восстановится если мы сами их снова не запустим или не перезагрузимся. Также говорит нам на каком интерфейсе доступен режим мониторинга (monitor mode enabled on mon0)
Пример как убить процесс по PID
kill 8950

Команда проверки не мешает ли чего нашей работе (mon0 Интерфейс wlp2s0), если ничего не вернёт — значит ничего не мешает:
airmon-ng check mon0

прервать процесс мониторинга
airmon-ng stop mon0

Смотреть доступные сети утилитой из aircrack
airodump-ng mon0

захват через airodump
airodump-ng mon0 --channel --bssid 90:F2:52:C1:BB:18 --write out
—channel (CH) частота на которой работает точка доступа
—bssid (BSSID) нужной точки доступа
—write сохранит захват в файл (а точнее в несколько файлов .csv — для Excel, .cap — для wireshark), в вашу домашнюю директорию. В дальнейшем мы сможем открыть файл и анализировать данные в wireshark.

Расшифровка файла захваченного в режиме мониторинга
Чтобы расшифровать в wireshark пакет из файла .pcap или .cap нужно предоставить программе decryption keys. Добавить его можно в Edit > Preferences > Protocols выбрать IEEE 802.11, здесь нужно включить опцию Enable decryption и добавить ваш пароль и его тип в Decryption keys > Edit

Формат записи: первая часть пароль беспроводной сети, вторая имя беспроводной сети.

После этого часть информации будет дешифрована в частности HTTP. Всё будет выглядит как будто мы находимся и мониторим ту сеть в которой был сформирован файл.

Создадим .csv (можно открыть на любой системе, большим количеством программ) файл настроенный определённым образом, будет содержать выборку данных из ранее созданного .pcap файла.
-r чтение из файла
-T опция для полей, которые хотим извлечь из файла
-e определяем порты и ip адреса
-E определяем заголовки (header=y — показывать заголовки (n — не показывать), separator=, — разделитель, quote=d — двойные кавычки, occurence=f говорим что начинаем с первого пакета)
в конце выводим в файл
tshark -r test.pcap -T fields -e frame.number -e ip.src -e ip.dst -e tcp.dstpport -E header=y -E separator=, -E quote=d -E occurence=f > testCSV.csv
В результате получим файл который будет содержать таблицу с номером фрейма, Ip источника, Ip назначения, и порт назначения. Таким же методом можно вместо фрейма и его номера (frame.number) выудить в Hyper Transfer Protocol данные авторизации.

Красным выделено что мы собирали в данном примере и что может представлять интерес.

Весь материал представлен для учебно-познавательных целей, проводить мониторинг не своей сети запрещено законом.

Читайте продолжение в третьей части.

Теги статьи:
·
Категории статьи
Безопасность

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *