[Информационная безопасность, Сетевые технологии] Исследование сетевого трафика
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Специально для будущих студентов курса «Network engineer. Basic» наш эксперт - Александр Колесников подготовил интересный авторский материал.
Также приглашаем принять участие в открытом онлайн-уроке на тему «STP. Что? Зачем? Почему?». Участники урока вместе с экспертом рассмотрят протокол STP, разберут логику его работы, разберут его преимущества и недостатки.
Статья расскажет, как можно работать с сетевым трафиком. На примере нескольких дампов сетевого трафика будет разобрана работа нескольких полезных инструментов, показаны подходы к извлечению и сборке информации из трафика.Инструментарий и методика исследованияДля разбора трафиков будем использовать следующее программное обеспечение:
Все инструменты не нуждаются в особенно развернутом представлении, так как являются единственными в своем роде бесплатными решениями для работы с трафиком. Первые два tshark и wireshark вообще предоставляются в составе одного и того же решения. Оба инструмента позволяют выполнять запись и разбор трафика с точки зрения статистики, передаваемых данных и структурах протокола.Попробуем использовать эти инструменты на записанных сетевых трафиках. Все трафики взяты из различных ресурсов и собраны вот здесь, поэтому читатель при желании может самостоятельно провести их анализ по инструкциям из статьи. Disclamer: Все файлы трафиков взяты из различных соревнований CTF, все права на задания принадлежат их авторам.Для исследования трафиков будем придерживаться минимальной стратегии:
- Определить количество участников сети;
- Определить стек используемых протоколов;
- На основании пункта 2 принять решение искать данные по убыванию популярности использования трафика;
- Если выясняется, что данные, которые передаются в трафике, не были обработаны дополнительным кодированием, то применять фильтр по тексту.
Примеры разбора трафикаПервое задание для разбора: 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
===========
Похожие новости:
- [Информационная безопасность] Выпущен релиз программного комплекса ViPNet Client для обновленной ОС Аврора
- [Python, Программирование] Как строить красивые графики на Python с Seaborn (перевод)
- [Тестирование IT-систем, JavaScript] Не используйте фикстуры в Cypress и юнит-тесты — используйте фабричные функции (перевод)
- [MySQL, Администрирование баз данных] Развертывание кластера баз данных через Vagrant с помощью ClusterControl (перевод)
- [Информационная безопасность, Лайфхаки для гиков] Как правильно зарегистрировать электронную почту
- [Информационная безопасность, Open source, Системное администрирование, Системное программирование] Защита ядра Linux из ARM Trustzone: как усилить Linux Kernel Runtime Guard и предотвращать последствия zero-day
- [Сетевые технологии, Умный дом] Открытые системы как основа для построения Умного города
- [Информационная безопасность, Исследования и прогнозы в IT] Cyber Risk Index: сравниваем компании по уровню киберзащищённости
- [Информационная безопасность] Security Week 05: sudo, уязвимость в iOS и атака на исследователей
- [Информационная безопасность, Криптография] В библиотеке Libgcrypt нашли серьёзную уязвимость безопасности
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_setevye_tehnologii (Сетевые технологии), #_network, #_network_engineering, #_stp, #_setevoj_trafik (сетевой трафик), #_blog_kompanii_otus (
Блог компании OTUS
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_setevye_tehnologii (
Сетевые технологии
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:24
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Специально для будущих студентов курса «Network engineer. Basic» наш эксперт - Александр Колесников подготовил интересный авторский материал.
Также приглашаем принять участие в открытом онлайн-уроке на тему «STP. Что? Зачем? Почему?». Участники урока вместе с экспертом рассмотрят протокол STP, разберут логику его работы, разберут его преимущества и недостатки. Статья расскажет, как можно работать с сетевым трафиком. На примере нескольких дампов сетевого трафика будет разобрана работа нескольких полезных инструментов, показаны подходы к извлечению и сборке информации из трафика.Инструментарий и методика исследованияДля разбора трафиков будем использовать следующее программное обеспечение: Все инструменты не нуждаются в особенно развернутом представлении, так как являются единственными в своем роде бесплатными решениями для работы с трафиком. Первые два tshark и wireshark вообще предоставляются в составе одного и того же решения. Оба инструмента позволяют выполнять запись и разбор трафика с точки зрения статистики, передаваемых данных и структурах протокола.Попробуем использовать эти инструменты на записанных сетевых трафиках. Все трафики взяты из различных ресурсов и собраны вот здесь, поэтому читатель при желании может самостоятельно провести их анализ по инструкциям из статьи. Disclamer: Все файлы трафиков взяты из различных соревнований CTF, все права на задания принадлежат их авторам.Для исследования трафиков будем придерживаться минимальной стратегии:
Итого у нас 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' ```
Странная часть 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 =========== Похожие новости:
Блог компании OTUS ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_setevye_tehnologii ( Сетевые технологии ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:24
Часовой пояс: UTC + 5