Приветствую, уважаемый читатель!
На просторах интернета
наткнулся на вакансию от яндекса - https://yandex.ru/jobs/vacancies/maintenance/infrstrsec_spec/
специалиста по инфраструктурной безопасности. Сама вакансия не особо
интересовала, а вот тестовые задания меня заинтересовали, особенно 2-е задание,
которое заключается в анализе pcap-файла с трафиком,
сгенерированным каким-то эксплойт-паком. Мне оно показалось интересным,
и я постарался ответить на поставленные вопросы.
Итак,
перечень поставленных вопросов.
Базовые:
Дата
и время активности
IP-адрес
зараженной Windows-машины
MAC-адрес
зараженной Windows-машины
Имя
зараженной Windows-машины
Доменное
имя скомпрометированного сайта
IP-адрес
скомпрометированного сайта
Доменное
имя сайта, откуда загружены exploit kit и полезная нагрузка
IP-адрес
сайта, откуда загружены exploit kit и полезная нагрузка
Расширенные:
Какой
exploit kit был загружен (Nuclear, Neutrino и т.п.)?
Какой
redirect URL ведет на landing-страницу exploit-kit?
Сколько
раз полезная нагрузка была передана?
Какие
HTTP-запросы (GET или POST) выполнены после заражения?
Трафик,
естественно, будем анализировать Wireshark’ом.
Обобщенный алгоритм атаки с использованием эксплойт-паков следующий:
пользователь ходит по разным сайтам и натыкается на сайт, который содержит
ссылку (редирект) на сайт подконтрольный злоумышленнику. Автоматически перейдя
по ссылке, в браузер пользователя загружается скрипт или объект (обычно javascript), который определяет наличие
в браузере и его компонентах уязвимостей. Если потенциальные уязвимости
найдены, осуществляется попытка их эксплуатации.
Начнем
с определения зараженной Windows-машины. Характерным признаком вредоносной
активности являются http-запросы
от клиентов на адреса страниц, которые состоят из бессмысленного набора букв и
цифр. Поэтому первое что делаем, фильтруем все HTTP-GET запросы:
http.request.method ==
"GET"
Как
видно, наибольшее подозрение вызывает серый IP-адрес – 192.168.204.137, который
шлёт get-запросы
на страницы, которые в здравом уме ты вводить не будешь, а следовательно,
запросы выполняются скриптом автоматически.
Исходя
из этого, я предполагаю, что IP-адрес
зараженной Windows-машины
– 192.168.204.137.
MAC-адрес определяем из
любого пакета отправленного с IP-адреса 192.168.204.137, а именно – 00:0c:29:9d:b8:6d.
Осталось
выяснить имя зараженной Windows-машины.
Долго
думал как его достать, пока не вспомнил про DHCP. Данный протокол нужен для
динамического конфигурирования сетевых интерфейсов рабочих станций, при настройке
клиент и сервер DHCP
обмениваются
различными сообщениями, которые могут содержать имя Windows-машины запросившей
в аренду IP-адрес.
Вбиваем в Wireshark следующий
фильтр:
bootp
и видим сообщение DHCPINFORM,
в котором клиент сообщает, что ему назначен статический IP-адрес. Среди прочего
видим параметр Host Name - 38NTRGDFQKR-PC. Имя зараженной Windows-машины
- 38NTRGDFQKR-PC.
Так,
с зараженной машиной закончили.
Приступаем
к определению доменного имени сайта, откуда загружены exploit kit и полезная
нагрузка, и его IP-адреса.
Тут
всё просто. Выясняя IP-адрес
зараженной машины, мы определили адрес назначения кучи подозрительных get-запросов, а именно - 205.234.186.111. В ответ на все запросы, данный адрес отвечает нам различными объектами в поиске рабочего эксплойта.
Первый
get-запрос
следующий (запрос landing page):
GET
/6ktpi5xo/PoHWLGZwrjXeGDG3P-I5 HTTP/1.1
Accept: image/jpeg, application/x-ms-application,
image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap,
application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword,
*/*
Referer: http://www.excelforum.com/
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows
NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR
3.0.30729)
Accept-Encoding: gzip, deflate
Host: digiwebname.in
Connection:
Keep-Alive
Как
вы видите, из заголовка Host,
можно легко определить доменное имя сайта с эксплойт-паком - digiwebname.in (если посмотреть трафик до первого get-запроса, то можно увидеть DNS-запрос на определение IP digiwebname.in), а из заголовка Referer, определить доменное
имя скомпрометированного сайта - www.excelforum.com.
Смотрим остальные get-запросы (с заголовком Host - excelforum.com) и
определяем IP-адрес скомпрометированного сайта – 69.167.155.134
Осталось
определить дату и время активности. Я не придумал ничего лучшего, чем
посмотреть время, проставляемое web-сервером
эксплойт-пака в ответе на первый get-запрос:
HTTP/1.1 200 OK
Server: nginx/1.4.4
Date: Mon, 08 Dec 2014 23:20:09 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Cache-Control: no-store, no-cache, must-revalidate
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Mon, 08 Dec 2014 23:20:09 GMT
Pragma: no-cache
Таким
образом, время - 08 Dec
2014
23:20:09 (8 декабря 2014, 23:20).
И
список ответов целиком:
- Дата и время активности
8
декабря 2014, 23:20
- IP-адрес зараженной Windows-машины
192.168.204.137
- MAC-адрес зараженной Windows-машины
00:0c:29:9d:b8:6d
- Имя зараженной Windows-машины
38NTRGDFQKR-PC
- Доменное имя скомпрометированного сайта
www.excelforum.com
- IP-адрес скомпрометированного сайта
69.167.155.134
- Доменное имя сайта, откуда загружены exploit kit и полезная нагрузка
digiwebname.in
- IP-адрес сайта, откуда загружены exploit kit и полезная нагрузка
205.234.186.111
Доп.
вопросы:
Какой
exploit
kit
был
загружен (Nuclear,
Neutrino
и
т.п.)?
-
Какой redirect URL ведет на landing-страницу exploit-kit?
-
Сколько раз полезная нагрузка была
передана?
Насчитал
14 различных переданных payloads
от эксплойт-пака.
Какие
HTTP-запросы (GET или POST) выполнены после заражения?
Вроде
был передан только 1 http-POST запрос:
27.417099 192.168.204.137 209.239.112.229 49288 80 HTTP 186 POST
/ HTTP/1.1
Вот
как-то так)
Комментариев нет:
Отправить комментарий