• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Ransomware. С чего все начиналось и к чему пришло.

Triada

RAM
Пользователь
Регистрация
13.12.2019
Сообщения
127
Реакции
53
Статья расчитана на тех, кто знаком с такими терминами, как: рансом, рансомварь, сетка и тп..

Решил я поучавствовать в 3-ем конкурсе статей. Пожалуй начнём.

С чего всё началось?

Началось всё с незамысловатых локеров который переименовывали, повреждали, архивировали информацию и потом просили выкуп.
Был даже такой локер который просил 5k$ со всех, а не таргетно.
1577638062800.png


Пройдёмся пожалуй по самым первым локерам

Xorist:
1577638429300.png


Первый софт от vazonez'a мог шифровать файлы xor'ом или алгоритмом tea,
если первый алгоритм шифрования вообще ужас, то второй уже чуть лучше.

CryptoLocker:
1577638449500.png


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

CTB-Locker:
1577638491800.png


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

Шифровал файлы с такими расширениями: .xlsx .xlsm .xlsb .xls .xlk .txt .sql .safe .rtf .pwm .pem .mdf .mdb .kwm .groups .docx .docm .doc .der .dbf .db .crt .cer
* Файл выбранный для шифрования с помощью WinAPI функции MoveFileEx помещается во временный файл;
* Запускается процесс поблочного считывания этого файла
* Каждый блок сжимается с помощью функции deflate из zlib
* Этот сжатый блок шифруется и затем записывается обратно в файл (SetFilePointer + WriteFile)
* В начало файла пишется информация нужная для расшифровки.
* Меняется расширение у файла

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

TorLocker
1577643244000.png


Всего имеет две версии 1.0 и 2.0. Отличаются они поддержкой разных языков и методом хранения модулей (интернет или доп. секция)
Шифрует много файлов, расширения:
.3gp .7z .accdb .ai .aiff .arw .avi .backup .bay .bin .blend .cdr .cer .cr2 .crt .crw .dat .dbf .dcr .der .dit .dng .doc .docm .docx .dwg .dxf .dxg .edb .eps .erf .flac .gif .hdd .indd .jpe .jpg .jpeg .kdc .kwm .log .m2ts .m4p .mdb .mdf .mef .mkv .mov .mp3 .mp4 .mpg .mpeg .mrw .ndf .nef .nrw .nvram .odb .odm .odp .ods .odt .ogg .orf .p12 .p7b .p7c .pdd .pdf .pef .pem .pfx .pif .png .ppt .pptm .pptx .psd .pst .ptx .pwm .qcow .qcow2 .qed .r3d .raf .rar .raw .rtf .rvt .rw2 .rwl .sav .sql .srf .srw .stm .txt .vbox .vdi .vhd .vhdx .vmdk .vmsd .vmx .vmxf .vob .wav .wb2 .wma .wmv .wpd .wps .xlk .xls .xlsb .xlsm .xlsx .zip

При запуске софт выберает 1 из 128 зашитых в него RSA ключей.
Каждый файл шифруется своим уникальным ключём, шифрует только первые 512 мегабайтов файла.
В конец пишет 512 байт информации которая нужна для расшифровки этого файла.

Для связи с админкой использует tor.exe и прокси polipo.exe

Локер создает отдельный поток, который ищет процессы с именами taskmgr.exe, regedit.exe, procexp.exe, procexp64.exe и завершает их.

Ключ для шифрования генерируется на основе таких функций, как GetTickCount, GetCurrentProcessId, GetCurrentThreadId, GetProcessHeap, GetThreadTimes, GetProcessTimes.

После 2014 года с локер был встроен DGA, а трафик стал шифроваться либо с помощью SSL, либо с помощью chain-XOR

Русские криптолокеры

Rakhni

1577640723300.png


Этот локер написан на Delphi, использовался в начале 2к15 года.
Для шифрования использовал библиотеку DCPCrypt2

Этот локер проходит по всем дискам, ищет файлы по определённым расширениям, и
когда находит пишет путь этого файла в allfiles.list в папку TEMP.
Потом он проходится по этому файлу и шифрует каждый файл который там записан.

Связь с сервером.
Он обращается к серверу так: http://[website]/index.php?ui=s&id=[lock-id]&c=[files-count]
Сервер возвращает такой конфиг:
{
"email": "filesos@yeah.net", //почта локера
"key": "password", // ключ шифрования
"ext": "ext", // расширение
"hashType": 1, // номер хеша в библиотеке
"cipherType": 2, // номер алгоритма шифрования
"cmType": 3, // режим шифрования
"saltSize": 4, // размер параметра salt
"Ct": 5, // номер алгоритма шифрования для шифрования имени файла
"Ht": 6, // номер хеша для шифрования имени файла
"KeyStr": "key" // ключ для шифрования имени файла
}

В библиотеке были такое алгоритмы шифрования: Blowjob Cast128 Cast256 DES ГОСТ ICE IDEA MARS MISTY1 3DES RC4 RC5 RC6 AES Serpent TEA Twofish RC2.
И такие хеши: SHA-1 SHA-256 SHA-512 MD4 MD5 HAVAL RIPEMD-128 RIPEMD-160 Tiger.
Так-же он шифровал имя файла, записка с инструкциями имела такое имя: КаК_РаСшИфРоВаТь_ФаЙлЫ.html

Cryakl

Написан на Delphi, для реализации RSA использует либу FGInt.
Эта библиотека работает с числами в виде строк в двоичном предствлении
123 - 100100011

Шифрование
Генерирует мастер ключ, на основе этого ключика на каждый файл генерирует ключ длинной 30 000 байт, и
шифрует первые 30 000 байт файла используя свой самописный алгоритм шифрования.

