# Форум на русском языке  > Угрозы информационной безопасности  > Вредоносные программы  > Шифровальщики  >  «Крякающий» шифровальщик (Trojan-Ransom.Win32.Cryakl или Trojan.Encoder.567)

## thyrex

Наконец-то нашлось время проанализировать один из распространенных в настоящее время шифровальщиков *Trojan-Ransom.Win32.Cryakl* по классификации Лаборатории Касперского (*Trojan.Encoder.567* по классификации DrWeb - обращаю внимание на изменение номера). За это время произошла эволюция в работе вируса. Автор наваял версию 4, которой было уделено внимание в статье https://securelist.ru/blog/issledova...razbushevalsya. Пока же аналитики вирлаба Лаборатории Касперского слегка поверхностно исследовали экземпляр этой версии, автор придумал версию 5, в которой алгоритм шифрования приобрел некие черты полиморфизма (используется 10 алгоритмов модификации содержимого файлов).


Сразу хочу отметить, что автор самого вируса позиционирует себя только с тремя почтовыми адресами, на которые можно писать по поводу дешифратора: 


> [email protected]
> [email protected]
> [email protected]


Все остальное - другие распространители, прикупившие себе исходник, и модифицировавшие (_и то это слишком громко сказано_) под себя, зачастую даже с нарушением функционала (например, ресурса с картинкой вымогателя нет, а процедура по ее излечению и установке на компьютер в качестве обоев осталась; в некоторых версиях и ответ от сервера не проверяется).
Некоторые из покупателей специализируются на шифровании данных только на серверах, доступ к которым получен предварительно путем подбора паролей от RDP. 
Да и сам автор, модифицировав детище, не позаботился об усовершенствовании конструктора для его создания, о чем я упомяну в своем исследовании  :Smiley: 

По мере эволюции автор отказался от использовании работы на основе службы (я ошибочно полагал, что она завязана на использовании *svchost.exe*, на самом деле файл используется для других целей - об этом ниже). Кроме того, если первые разновидности еще как-то можно было расшифровать утилитами от ведущих российских вирлабов, то *на данный момент такой возможности нет*, что говорит о проделанной автором работе над ошибками. Хотя какую-то работу в этом направлении вирлаб DrWeb все же ведет, но количество случаев успешной расшифровки незначительно (практически нулевое, я достоверно знаю лишь об одном случае успешного подбора пароля к версии 4).


Основные особенности работы шифровальщика, не вдаваясь в подробности, описаны в упоминавшейся выше статье от Лаборатории Касперского. Хочу отметить, так же следующие особенности шифровальщика:
- запускается без показа главной формы, но не скрывается в списке процессов;
- проводит работу по определению разрядности системы, версии операционной системы и в результате работа осуществляется в соответствии с особенностями версий Windows (например, с соблюдением прав пользователей, старт копий от имени пользователей с правами администратора);
- некоторые строковые величины (например, имена папок для записи копии, адреса серверов для передачи идентификатора зараженного пользователя и пароля) лежат в зашифрованном виде;
- для усложнения исследования некоторые операции осуществляются замудреными способами;
- работа с файлами осуществляется с помощью технологий прошлого века без использования Win API, что может привести к тому, что *размер файла, превыщающего 4Гб, определяется неверно* (актуально для файлов с образами дисков, а также, возможно, для баз 1С), вследствие чего запись информации для расшифровки *будет осуществляться не в конец файла*  :Smiley: ;
- автор не заботится о том, что код во многих случаях повторяется, т.е. ни о какой красоте программирования и минимализации использования памяти речи не идет (как в советском мультфильме, персонаж которого произносил "и так сойдёт"  :Smiley: ).


А теперь переходим непосредственно к анализу. Т.к. первый запуск осуществляется из произвольного месторасположения, то вирус создает папку для своей копии на системном диске (определение буквы диска опять идет экзотическим способом) в папке *Program Files* (или *Program Files (х86)* - на х64-системах). Далее идет проверка наличия прав администратора. Как ни странно, принципиальной разницы в том, есть они или нет, я не заметил. Всё равно вызов процедуры шифрования есть в любом случае. В созданную папку *побайтно* (и снова прошлый век) копируется тело вируса, после чего запускается вторая копия из нового месторасположения, а первая завершает свою работу. Пока никакого шифрования (при работе первой копии) нет. Это выполняет уже следующая копия. Ах да, время создания файла вирус устанавливает таким же, как у системного svchost.exe (такая вот примитивная маскировка под легитимный файл). Кроме того, с целью маскировки имя файла вируса совпадает или с именем одной из системных программ (svchost.exe, explorer.exe), или с именем вполне легитимных сторонних программ (winrar.exe).


Вторая копия (запущенная уже из правильного месторасположения) начинает с того, что проверяет, не запущена ли она с параметром */install* (это или раритет из предыдущих модификаций, или лазейка для отмены запуска при ручном старте). Если это так, то она завершает работу, иначе создает запись реестра для автостарта вируса после каждой перезагрузки (причем никакой проверки на наличие записи в реестре снова нет - опять "и так сойдёт"). Управление передается процедуре, внутри которой будет вызов шифрования.


Для начала происходит проверка наличия конфигурационного файла. 

О конфигурационном файле

- пока идет процесс шифрования (продолжается после рестарта системы), в нем хранится идентификатор зараженного компьютера и в кодированном виде 40-символьный случайный идентификатор. Исследователи из Лаборатории Касперского ошибочно посчитали, что это параметры шифрования для согласования работы после перезагрузки;
- когда процесс завершен, там записано {CRYPTFULLEND} в кодированном видеСкрыть



Если файла нет:
- генерируется уникальный идентификатор зараженной системы (состоит из 36 прописных латинских букв, текущих даты-времени и случайного числа от 0 до 999999).


Если файл есть:
- читаются оба идентификатора. Если второй из них в кодированном виде содержит {CRYPTFULLEND}, обои на Рабочем столе меняются на картинку с сообщением вымогателя.


Далее:
- генерируется 100 символьная строка из латинских букв (мастер-ключ), вычисляется MD5-хэш 40 блоков по 5 символов, который вместе с идентификатором отправляется на сервера злоумышленника (проверка наличия интернета осуществляется обращением к трем серверам - ожидает ответ от сервера);





> *Обратите внимание*: *мастер-ключ после перезагрузки изменяется!!!* Таким образом файлы на одном компьютере могут быть зашифрованы с использованием разных мастер-ключей. Возможно, и цена за расшифровку вырастет в этом случае (особенно в случае использования шифровальщиков не от самого автора).


- генерируется 40 символьная строка из латинских букв - случайный идентификатор;
- оба идентификатора записываются в конфигурационный файл;
- далее идет работа по созданию текстового сообщения вымогателя (раритет - остался от первых версий);
- готовится список проверяемых типов файлов;
- происходит поиск (настолько экзотический, что разбираться в нем не было желания) файлов, подлежащих шифрованию файлов.
Хочу отметить, что:



> 1. даже если файл не удовлетворяет условиям, все равно происходит его чтение и проверка сигнатуры шифрования {CRYPTANDBLACKDC};
> 2. экзотическая проверка на папку Windows реализована криво, что приведет к тому, что информация в папках типа _Win_, _Windows.0_ и т.п. (теоретически в них могут оказаться подходящие типы файлов) также будет зашифрована.


- шифрование подходящих типов файлов (уникальный для каждого файла ключ шифрования - MD5-хэш из строки, содержащей 40 символов случайной выборкой из мастер-ключа + случайная цифра от 0 до 9);
*В плюс автору* здесь стоит отнести то, что после шифрования идет проверка сигнатуры {CRYPTANDBLACKDC} в конце файла. Только при ее наличии исходный файл удаляется.
- в конфигурационный файл записывается {CRYPTFULLEND} в кодированном виде, что означает окончание шифрования. Теперь без обращения к злоумышленникам файлы не восстановить;
- создается и запускается bat-файл, который должен был удалить шифровальщика и самого себя (не срабатывает  :Smiley: )


*О самом шифровании*
Как уже писали в статье от Лаборатории Касперского, первые версии шифровали всего лишь 29 байт в заголовке файла. И потому первые версии успешно расшифровывались декрипторами ЛК и DrWeb.
Теперь же шифруются 3 блока (один в начале файла - максимальная длина 255 байт, два других в середине файла). Причем в версии 4.0, как минимум в дешифраторе, я видел проверку на невозможность хотя бы частичного пересечения шифруемых блоков. В шифровальщике версии 5.0 этого уже нет. Надеюсь автор учел это в своем дешифраторе  :Smiley: 
При  работе с размерами и смещением блоков автор для чего-то снова эмулирует стандартную для Delphi функцию IntToStr, причем ее вариант для чисел типа Int64. Нужды в этом нет (причина опять же кроется в прошлом веке при работе с файлами).
Кроме того, в версии 5.0 автор добавил запись в файл блока мусорной информации максимальным размером в 4999 байт (записывается перед информацией, необходимой для расшифровки).

На этом разрешите откланяться. Конструктивная критика приветствуется  :Wink: 

P.S. Автор шифровальщика обязательно увидит статью.

----------

*fillip*,  *миднайт*,  *Ilya Shabanov*,  *mike 1*,  *olejah*

----------

Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

----------


## dimidron1

> ...
> 
> P.S. Автор шифровальщика обязательно увидит статью.


Автору шифровальщика статью уже нашли и скоро он с ней познакомится...если не даст людям дешифратор.

----------


## di-sharm

Вот еслиб он во благо страны делал, то слов нет спасибо автору шифровальщика. (Пентагон зашфровал))))... Но когда обычный рядовой гражданин страдает... Это уже не есть хорошо.

----------


## m0xter4ik

В августе обратились с просьбой помочь расшифровать файлы. По описанию та версия что вы описываете. Запарился с реверсингом, тк код был написан на Делфи, причем очень гадковато) Насчет оптимизаций считаю что вы не правы, не по глупости он это делал, а скорее чтобы усложнить анализ. 
По поводу шифрования там чуть не так. Создается глобальный мастер ключ длиной 100 байт. от него 2 раза берется мд5 сумма, и сохраняется в заголовке каждого шифрованного файла, по ней, видимо, дешифратор проверяет для каждого дешифруемого файла что ключ верен. Также в заголовке сохраняется мд5 сумма от первых 29 байт и от всего файла. Также там сохраняется размер файла. Ключ шифрования конкретного файла создается так: для каждого файла выбираются свои 40 индексов,по этим индексам берутся байты из мастер ключа, мд5 сумма от этих байтов использовалась как ключ шифрования. По поводу алгоритма: алгоритм там свой, велосипедный, у меня есть псевдоалгоритмы старого и нового шифрования. В старом алгоритме нашелся нюанс в шифровании, и я написал утилиту которая помогала расшифровать файлы. Но через какое-то время автор выпустил новую версию, где косяк с шифрованием исправлен, и теперь я не знаю как к нему подступится. Также мне попадались файлы где шифрованные блоки накладывались друг на друга, и это доставило проблем.

----------


## thyrex

> и сохраняется в заголовке каждого шифрованного файла


Ерунда, в этой версии такого не было




> от него 2 раза берется мд5 сумма


не от мастер-ключа  :Smiley: 




> Также в заголовке сохраняется мд5 сумма от первых 29 байт и от всего файла


не хранится в заголовке это. Ибо заголовок шифруется




> мд5 сумма от этих байтов использовалась как ключ шифрования


У меня это и написано  :Smiley:

----------


## m0xter4ik

> Ерунда, в этой версии такого не было
> 
> не от мастер-ключа 
> 
> не хранится в заголовке это. Ибо заголовок шифруется
> 
> У меня это и написано


Вы поняли что я описался, но решили поддеть?)
мд5 сумма берется от 40 байт и используется как ключ шифрования. от этой мд5 суммы еще 1 мд5 сумма ложится в заголовок. Я ожидал что вы догадаетесь о каком заголовке идет речь, но видимо это неочевидно =\  Это тот самый заголовок который дописывается в конец файла, и который заканчивается токеном {CRYPTENDBLACKDC}
Неужели не хранятся суммы?


{21D8AB8BB940FF8F75083752B5CC8D0F} - 21d8ab8bb940ff8f75083752b5cc8d0f - MD5 29 первых байт
{BEC2B613452756AC1B8641CD39A55CBF} - bec2b613452756ac1b8641cd39a55cbf - MD5 всего файла
{29}				- SizeOfCryptedBytesInHeader
{0}{255}			- crypted regions
{26520}{255}			- crypted regions
{290445}{255}			- crypted regions
{322290}			- original file size
{83}{70}{51}{64}{54}{31}{96}{57}{80}{27}{13}{74}{8  5}{16}{43}{68}{21}{79}{42}{89}{14}{6}{22}{15}{68}{  50}{56}{49}{96}{74}{60}{14}{2}{35}{69}{8}{63}{31}{  79}{13}
{022B85797FCBEC3BAB25CE3D117DCB61} - MD5(MD5(KEY_BYTES))
{UPHUCVAZMFXXCIATMSKJWOASSYKJVOASRRKJ-29.09.2014 [email protected]@087977565} - id
{1SCONST.DBF}			- original file name
{CRYPTENDBLACKDC}


Выше пример, шифрованный и оригинальный файлы в кач-ве пруфов приложить?
Как-то высокомерно вы мне ответили, я всего лишь хотел дополнить.

----------


## thyrex

> Вы поняли что я описался, но решили поддеть?)


никоим образом. Это только Ваши домыслы.




> По поводу шифрования там чуть не так


Тогда смысл этого совсем не верен. Я отреагировал, а Вы меня в высокомерности обвиняете.

+ просьба была



> Конструктивная критика приветствуется

----------


## Romeo13

Уважаемый *thyrex*, прочитал ваши статьи, мне они понравились. Собственно, столкнулся с этим вирусом 6.0.0.1.b, до этого даже не знал о таком, поэтому начал ковыряться в предоставленном мне зашифрованном файле. Конкретно это оказалась база данных 1C. Можно сказать на удачу оказалась. Ибо в начале этого файла сплошняком нули и *сложение*с ними дает сам себя  :Smiley:  Кроме того этот блок почти одинаков для всех баз данных. И более того, оказалось, что есть два разных файла базы 1С, находящихся неподалёку друг от друга, а значит зашифрованные одновременно. И опыты я ставил над ними одновременно, сравнивая результаты.

Ну и, собственно, имея из подопытных только сеи "больные" файлы, начал экспериментировать над ними, жуткие эксперименты ставить, и обнаружил несколько интересных фактов, о которых у вас (вроде как) не упоминается (честно скажу, выработалась дурная привычка читать по-диагонали  :Sad:  )

1. В зашифрованном блоке из 256 байт в начале файла, ключ идет как то вот так:
xx xx 02 xx xx xx 0a xx xx 18 (не точно) xx xx xx 0e xx xx
xx xx 12 xx xx xx 16 xx xx 1a                xx xx xx 1e xx xx
xx xx 22 xx xx xx 26 xx xx 2a                xx xx xx 2e xx xx
xx xx 32 xx xx xx 36 xx xx 3a                xx xx xx 3e xx xx
и так далее 16 строк по 16 байт 4 раза, что является размером в 1024
т.е. младшая тетрада повторяет номер столбца, а старшая - строки

2. В описателе в конце файлов рассмотрел поближе индексы байтов мастер-ключа. А именно, хотел найти одинаковые индексы, используемые в первом и втором файле. Оказалось, что схожие индексы есть, причем позиции схожих индексов отличаются ровно на 13 (т.е. indices_file_1[a] == indices_file_2[b], причем a = b + 13), для случайной генерации уж слишком красиво  :Smiley: 

3. Ну и третье, в адресах, на которые указывают смещения к зашифрованным 1, 2 и 3 блокам, не было зашифрованных блоков О_о

С нетерпением жду Вашего комментария на мои наблюдения, возможно они бред сумасшедшего, а может всё таки помогут )

Забыл добавить, в обоих файлах смещение №2 и смещение №3 равны и от смещения №1 отличаются не на много О_о

Новые исследования показали, что это не блок из 1024 байт, а 4 блока по 256, ключ шифрования которых повторяется (возможно какой то косяк со смещением в алгоритме вируса и он просто нашлепал 4 блока подряд)

P.S. всё таки интересно, почему по адресам серверов и почтовых ящиков правоохранительные органы не могут выйти на злоумышленника О_о
P.P.S. windows - самая уязвимая штука, настолько безобразно уязвимая, что не остается сомнений, что это сделано специально, такие злоумышленники наверное 1:10 отстегивают Биллу за такую халяву  :Cheesy:

----------


## thyrex

> С нетерпением жду Вашего комментария на мои наблюдения, возможно они бред сумасшедшего, а может всё таки помогут )


Вам больше подходит все же http://virusinfo.info/showthread.php?t=173199




