Эксплойт-пак Angler вырвался в лидеры, когда начал различать антивирусы и виртуальные машины и загружать файлы-дропперы в зашифрованном виде. Он также является рекордсменом по скорости освоения новых 0-day-эксплойтов, а его вредоносные коды отрабатывают из памяти, без необходимости записи на жесткий диск.

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

Последние недели Angler не сходит с новостных лент благодаря скорости внедрения серии Flash-эксплойтов 0-day, наводящей на мысль, что группировка, разработавшая Angler, вполне может также стоять и за обнаружением этих уязвимостей.

По словам Абеля Торо (Abel Toro), применяемая в Angler обфускация заслуживает внимания в первую очередь из-за использования тривиальной перестановки для шифрования путей URL. Ниже представлена упрощенная версия обфускации Anlger:

AnglerObfuscation

источник: Websense

 

В остальном же его схема обфускации схожа с применяемыми в других эксплойт-паках, таких как Nuclear. Потенциальная жертва перенаправляется на лендинг-страницу, испещренную простым текстом, создающим иллюзию безопасного и легитимного сайта. Одновременно Anlger в фоновом режиме начинает деобфускацию вредоносных скриптов.

«Эти скрипты находятся в тэгах p class и зашифрованы по base64, — пишет Торо. — Расшифровав строки в base64, можно обнаружить обфусцированный код эксплойт-пака. Также на лендинг-странице есть несколько зашифрованных строк, содержащих URL разных эксплойтов (Flash, Silverlight, Internet Explorer), включенных в набор».

Второй слой обфускации используют и другие эксплойт-паки, чтобы затруднить детектирование. В дополнение к способности распознавать антивирусное ПО Angler умеет также определять, когда исследователь пытается выполнить его код в VMware, VirtualBox, Parallels или на других виртуальных машинах, а также через прокси-отладчик Fiddler, популярный среди ИБ-исследователей. Все эти механизмы самозащиты сильно затрудняют анализ Angler исследователями.

Для обхода систем обнаружения вторжений полезная нагрузка Angler шифруется для передачи по сети жертвы и расшифровывается шелл-кодом на последней стадии передачи. Такая полезная нагрузка, как Bedep, по словам Торо, сама по себе опасности не представляет, но используется для загрузки других зловредов.

«Полезная нагрузка состоит из шелл-кода и Bedep DLL, — поясняет Торо. — Если первыми байтами являются «909090» (что, согласно транслятору x86, означает NOPs или No Operations), DLL будет загружена в память, в противном случае она будет записана на диск как обычный файл-дроппер. За запуск DLL из памяти отвечает шелл-код».

Категории: Аналитика, Вредоносные программы, Главное