WannaCry (WanaDecryptor): Технические детали заражения

2017-05-15 | Автор | комментарии
Шифровальщик WannaCry (WanaDecryptor) стремительными темпами распространяется по всему миру. Примечательно, что угроза использует украденные эксплойты Агентства национальной безопасности США

Атака WCry уже затронула огромное количество организаций и общественных учреждений по всему миру, включая испанского телекоммуникационного гиганта Telefonica и Национальную службу здравоохранения в Великобритании. Во всем мире зафиксировано несколько десятков тысяч случаев заражения.

Массовое заражение шифровальщиком WannaCryptor - @[email protected]

Исследователь безопасности команды MalwareTech создал интерактивную карту распространения угрозы WannaCrypt. Карта в режиме реального времени визуализирует количество инфекции WCry в мире, на данный момент уже превышена отметка в 200000 случаев заражения.

карта распространения угрозы WannaCry />
</p>

<h3>Шифровальщик WannaCry: знакомство с угрозой</h3>

<p>Троян-вымогатель WCry, известный также как WNCry, WannaCry, WanaCrypt0r или Wana Decryptor (WanaDecryptor), первоначально был обнаружен в феврале 2017 года. Количество заражений увеличилось в марте, но до недавнего момента глобальных атак не было зафиксировано.</p>

<p>Угроза написана на С++, и основная часть кода зловреда не является скрытой. Как и многие другие семейства шифровальщиков, WanaDecryptor переименовывает зашифрованные файлы, добавляя расширение .WNCRY.</p>

<p>После заражения системы, троян-шифровальщик показывает экран с требованием заплатить выкуп в размере 300 долларов биткоинами.</p>

<p>В отличие от многих шифровальщиков, которые нацелены на определенную региональную зону, WCry атакует системы по всему мире. Авторы вредоносной программы создали локализованные сообщения для более 2 десятков языков:</p>

<blockquote>
<p>Болгарский, Китайский (упрощенный), Китайский (Традиционный), Хорватский, Чешский, Датский, Голландский, Английский, Филиппинский, Финский, Французский, Немецкий, Греческий, Индонезийский, Итальянский, Японский, Корейский, Латвийский, Норвежский, Польский, Португальский, Румынский, Русский, Словацкий, Испанский, Шведский, Турецкий, Вьетнамский.</p>
</blockquote>

<h3>Пути заражения шифровальщиком WanaDecryptor</h3>

<p>На данный момент шифровальщик распространяется с помощью эксплойтов ETERNALBLUE Агентства национальной безопасности, к которым получила доступ группировка Shadow Brokers.</p>

<p>ETERNALBLUE эксплуатирует уязвимость в протоколе Microsoft SMBv1 и позволяет киберпреступнику получить полный контроль над системой при условии, что:</p>

<ul>
	<li>На машине жертвы включен протокол SMBv1</li>
	<li>Компьютер доступен из Интернета</li>
	<li>На компьютере жертвы не установлен патч <a href=MS17-010, который был выпущен в марте 2017 года

Кроме того, выясняется, что авторы вредоносной программы использует бэкдор DOUBLESPEAR, который обычно устанавливается с помощью эксплойта ETERNALBLUE и затем сохраняется в системе. Таким образом, если ваша система была ранее взломана посредством ETERNALBLUE, то велика вероятность, что система до сих пор остается уязвимой даже если уязвимость протокола SMBv1 была пропатчена.

Сам исполняемый файл шифровальщика WannaCry представляет собой дроппер, который содержит различные компоненты шифратора в виде защищенного паролем архива ZIP. После запуска файлы распаковывает компоненту угрозы в каталог, в котором происходил запуск зловреда. Архим использует фиксированный пароль “[email protected]”. При детальном инспектировании архива ZIP можно обнаружить следующие файлы:

  • b.wnry – обои рабочего стола шифровальщика
  • c.wnry – файл конфигурации, содержащий адрес сервера C2, кошелек BitCoin и др.
  • r.wnry – текстовый комментарий
  • s.wnry – архив ZIP, содержащий клиент сети TOR
  • t.wnry – модуль шифрования файлов, зашифрованный с помощью собственного формата WanaCry. Может быть расшифрован с помощью закрытого ключа, встроенного в исполняемый файл шифровальщика
  • u.wnry – исполняемый файл дешифровальщика
  • Taskdl.exe – удаляет все временные файлы в процессе шифрования (.WNCRYT)
  • Taskse.exe – выполняет заданную программу во всех сеансах пользователя
  • msg\* – языковые пакеты (на данный момент доступно 28 языков)

