LIMB
Вход Регистрация

тема

Ну вот что, товарищи! Финита ля комедия! Евгений Иванович Трошкин

bezmyatezhnost · · 3 ответов · 400 просмотров

Не удалось прогрузить медиа
​

Всех приветствую. Сегодня режем рансомварь, и не абы какую, а третью по количеству жертв в мире на первый квартал 2026 года. По данным отчётов за Q1 2026, картина рансомварь-сцены выглядит так: Qilin держит первое место третий квартал подряд (338 жертв), на втором привычные ребята, а вот на третьем - Gentlemen. Новичок, который буквально из ниоткуда взлетел с 40 жертв в Q4 2025 до 166 в Q1 2026. Четырёхкратный рост за квартал. Для RaaS-операции, которая появилась на радарах меньше года назад, это аномальный темп набора. 90% выплата, кроссплатформенный локер (Windows/Linux/NAS/BSD), GPO-спред, silent mode, таймер на DLS. Сегодня режем именно Windows-билд этого локера, боевой энкриптор enterprise-уровня, который шифрует корпоративные сети, ломает бэкапы, и спредится по SMB сам как червь. 

Не удалось прогрузить медиа

​
Первое что бросается в глаза, размер. 3.77 мегабайта для рансомвари это жирновато. Нативный шифровальщик на чистом C обычно укладывается в 200-300 килобайт. Четыре метра означают одно из двух: либо внутри сидит толстый рантайм (Go, Rust), либо автор натащил зависимостей. Кидаем в DIE и видим: Go binary. Ну, привет. Go-шные бинари традиционно толстые, потому что тащат с собой весь рантайм, горутины, планировщик, GC, сетевой стек, крипто-либы. Зато компилятся в один файл без зависимостей, что для малвари удобно, кинул exe на хост, запустил, оно работает, никаких "а где ваш msvcrt140.dll?". По этой же причине на Go перешли куча серьёзных групп.

Не удалось прогрузить медиа

​
Восемь секций. Для Go-бинаря это стандартный набор. Обратите внимание на .symtab, в нормальном стрипнутом бинаре этой секции не будет, а у нас она есть, и весит 800+ КБ. Это Go symbol table, из неё можно вытащить имена всех функций. Но тут нас ждёт первый сюрприз.

Не удалось прогрузить медиа

​
Пробуем стандартный подход к Go-реверсу, go tool objdump или redress. И вот тут упираемся в стену. Все имена функций в main-пакете выглядят как мусор.

Не удалось прогрузить медиа

​
47 функций в main, и у каждой имя случайная строка. Это Garble - официальный обфускатор для Go от burrowers/garble. Он перемалывает имена функций, переменных и типов на этапе компиляции, превращая осмысленные main.encryptFile, main.killServices, main.spreadOverSMB в нечитаемый шлак типа main.Y3agSG0M_k. Go buildinfo подтверждает: версия Go стоит как "unknown". И это опять garble oн специально затирает версию компилятора, чтобы затруднить идентификацию. Но вот что Garble НЕ делает, и это ключевой момент: он не шифрует строковые литералы. Для этого есть отдельный флаг -literals, который включает шифрование строк через XOR/AES/seed-подстановки. И автор этого билда его... не включил. Все строки лежат в .rdata в открытом виде, слитые без разделителей в огромные блобы (особенность Go-компилятора), но читаемые. И именно из этих строк мы сейчас вытащим всё.

Не удалось прогрузить медиа

​
Из строк вытаскивается полный набор CLI-параметров:

--fast - быстрый режим шифрования (видимо частичное шифрование, начало файла)
--super - уровень повыше
--ultra - максимальная скорость (предположительно шифрует только первые N байт)
--system - шифровать системный диск
--shares - шифровать сетевые шары
--spread - включить самораспространение по сети
--silent - стелс-режим: не переименовывает файлы, сохраняет оригинальные даты модификации, записки дропает только в папки админов, не меняет обои
--eph - эфемерный режим (видимо не оставляет персистенс)
--takeown - забрать ownership на файлы перед шифрованием
--marker - кастомный маркер зашифрованных файлов
--password - пароль/ключ для запуска
--localgroup - добавить юзера в локальную группу

Не удалось прогрузить медиа
​

Из строк и импортов восстанавливается полная криптосхема.
  • X25519 (Curve25519 ECDH) - генерация общего секрета. Публичный ключ атакующего зашит в бинарь, для каждой жертвы генерится эфемерная пара. Общий секрет = ECDH(priv_victim, pub_attacker)
  • HMAC-SHA2-256 - деривация ключей из общего секрета
  • CTR_DRBG - генератор случайных чисел для ключей файлов
  • AES-CBC - шифрование файлов (основной режим)
  • ChaCha20 - альтернативный алгоритм (вероятно для --fast режима)

Не удалось прогрузить медиа

Не удалось прогрузить медиа

Не удалось прогрузить медиа

​
Перед шифрованием рансомварь останавливает всё что может помешать - базы данных (чтоб .mdf/.ldf файлы не были залочены), бэкап-софт (чтоб не успел сделать снэпшот), антивирусы, и для верности ещё кучу всего вокруг.

Базы данных (убить процессы, разлочить файлы):
sqlservr, SQLAGENT, sqlbrowser, sqlceip, sqlwriter, MSSQL, postgresql, postmaster, pgAdmin3, pgAdmin4, MariaDB, oracle, OracleService, DBeaver, mysqld

Бэкапы (уничтожить возможность восстановления):
vss, VSNAP, VSNAPVSS, vssadmin, AcrSch2Svc, YooBackup, QBDBMgr, QBCFMonitorService, beserver, VeeamDeploymentSvc, CVMount

Антивирусы и EDR:
DefWatch, SccEvtMgr, RTVscan, SavRoam - Symantec/Broadcom
GxClMgr, GxBlr, GxVss, GxCVD, GXMMM, GxFWD, CVMount, dccSetMgr, MVarmor - Commvault
scoavagent, benetns, bengi, ens, apo - McAfee/Trellix
sophos - Sophos
zhudongfangyu - Qihoo 360 (китайский антивирус)

Корпоративные системы:
SAPD, SAPService - SAP
msexchange, MSExchange - Microsoft Exchange
docker - Docker
DellSystemDetect, EnterpriseClient - Dell / Enterprise management

Офисные приложения (разлочить документы):
winword, outlook, onenote, powerpnt, notepad, wordpad, firefox, thebat, thunderbird, visio, steam, infopath, msaccess, mspub

Удалённый доступ:
TeamViewer, TeamViewer_Service, tv_w32, tv_x64, pvlsvr

Бэкап-агенты:
CASAD2DWebSvc - Arcserve
raw_agent_svc, stc_raw_agent - StorageCraft/ShadowProtect
CAARCUpdateSvc - CA ARCserve
Iperius - Iperius Backup
PDVFSService - Veritas

Остальное:
cbService, xfssvccon, DBeaver, snmp, wmic, memtas, mepocs, synctime, encsvc, eng50, mydesktopservice, mvdesktopservice, sqbcoreservice, ocssd, ocomm, dbsnmp, dbeng50, agntsvc, ocautoupds, isqlplussvc, mydesktopqos

Не удалось прогрузить медиа

​
Видна так же полная механика lateral movement.

\\share$\ - доступ к административным шарам
\C$\Temp\ - дроп в C:\Temp на удалённой машине
UpdateGU, UpdateGS, UpdateSvc - имена файлов, которые копируются на удалённые хосты
UpdateGU2, UpdateGS2 - альтернативные копии
binpath= - параметр sc create для создания сервиса
sc create - создание сервиса Windows
PsExec, -accepteula - PsExec для удалённого исполнения

Как это работает: рансомварь (с флагом --spread) берёт кредсы, подключается к C$\Temp на каждом хосте в сети, кидает туда копию себя (UpdateGU/UpdateGS/UpdateSvc), потом через sc create создаёт сервис, который запускает эту копию. Та в свою очередь начинает шифровать и спредиться дальше.

Не удалось прогрузить медиа

​
Для успешного спреда нужен доступ к шарам. Рансомварь активно ковыряет реестр, чтоб максимально ослабить аутентификацию в сети:

  • EveryoneIncludesAnonymous = 1 - анонимный доступ включает группу Everyone
  • RestrictAnonymous = 0 - снять ограничения на анонимный доступ
  • NullSessionShares - разрешить null session доступ к шарам
  • LanmanServer\Parameters - настройки SMB-сервера

Плюс через PowerShell по всем дискам (Get-PSDrive -PSProvider FileSystem | Where-Object {$_.Name -match '^[A-Z]$'}) прописывает это на каждой букве. Результат - любой хост в сети становится доступен анонимно через SMB.

Не удалось прогрузить медиа
​

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - автозапуск (машинный)
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - автозапуск (пользовательский)
shadowcopy - удаление теневых копий
advfirewall allprofiles - отключение файрвола
wevtutil - зачистка Event Log (Security)
taskkill - убийство процессов

Обои рабочего стола меняет на gentlemen.bmp - генерирует BMP на лету (через SystemParametersInfoW).

Не удалось прогрузить медиа
​

Не трогает файлы:
$Recycle.Bin, windows.old, windows.~ws, windows.~bt, bootsect.bak, bootfont.bin, pagefile.sys, hiberfil.sys, desktop.ini, autorun.inf, autorun.ini, ntuser.dat, ntuser.dat.log, iconcache.db, bootmgr, bootmgfw.efi, deskthemepack, thumbs.db, wipefile.tmp

Не трогает расширения: .exe, .dll, .sys, .msi

Не трогает папки:
c:\windows, system32, boot, $Recycle.Bin, msocache, perflogs, appdata, application data, mozilla, intel, netlogon, programdata, program files (x86), windows.old, system volume information, tor browser

Логика стандартная - не ломай ОС, иначе жертва не сможет загрузиться и прочитать записку счастья.

Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com

​
Gentlemen - это полноценный шифровальщик. Go + Garble, гибридная криптосхема на X25519 + AES-CBC + ChaCha20, 87 убиваемых сервисов и процессов, червячный спред через SMB, null session для анонимного доступа к шарам, 12 CLI-флагов для тонкой настройки под конкретную жертву. Всё в одном бинаре, без зависимостей, кинул на хост - работает. Отдельно стоит отметить пару любопытных деталей из kill-листа. memtas и mepocs - фантомные имена сервисов, которых не существует ни в одной реальной системе. Они кочуют из одного рансомварь-семейства в другое начиная с ревилов, и их наличие - маркер конкретной ветки копи-пасты kill-листов. zhudongfangyu - процесс китайского антивируса Qihoo 360 (主动防御, "активная защита", можно было бы добавить про атаку на страны БРИКС'a, но я думаю, что это просто таки отчасти копипаст из других шифрователей, и это словно стандартная практика) который попадает в kill-листы нечасто. Эти строки ничего не ломают но многое говорят о происхождении кода. Всем пока, не болейте!


​
👍20 👏6 🤔6
Интересная статья! Кто сейчас на втором вместе таргетам?
👍1
интересно , пробовал писать простенькую малварь на go и покрывать ее garble единственный минус это то что fmt.Println("hello world") покрытый garble будет иметь детект 8/68
👍1
ОтветAccessTracker

Интересная статья! Кто сейчас на втором вместе таргетам?

cl0p 
Не удалось прогрузить медиа

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.