> сложениес ними дает сам себя


ну там не только сложение используется. Есть и вычитание, и умножение.

Можете прислать оба файлика или ссылку на их скачивание?

----------


## Romeo13

> Вам больше подходит все же http://virusinfo.info/showthread.php?t=173199


Тема почему то закрыта для комментов, само собой я хотел там написать.

Файлы прислать не могу, это базы данных одной фирмы, не хорошо енто...




> ну там не только сложение используется. Есть и вычитание, и умножение.


А как он решает что использовать? Потому что в этом файле первый блок шифрует данные, а три других блока шифруют целиком нулевые байты. В случае умножения остались бы нули) А первый блок легко расшифровывается, если от первого блока отнять любой другой. Стало быть ключ прибавляется к блоку чтобы зашифровать его )

----------


## thyrex

> А как он решает что использовать?


Там есть строка из цифр от 0 до 9, каждой из которых соответствует отдельный алгоритм преобразований




> В случае умножения остались бы нули)


Так оно идет в сочетании и с другим преобразованием одновременно




> Файлы прислать не могу, это базы данных одной фирмы, не хорошо енто...


Как знаете. Настаивать не могу. Хотя 1С у меня никогда и не было, да и выдавать чужие секреты не собирался. Да и после других шифровальщиков базы 1С присылали при проблемах расшифровки

----------


## Romeo13

> Там есть строка из цифр от 0 до 9, каждой из которых соответствует отдельный алгоритм преобразований


А злоумышленник как узнает? Может это сделано для отвода глаз?  :Smiley: 





> Как знаете. Настаивать не могу. Хотя 1С у меня никогда и не было, да и выдавать чужие секреты не собирался. Да и после других шифровальщиков базы 1С присылали при проблемах расшифровки


Я свяжусь с человеком, который ко мне обратился, и узнаю.

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

----------


## thyrex

> А злоумышленник как узнает?


Эта строка зашита в тело вируса




> всё таки блоки шифруются только в начале файла


Нет.

----------


## Romeo13

*thyrex*, не могли бы вы поделиться кодом вируса версии 6.0.0.1b ?

----------


## thyrex

*Romeo13*, распространение вирусов - уголовно наказуемое мероприятие. Так что этот вариант не приемлем.

----------


## Alexander Kolchanov

Если шифровальщик 6.1.0.0.b.cbf и есть некоторое число файлов оригиналов и зашифрованных (он зашифровал readme от программ), или есть зашифрованные файлы с многократно повторяющимися участками одинаковой информации - возможно нахождение данных для расшифровки?
Да кстати эта версия шифрует txt

----------


## sergh1970

*Alexander Kolchanov*, Возможно. Обращайтесь в личку.

----------


## DinaD

thyrex как с вами связаться?

----------


## thyrex

Так Вы уже написали мне на форуме ЛК  :Smiley: 
Посылки скачал, спасибо

----------


## Alex Titov

Вирус просто шифрует файлы или делает шифрованную копию и удаляет оригинал?

----------


## AVS-sl

Вот уже появилась и 7 версия вируса. Друг поймал. [email protected]
Прилагаю два архива. Без пароля. Один с оригинальными файлами. Второй после работы вируса:
https://cloud.mail.ru/public/3d3afe1f35a5/_original.rar
https://cloud.mail.ru/public/c0d9ae0...sle_virusa.rar
==================================================  ============
может это сможет помочь расшифровать другим.
Я же переустановил всё. Радикально но надёжнее. :-)

----------

Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

----------


## sergh1970

Я для 7 версии уже успешно восстанавливаю ключи. 
Но не по четырем файлам.

----------


## mike 1

Появилась 8 версия.

----------


## sergh1970

Интересно, они так и будут раз в неделю новую версию выпускать?

----------


## thyrex

Какая-нибудь бага обнаружилась, вот и вышла новая версия.
Насколько я понял, в версии 7 автор попытался реализовать остановку работающего тела при запуске второй копии.

В версии 8 это опять исчезло.

----------


## sergh1970

Ничего автор не пытался реализовать в 7 версии. Просто чтобы затруднить расшифровку и подбор ключа, 
увеличил ключ до 0x1000, выборку из ключа для шифрования файлов до 0x200. И в выборку стали попадать 
только четные значения. В результате в два раза облегчился подбор ключа. С арифметикой у автора плохо.

----------


## ppaann

Подскажите, словил шифровальщик 4 версии (id-{MPTWADGJMPTWZCFILPSUYBEHKNQUXZDGJMQS-22.03.2015 [email protected]@272820060}[email protected]), комп возможно вовремя выключил, потому что обнаружил файл вируса в папке "Documents and Settings\Администратор\Program Files\1\Explorer[1].exe". Вирус Касперский классифицировал, как Trojan-Ransom.Win32.Cryakl.av. В папке также лежал файл d.bat  с текстом:
ping -n 10 localhost>Nul
del /f /q C:\Documents and Settings\Администратор\Program Files\1\*.exe
del /f /q C:\Documents and Settings\Администратор\Program Files\1\*.bat

и файл 1.tmp с текстом:
{MPTWADGJMPTWZCFILPSUYBEHKNQUXZDGJMQS-22.03.2015 [email protected]@272820060}
9163454751465548606044665492

Этот текст - не ключ дешифратора? Если да, как расшифровать зашифрованное?

Спасибо за помощь!!!

----------


## thyrex

Нет, не ключ

----------


## rigl

Спасибо за статью,
Не могу понять из чего состоит мастер ключ и ключ шифрования для каждого файла.



> - генерируется 100 символьная строка из латинских цифр (мастер-ключ), вычисляется MD5-хэш 40 блоков по 5 символов, который вместе с идентификатором отправляется на сервера злоумышленника (проверка наличия интернета осуществляется обращением к трем серверам - ожидает ответ от сервера);





> - шифрование подходящих типов файлов (уникальный для каждого файла ключ шифрования - MD5-хэш из строки, содержащей 40 символов случайной выборкой из мастер-ключа + случайная цифра от 0 до 9);


В первом непонятно, что такое латинские цифры (они же римские) - это набор {I}{V}{X}{L}{D}{C}{M}....100 или {I}{II}{III}{IV}{V}{VI}{VII}.....100.
Или это опечатка и имелись ввиду арабские 0-9.
По второму, у меня есть хэш сумма [E441563C82976C2C58CE69C26C1FD6CD] которая состоит из 40 одинаковых индексов, а вот подобрать ее не выходит. Пробывал все символы от 0-255 с длиной строки от 0-255 (+ вариант с 1 случайным символом тоже от 0-255 на всякий случай). Ничего не выходит. Брал md5() и md5(md5()). Все в пустую.

----------


## sergh1970

По первому
 Пароль состоит из 100 латинских букв в верхнем регистре от A до Z.
По второму
 У Вас в одном файле все индексы одинаковые?
И что Вы хотите сделать. 
Ну узнаете одно значение из ключа, расшифруете один файл, а дальше?

----------


## rigl

Да, у меня в одном файле все индексы одинаковые.
У меня таких даже 2 файла.
Значит 2 индекса из 100 я уже нашел, найти остальные вопрос времени и везения.

----------


## sergh1970

Это 26 в степени 62 вариантов.
А как Вы собираетесь правильность подобранного ключа проверять?

----------


## rigl

Значит в мастер ключе все же латинские буквы, а не латинские цифры (раз 26 в степени) , только непонятно почему 62 степень. Если длинна 100 (при 2 известных 98  ).



> А как Вы собираетесь правильность подобранного ключа проверять?


*sergh1970*,  мне бы пока проверку ключа шифрования, в статье написано, что это md5(md5(master[0] + master[1] + master[0] +...master[40]) + random(0,9)), m0xter4ik  писал вроде без "соли" (rand(0,9)). Вроде все перепробовал, не подходит.  :Sad:

----------


## sergh1970

Извиняюсь, там же в десятичной системе 100 
в 98 степени.
последнее 41 число от 0x30 до 0x39

----------


## rigl

Я правильно понимаю, что строка при совпадении индексов будет  "AAAAAA...AAAAA35" или "....АА5"
или вообще "444444....4444435". Проверка говорит ничего не подходит.
Есть еще вариант "414141....4135" тут длинна строки непонятна. 
Может у вас получится подобрать ? там всего 10 вариантов.

----------


## sergh1970

Хорошо кинь ссылку на файл в личку

----------


## rigl

Ларчик вскрыт, не без труда и удачи конечно.
Описывать не буду, не тот случай, чтоб указывать автору на ошибки.
Не болейте :-).