Кроме того, в процессе выполнения шифровальщик создает несколько дополнительных файлов:

  • 00000000.eky - ключ шифрования для файла t.wnry, в котором хранится фактический компонент шифрования файлов, используемый программой-вымогателем. Он зашифровывается с использованием открытого ключа, принадлежащего закрытому ключу, встроенному в WannaCry
  • 00000000.pky - открытый ключ, используемый программой-вымогателем для шифрования сгенерированных ключей AES, которые используются для шифрования файлов пользователя
  • 00000000.res - результаты сеанса связи C2

Список всех изменений, внесенных вымогателем в зараженную систему, можно найти в разделе “Признаки заражения” ниже.

Генерация ключа и шифрование

Шифровальщик WCry использует комбинацию алгоритмов RSA и AES-128-CBC для шифрования данных жертвы. Для упрощения процесса шифрования используется Windows CryptoAPI для RSA, но с модифицированной реализацией шифрования AES.

Интересно, что программа шифрования хранится в отдельном компоненте в файле t.wnry и сама зашифровывается с использованием того же метода, который используется шифровальщиком для шифрования пользовательских файлов. Это было сделано, чтобы усложнить анализ вредоносной программы. Модуль загружается в память с помощью модифицированного загрузчика и выполняется прямо из памяти, даже не будучи записанным на диск жертвы в незашифрованном виде.

Когда WCry появляется в системе, он сначала импортирует жесткий ключ RSA, который используется для дешифрования компонента шифрования файлов, хранящегося в файле t.wnry. После этого троян-вымогатель генерирует новый закрытый ключ RSA. Этот ключ RSA затем передается на сервер управления вредоносной программой, а копия сгенерированного открытого ключа сохраняется в системе.

Затем шифровальщик анализирует все доступные диски и сетевые ресурсы и выполняет поиск файлов с одним из следующих расширений:

.der, .pfx, .key, .crt, .csr, .p12, .pem, .odt, .ott, .sxw, .stw, .uot, .3ds, .max, .3dm, .ods, .ots, .sxc, .stc, .dif, .slk, .wb2, .odp, .otp, .sxd, .std, .uop, .odg, .otg, .sxm, .mml, .lay, .lay6, .asc, .sqlite3, .sqlitedb, .sql, .accdb, .mdb, .db, .dbf, .odb, .frm, .myd, .myi, .ibd, .mdf, .ldf, .sln, .suo, .cs, .cpp, .pas, .asm, .js, .cmd, .bat, .ps1, .vbs, .vb, .pl, .dip, .dch, .sch, .brd, .jsp, .php, .asp, .rb, .java, .jar, .class, .sh, .mp3, .wav, .swf, .fla, .wmv, .mpg, .vob, .mpeg, .asf, .avi, .mov, .mp4, .3gp, .mkv, .3g2, .flv, .wma, .mid, .m3u, .m4u, .djvu, .svg, .ai, .psd, .nef, .tiff, .tif, .cgm, .raw, .gif, .png, .bmp, .jpg, .jpeg, .vcd, .iso, .backup, .zip, .rar, .7z, .gz, .tgz, .tar, .bak, .tbk, .bz2, .PAQ, .ARC, .aes, .gpg, .vmx, .vmdk, .vdi, .sldm, .sldx, .sti, .sxi, .602, .hwp, .snt, .onetoc2, .dwg, .pdf, .wk1, .wks, .123, .rtf, .csv, .txt, .vsdx, .vsd, .edb, .eml, .msg, .ost, .pst, .potm, .potx, .ppam, .ppsx, .ppsm, .pps, .pot, .pptm, .pptx, .ppt, .xltm, .xltx, .xlc, .xlm, .xlt, .xlw, .xlsb, .xlsm, .xlsx, .xls, .dotx, .dotm, .dot, .docm, .docb, .docx, .doc, .c, .h

После этого вредоносная программа создает новый 128-разрядный ключ AES для каждого найденного файла, который будет зашифрован с использованием открытого ключа RSA, сгенерированного ранее. Ключ AES с шифрованным RSA хранится в заголовке зашифрованного файла вместе с файлом-маркером "WANACRY!". Затем ключ AES используется для шифрования содержимого файла.

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

Как защититься от WanaDecryptor?

В качестве экстренной меры профилактики заражения убедитесь, что на компьютерах и серверах Windows установлены последние обновления безопасности. Учитывая масштабы атаки, Microsoft даже предприняла неожиданный шаг и выпустила обновления безопасности для “неподдерживаемых систем”, в частности для Windows XP и Windows Server 2003.

Лучше защитой от заражения остается надежная и продуманная стратегия резервного копирования. Единственный способ вернуть доступ к файлам - это заплатить выкуп киберпреступникам или восстановить резервную копию. Также убедитесь, что в системе установлены критические обновления системы, которые помогают серьезно улучшить общую безопасность системы. В частности, уязвимость SMBv1, которую эксплуатирует ETERNALBLUE, была исправлена патчем, который вышел два месяца назад.

Признаки заражения

