Почему атаки вирусов-вымогателей будут повторяться: разбираем Petya
В конце июня произошла новая атака с применением вредоносного ПО для вымогательства (ransomware). Атака, получившая название Petya (NotPetya), последовала сразу за аналогичной атакой WannaCry с применением схожих инструментов. В чем технические особенности атак вымогателей, и не становятся ли они опасным трендом?
Атаки WannaCry и Petya очень похожи. Обе использовали разработанный специалистами американского Агентства национальной безопасности эксплойт EternalBlue и бэкдор DoublePulsar. Также при атаке Petya шифруются файлы с последующим вымогательством денег за обещание расшифровки.
Атака WannaCry затронула более 230 тыс. компьютеров в 150 странах. По мере роста опыта хакеров и утечки новых инструментов, разработанных правительственными организациями, масштаб атак будет расти. Нельзя исключать, что WannaCry и Petya были лишь подготовкой к будущим глобальным атакам, нацеленным на недавно обнаруженные уязвимости.
К сожалению, несмотря на широкое освещение в СМИ и выпуск патчей от Microsoft, проблема остается актуальной. Перед ransomware по-прежнему уязвимы большинство отраслей, включая критические объекты инфраструктуры в энергетике, финансовой сфере и на транспорте.
Способы атаки. Важное отличие от WannaCry
Petya — в некотором смысле ожидаемая эволюция ransomware WannaCry. По первоначальным данным, Petya атакует компьютер жертвы через зараженные документы MS Office, и компания Microsoft уже выпустила соответствующий патч, закрывающий уязвимость CVE-2017-0199.
Атака действует, как червь ransomworm, зондируя SMB-сервер и распространяясь через EternalBlue и WMIC. Червь пытается нарушить и зашифровать главную загрузочную запись (MBR), что делает недоступным данные на дисках и операционную систему. Если червю не удается это сделать, он шифрует только файлы, как это делал WannaCry. Затем жертва получает требование заплатить выкуп и угрозу полностью удалить данные в случае выключение компьютера. То есть, в отличие от WannaCry, атака Petya торопит жертву как можно скорее отправить деньги злоумышленникам. Разумеется, без гарантий восстановления данных. Теоретически, восстановить можно отдельные файлы, но из-за повреждения MBR всю систему восстановить невозможно.
Надо отметить, что программное обеспечение Petya применяет дополнительные векторы атаки. Поэтому исправлений, установленных после атаки WannaCry, недостаточно для защиты от Petya. Необходим комплексный подход и хорошие инструменты безопасности. В частности, продукты ATP, IPS и NGFW компании Fortinet смогли защитить пользователей от всех векторов атаки. Также команда Fortinet AV выпустила новую антивирусную сигнатуру для первой линии защиты от Petya в течение нескольких часов после выявления глобальной атаки.
Технические аспекты вторжения в систему
Вредоносное программное обеспечение определяется как W32/Petya.EOB!Tr и поступает в виде DLL. Первые действия вируса — попытка получить три привилегии на токен SeShutdownPrivilege, SeDebugPrivilege и SeTcbPrivilege.
Затем вредоносное ПО проверяет выполняемые процессы, выполняя хэш на названии процесса. После проверки запущенных процессов Petya получает собственное имя файла. Это важный момент, поскольку Petya будет использовать его как своего рода killswitch (выключатель).
После проверки своей командной строки Petya контролирует установку флага для скорректированных привилегий токена в значение «2». Это означает, что SeDebugPrivilege включен. Если это так, он пропускает два вызова функций и переходит к завершению работы системы.
Если флаг не «2», Petya вызывает две функции. Первая — Msub_CreateWindowsFile — через PathFileExistsW проверяет наличие файла. Если он существует, вредоносное ПО завершает работу, что является возможной функцией killswitch, прекращающей атаку.
Имя файла killswitch хранится в области памяти pszPath. Чтобы узнать, что хранится в этой области памяти, нужно войти в функцию Msub_AppendToWindir.
На изображении выше представлен полный путь и название файла DLL, который использовали в тестах специалисты Fortinet — C:\_ Virus\Petya.dll.
Код действует следующим образом: первый вызов API PathFindFileNameW возвращает Petya.dll (удаляет имя каталога); второй вызов API PathCombineW объединяет путь C:\Windows с именем файла, в результате чего получается путь C:\Windows Petya.dll; третий вызов API PathFindExtensionW с параметром C:\Windows\Petya.dll возвращает адрес имени расширения (.dll); этот адрес хранится в регистре EAX; вредоносное ПО сохраняет значение 0x00 по этому адресу, завершая строку; теперь строка изменена на C:\Windows\Petya, и вредоносный софт выходит из функции.
Таким образом, известно, что Petya проверяет при вызове PathFileExistsW. В приведенном примере это C:\Windows\Petya. Если данный файл существует, вредоносное ПО вызывает процесс ExitProcess. Это не такой простой killswitch, как в случае WannaCry, поскольку название файла, который получает жертва, может измениться.
Настоящая цель атаки — не вымогательство?
Если Petya удавалось зашифровать MBR, жертва получала требование заплатить 0,9 биткоинов, а если только файлы — 1,93 биткоинов. Кроме того, 5 июля появилось сообщение о том, что авторы атаки якобы предлагают ключ для дешифрования за 100 биткоинов, или примерно за $250 тыс.
Однако за первую волну глобальной атаки Petya хакеры, по разным оценкам, получили всего около $10 тыс. Поэтому некоторые эксперты полагают, что настоящей целью атаки было не вымогательство, а нанесение масштабного ущерба коммерческим и правительственным организациям. Косвенным доказательством является необратимое повреждение операционной системы и инициализация перезагрузки.
Тем не менее, важен сам факт вымогательства денег. Ранее такие случаи были редкостью, так как движение денежных средств можно было легко отследить и выйти на злоумышленников. С появлением биткоинов и сервисов по отмыванию криптовалют преступники все чаще пытаются получить прямую финансовую выгоду от атак. Вероятно, в будущем атаки ransomware будут случаться чаще, так как киберпреступники рассчитывают безопасно получать деньги с помощью криптовалют.
В настоящее время очевидно, что слишком многие организации уделяют недостаточно внимания кибербезопасности. Эксплойты атак нацелены на известные уязвимости, патчи для исправления которых существуют уже длительное время. Тем не менее, организации не устанавливают эти патчи, не говоря уже о более совершенных инструментах для обнаружения и блокирования эксплойтов.
В то же время, в ближайшее десятилетие большинство работников узнают, что такое кибератака на их бизнес. Вероятно, сотрудники станут более ответственными, будут лучше защищать конфиденциальную информацию, обновлять пароли, сообщать о подозрительных письмах и не нажимать на сомнительные ссылки.
Сергей Ласкин, менеджер по развитию бизнеса Fortinet