----------


## Алексей_98

> Хорошо кинь ссылку на файл в личку


Приветствую спецов!

Знакомая попалась с "[email protected] 0.0.1.0".
Я Вам в личку написал. Думаю не стоит отдельную тему создавать?

----------


## vectorman

Доброго времени
тоже столкнулся с "[email protected] 0.0.1.0"
помогите если можете

----------


## Алексей_98

> Доброго времени
> тоже столкнулся с "[email protected] 0.0.1.0"
> помогите если можете


Следите за этой темой http://virusinfo.info/showthread.php...=1#post1271864
Пока надежд никаких абсолютно.

----------


## rigl

Если вдруг, еще кто словит 4-ку (**4.0.0.0.cbf), написал небольшую программу, которая поможет оценить шансы на расшифровку, способом которым получилось восстановить у меня.
https://yadi.sk/d/8GJJbRcJg27Dx
Программа сыровата, если будут ошибки пишите в почту будем исправлять.

----------

Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

----------


## drunkPal

> ...Далее идет проверка наличия прав администратора. Как ни странно, принципиальной разницы в том, есть они или нет, я не заметил. Всё равно вызов процедуры шифрования есть в любом случае.....


Речь лишь о запуске процедуры шифрования? Ограничения прав на уровне файловой системы в этом случае надеюсь не игнорируются?  :Smiley: 
А каким образом происходит шифрование? Можно какими то политиками запретить шифрование файлов?

----------


## drunkPal

Никому не надо шифровальщика для анализа? (который версии CL-0.0.1.0)

----------


## thyrex

*drunkPal*, такое добро уже есть. Просто не стал писать анализ

----------


## Alex_V_F

Добрый день! Подскажите файлы зашифрованные версией CL-1.0.0.0 есть шансы расшифровать?

----------


## sergh1970

Наверно нет.

----------


## katbert

Есть ли шансы для
[email protected]-CL 1.0.0.0*.cbf
[email protected]-CL 1.0.0.0*.cbf

----------


## thyrex

На данный момент никаких

----------


## gigi1988

> Если вдруг, еще кто словит 4-ку (**4.0.0.0.cbf), написал небольшую программу, которая поможет оценить шансы на расшифровку, способом которым получилось восстановить у меня.
> https://yadi.sk/d/8GJJbRcJg27Dx
> Программа сыровата, если будут ошибки пишите в почту будем исправлять.


Добрый день! Словил 4-ку. Запускаю вашу программу, указываю папку. Начинает сканировать и закрывается. Не могли бы помочь?

----------


## denezuela

Здравствуйте! Есть задача анализа подобного трояна, судя по всему, тоже какой-то Cryakl или Encoder, возможно, какой-то модифицированный и более свежий, засветился недавно. Вы со знанием дела говорите о коде вируса, хотелось бы узнать, как его получить? Нужно просто дизассемблировать и анализировать код на ассемблере? Просто есть опасения, что наш вариант от него защищён. Если так, тогда что может помочь для анализа? Буду очень благодарен за помощь!

----------


## sergh1970

Если вирус чем то запакован, нужно снять пакет, а потом анализировать код на ассемблере.

----------


## rigl

В связи с тем, что версия шифровальщика уже давно не актуальна.
Хочу рассказать о том, как добывался ключ к этой заразе.
Возможно информация будет кому-то полезной.
Начну с благодарностей!
Спасибо thyrex, за подробный анализ шифровальщика, он дал как раз ту самую ниточку, через которую все потянулось.
Спасибо sergh1970 за дешифратор, на тот момент я имел весьма расплывчатые представление о реверсинге программ и убил бы много времени на нахождение алгоритма шифрования.
Итак по порядку, была создана жертва - виртуальная машина. На ней было создано 5 файлов. 1-й содержал:
0x00,0x00.......,
второй,
0x01,0x00,0x00...
третий,
0x01,0x00,0x01,0x00...
четвертый
0x01,0x01,0x01.....
пятый 
0x01,0x02,0x03,...,0xFF,0x00.
и каждый файл был скопирован 10 000 раз.
Всего получилось 50 000 файлов. 
На жертву был установлен сниффер http трафика.
Запускаем, сниффер показывает обращение к адресу, что-то вроде x51.domen.net/add_data.php(Скорее всего база данных) и post запрос в котором содержится все то, о чем писал  thyrex. (Ручками поискал директории phpmyadmin, admin - пусто. Но поискать можно было).
Ключ был перехвачен и расшифрован, отсюда вывод логирование post запросов, и проблему можно решить. Но кто же знал ?
Аналитика файлов показала, что в шифровании имеет  место быть порядковый номер бита, т.к. четко прослеживается восходящий тренд на диаграмме 0x00 файлов. Так же разброс значений четных байтов, отличался от нечетных.
Когда я  получил исходный код дешифровщика, сразу стало понятно почему так. Без разрешения sergh1970, я не могу показать код функции шифрования,(а точнее в его случае дешифрования).
Было очевидно, без ключа нахрпом не взять.
А что мы знаем о ключе, что он он состоит из 100 символов заглавных букв латинского алфавита и md5 hash выборки 40 букв из этой строки - это есть ключ для конкретного файла. Злодей не сказал какие буквы, но любезно подсказал их порядковые номера. И дал нам md5 хэш этого хэша с небольшой солью. Спасибо и на этом. Логика подсказывала, что при случайной выборке 40 из 100 будут повторения и как следствие сокращение неизвестных символов. Быстро была написана программа поиска повторов. Поиск мягко говоря шокировал, 40 повторов одного символа. (Файл выкладывался выше). Чуть не подпрыгнул от радости, один символ есть. Потом был найден файл с 3-мя символами. Итого уже 4-ре. Дальше уже искались минимальные повторы и уже найденные символы нам в этом сильно помогали. Примерно через 6 часов цепочка из 100 символов была воспроизведена в точности. Отлично, пора переходить к реальным испытаниям. Друг принес диск пострадавшего компа, поиск обнаружил около 100 000 зараженных. И первое разочарование минимум 12 символов, мой самописный переборщик выдавал 200 000 хэшей в сек, просчет показал достижимый предел 7-8 знаков. Не один из найденных GPU брутфорсеров, делать то, что мне надо было не мог (генерить по маске повтора + соль). На GPU результат будет на порядки выше (в расчете обычно беру 20 000 000 хэшей в сек). Печаль.
Хорошо, присмотримся к нашей 100 символьной строке повнимательней. Как интересно - есть четкий тренд, код каждого следующего символа больше предыдущего на постоянную величину с небольшим отклонением (0-2). А значит, если один символ идет за другим, мне не надо перебирать 26 вариантов, а всего  3. Но величина отклонения и сам сдвиг, зависит от тиков на компе. И уж у меня они точно другие. Можно было повторно "заразить друга" и достать новый мастер ключ. Но злодей оставил нам еще одну подсказку, это id жертвы. 36 знаков генерируются аналогично мастер ключу, сразу  перед ним, этого было вполне достаточно. Но по прежнему оставалось 1-2 знака до разумного времени (добывать месяцами я не хотел). В качестве гипотезы 4-х знаков я подсунул в один последовательный ряд id жертвы, смещал его. Бог увидел мои старания, часов через 5-6 переборщик сообщил, что хэш взломан. Друг отказывался верить в успех, пока файлы не будут расшифрованы. Восстановление всей цепочки заняло всю ночь, спать не хотелось совсем.
Утром все успешно расшифровалось. 
К сожалению, помочь другим этим способом мне не удалось. Т.к. присылаемые файлы содержали минимум 20 и более символов. Один раз был 16, но была плохая последовательность. Отсюда пришлось сделать вывод, что нам очень повезло. Я стал думать, как еще можно помочь. Появилась идея написать генератор мастер ключа, вытаскивать из него 40 знаков и проверять их на соответствие. Метод не универсален и тестировался только на моей виртуальной машине. А это обязательное условие, тестировать на той машине на которой было заражение. Максимальное совпадения мастер ключа 99 знаков из 100. Исследуя генерируемые строки, было выявлено, что в определенный момент времени строка ключа может содержать n-символов подряд. 
Проверка всех когда-либо присланных мне файлов на этот баг, успехом не увенчалась.

----------


## Григорий Засим

могу предоставить свежий шифратор, на который попались. каспер его детектит, но базы оказались в не актуальном состоянии. кому надо скину

----------


## mike 1

*Григорий Засим* не надо. Такого добра хватает.

----------

