December 16, 2019

Как я заработал $28.000 на угоне ботнета

Eсть способ заработать сразу и много - угнать уже работающий ботнет.

План этой атаки я вынашивал достаточно долго. Было даже уже несколько неудачных попыток, но на этот раз всё сработало. Давайте пару слов о том, что такое вообще ботнет. Это сеть зараженных компьютеров, которые выполняют приказы управляющего сервера. Чем больше активных устройств в ботнете, тем он мощнее. Наверное, вы все знаете, что такое DDOS атаки, когда куча компьютеров начинают одновременно подключаться к одному серверу, и тот падает под нагрузкой. Так вот эти атаки делаются тоже через ботнеты. Организация DDOS атак дело очень прибыльное, но это далеко не всё на что способны ботнеты. С них могут вести перебор шифров и паролей или даже майнить крипту. В общем, иметь у себя в распределении хороший ботнет - нормальный заработок, который к тому же практически полностью автоматизирован. Проблема в том, что чтоб сколотить такой, придётся хорошо вложиться. Но наличие головы на плечах сильно упрощает жизнь, и как вы уже поняли из названия, я нашёл способ заполучить себе ботнет.

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

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

Но есть способ заработать сразу и много - угнать уже работающий ботнет у кого-то.

В любых программах есть ошибки, а большинство ботнетов пишутся одним или несколькими разработчиками, поэтому ошибки точно есть. Надо только их найти, а это уже вопрос опыта, знаний, ну и немного удачи. Сам ботнет состоит из двух частей, серверная и клиентская. Атаковать нужно конечно сервер, именно через него можно будет управлять всеми ботами. Как я сказал, в прошлом у меня уже была пара неудачных попыток атак. Тогда я исследовал популярные ботнеты у которых исходный код панелей был в открытом доступе. У меня получилось найти несколько уязвимостей в одном ботнете, которые позволяли получать список IP ботов в сети и другую информацию о ботах, но до получения контроля дело не дошло. Тогда я изменил направление работы и стал работать по более закрытым приватным решениям, исходные коды панелей которых нельзя было найти в сети.

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

У каждого ботнета есть входной адрес, через который происходит обмен данных с серверной частью. По нему можно предположить название ботнета, который попал в систему. У меня большой опыт в этой области и для всех основных ботнетов входные адреса я знаю. Но обращение к content_manager.php я видел впервые. Надо смотреть трафик, чтобы понять, что за вирус попал к нам в руки. То, что это ботнет стало ясно с одного взгляда в содержимое сессии. При первом подключении передавалась информация о машине, даже сведения об антивирусе в системе были. Это знак, что с сервера могут приходить потом команды. Чтобы убедиться в этом я начал мониторить интернет активность появившегося процесса. Программа регулярно открывает новые соединения, да – это точно ботнет.

В ответ на первый запрос после запуска с сервера пришло одно число.

Дальше я стал проверять какие параметры и на что влияют. Решил начать с выяснения того, что за число возвращается. Это похоже на ID бота. Если это так, то отправив те же данные, что и в первый раз сервер вернёт нам то же число. Отправляю запрос и правда, возвращает это же.

Потом поменял последний символ в guid (идентификация бота скорее всего по нему происходит) и отправил новый запрос на сервер. При новым guid вернулся новый ID в системе. Значит, как минимум этот параметр динамически обрабатывается системой.

Перед ручным разбором по винтикам их сервера я сделал автоматическую проверку на уязвимости базы данных. Судя по расширению входного файла на сервере используется php, и ботнет намечается крупный. Поэтому там стоит база данных, скорее всего mysql, которая часто используется с php. И генерация id через инкремент (прибавление) к старому максимуму обычная практика там. В разработке собственных систем, ошибки при взаимодействии технологий появляются часто, их надо в первую очередь проверять. Тест показал, что на сервере используется MySQL >= 5.0, а так же что guid динамический. Попробовав немного поэкспериментировать с другими параметрами, видимых результатов я не получил. Последующая попытка испортить запрос к БД через guid сработала. Я достал список всех доступных пользователю таблиц в базе данных.

