Пожалуйста, обратите внимание, что пользователь заблокирован
Предыстория
24 апреля 2019 года наша система обнаружения неизвестных угроз выделила подозрительный файл ELF, который был отмечен несколькими поставщиками как троян, связанный с майнингом на VT. Мы не можем подтвердить, что у него есть связанный с майнингом модуль, но мы видим, что он начинает выполнять функцию DDoS.
Сам файл является Backdoor на основе Lua, мы назвали его Godlua Backdoor, так как файл байт-кода Lua, загруженный этим примером, имеет магическое число «Бог».
Godlua Backdoor имеет резервный механизм связи для соединения C2, комбинация жестко закодированного имени DNS, Pastebin.com, GitHub.com, а также DNS TXT используются для хранения адреса C2, что не часто встречается. В то же время он использует HTTPS для загрузки файлов байт-кода Lua и использует DNS поверх HTTPS для получения имени C2, чтобы обеспечить безопасную связь между ботами, веб-сервером и C2.
Мы заметили, что уже есть 2 версии Godlua Backdoor и продолжаются обновления. Мы также заметили, что злоумышленники используют команду Lua для динамического запуска кода Lua и инициирования атак HTTP Flood, направленных на некоторые веб-сайты.
Обзор
В настоящее время мы видим, что существует две версии Godlua. Версия 201811051556 получена путем обхода серверов загрузки Godlua, и на ней не было обновлений. Версия 20190415103713 ~ 2019062117473 активна и активно обновляется. Все они написаны на C, но активный поддерживает больше компьютерных платформ и больше функций. Ниже приведено сравнение.
Godlua Backdoor. Обратный анализ
Версия 201811051556
Это версия, которую мы нашли ранее (201811051556). Он ориентирован на платформу Linux и поддерживает два вида инструкций C2 для выполнения системных команд Linux и для запуска пользовательских файлов.
Пример информации
С2 резервный механизм
В этой версии связь C2 осуществляется двумя способами: жестко закодированным доменным именем и ссылкой Github.
Его домен: d.heheda.tk
У этого также есть страница Github, и реальный адрес C2 находится в описании проекта.
Инструкция C2
cmd_call, выполнять системные команды Linux
cmd_shell, выполнить пользовательский файл
Анализ протокола C2
Формат пакета
Алгоритм шифрования
Ключ XOR генерируется случайным образом из 16 байтов данных, алгоритм выглядит следующим образом:
Обзор пакетов
cmd_handshake
cmd_heartbeat
Версия 20190415103713 ~ 20190621174731
Эта активная версия работает как в Windows, так и в Linux.
Модуль управления реализован на Lua и поддерживается пять команд C2
Пример информации
версия 20190415103713
Версия 20190621174731
Избыточный механизм С2
Этап-1 URL
Бэкдор использует 3 различных способа хранения URL-адреса Stage-1. Зашифрованный зашифрованный текст, описание проекта Github и Pastebin text.
После получения и дешифрования URL-адреса Stage-1 будет загружен файл start.png, который фактически является байт-кодом Lua.
Затем бот загружает его в память и выполняет, чтобы получить URL-адрес этапа 2.
Алгоритм шифрования
Версия 20190415103713
Здесь, на этапе 2, используются два механизма для хранения URL-адреса этапа 2, файла проекта Github и DNS через HTTPS.
После извлечения и дешифрования URL-адреса этапа 2 будет загружен файл run.png, а также байт-код Lua.
Бот загрузит этот файл в память и запустит его, чтобы получить Stage-3 C2.
Алгоритм шифрования
DNS через HTTPS-запрос:
Этап 3 C2 жестко закодирован в файле байт-кода Lua (run.png). Мы разобрали его, чтобы получить следующую информацию.
Версия 20190415103713
Версия 20190621174731
DNS через HTTPS-запрос
C2 инструкция
| CMD | Type |
| --------- | ---- |
| HANDSHAKE | 1 |
| HEARTBEAT | 2 |
| LUA | 3 |
| SHELL | 4 |
| UPGRADE | 5 |
| QUIT | 6 |
| SHELL2 | 7 |
| PROXY | 8 |
Анализ протокола C2
Формат пакета
Обзор пакетов
HANDSHAKE
HEARTBEAT
Мы наблюдали, как злоумышленник выполняет атаку HTTP Flood против www.liuxiaobei.com.
Анализ сценариев Lua
Пример Bot загружает множество сценариев Lua при выполнении, и сценарии можно разбить на три категории: выполнить, помогать и атаковать.
Все дешифрованные файлы предварительно скомпилированы, возьмем в качестве примера файл upgrade.png, обратите внимание, что выделенная часть является заголовком файла.
Вы можете видеть, что магическое число изменилось с «Lua» на «God».
Автор вредоносного ПО, похоже, также устанавливает ловушку для исследователя, вручную изменяя число LuaVerion в образце на 5.1.4 ($ LuaVersion: God 5.1.4 C $$ LuaAuthors: R. $). Мы считаем, что реальная версия должна быть определенно новее, чем 5.2.
Декомпилировать
Чтобы декомпилировать вышеуказанный скрипт, мы должны знать, какие изменения были внесены в Lua. После некоторого анализа мы пришли к выводу, что модификацию можно разделить на два основных раздела: Lua Header и Lua Opcode.
Декомпилировано Luadec [1]
Предложения
Нам еще предстоит увидеть полную картину того, как именно Backdoor Godlua заражает цели, на данный момент мы знаем, что по крайней мере некоторые пользователи Linux были заражены с помощью эксплойта Confluence (CVE-2019-3396), если у наших читателей есть больше информации, чувствуйте свободно связаться с нами.
Мы предлагаем хотя бы отслеживать и блокировать соответствующие IP-адреса, URL-адреса и доменные имена Godlua Backdoor в вашей сети.
Список IoC
MD5
URL
C2 Domain
IP
24 апреля 2019 года наша система обнаружения неизвестных угроз выделила подозрительный файл ELF, который был отмечен несколькими поставщиками как троян, связанный с майнингом на VT. Мы не можем подтвердить, что у него есть связанный с майнингом модуль, но мы видим, что он начинает выполнять функцию DDoS.
Сам файл является Backdoor на основе Lua, мы назвали его Godlua Backdoor, так как файл байт-кода Lua, загруженный этим примером, имеет магическое число «Бог».
Godlua Backdoor имеет резервный механизм связи для соединения C2, комбинация жестко закодированного имени DNS, Pastebin.com, GitHub.com, а также DNS TXT используются для хранения адреса C2, что не часто встречается. В то же время он использует HTTPS для загрузки файлов байт-кода Lua и использует DNS поверх HTTPS для получения имени C2, чтобы обеспечить безопасную связь между ботами, веб-сервером и C2.
Мы заметили, что уже есть 2 версии Godlua Backdoor и продолжаются обновления. Мы также заметили, что злоумышленники используют команду Lua для динамического запуска кода Lua и инициирования атак HTTP Flood, направленных на некоторые веб-сайты.
Обзор
В настоящее время мы видим, что существует две версии Godlua. Версия 201811051556 получена путем обхода серверов загрузки Godlua, и на ней не было обновлений. Версия 20190415103713 ~ 2019062117473 активна и активно обновляется. Все они написаны на C, но активный поддерживает больше компьютерных платформ и больше функций. Ниже приведено сравнение.
Godlua Backdoor. Обратный анализ
Версия 201811051556
Это версия, которую мы нашли ранее (201811051556). Он ориентирован на платформу Linux и поддерживает два вида инструкций C2 для выполнения системных команд Linux и для запуска пользовательских файлов.
Пример информации
- MD5: 870319967dba4bd02c7a7f8be8ece94f
С2 резервный механизм
В этой версии связь C2 осуществляется двумя способами: жестко закодированным доменным именем и ссылкой Github.
Его домен: d.heheda.tk
У этого также есть страница Github, и реальный адрес C2 находится в описании проекта.
Инструкция C2
cmd_call, выполнять системные команды Linux
cmd_shell, выполнить пользовательский файл
Анализ протокола C2
Формат пакета
| LENGTH | TYPE | DATA |
| Little endian,2 bytes | 1 bytes | (Length -3) bytes |
Алгоритм шифрования
Ключ XOR генерируется случайным образом из 16 байтов данных, алгоритм выглядит следующим образом:
Обзор пакетов
cmd_handshake
cmd_heartbeat
Версия 20190415103713 ~ 20190621174731
Эта активная версия работает как в Windows, так и в Linux.
Модуль управления реализован на Lua и поддерживается пять команд C2
Пример информации
версия 20190415103713
- MD5: c9b712f6c347edde22836fb43b927633
Версия 20190621174731
- MD5: 75902cf93397d2e2d1797cd115f8347a
Избыточный механизм С2
Этап-1 URL
Бэкдор использует 3 различных способа хранения URL-адреса Stage-1. Зашифрованный зашифрованный текст, описание проекта Github и Pastebin text.
После получения и дешифрования URL-адреса Stage-1 будет загружен файл start.png, который фактически является байт-кодом Lua.
Затем бот загружает его в память и выполняет, чтобы получить URL-адрес этапа 2.
Алгоритм шифрования
- AES,CBC Mode
- key:13 21 02 00 31 21 94 E2 F2 F1 35 61 93 4C 4D 6A
- iv:2B 7E 15 16 28 AE D2 01 AB F7 15 02 00 CF 4F 3C
Версия 20190415103713
- AES ciphertext:03 13 84 29 CC 8B A5 CA AB 05 9E 2F CB AF 5E E6 02 5A 5F 17 74 34 64 EA 5B F1 38 5B 8D B9 A5 3E
- Открытый код URL-адреса этапа 1:https://d.heheda.tk/%s.png
- AES ciphertext:F1 40 DB B4 E1 29 D9 DC 8D 78 45 B9 37 2F 83 47 F1 32 3A 11 01 41 07 CD DB A3 7B 1F 44 A7 DE 6C 2C 81 0E 10 E9 D8 E1 03 38 68 FC 51 81 62 11 DD
- Открытый код URL-адреса этапа 1:https://img0.cloudappconfig.com/%s.png
- AES ciphertext:EC 76 44 29 59 3D F7 EE B3 01 90 A9 9C 47 C8 96 53 DE 86 CB DF 36 68 41 60 5C FA F5 64 60 5A E4 AE 95 C3 F5 A6 04 47 CB 26 47 A2 23 80 C6 5F 92
- Github URL:https://api.github.com/repos/helegedada/heihei
- Процесс дешифрования:
- Зашифрованный текст описания проекта: oTre1RVbmjqRn2kRrv4SF / l2WfMRn2gEHpqJz77btaDPlO0R9CdQtMM82uAes + Fb
- Открытый код URL-адреса этапа 1:https://img1.cloudappconfig.com/%s.png
- AES ciphertext:19 31 21 32 BF E8 29 A8 92 F7 7C 0B DF DC 06 8E 8E 49 F0 50 9A 45 6C 53 77 69 2F 68 48
DC 7F 28 16 EB 86 B3 50 20 D3 01 9D 23 6C A1 33 62 EC 15 - Вставить открытый текст URL:https://pastebin.com/raw/vSDzq3Md
- Decryption Process:
- Pastebin Ciphertext: G/tbLY0TsMUnC+iO9aYm9yS2eayKlKLQyFPOaNxSCnZpBw4RLGnJOPcZXHaf/aoj
- Открытый код URL-адреса этапа 1:https://img2.cloudappconfig.com/%s.png
Здесь, на этапе 2, используются два механизма для хранения URL-адреса этапа 2, файла проекта Github и DNS через HTTPS.
После извлечения и дешифрования URL-адреса этапа 2 будет загружен файл run.png, а также байт-код Lua.
Бот загрузит этот файл в память и запустит его, чтобы получить Stage-3 C2.
Алгоритм шифрования
- AES,CBC Mode
- key:22 85 16 13 57 2d 17 90 2f 00 49 18 5f 17 2b 0a
- iv:0d 43 36 41 86 41 21 d2 41 4e 62 00 41 19 4a 5c
- URL-адрес Github хранится в файле байт-кода Lua (start.png) в виде открытого текста. Разобрав ее, мы получаем следующую информацию:
- Зашифрованный текст файла проекта Github: kI7xf+Q/fXC0UT6hCUNimtcH45gPgG9i+YbNnuDyHyh2HJqzBFQStPvHGCZH8Yoz9w02njr41wdl5VNlPCq18qTZUVco5WrA1EIg3zVOcY8=
- Открытый текст URL-адреса этапа 2:{"u":"https:\/\/dd.heheda.tk\/%s.png","c":"dd.heheda.tk::198.204.231.250:"}
- DNS TXT хранится в файле байт-кода Lua (start.png) в виде открытого текста. Получив следующую информацию, разобрав ее:
DNS через HTTPS-запрос:
- DNS TXT зашифрованный текст: 6TmRMwDw5R/sNSEhjCByEw0Vb44nZhEUyUpUR4LcijfIukjdAv+vqqMuYOFAoOpC7Ktyyr6nUOqO9XnDpudVmbGoTeJD6hYrw72YmiOS9dX5M/sPNmsw/eY/XDYYzx5/
- Открытый текст URL-адреса этапа 2:{"u":"http:\/\/img1.cloudappconfig.com\/%s.png","c":"img1.cloudappconfig.com::43.224.225.220:"}
Этап 3 C2 жестко закодирован в файле байт-кода Lua (run.png). Мы разобрали его, чтобы получить следующую информацию.
Версия 20190415103713
Версия 20190621174731
DNS через HTTPS-запрос
C2 инструкция
| CMD | Type |
| --------- | ---- |
| HANDSHAKE | 1 |
| HEARTBEAT | 2 |
| LUA | 3 |
| SHELL | 4 |
| UPGRADE | 5 |
| QUIT | 6 |
| SHELL2 | 7 |
| PROXY | 8 |
Анализ протокола C2
Формат пакета
Обзор пакетов
HANDSHAKE
HEARTBEAT
- LUA Payload
Мы наблюдали, как злоумышленник выполняет атаку HTTP Flood против www.liuxiaobei.com.
Анализ сценариев Lua
Пример Bot загружает множество сценариев Lua при выполнении, и сценарии можно разбить на три категории: выполнить, помогать и атаковать.
- выполнение: start.png,run.png,quit.png,watch.png,upgrade.png,proxy.png
- помощь: packet.png,curl.png,util.png,utils.png
- атака: VM.png,CC.png
- AES,CBC Mode
- key:13 21 02 00 31 21 94 E2 F2 F1 35 61 93 4C 4D 6A
- iv:2B 7E 15 16 28 AE D2 01 AB F7 15 02 00 CF 4F 3C
Все дешифрованные файлы предварительно скомпилированы, возьмем в качестве примера файл upgrade.png, обратите внимание, что выделенная часть является заголовком файла.
Вы можете видеть, что магическое число изменилось с «Lua» на «God».
Автор вредоносного ПО, похоже, также устанавливает ловушку для исследователя, вручную изменяя число LuaVerion в образце на 5.1.4 ($ LuaVersion: God 5.1.4 C $$ LuaAuthors: R. $). Мы считаем, что реальная версия должна быть определенно новее, чем 5.2.
Декомпилировать
Чтобы декомпилировать вышеуказанный скрипт, мы должны знать, какие изменения были внесены в Lua. После некоторого анализа мы пришли к выводу, что модификацию можно разделить на два основных раздела: Lua Header и Lua Opcode.
Декомпилировано Luadec [1]
Предложения
Нам еще предстоит увидеть полную картину того, как именно Backdoor Godlua заражает цели, на данный момент мы знаем, что по крайней мере некоторые пользователи Linux были заражены с помощью эксплойта Confluence (CVE-2019-3396), если у наших читателей есть больше информации, чувствуйте свободно связаться с нами.
Мы предлагаем хотя бы отслеживать и блокировать соответствующие IP-адреса, URL-адреса и доменные имена Godlua Backdoor в вашей сети.
Список IoC
MD5
URL
C2 Domain
IP
Вложения
Последнее редактирование: