Поиск данных с помощью Wireshark

4 июня 2010  |  Рубрики: Wireshark

Рассмотрим нетривиальную задачу…

Мы можем снять трейсы определенного интерфейса и рассчитываем достать из этих трейсов нужную нам информацию (например, zip архив, интересующий нас jpeg файл или секретный PDF документ).


Итак, поехали…

1. Способ Follow TCP stream

Для использования этого метода, нам нужно точно знать, что искомые данные находятся в определенном пакете. Определить это можно «увидев» передачу данных в потоке TCP. На пакете, в котором мы предполагаем велась передача данных, нажимаем правой кнопкой и выбираем Follow TCP Stream (см. рисунок ниже):

Wireshark trace

 

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

Wireshark trace

 

Хочу отметить несколько очень важных моментов (см. следующий рисунок):

    1. Если Вы точно не знаете расширение сохраняемого файла, то заголовок файла может помочь Вам его «опознать» – в нашем случае JFIF указывает что это jpg файл.

Хозяйке на заметку: файлы, начинающиеся с «MZ» являются исполняемыми.

  1. Также важно выбрать направление в котором велась передача файла, т.е. выбрать направление либо от сервера к клиенту, либо наоборот – определить это можно по IP адресам.
  2. Необходимо выбрать сохранение файла из «Raw» данных.

 

Wireshark trace

 

2. Фильтр data contains

Один из самых простых способов найти нужный нам пакет, жаль только не всегда срабатывает этот метод 🙂

В поле фильтра можно вбить:
data contains “SYS” – например, для поиска строковых значений в полях data, содержащих значение SYS (см. рисунок ниже).

Wireshark trace

 

Дальнейшие действия полностью совпадают с первым пунктом, т.е. выбрать пакет, содержащий необходимую нам информацию, нажать правой кнопкой – выбрать Follow TCP stream, а затем сохранить файл, указав его расширение.

В понимании Wireshark, этот фильтр воспринимается как поиск пакетов, содержащих «полезную нагрузку», т.е. те данные которые не принадлежат определенному протоколу и которые Wireshark не может расшифровать дальше.

Фильтр похож на поиск, реализованный по ссылке Edit => Find Packet (см. рисунок ниже):

Wireshark tracee

 

Следует быть внимательным с этим фильтром, т.к. если искомая строка не будет попадать в поле «data», то Wireshark ничего не найдет.

3. Фильтр frame[х]

Для того, чтобы воспользоваться этим методом, нам необходимо знать hex значение для ASCII символов типа файлов, которые мы ищем, т.к. фильтр frame[] принимает в качестве параметров только значения hex. Например, если мы ищем в трейсе файлы pdf, то нам необходимо знать hex значение для ASCII символов PDF. Узнать значения можно с помощью любого hex редактора. Я воспользуюсь бесплатной программой FileAlyzer.

Для этого необходимо открыть любой документ pdf в программе и перейти на закладку «Hex dump», а затем на закладку «Hex / Strings (new)». Здесь мы видим, что ASCII последовательности символов %PDF соответствует hex значение 25:50:44:46 (см. рисунок ниже).

Wireshark trace

 

Теперь в Wireshark’e, в строке фильтра вбиваем значение полученные из FileAlyzer.
Для этого вбиваем в поле фильтра следующие данные:

frame[54:4] == 25:50:44:46, где

54 (десятичное) = 0x36 (hex) означаем оффсет, т.е. начало поиска, позицию с которой будем искать указанное значение (см. рисунок ниже):

Wireshark trace

 

4 – означает, что мы ищем 4 байта информации, со значением указанным после ==
25:50:44:46 – hex значение ASCII символов %PDF (см. рисунок ниже).

Wireshark trace

 

Главное в этом фильтре не ошибиться со значением Offset’a, если «промахнуться» то Wireshark не отобразит пакет с таким значением.

Дальнейшие действия полностью совпадают с первым пунктом, т.е. выбрать пакет, содержащий необходимую нам информацию, нажать правой кнопкой – выбрать Follow TCP stream, а затем сохранить файл, указав его расширение.

Да, кстати, к чему это я о поиске файлов и GPRS

Если у нас «случайно» есть доступ к Gn интерфейсу (между SGSN‘ом и [[GGSN’]]ом), то с помощью Wireshark мы можем снять трейс, указав в качестве протокола GTP и воспользовавшись одним из рассмотренных способов достать конфиденциальные данные.

Попробую это сделать с помощью Follow TCP stream, на «случайно» снятом трейсе передачи MMS на email с Gn интерфейса (см. рисунок ниже).

Wireshark trace

 

Пришлось выбрать только часть, относящуюся к данным картинки (см. рисунок ниже):

Wireshark trace

 

В итоге получаем сверхсекретный рисунок:

hacker cat

 

Это конечно же не единственные способы поиска нужных нам файлов в снятом трейсе с помощью Wireshark, но и с их помощью уже можно найти некоторые данные. В следующей статье, я покажу как можно реализовать MITM атаку для GPRS сети, используя как раз Wireshark и доступ к Gn интерфейсу.

If you enjoyed this post, make sure you subscribe to my RSS feed!
Автор:
0 комментариев | 4 932 просмотров

Поля отмеченные * нужно в любом случае заполнить. Пожалуйста, не оставляйте ссылки на интернет-магазины, коммерческие сайты и аналогичные им сообщения - они будут расценены как спам и будут удаленны. Кстати, это dofollow блог.

 

?Раньше искали

CombiSGSN GGSN SGSN GPRS Attach PDP Context SMS over GPRS SMSC GTP-C GTP-U IMSI 

!На хостинг

#Счетчики

Rambler's Top100