🖧 Используйте tcpdump для мониторинга HTTP-трафика и извлечения конфиденциальных данных, таких как пароль и файлы cookie |

🖧 Используйте tcpdump для мониторинга HTTP-трафика и извлечения конфиденциальных данных, таких как пароль и файлы cookie

Мануал

Вы уже знакомы с основами tcpdump из нашего руководства.

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

Давайте применим tcpdump к практической работе.

Навыки, которые вы здесь отрабатываете, также соответствуют задачам CompTIA Security+ или ролям сетевой безопасности.

В этом практическом руководстве мы рассмотрим примеры на тестовом сайте http://testphp.vulnweb.com для фильтрации получаемых, публикуемых и конфиденциальных данных.

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

🐧 Получение информации о сетевых соединениях с помощью tcpdump на Linux

Наблюдение за поведением сети

sudo tcpdump -i eth0 host testphp.vulnweb.com

Он фиксирует трафик, поступающий в систему и из нее testphp.vulnweb.com.

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

  • Определите внутреннюю инфраструктуру и уязвимые IP-адреса
  • Проверьте, передаются ли конфиденциальные данные в виде открытого текста
  • Отслеживайте размер и время отклика для обнаружения аномалий
  • Убедитесь, что соединение работает стабильно (подтверждения, повторные передачи)

Исходя из приведенных выше результатов, давайте увеличим масштаб этой части:

23:55:01.936700 IP 192.168.64.3.52526 > ec2-44-228-249-3.us-west-2.compute.amazonaws.com.http:
Flags [P.], length 339: HTTP: GET / HTTP/1.1

23:55:02.133596 IP ec2-44-228-249-3.us-west-2.compute.amazonaws.com.http >
192.168.64.3.52526:
Flags [P.], length 2559: HTTP: HTTP/1.1 200 OK

Flags [.], ack ..., length 0
Разберем это на части:
Строка / Поле Что показывает
192.168.64.3.52526 > ec2-... Ваш локальный компьютер (порт источника 52526) обращается к хосту AWS EC2 на порт 80 (HTTP).
Flags [P.] length 339 PSH + ACK = этот пакет содержит данные, HTTP-запрос GET.
ec2-... > 192.168.64.3.52526 Ответ сервера обратно вам в рамках той же сессии TCP.
length 2559: HTTP/1.1 200 OK Полезная нагрузка размером 2,5 КБ от сервера подтверждает успешный ответ (200 ОК).
Flags [.], ack ..., length 0 Простые пакеты подтверждения ACK, без полезной нагрузки, обычные служебные операции протокола TCP.
Регулярно проводите мониторинг конечных точек для раннего обнаружения необычных скачков трафика или неправильно настроенных служб.
Не используйте это для несанкционированного сканирования.

Выполните фильтрацию на уровне полезной нагрузки TCP

Прежде чем использовать уровень полезной нагрузки TCP, вы должны сначала разобраться в заголовке TCP.
Каждый сегмент TCP имеет заголовок, содержащий информацию, необходимую для надежной передачи.
Смещение (байты) Размер (байты) Размер (биты) Назначение / описание
0–1 2 16 Номер порта отправляющего процесса на машине-отправителе
2–3 2 16 Номер порта принимающего процесса на удалённом сервере
4–7 4 32 Идентификатор последовательности передаваемых данных
8–11 4 32 Подтверждение принятых ранее пакетов
12 (биты 0–3) 4 Смещение начала данных относительно конца заголовка
12 (биты 4–6) 3 Резервные биты, зарезервированы для будущего расширения
12–13 (биты 7–15) 9 Флаги управления состоянием соединения TCP
14–15 2 16 Максимальное число ожидаемых байтов данных (размер окна приёма)
16–17 2 16 Контрольная сумма пакета
18–19 2 16 Указатель на позицию первых срочных данных в пакете (редко используется)
20–59 0–40 0–320 Необязательные поля, содержащие дополнительные настройки и расширение базового формата заголовка

Зная смещение данных, вы можете проверять местоположения начала загрузки.

Это помогает отслеживать HTTPметоды и заголовки для аудита, не изменяя трафик.

Давайте взглянем на этот фильтр:

tcp[((tcp[12:1] & 0xf0) >> 2):4]

При этом извлекаются первые четыре байта полезной нагрузки на основе смещения данных, что является ключом к безопасному мониторингу запросов GET/POST.

Захват HTTP-запросов GET

Приведенная ниже команда выбирает пакеты, полезная нагрузка которых начинается с 0x47455420, что является шестнадцатеричным кодом для ‘GET’.

sudo tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

Перехват HTTP POSTзапросов

Приведенная ниже команда сопоставляет пакеты, полезная нагрузка которых начинается с 0x504f5354, шестнадцатеричного значения POST.

sudo tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'

Использование grep и egrep для получения пароля и файлов cookie

Вы можете использовать egrep для поиска текста с использованием шаблонов.
В отличие от grep, egrep поддерживает расширенные регулярные выражения, поэтому вы можете сопоставлять сразу несколько шаблонов, используя
символы типа | (ИЛИ) или () для группировки.

Мониторинг конфиденциальных почтовых данных

sudo tcpdump -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|pass=|password=|Host:"

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

Регулярно проверяйте, чтобы учетные данные никогда не передавались по протоколу HTTP.

sudo tcpdump -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:'

Это полезно для:

  • Проверки идентификаторов сеансов и файлов cookie для безопасной передачи.
  • Убедитесь, что используются флаги Secure и HttpOnly.

Используйте это для проверки безопасности файлов cookie и политики обработки сеансов.

Никогда не перехватывайте файлы cookie от неавторизованных пользователей.

Извлечение пользовательских агентов HTTP

В данном случае мы используем только один шаблон, поэтому просто используйте grep:

sudo tcpdump -nn -A -s1500 -l | grep "User-Agent:"

Полезно для:

  • Определения того, какие клиенты или автоматизированные инструменты взаимодействуют с вашим сервисом.
  • Выявления неправильно настроенных сканеров или неавторизованных ботов.

Используйте это для профилирования трафика и обнаружения аномалий.

Помогает применять внутренние политики безопасности.

Заключение

tcpdump – это легкий, но мощный инструмент мониторинга для инженеров по безопасности.

Он позволяет безопасно отслеживать данные, выявлять аномалии и отслеживать сетевую активность, не нарушая работу.

Интегрируйте мониторинг tcpdump в рабочие процессы SOC или автоматизированные сценарии, чтобы выявлять потенциальные проблемы в режиме реального времени.

Всегда действуйте в пределах разрешенных границ.

см. также:

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий