Как отследить IP-адреса с помощью Wireshark
Бывают случаи, когда нам необходимо отследить IP-адрес до его происхождения (страна, город, номер AS и т.д.).
Особенно, когда мы проводим сетевой анализ форензики, целью которого является обнаружение шаблонов атак и идентификация злоумышленников.
С помощью IP-геолокации мы можем определить географическое местоположение IP-адреса.
В Интернете существует множество бесплатных, а также коммерческих сервисов, которые предоставляют своим клиентам API (Application Programing Interface).
Когда вы задаете в googlе вопрос “Какой у меня IP-адрес?”, он, скорее всего, приведет вас на сайт, использующий такой API.
Я полагаю, вы спросите: “Откуда API получает геолокацию IP-адреса?”.
Ответ прост – из одного или нескольких RIR (Regional Internet Registry).
RIR – это некоммерческая организация, которая распределяет IPv4, IPv6 и ASN (номера автономных систем).
В мире существует 5 RIR, которые управляют IP-адресами для различных регионов.
Организация под названием IANA (Internet Assigned Numbers Authority) фактически контролирует распределение IP-адресов и номеров автономных систем и делегирует обязанности по управлению IP-адресами 5 RIR.
Ниже показано, какой RIR отвечает за тот или иной регион.
- AFRINIC (Latin America and Caribbean Network Information Centre) обслуживает Африку.
- ARIN (American Registry for Internet Numbers) обслуживает Антарктику, Канаду, часть Карибского бассейна и США.
- APNIC (Asia-Pacific Network Information Centre) обслуживает Восточную Азию, Океанию, Южную Азию и Юго-Восточную Азию.
- LACNIC (Latin America and Caribbean Network Information Centre) обслуживает большую часть Карибского бассейна и всю Латинскую Америку.
- RIPE (NCCThe Réseaux IP Européens Network Coordination Centre) обслуживает Европу, Центральную Азию, Россию и Западную Азию.
MaxMind – одна из платформ, предоставляющих как коммерческие, так и бесплатные услуги, которые поддерживает Wireshark.
Шаг-1: Создайте учетную запись
Поскольку MaxMind требует регистрации для загрузки баз данных, нам необходимо создать учетную запись.
Перейдите по ссылке ниже для регистрации.
https://www.maxmind.com/en/geolite2/signup?lang=en
После создания учетной записи перейдите по ссылке ниже для загрузки баз данных.
https://www.maxmind.com/en/accounts/662362/geoip/downloads
После открытия ссылки (они часто обновляют ссылку), у нас будет возможность загрузить геолокационные данные в различных формах (.csv, mmdb и т.д.).
Шаг-2: Скачайте ZIP-файлы MaxMind в формате mmdb
Поскольку Wireshark поддерживает только формат mmdb, мы будем скачивать ZIP-файлы, содержащие файлы mmdb.
Эти базы данных можно использовать с Python, C#, Node, PHP и Ruby.
MaxMind рекомендует использовать официальные клиентские библиотеки для запросов к своим базам данных.
С помощью нескольких строк кода вы можете получить геолокацию и в своем приложении.
Создайте каталог и загрузите туда сжатые (расширение tar) файлы.
Wireshark не может использовать сжатые файлы.
Таким образом, нам нужно разархивировать их в тот же каталог.
В итоге в директории они должны выглядеть как показано ниже.
Добавление пути к базам данных MaxMind в Wireshark
Шаг-1: Доступ к настройкам Wireshark
Откройте Wireshark и перейдите в меню Edit → Preferences.
Шаг-2: Загрузите базу данных MaxMind в Wiresark
В левой части окна мы нажимаем на “name resolution”. Затем справа, в нижней части окна, есть кнопка редактирования, которая позволяет нам добавить базы данных MaxMind.
Нажмите на нее, появится небольшое окно. Выберите каталог, в котором хранятся ваши файлы.
Не забудьте, что расширение файлов должно быть “.mmdb”.
Wireshark будет автоматически загружать все файлы, заканчивающиеся этим расширением.
Поиск геолокации IP-адреса
После установки пути Wireshark не будет сразу показывать информацию о геолокации.
Поэтому необходимо перезапустить Wireshark, после чего он повторно просканирует pcap-файл и покажет информацию о геолокации в IP-заголовках.
- Откройте Wireshark и посетите сайт example.com.
- Как только вы увидите пакеты сайта, остановите захват.
- Выберите любой пакет и разверните его IP-заголовок. Вы должны увидеть некоторую информацию о геолокации в IP-адресе источника или назначения.
- Если IP-адресом источника или назначения пакета является ваш локальный IP-адрес, вы не увидите никакой информации о геолокации в IP-заголовке, поскольку ваш IP-адрес находится в частной области видимости.
Мы можем увидеть некоторые приятные детали о геолокации IP-адреса назначения.
Базы данных MaxMind включают такую информацию, как город, страна, номер AS и даже широта и долгота.
Иногда мы можем вообще не увидеть никакой информации о геолокации в IP-заголовке.
Это происходит из-за неактуальности баз данных.
Сопоставление местоположений IP-адресов
Представьте, что вы определили схему атаки, которая пытается использовать ваш веб-сервер, и вы хотите увидеть IP-адреса атакующих на карте, что позволит вам лучше видеть перспективу.
Именно это и предоставляет Wireshark с помощью геолокации.
Выполните следующие действия, чтобы отобразить информацию о геолокации на карте.
В меню Endpoints нажмите на Endpoints.
Чтобы увидеть расположение каждого IP-адреса, в окне Endpoint нажмите на Map → Open in browser.
Карта всех IP-адресов откроется в вашем браузере по умолчанию.
Вы можете увеличить или уменьшить масштаб карты для получения нужных вам деталей.
В каждом круге на карте есть цифры, которые показывают, сколько IP-адресов находится в этом месте.
Заключение
Сопоставление местоположения IP-адресов полезно при проведении сетевой форензики.
Wireshark не поставляется с какими-либо базами данных геолокации.
Поэтому, когда нам нужно использовать эту функцию, мы должны добавить путь к базам данных в Wireshark.
Есть одно важное замечание: файлы баз данных должны быть в формате mmdb – это единственный формат, который поддерживает Wireshark.
Информация о геолокации IP может быть не на 100 % достоверной.
Точность зависит от того, регулярно ли обновляются базы данных или нет.
Кроме того, базы данных должны иметь хороший охват IP-адресов для получения лучшего результата.
Злоумышленники чаще всего скрывают свои IP-адреса за прокси, vpn или NAT, что снижает ваши шансы найти реальное происхождение IP-адреса.