Реестр

  • HKLM\SOFTWARE\WanaCrypt0r
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\: “” <каталог шифровальщика>\tasksche.exe””
  • HKLM\SOFTWARE\WanaCrypt0r\wd: “<каталог шифровальщика>”
  • HKU\S-1-5-21-677641349-3533616285-3951951702-1000\Control Panel\Desktop\Wallpaper: “%APPDATA%\Microsoft\Windows\Themes\TranscodedWallpaper.jpg”
  • HKU\S-1-5-21-677641349-3533616285-3951951702-1000\Control Panel\Desktop\Wallpaper: “<каталог шифровальщика>\@[email protected]

Файловая система

  • @[email protected] – размещен во всех папках с зашифрованными файлами
  • @[email protected] – размещен во всех папках с зашифрованными файлами
  • %DESKTOP%\@WanaDecryp[email protected]
  • %DESKTOP%\@[email protected]
  • %APPDATA%\tor\cached-certs
  • %APPDATA%\tor\cached-microdesc-consensus
  • %APPDATA%\tor\cached-microdescs.new
  • %APPDATA%\tor\lock
  • %APPDATA%\tor\state
  • <каталог шифровальщика>{PAGE_TEXT}000000.eky
  • <каталог шифровальщика>{PAGE_TEXT}000000.pky
  • <каталог шифровальщика>{PAGE_TEXT}000000.res
  • <каталог шифровальщика>\@[email protected]
  • <каталог шифровальщика>\@[email protected]
  • <каталог шифровальщика>\b.wnry
  • <каталог шифровальщика>\c.wnry
  • <каталог шифровальщика>\f.wnry
  • <каталог шифровальщика>\msg\m_bulgarian.wnry
  • <каталог шифровальщика>\msg\m_chinese (simplified).wnry
  • <каталог шифровальщика>\msg\m_chinese (traditional).wnry
  • <каталог шифровальщика>\msg\m_croatian.wnry
  • <каталог шифровальщика>\msg\m_czech.wnry
  • <каталог шифровальщика>\msg\m_danish.wnry
  • <каталог шифровальщика>\msg\m_dutch.wnry
  • <каталог шифровальщика>\msg\m_english.wnry
  • <каталог шифровальщика>\msg\m_filipino.wnry
  • <каталог шифровальщика>\msg\m_finnish.wnry
  • <каталог шифровальщика>\msg\m_french.wnry
  • <каталог шифровальщика>\msg\m_german.wnry
  • <каталог шифровальщика>\msg\m_greek.wnry
  • <каталог шифровальщика>\msg\m_indonesian.wnry
  • <каталог шифровальщика>\msg\m_italian.wnry
  • <каталог шифровальщика>\msg\m_japanese.wnry
  • <каталог шифровальщика>\msg\m_korean.wnry
  • <каталог шифровальщика>\msg\m_latvian.wnry
  • <каталог шифровальщика>\msg\m_norwegian.wnry
  • <каталог шифровальщика>\msg\m_polish.wnry
  • <каталог шифровальщика>\msg\m_portuguese.wnry
  • <каталог шифровальщика>\msg\m_romanian.wnry
  • <каталог шифровальщика>\msg\m_russian.wnry
  • <каталог шифровальщика>\msg\m_slovak.wnry
  • <каталог шифровальщика>\msg\m_spanish.wnry
  • <каталог шифровальщика>\msg\m_swedish.wnry
  • <каталог шифровальщика>\msg\m_turkish.wnry
  • <каталог шифровальщика>\msg\m_vietnamese.wnry
  • <каталог шифровальщика>\r.wnry
  • <каталог шифровальщика>\s.wnry
  • <каталог шифровальщика>\t.wnry
  • <каталог шифровальщика>\TaskData\Tor\libeay32.dll
  • <каталог шифровальщика>\TaskData\Tor\libevent-2-0-5.dll
  • <каталог шифровальщика>\TaskData\Tor\libevent_core-2-0-5.dll
  • <каталог шифровальщика>\TaskData\Tor\libevent_extra-2-0-5.dll
  • <каталог шифровальщика>\TaskData\Tor\libgcc_s_sjlj-1.dll
  • <каталог шифровальщика>\TaskData\Tor\libssp-0.dll
  • <каталог шифровальщика>\TaskData\Tor\ssleay32.dll
  • <каталог шифровальщика>\TaskData\Tor\taskhsvc.exe
  • <каталог шифровальщика>\TaskData\Tor\tor.exe
  • <каталог шифровальщика>\TaskData\Tor\zlib1.dll
  • <каталог шифровальщика>\taskdl.exe
  • <каталог шифровальщика>\taskse.exe
  • <каталог шифровальщика>\u.wnry
  • C:\@[email protected]

По материалам Emsisoft

596 вариантов WannaCry

Независимая лаборатория AV-Test обнаружила 596 образцов WannaCrypt. Список хэшей SHA256:

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества

Нашли ошибку?