Из интересного: в таблице users было с десяток пользователей, 2 из которых имели статус админа. Значит у ботнета есть где-то админка. Проверив количество записей в таблице с ботами, обнаружил, что там около 150к записей. Если там онлайн хотя бы 40%, то только сдача в аренду такой большой сети будет приносить уже по тысячу-две долларов в час. Но я сразу нацелился на продажу, потому что никаких гарантий, что доступы к нему мне не закроют, у меня нет. Для продажи надо было пробраться в админку, через которую он и будет продаваться. Найти её не составляло труда, она находилась по адресу /admin.php. Все технологии на стандартных местах, все страницы тоже, но иногда пути к важным страницам прячут. Тогда помогает перебор, в сети есть списки потенциальных путей админок, их надо прогонять через программы для чеков. В самой админке для входа нужен только пароль. Обычно ещё используется логин, но если пользователей немного и пароли уникальные, то он не нужен. Поиск по таблице users вернул это

Пробуем ввести данные из полей hash и secret, но они не подходили для входа. Я начал пробовать комбинировать эти значения, но и это не помогло попасть в систему. Тогда решил остановиться на значениях secret, они были похожи на md5. Поиск по открытым базам ничего не дал. В паролях могла использоваться соль или все пароли просто были достаточной длины и сложности, поэтому у меня не было результата при поиске по открытым базам. Но я решил остановиться на версии, что это всё же md5. Я решил взять платную расшифровку для двух админских записей. И для первой записи я получил пароль. Изначально я не хотел его выкладывать, но это что-то. Пароль был HAHAHAHAsyKggpfR. Судя по скорости, его взломали через радужную таблицу, но даже меня удивило, что пароль из 16 символов так просто пал только из-за того, что не полностью случайный был.

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

Отображаемый в панели online был по 65-80 тысяч устройств в зависимости от дня. Чтобы понять реальный online, я загрузил туда маленькую программу, которая при запуске подключалась к моему серверу, и послал команду на её запуск на ботах. Как только пошли запуски, сервер завис). Зайти на него получилось только через 3 минуты, как число запускающих ботов снизилось. В итоге я словил 42к подключений. Значит цифры, что 65-80к ботов в день активны - правдивы. Осталось только поставить ему ценник, чтобы покупатель быстро нашёлся. Самая простая монетизация - распродать всех ботов загрузкам. Тут за неделю проходит 90 тысяч устройств, не меньше. За продажу всего получится минимум 8к долларов. Количество ботов позволяет делать узконаправленные выборки по странам, что стоит дороже чем простой микс, и реально можно рассчитывать на сумму от 10к при продаже. Но глупо продавать ботнет как простые инсталлы, боты с которых умирают через день.

У ботнета есть стабильный online, поэтому машины тут дороже. Чтобы получить 90к с инсталлов, надо закупать под 300 тысяч установок, а реально надо ещё больше. Немаленький процент машин исчезают после нескольких дней онлайна. Поэтому одного бота я оценил в треть доллара по нижней границе цены, при сборке ботнета с инсталлов. Машин ориентировочно 90к, поэтому в сумме получается 30к долларов. Покупатель нашёлся быстро. Кстати, покупателю причина продажи была сказана соверешенно банальная, но правдивная - у меня нет времени на управление и распространение. Иногда лучше скинуть сразу и получить кэш, нежели считать несуществующее бабло в перспективе.

Проверив онлайн и разброс по странам через свой сервер, ему отстучало все 51к машин. Ботнет живее чем я думал, но поднимать цену на глазах покупателя нехорошо)). Полторы тысячи скинул за услуги гаранта и сделал скидку в 500$ для ускорения. Условием выполнения сделки было перепрошивка СС 70% ботов от оговоренных 90 тысяч устройств. Эта цифра немного больше чем текущий онлайн сети, поэтому пришлось подождать половину дня, чтобы получить свои 28 тысяч со сделки.

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