Версия 1.0
SHA1: b185665ded0fab4bb2588ec80f71333533d8e140
Версия 1.1
SHA1: 2245bd90b753b7fd29b7218a0ef50435c64f8767
Троянец-шифровальщик для операционных систем семейства Microsoft Windows. Самоназвание — «GandCrab!». Сообщение с требованиями вымогателей и список расширений шифруемых файлов хранятся в теле троянца зашифрованными с использованием алгоритма XOR.
Вредоносная программа может собирать информацию о наличии следующих работающих процессов антивирусов:
AVP.EXE
ekrn.exe
avgnt.exe
ashDisp.exe
NortonAntiBot.exe
Mcshield.exe
avengine.exe
cmdagent.exe
smc.exe
persfw.exe
pccpfw.exe
fsguiexe.exe
cfp.exe
msmpeng.exe
С целью предотвращения повторного запуска троянец получает имя рабочей группы в локальной сети, серийный номер тома на жестком диске и наименование модели процессора. На основании этих данных он формирует имя мьютекса. Если мьютекс с таким именем уже существует, троянец завершает работу. После этого он принудительно завершает следующие процессы:
sqlservr.exe
msftesql.exe
sqlagent.exe
sqlbrowser.exe
sqlwriter.exe
oracle.exe
ocssd.exe
dbsnmp.exe
synctime.exe
mydesktopqos.exe
agntsvc.exeisqlplussvc.exe
xfssvccon.exe
mydesktopservice.exe
ocautoupds.exe
agntsvc.exeagntsvc.exe
agntsvc.exeencsvc.exe
firefoxconfig.exe
tbirdconfig.exe
ocomm.exe
mysqld.exe
mysqld-nt.exe
mysqld-opt.exe
dbeng50.exe
sqbcoreservice.exe
excel.exe
infopath.exe
msaccess.exe
mspub.exe
onenote.exe
outlook.exe
powerpnt.exe
steam.exe
thebat.exe
thebat64.exe
thunderbird.exe
visio.exe
winword.exe
wordpad.exe
После завершения процессов троянец формирует текст сообщения с требованиями злоумышленников и создает ключевую пару RSA-2048. Затем он отсылает call-запрос на свой управляющий сервер, обнуляет в памяти приватный ключ и начинает процесс собственной установки в систему.
Если троянец запущен не из папки %APPDATA%, он создает собственную копию со случайным именем в папке %APPDATA%\Microsoft\. Путь к этому файлу сохраняется в ветви системного реестра [HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce] со случайным именем параметра.
Троянец шифрует содержимое фиксированных, съемных и сетевых дисков. Каждый диск шифруется в отдельном потоке. После окончания шифрования троянец отправляет на сервер данные о количестве зашифрованных файлов и времени, потраченном на шифрование. Не подвергаются шифрованию следующие папки:
ProgramData
Program Files
Tor Browser
Ransomware
All Users
Local Settings
%PROGRAM_FILESX86%
%PROGRAM_FILES_COMMON%
%WINDOWS%
%LOCAL_APPDATA%
Необходимые для шифрования данные генерируются для каждого файла, затем они шифруются публичным RSA-ключом. Зашифрованные файлы получают расширение *.GDCB.
Троянец использует управляющий сервер, доменное имя которого не разрешается стандартными способами. Для получения IP-адреса управляющего сервера энкодер выполняет команду nslookup и получает адрес из ее вывода. Если IP-адрес получить не удается, шифрование не выполняется.
Для отправки call-запроса на управляющий сервер троянец формирует строку следующего вида:
action=call&ip=123.123.123.123&pc_user=root&pc_name=PC&pc_group=WORKGROUP&pc_keyb=0&os_major=Microsoft
Windows
XP&os_bit=x86&ransom_id=1111111111111111&hdd=C:FIXED_...&pub_key=...&priv_key=...&version=1.0
где:
- action — тип запроса;
- ip - внешний адрес инфицированного компьютера (если троянцу не удалось его получить, поле остается пустым);
- pc_user — имя пользователя;
- pc_name — имя компьютера;
- pc_group — имя рабочей группы;
- pc_keyb — код раскладки клавиатуры;
- os_major — версия Windows (извлекается из ключа системного реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\productName);
- os_bit — разрядность Windows;
- ransom_id — идентификатор заражения;
- hdd - информация о дисках;
- pub_key — закодированный в base64 публичный ключ;
- priv_key — закодированный в base64 приватный ключ;
- version — внутренняя версия троянца.
Полученная строка шифруется с использованием алгоритма RC4, затем результат дополнительно кодируется с использованием base64. Полученные данные отсылаются на управляющий сервер POST-запросом вида %IP_ADDR%/curl.php?token=1234 (значение token извлекается из упакованного тела троянца). В ответ вредоносная программа получает закодированные с использованием base64 данные, зашифрованные тем же ключом RC4. В них может содержаться команда на самоудаление и список расширений для шифрования (тоже закодированный с помощью base64).
В настоящее время расшифровка файлов, зашифрованных этим троянцем, невозможна.