Обнаружен способ которым Flame осуществляет инъекцию кода в Windows

Обнаружен способ которым Flame осуществляет инъекцию кода в Windows

Исследователи продолжают восхищаться сложностью трояна Flame (Flamer, Skywiper). Прошло несколько месяцев с момента его обнаружения, но анализ кода продолжается до сих пор. Очередную порцию аналитики вчера опубликовала польская компания CERT Polska, их отчёт посвящён методам внедрения кода Flame в процессы Windows.

Исследователи отмечают, что инъекция кода в процессы и треды считается традиционной техникой работы вирусов, но Flame — это особый случай, потому что здесь данный метод доведён до совершенства. Перенос кода между процессами происходит на протяжении всего цикла жизнедеятельности трояна, начиная от инсталляции, и заканчивая самоуничтожением. «Flame использует эту технику для переноса и копирования своих элементов в разные части операционной системы жертвы с потрясающей ловкостью», — пишут исследователи.

 

Они рассказывают, как после заражения через эксплойт уязвимости MS10-061 код Flame запускается программой rundll32.exe, после чего внедряется в services.exe, а оттуда — в разные компоненты Windows, в том числе в процесс explorer.exe. В дальнейшем фрагменты кода из разных процессов начинают синхронизировать свои действия: код в explorer.exe ждёт команды от services.exe, после чего создаёт процесс iexplore.exe. В дальнейшем коммуникация между services.exe и iexplore.exe продолжается через именованный канал, причём его имя может генерироваться из случайных символов и отличаться между разными инсталляциями. Тред из services.exe записывает указания в именованный канал, а процесс iexplore.exe получает и исполняет их, пишет xakep.ru.

Все эти сложности с коммуникациями между тремя процессами необходимы для того, чтобы затруднить обнаружение трояна. Если explorer.exe пытается выйти в интернет (например, как это сделано в SpyEye), то это неизбежно вызовет подозрение у файрвола и антивирусной программы. В модульной системе Flame в интернет выходит только процесс iexplorer.exe, что не вызывает никаких подозрений. Запуск iexplorer.exe через explorer.exe тоже является естественной процедурой, ведь пользователи Windows именно так запускают браузер. Вот почему Flame использует explorer.exe в качестве прокси.

 

ТСПУ начали перенаправлять DNS-запросы к Google и Cloudflare на НСДИ

С вечера 26 августа открытые DNS-запросы к серверам Google и Cloudflare начали перехватываться на российских технических средствах противодействия угрозам (ТСПУ). При обычном UDP-запросе к этим серверам для доменов YouTube и RuTracker возвращался ответ NXDOMAIN, будто таких адресов вообще не существует. Однако запрос по TCP успешно доходил до сервера и получал настоящие IP-адреса.

Об этом сообщил пользователь Хабра angry_agent, изучивший поведение адресов 8.8.8.8 и 1.1.1.1.

Анализ трафика показал ещё более интересную картину. Когда автор отправил DNS-запрос с малым значением TTL, в ответе ICMP TTL Exceeded обнаружился адрес 195.208.5.1, принадлежащий Национальной системе доменных имён (НСДИ), хотя исходный пакет предназначался для 8.8.8.8.

С произвольными UDP-пакетами такой подмены не происходило, система реагировала именно на DNS-трафик.

По версии исследователя, ТСПУ распознаёт открытый DNS-запрос и выполняет направленный DNAT: незаметно меняет адрес назначения и отправляет пакет на сервер НСДИ. Тот уже решает, какой ответ вернуть пользователю. При этом для оператора связи запрос выглядит направленным не к Google, а сразу к НСДИ.

Механизм оказался неидеальным. При быстрой отправке нескольких одинаковых запросов первый получал NXDOMAIN, а следующие всё-таки добирались до Google и возвращали реальные адреса. Кроме того, перенаправление срабатывало не для всех DNS-серверов.

Официального подтверждения такого механизма пока нет, выводы основаны на эксперименте одного пользователя. Напомним, вчера мы писали, что ользователи сразу нескольких российских операторов пожаловались на проблемы с защищёнными DNS-сервисами Google и Cloudflare.

RSS: Новости на портале Anti-Malware.ru