Русский
Русский
English
Статистика
Реклама

Исследование сетевого трафика

Специально для будущих студентов курса Network engineer. Basic наш эксперт - Александр Колесников подготовил интересный авторский материал.

Также приглашаем принять участие в открытом онлайн-уроке на тему STP. Что? Зачем? Почему?. Участники урока вместе с экспертом рассмотрят протокол STP, разберут логику его работы, разберут его преимущества и недостатки.


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

Инструментарий и методика исследования

Для разбора трафиков будем использовать следующее программное обеспечение:

Все инструменты не нуждаются в особенно развернутом представлении, так как являются единственными в своем роде бесплатными решениями для работы с трафиком. Первые два tshark и wireshark вообще предоставляются в составе одного и того же решения. Оба инструмента позволяют выполнять запись и разбор трафика с точки зрения статистики, передаваемых данных и структурах протокола.

Попробуем использовать эти инструменты на записанных сетевых трафиках. Все трафики взяты из различных ресурсов и собраны вот здесь, поэтому читатель при желании может самостоятельно провести их анализ по инструкциям из статьи.

Disclamer: Все файлы трафиков взяты из различных соревнований CTF, все права на задания принадлежат их авторам.

Для исследования трафиков будем придерживаться минимальной стратегии:

  1. Определить количество участников сети;

  2. Определить стек используемых протоколов;

  3. На основании пункта 2 принять решение искать данные по убыванию популярности использования трафика;

  4. Если выясняется, что данные, которые передаются в трафике, не были обработаны дополнительным кодированием, то применять фильтр по тексту.

Примеры разбора трафика

Первое задание для разбора:

1.pcap(9cd84b46fee506dae818ecdca76607d1). Задача найти данные, которые будут содержать информацию вида "FLAG-???????????". Приступим к разбору. Пройдемся по методике, которую описали в прошлом пункте:

Количество участников в сети очень просто определить при помощи WireShark (Всё, что описано для этого инструмента, можно повторить и на tshark. Автор использует WireShark для наглядности). В опциях WireShrak выбираем "Statistics->Endpoints":

Итого у нас 8 уникальных IP адресов, которые участвовали во взаимодействии. Определим стек протоколов. Сделать это можно в том же самом меню "Statistics->Protocol Hierarchy":

Итак, самый популярный протокол взаимодействия http. Этот протокол внутри файла pcap хранится в текстовом представлении поэтому можно попробовать показать все данные из body пересылаемых данных и отфильтровать данные по формату искомой строки. Попробуем это сделать с помощью tshark. Команда для фильтра будет выглядеть так:

```  tshark -r ./1.pcap -Y http -Tfields -e http.file_data | grep "FLAG"```

В результате получаем результат:

Второй файл для исследования 2.pcap (9a67e1fb9e529b7acfc6e91db6e1b092). Проведем этапы исследования. Количество участников взаимодействия:

В этом случае участников 13 задание усложняется. Какие протоколы используются:

К сожалению, в этот раз всё не так просто с используемыми протоколами для передачи данных. Среди информации пересылаемой через tcp протокол ничего интересного для нашего задания не встретилось. В udp же попалось кое-что интересное:

``` tshark -r ./2.pcap -Y 'dns' ```

Однако, если обратить внимание на резолв локальных адресов через dns, то мы можем обнаружить вот такую картину:

Странная часть ip адреса, которая очень похожа на какие-то кодированные шестнадцатеричные символы. Попробуем их провести через кодировку:

```tshark -r ./2.pcap -Y '!icmp.code && dns.qry.name contains 192.168' -Tfields -e dns.qry.name | tr '.' ' ' |awk '{print $1}' |xxd -r```

Полученная строка очень похожа на base64 кодировку, раскодируем:

``` base64 -D <<< "VGhpcyBpcyBhIHNlY3JldCB0Y3JldCB0cmFuc21pdHRlZCB0aHJvdWdoaHJvdWdoIGRucyBxdWVyeSA6KSBGTEFHKSBGTEFHLUZUNDdjTVgyNnBXeUZTSTZSeUZTSTZSUFdhU3I1WVJ3"```

В итоге:

В качестве целевого сетевого трафика будем использовать 3.pcap(0e66830db52ad51971d40c77fa5b02c0). Проанализируем количество участников взаимодействия и статистику используемых протоколов:

Похоже, что в этот раз протоколов меньше, но вариантов куда спрятать данные больше. Попробуем отфильтровать данные по протоколу http.

``` tshark -r ./3.pcap -Y http```

Самые интересные строки находятся в конце записанного трафика, это запросы http к файлам "flag.zip" и "secret.txt". Сдампим их через Wireshark и попробуем открыть:

Попробуем сдампить файл, который называется flag.zip через WireShark. Стандартным интерфейсом это сделать не получится, поэтому придется сделать небольшой хак сохранить данные в Raw формате:

Открываем с уже найденным паролем:

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

Сохраним дамп этого потока и вырежем с помощью простой программы фрагмент архива:

```python  data = [] with open('dump') as f:     data = f.read()     with open('tesst.zip','w') as w:    w.write(data[1010788:])```

Пробуем распаковать:

``` 7z x ./test.zip ```

Похоже, что часть данных недоступна, но мы смогли восстановить файл flag.txt

Описанная методика может позволить извлекать информацию из записанных сетевых данных. В качестве закрепления материала, предлагаем читателю найти данные в трафике 4.pcap(604bbac867a6e197972230019fb34b2e).


Узнать подробнее о курсе Network engineer. Basic.

Зарегистрироваться на вебинар по теме STP. Что? Зачем? Почему?.


Читать ещё:

Источник: habr.com
К списку статей
Опубликовано: 02.02.2021 18:09:11
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании otus

Информационная безопасность

Сетевые технологии

Network

Network engineering

Stp

Сетевой трафик

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru