Время на прочтение2 мин
Количество просмотров76K
Исследователи портала Bleeping Computer обнаружили, что компания Microsoft в составе обновления Windows 10 October 2018 Update без информирования пользователей добавила в ОС незаметную программу для диагностики сети и мониторинга пакетов под названием pktmon (Packet Monitor). Ее можно найти по этому пути: C:\Windows\system32\pktmon.exe.
Причем, информации об этой программе на сайте Microsoft нигде нет. Есть только описание в самой программе, там написано, что это «Monitor internal packet propagation and packet drop reports». Специалисты Bleeping Computer смогли научиться использовать pktmon, тем более у программы есть встроенный справочник. Также они опубликовали в своем исследовании несколько примеров активации разных возможностей pktmon для системных администраторов. Пользователи без административных прав не могут запускать эту программу.
Фактически, в Windows 10 появился встроенный аналог tcpdump, мощного и популярного инструмента для перехвата и анализа сетевых пакетов. Правда pktmon в настоящее время имеет ограниченный производителем функционал, который еще дорабатывается специалистами Microsoft. Причем полученные и сохраненные данные из pktmon уже сейчас можно использовать и в более функциональных приложениях, например, Microsoft Network Monitor или Wireshark. Вдобавок встроенная справочная документация приложения pktmon достаточно подробная, и лучше с ней ознакомиться, перед тем как начать экспериментировать с возможностями этой программы.
При использовании pktmon для мониторинга сетевого трафика необходимо настроить в программе фильтры пакетов на нужных портах, например, использовать команду «pktmon filter add -p 20». Для просмотра фильтров пакетов нужно использовать команду «pktmon filter list». Для удаления фильтров есть команда «pktmon filter remove».
Чтобы отслеживать пакеты на конкретных устройствах необходимо определить ID сетевого адаптера с помощью команды «pktmon comp list». Далее можно начинать перехватывать нужные пакеты: pktmon start —etw -p 0 -c 13, где «-p 0» — аргумент для захвата всего пакета, а «-c 13» — захват только с адаптера с ID 13. Данные будут записываться в файл pktMon.etl:
Для остановки работы процедуры захвата нужно ввести команду «pktmon stop». Далее можно преобразовать полученный файл в текстовый формат: pktmon PktMon.etl -o ftp.txt. Там будет записана в краткой форме информация о сетевом трафике:
Полностью файл pktMon.etl можно открыть и анализировать, например, с помощью Microsoft Network Monitor.
Оказывается, что в новом обновлении Windows 10 May 2020 Update (Windows 10 версии 2004) Microsoft также обновила инструмент pktmon. Теперь с его помощью можно будет перехватывать пакеты в режиме реального времени и даже конвертировать файлы с расширением ETL в формат PCAPNG, которые можно исследовать в программе для захвата и анализа сетевого трафика Wireshark.
Ранее в начале мая 2020 года Microsoft перенесла на конец мая 2020 начало развертывания большого майского обновления Windows 10 May 2020 Update (версия 2004) для обычных пользователей. Компания планировала выпустить это обновление 12 мая 2020 года. Теперь этот срок сдвинут по соображениям безопасности еще на две недели из-за необходимости исправить выявленную в последний момент уязвимость нулевого дня в Windows 10.
Встроенный анализатор (сниффер) сетевого трафика Packet Monitor (PktMon.exe) появился еще в Windows 10 1809 и Windows Server 2019. В последнем билде Windows 10 2004 (May 2020 Update), функционал анализатора пакета был существенно расширен (появилась поддержка захвата пакетов в реальном времени, и поддержка формата PCAPNG для простого импорта в анализатор сетевого трафика Wireshark). Таким образом в Windows появился функционал захвата сетевого трафика, аналогичный tcpdump, и его можно смело использовать системными и сетевыми администраторам для диагностики работы сети.
Packet Monitor позволяет получить всю сетевую активность, проходящую через сетевой интерфейс компьютера на уровне каждого пакета.
Ранее для захвата сетевого трафика и инспектирования пакетов в Windows использовалась команда netsh trace.
Справку по использованию параметров
pktmon.exe
можно получить, набрав команду в командной строке.
Основные команды утилиты Packet Monitor:
- filter — управление фильтрами пакетов
- comp – управление зарегистрированными компонентами;
- reset — сброс счетчиков;
- start – запустить мониторинг пакетов;
- stop— остановить сбор пакетов;
- format – конвертировать лог файл трафика в текстовый формат;
- pcapng – конвертация в формат pcapng;
- unload – выгрузить драйвер PktMon.
Чтобы получить справку по субкоманде, укажите ее имя:
pktmon filter
Попробуем собрать дамп трафика, который приходит на некоторые запущенные службы компьютера. Допустим, нам нужно проанализировать трафик FTP (TCP порты 20, 21) и HTTP (порты 80 и 443).
Создадим фильтр пакетов для 4 TCP портов (также можно мониторить UDP и ICMP трафик):
pktmon filter add -p 20 21
pktmon filter add HTTPFilt –p 80 443
Выведем список имеющихся фильтров:
pktmon filter list
Чтобы запустить фоновый сбор трафика, выполните команду:
pktmon start –etw
Log file name: C:\Windows\System32\PktMon.etl Logging mode: Circular Maximum file size: 512 MB Active measurement started.
В таком режиме pktmon собирает данные со всех сетевых интерфейсов, но в журнал попадают только первые 128 байтов пакета. Чтобы захватить пакеты целиком и только на определенном интерфейсе компьютера, используется команда:
pktmon start --etw -p 0 -c 9
где значение аргумента c – номер (ID) нужного сетевого интерфейса, полученного с помощью:
pktmon comp list
Фильтр пакетов начнет запись всего трафика, соответствующего заданным фильтрам в файл C:\Windows\System32\PktMon.etl (максимальный размер 512 Мб). Чтобы остановить запись дампа, выполните команду:
pktmon stop
Также сбор сетевых пакетов прекращается после перезегрузки Windows.
Теперь вы можете сконвертировать файл с дампом трафика из формата ETL в обычный текст:
pktmon format PktMon.etl -o c:\ps\packetsniffer.txt
или
pktmon PCAPNG PktMon.etl -o c:\ps\packetsniffer.pcapng
Полученный дамп трафика можно анализировать в текстовом виде, загрузить ETL файл в установленный на компьютере администратора Microsoft Network Monitor или WireShark (в форматер PCAPNG).
Чтобы удалить все созданные фильтры Packet Monitor, выполните:
pktmon filter remove
Вы можете использовать PktMon для мониторинга сетевого трафика в реальном времени. Для этого используется параметр
-l real-time
. В этом режиме захваченные сетевые пакеты отображаются в консоли, и не пишутся в фоновом режиме в лог файл.
pktmon start --etw -p 0 -l real-time
Чтобы остановить сбор трафика, используйте комбинацию клавиш Ctrl+C.
Если у вас наблюдается drop пакетов на сетевом интерфейсе, PacketMon может показать причину дропов (например, некорректный MTU или VLAN).
Также вы можете использовать PktMon в Windows Admin Center через расширения. Собранные данные с компьютеров и серверов при диагностике сетевых проблем можно использовать для анализа в более мощных программах анализа сетевого трафика, таких как Microsoft Network Monitor или Wireshark.
SmartSniff
для Windows
Описание
SmartSniff — небольшая бесплатная утилита для перехвата и просмотра Вашего сетевого трафика. Сниффер захватывает пакеты, которые проходят через Ваш сетевой адаптер и просматривает захваченные данные как последовательность общения между клиентом и сервером.
Просмотр содержимого пакетов возможен в формате ASCII (для текстовых протоколов, таких как HTTP, SMTP, POP3 и FTP) и в виде HEX кода.
Что нового в SmartSniff 2.30?
- Исправлены ошибки
ТОП-сегодня раздела «Сканеры, сниферы»
Wireshark 4.4.0
Wireshark — утилита для детального анализа сетевых пакетов локальных сетей в реальном времени,…
LANScope 2.9.1
LANScope — бесплатная утилита, с помощью которой можно легко и быстро определить доступность…
Nmap 7.97
Nmap — Самый популярный сканер портов. Использовался в фильме «Матрица: Перезагрузка» при реальном взломе компьютера…
Отзывы о программе SmartSniff
Lazurenko про SmartSniff 2.05 [08-03-2013]
Ce bon!
8 | 9 | Ответить
Djadina про SmartSniff 1.65 [06-09-2010]
Вообще-то локализация на русский язык выложена на странице программы.
9 | 18 | Ответить
Содержание статьи
- Лучшие снифферы для Windows
- Intercepter-NG
- SmartSniff
- tcpdump
- Burp Suite
- Заключение
Перехват и анализ трафика — один самых важных начальных этапов взлома (пентеста). В перехваченном трафике можно найти много интересных данных, в том числе логины у пароли. Для этой цели используются специальные программы — снифферы. В этой статье я расскажу о лучших снифферах для Windows.
Еще по теме: Лучший сниффер для Android
Лучшие снифферы для Windows
Снифферы часто применяются и в других целях — для анализа и устранения неполадок локальной сети. Для обнаружения вредоносной активности и контроля сотрудников (посещение сайтов и т.д.). Но в большинстве снифферы конечно используются для пентеста (тестирование на проникновения).
Intercepter-NG
Производитель: неизвестно
Сайт: http://sniff.su
Лицензия: бесплатно
Это тоже очень старый и убеленный сединами инструмент — впервые мы писали о нем еще в 2012 году. C тех пор разрабатываемый нашими соотечественниками проект не только не исчез с просторов интернета, как многие его конкуренты, но даже активно развивался и совершенствовался — последняя актуальная редакция сниффера датирована 2020 годом. Существует версия программы для Android в виде .APK-файла и даже консольная версия этого инструмента для Unix.
В своей работе Intercepter-NG использует утилиту NPcap, портабельную версию которой, по заверениям разработчиков, таскает с собой. Однако практика показала, что ее либо забыли туда положить, либо в Windows 10 она не работает — для запуска сниффера мне пришлось качать NPcap с сайта https://nmap.org/npcap/ и устанавливать его вручную.
Intercepter-NG имеет довольно симпатичный пользовательский интерфейс и позволяет просматривать трафик в нескольких режимах. Есть обычный просмотр пакетов и их содержимого, в котором можно фильтровать пакеты с помощью правил pcap или использовать функцию Follow TCP stream для детального анализа какой‑либо сессии. Есть режим Messengers Mode, в котором тулза пытается перехватить трафик мессенджеров — прежде всего ископаемых ICQ, MSN, Yahoo и AIM, но есть там поддержка протокола Jabber. С Telegram фокус не удался: сниффер попросту его не увидел.
Имеется Passwords Mode, в котором на экране демонстрируются выловленные из трафика логины и пароли, передаваемые по протоколам FTP, HTTP, SMTP, POP3, IMAP, LDAP, Telnet и другим. Режим Resurrection mode позволяет восстанавливать файлы, передаваемые через HTTP, FTP, SMB, IMAP, POP3 и SMTP, — при этом удачно восстанавливаются только файлы из завершенных TCP-сессий.
В составе Intercepter-NG имеется дополнительный и очень полезный инструментарий. Это простой DHCP-сервер, служба NAT, позволяющая транслировать пакеты ICMP/UDP/TCP между различными Ethernet-сегментами сети. Есть несколько сетевых сканеров: ARP, DHCP, реализован «умный» поиск шлюзов. Еще один полезный инструмент — модуль для организации MiTM-атак. Поддерживаются методы Spoofing (с поддержкой протоколов DNS/NBNS/LLMNR), ICMP Redirect, DNS over ICMP Redirect, SSL MiTM, SSLStrip и некоторые другие.
С помощью программы можно просканировать заданный диапазон портов в поисках работающих на них приложений, провести анализ связанных с этими портами протоколов. Можно переключить сниффер в экстремальный режим, при котором он будет перехватывать все TCP-пакеты без проверки портов, что позволит обнаружить в сети приложения, работающие на нестандартных и переопределенных администратором портах. Правда, в этом режиме приложение нещадно тормозит и периодически зависает намертво.
В актуальной версии Intercepter-NG появилась встроенная тулза для эксплуатации уязвимости Heartbleed — ошибки в криптографическом программном обеспечении OpenSSL, с помощью которой можно несанкционированно читать память на сервере или на клиенте, в том числе для извлечения закрытого ключа сервера.
Еще в состав пакета был добавлен инструмент для брутфорса и многопоточный сканер уязвимостей X-Scan. Иными словами, из простого приложения сетевого анализа Intercepter-NG понемногу превращается в эдакий комбайн, позволяющий не отходя от кассы просканировать сеть на наличие открытых портов и незакрытых уязвимостей, перехватить логины с паролями и чего‑нибудь сбрутить.
К минусам Intercepter-NG следует отнести то, что программа распознается как вредоносная антивирусом Касперского и Windows Defender, из‑за чего прибивается еще на этапе загрузки с сайта производителя. Так что для работы со сниффером придется отключать антивирусы, но это довольно скромная плата за возможность пользоваться столь многофункциональным инструментом.
SmartSniff
Производитель: Nirsoft
Сайт: http://www.nirsoft.net/utils/smsniff.html
Лицензия: бесплатно
Простенький сниффер, работающий с протоколами TCP, UDP и ICMP. Требует установки драйвера WinPcap и Microsoft Network Monitor Driver версии 3.
Проект изначально разрабатывался под Windows 2000/XP (что, в общем‑то, заметно по его интерфейсу), но жив и по сей день — последняя версия сниффера датирована 2018 годом. Утилита позволяет перехватывать трафик, проходящий через локальную машину, и просматривать содержимое пакетов — больше она, собственно, ничего не умеет.
tcpdump
Производитель: Tcpdump Group
Сайт: tcpdump.org
Лицензия: бесплатно (модифицированная лицензия BSD)
Написанная на С консольная утилита, изначально разработанная под Unix, но позже портированная на Windows, в которой используется WinPcap. Для нормальной работы требует наличия административных привилегий.
Среди пользователей Windows более популярна версия tcpdump с открытым исходным кодом под названием WinDump, которую можно бесплатно скачать с сайта https://www.winpcap.org/windump/.
Burp Suite
Производитель: Portswigger
Сайт: https://portswigger.net/burp
Лицензия: бесплатно (Community Edition)
Еще один популярный у пентестеров инструмент, предназначенный для тестирования безопасности веб‑приложений. Burp входит в состав Kali Linux, есть версия под Windows с 64-битной архитектурой.
Этот фреймворк недаром называют «швейцарским ножом пентестера» — в плане поиска уязвимостей и аудита безопасности веб‑приложений ему нет равных. Burp Suite включает возможности для отправки на удаленные узлы модифицированных запросов, брутфорса, фаззинга, поиска файлов на сервере и многое другое.
Собственно, в качестве сниффера Burp совсем не универсален — он умеет только отслеживать трафик между браузером и удаленным веб‑приложением с использованием перехватывающего прокси, для работы которого с протоколом HTTPS требуется установить в системе дополнительный сертификат. Но для определенных целей этого может оказаться достаточно.
Burp перехватывает все пакеты, которые отправляет и получает браузер и, соответственно, позволяет анализировать трафик различных веб‑приложений, включая онлайн‑мессенджеры или соцсети. Если в исследуемой пентестером инфраструктуре имеются работающие через HTTP или HTTPS сервисы, лучшего инструмента для их тестирования, пожалуй, не найти. Но использовать Burp только в качестве сниффера HTTP/HTTPS-трафика — это все равно, что возить с дачного участка картошку на «Ламборджини»: он предназначен совсем для других задач.
Заключение
Если перефразировать популярную песню, снифферы бывают разные — и каждый из них лучше подходит для своих задач.
В целях исследования веб‑приложений и перехвата локального HTTP-трафика нет ничего лучше Burp Suite, для поиска проблемных мест в собственной локальной сети или получения списка удаленных узлов, к которым обращается какая‑либо программа, отлично подойдет Wireshark.
А для атак на сетевую инфраструктуру можно использовать Intercepter-NG — эта тулза располагает целым набором полезных инструментов для тестирования на проникновение.
Еще по теме: Лучшие устройства хакера
Один из важных элементов тестирования — анализ трафика, в котором содержится масса полезных данных о коммуникации приложений с серверами. Эта информация позволяет разработчикам обнаруживать потенциальные узкие места в их продукте и корректировать его функционал еще до релиза. Доступ к трафику обеспечивают специальные инструменты тестирования – снифферы.
- Что такое снифферы и для чего они нужны
- Сценарии использования снифферов в тестировании
- Принцип работы снифферов
- Схема работы со сниффером
- Популярные инструменты работы со снифферами
Что такое снифферы и для чего они нужны
Сниффер — инструмент для регистрации, анализа и изменения запросов между веб-приложением и сервером с помощью перехвата HTTP и HTTPS трафика.
- Снифферы анализирует заголовок, статус-код и тело ответа приложения на запрос.
- Снифферы показывают, какие данные циркулируют между приложением и внешними сервисами, и насколько эти данные совпадают с ожидаемыми.
- С их помощью можно менять запросы и ответы сервера для моделирования различных кейсов в процессе тестирования приложения.
- Снифферы могут эмулировать низкую скорость интернета, чтобы обнаружить ошибки в протоколе обмена данными.
Тестировщики используют снифферы для исследования взаимодействия приложения с сервером, оценки правильности передачи данных и проведения модульного тестирования API.
Сценарии использования снифферов в тестировании
- Тестирование производительности. Снифферы проверяют время загрузки стилей, изображений и скриптов и анализируют время выполнения AJAX-запросов.
- API. Для отладки взаимодействия приложения с внешними API снифферы дают возможность просматривать и менять запросы и ответы.
- Тестирование безопасности. Снифферы перехватывают и анализируют трафик для оценки безопасности приложения.
- Тестирование обработки ошибок. Снифферы эмулируют разнообразные сценарии ошибок, чтобы проверить реакцию приложения на них.
- Тестирование кэширования. Снифферы предлагают ряд функций для оценки эффективности кеширования, изучения его работы и проверки заголовков кэширования.
- Тестирование мобильных приложений. Перехват и анализ сетевого трафика между сервером и мобильным устройством помогает выявить возможные проблемы, связанные с сетью или сервером.
- Тестирование реакции приложения на нестандартные сценарии. Эмулирование низкой скорости интернета позволяет оценить реакции приложения на замедление соединения.
Принцип работы снифферов
Общение приложения или сайта с сервером происходит через передачу запросов и ответов через протокол HTTP/HTTPS. Сниффер становится посредником между ними. Он собирает и анализирует необходимую информацию о запросах для тестирования и отладки решения и далее передает ее нужному серверу. Ответ сервера сниффер направляет напрямую приложению, для которого он ничем не отличается от классического сервера.
Схема работы со сниффером
- Настройка. Тестировщику необходимо выбрать подходящий по условия задачи инструмент и установить его на устройстве, через которое приложение будет передавать информацию.
- Захват трафика. В процессе тестирования специалист реализует определенный сценарий. Сниффер ловит весь трафик, который проходит через используемое устройство или сеть, и анализирует его.
- Анализ данных. Тестировщик изучает параметры взаимодействия приложения с сервером, обрабатываемые запросы и генерацию ответов и проводит анализ этих данных.
- Обнаружение проблем. С помощью сниффера тестировщик может выявить возможные ошибки в данных, некорректные запросы и задержки ответов.
- Отчет. Специалист документирует результаты анализа, фиксирует выявленные проблемы и составляет рекомендациями по их устранению.
Популярные инструменты работы со снифферами
Для анализа сетевого трафика в разработке QA-специалисты чаще всего используют инструменты Fiddler, Charles Proxy и Proxyman . Все три сервиса работают по подписке и предоставляют бесплатный тестовый период.
- Fiddler предназначен для работы с приложениями, созданными для Windows, MacOS и Linux. Его отличительная черта — функция FiddlerScript. Она дает возможность разрабатывать сценарии реализации запросов и автоматизировать работу с ними. Скрипты позволяют быстрее обнаруживать кейсы с ошибками и оперативно устранять их. Недостаток инструмента — сложный дизайн, который компенсируется набором полезных для тестировщиков функций.
- Charles Proxy — кросс-платформенное решение. Дизайн инструмента немного устарел, но интуитивно понятен как для опытных специалистов, так и для начинающих тестировщиков. Сервис имеет набор мощных настроек для управления скоростью интернета. Он хорошо подойдет для задач по корректировке пропускной способности сети.
- Proxyman работает в основном с приложениями, разработанными для macOS, и имеет наиболее дружелюбный для пользователей и современный интерфейс. Его преимущество в возможности быстро подключиться к симуляторам iOS, что позволяет эффективнее тестировать мобильные приложения.
Слушатели курса«Инженер по тестированию»знакомятся с разнообразными инструментами тестирования, в том числе и снифферами. В рамках учебных проектов вы сможете поработать с разными сервисами и выбрать наиболее подходящие для боевых проектов..