Особенность
Сохраняет из ресурсов изображение под именем desk.jpg и ставит его на фон рабочего стола.
1577642800600.png


Актуальные криптолокеры

На сегодняшний день есть несколько актуальных локеров, их имена: STOP Ransomware, Dharma, Phobos, GlobeImposter, REvil, Maze.

STOP Ransomware

Попал в том из-за большого кол-ва пользователей, возможно где-то слиты его исходные коды или билдер.
Но тех кто его использует действительно много, около 250 уникальных билдов.

Dharma
Всем известный локер, активен с 2к16 года.

Phobos
В основном распространяется через эксплоиты, назван в честь бога страха.

GlobeImposter
Составляет 6.5 процента всего рансом трафика, использует AES для шифрования.

REvil (Sodinokibi)
Локер основанный на GandCrab, поиск и шифрование реализованны через IOCP (не самое лучшее решение),
имеют продуманную админку. В общем обычный локер с необычными основателями.

Maze
Заразил целый город, действовали люди судя по всему оперативно. Поступают так-же, как и
REvil, копируют информации и в случае неуплаты публикуют её.

Конец

Ну в конце данной статьи нужно сказать что криптолокеры до сих пор актуальная угроза, стать жертвой может буквально каждый.
Но если правиль обустраивать инфраструктуру компании то всё обойдётся. В умелых руках такой софт может стать страшной угрозой.
Особенно если в этих самых руках есть ещё и парочка 0day эксплоитов. Можно конечно надеяться что получится восстановить файлы и
без держателей ключей, но такие случаи происходят очень редко так-как реализации криптостойких алгоритмов шифрования доступны в
интернете на разных языках программирования. Минус локеров в том, что в плане морали это очень хреновый софт. Если софт используется в
массгрузе, то представьте что будет если вы зашифруете кому-то фотографии умершего родственника и тп. Ну пойдёт этот человек, возьмёт кредит и заплатит
вам выкуп, а теперь представьте что будет если вы используете не локер, а вайпер (аналог локера, только после него ни каким образом не возможно расшифровать файлы).
 
Последнее редактирование:
Первый критик на деревне: Потеряна суть статьи - смысл, т.е. где информация которая может помочь?
 
Первый критик на деревне: Потеряна суть статьи - смысл, т.е. где информация которая может помочь?
Окей, пример работы локеров разве не может помочь начинающим в этом деле?
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
это не статья, а не знаю что. Как будто рерайтер писал. В чем минус того же iocp в ревила? чем был "непродуман" криптолокер от славика? Для 13-14гг криптоапи было самое то, тогда такого палева не было на него, а истории про "бекдоры негрософт" прошу подкреплять пруфами (а то я уже эту историю слышал миллион раз, но так никто и не показал, где криптоапи дырявое). Ну и т.д.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Понимаю квейка, те кто вообще ничего не шарят за рансом - не поймут, те кто шарят - и так знают. Текст без связи между началом и концом, не понятно. Пока что больше похоже на урезанную версию описания тех или инных локеров. Хоть бы упомянул что всё начиналось ещё со скрин локеров, которые буквально дали толчек мысли к шифрованию файлов, а не простой блокировке доступа к пк. Сыро, сыро, я конечно люблю мясо с кровью, но это слишком.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ТС ты путаешь обзор со статьей. Какой поучительный смысл в статье?

Окей, пример работы локеров разве не может помочь начинающим в этом деле?
Где тут пример работы? где разбор?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Лучше бы тогда вот этот расписал : https://xss.pro/threads/34043/ как раз бы подходило под мануал со всеми вытекающими.
 
Лучше бы тогда вот этот расписал : https://xss.pro/threads/34043/ как раз бы подходило под мануал со всеми вытекающими.
Я посовещался с одним человеком, и судя по всему ни за что кроме APT голосовать не будут.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну статьи не моё походу
Ты себя позиционируешь как кодера, вот и пиши по коду, а не беллетристику.
 
Ты себя позиционируешь как кодера, вот и пиши по коду, а не беллетристику.
А кому оно надо, яж х#йца сосну с этим кодом, людям поебать же на код
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А кому оно надо, яж х#йца сосну с этим кодом, людям поебать же на код

зря так думаешь.. наоборот
 
Пожалуйста, обратите внимание, что пользователь заблокирован
людям поебать же на код
Зависит, что за код и как его подать.
 
А кому оно надо, яж х#йца сосну с этим кодом, людям поебать же на код
Не забывай на каком ресурсе ты находишься. Например, на ввх людям действительно пох на код. Опят имеется. Но не тут. Ты вот выложил код по сериализации json на плюсах. Апокс его расчехлил за то, что ты выделил там на стеке под 30к+ байт. Я расчехлил его тоже, указав что работаешь на стеке, а функции, которые приводят json -> string не проверяют размер последнего, от чего там происходит переполнение буфера на стеке при определенных условиях.
2 твоя тема по написанию бота. Посмотри, какой там диалог вышел, касательно использования json в качестве протокола общения бота. Ты зря думаешь, что тут всем поебать на код. А статья эта. Ну рили хз. Скучно такое читать, лично мне. А человеку, который заработал на подобной теме бабки и может выделить 15к уе на конкурс - так и подавно.
 
Как обзор 5 балов !
На статью не тянет !
Отрывок понравился или зацепил не знаю :
Минус локеров в том, что в плане морали это очень хреновый софт. Если софт используется в
массгрузе, то представьте что будет если вы зашифруете кому-то фотографии умершего родственника и тп. Ну пойдёт этот человек, возьмёт кредит и заплатит
вам выкуп, а теперь представьте что будет если вы используете не локер, а вайпер (аналог локера, только после него ни каким образом не возможно расшифровать файлы).
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх