Теория создания ботнета на Python.
Добрый вечер, пользователи форума :) Занимаюсь я, значится программированием (больше как хобби, с профессией не связано). И недавно, листая форум, заинтересовался созданием ботнета. Немного погуглив как это работает.. не увидел проблемы. Мы по сути просто заражаем компьютер и удаленно даём ему некоторые комманды. Так собственно и не увидев проблемы, решил попробовать сделать нечто подобное..
Это, скорее, просто записки, так сказать, мысли вслух. Тапками не кидать :(06-SES):
Итак, что же нам нужно для ботнета? Некая программа на компьютере жертвы, которая будет общаться с сервером, получать от него команды и неким образом реагировать. Если программа, значит *.exe файл, если *.exe файл - значит более чем вероятные траблы с антивирусами.
Я решил 'выебнуться' и ни как не компилить программу. Всё будет выполнять исключительно Python скриптом.
Необходимо: поставить интерпритатор языка Python на машину пользователя (более чем легальный софт, антивирус едет лесом) + закинуть python скрипт на машину жертвы (с точки зрения системы - текстовый файл с парой строчек букавок - антивирь едет лесом) Добавляем наш скрипт в автозагрузку - делаем с компьютером жертвы всё что пожелаем.
p.S. тут не уверен, как будет действовать антивирь с защитой от всяких 'интернет угроз'. Мой аваст молчит в тряпочку.
Итак.. Что же должен представлять из себя скрипт? Всё предельно просто: раз в Nное количество времени он отправляет запрос на сервер - получает определённый ответ -> как-то на него реагирует.
Окей.. Можно напрямую обращаться к серверу (читай: сайту), на котором стоит некая админка, как у 'настоящего' ботнета.. Но это сложно (читай:лень), т.к. php я не знаю (читай:не признаю), а ставить django или ему подобный фрейм и долго тупить как это работает.. короче ЛЕНЬ ! Окей, значит нужен другой вариант.. Я мальчик не совсем маленький, родился ещё в прошлом тысячелетии, так что помню как ботнеты управлялись.. irc сетями. Мирка! Вот что мне нужно!
Всё просто: штатными средставми python'a (благо всё хорошее давно придумали за меня) коннектимся к серверу в irc сетях, к созданному мной каналу (благо никаких серверов самому подымать не прийдётся, всё, как оказалось, не столь заброшено, как кажется) и всё. Бот просто 'висит' на линии и ждёт указаний. Вернее ботЫ. Все. Вместе. На одном канале. Когда появляется сообщение - они все на него реагируют. Легкотня.
Благо python из коробки умеет работать со всем этим чудом (правда не умею я, но тут на помощь пришёл github с его тоннами туториалов, так что через часика мог уже и я :(53-SES):)
Собственно, лирическая часть окончена, переходим к технической:
Подключаем единственный модуль, который нам необходим
Всё это при том, что я не пытался ничего скрывать, криптовать или хоть как то обходить какую бы то ни было защиту.
Итак, что мы имеем: возможность полностью контролировать компьютер жертвы, за счёт того, что скрипт может выполнять ЛЮБЫЕ python скрипты (а следовательно делать можно что угодно, если аккуратно), получая их от сервера и банально записывая в любой текстовый файл и затем самостоятельно его импортируя в себя. Что остаётся сделать: убрать файл из процессов, ибо там их светится аж два (python + скрипт), но это к сожалению силами python не решается (читай: я дурачок, win32api не знать, английский тоже, так что документацию тоже не читать). Но работа скрипта никаких нагрузок не даёт (
7к килобайт нагрузка), так что зачем вам вообще туда лезть? я вот не лажу, пока не прижмёт ))
Вообщем, это просто записки, тапками не бросайте. Написал, мол, вдруг кому будет интересно )) Если будут вопросы, задавайте, буду рад ответить ))
midinjer Заблокирован midinjer Заблокирован- 29 Ноя 2017
- #2
Оказалось, что если бот 5 минут ничего не делает, соединение разрывается, потому в конце каждого прохода цикла, если бот ничего не сделал впихнул вызов функции, которая пингует серверу, мол 'я тута', что бы не кикало. Выглядит функция так:
Далее научил бота делать хоть что-то полезное: 1. По команде 'console TEXT' выполняется консольная команда через cmd.exe (сама команда вместо слова TEXT). Выполняет всё, что выполняется из под 'не админской' консолькой (а это довольно много всякой фигни). 2. Выполнять любые python скрипты (в данный момент работает так: бот получает ссылку, заходит по ней, копирует текст скрипта, создаёт рядышком этот скрипт и вызывает его). Работает по команде 'python URL'. 2.5. Научил импортировать сторонние модули для python (можно делать как п.2, но в начале скрипта принудительно импортирую модуль request, ставится через pip install в консоли)
Далее попробовал решить проблему с отображением программы в диспетчере задач. Пока что единственное что придумал (реализовал, вродь работает), это запускать скрипт как Службу Windows. Там в службах столько всякого бреда, что даже если захочешь, нифига не найдёшь (не, не усли захочешь, то конечно найдёшь, но.. я вот туды никогда не захожу, а если и зайду, то разберусь что к чему онли с помощью гугла). В процессах больше ни python, ни сам скрипт не светятся. Единственная проблема: при установки софтинки (готового билда) теперь выскакивает дэбильное окошко, мол вы точно хотите установить (тобишь запрашивает права). Это впринципе не проблема, ибо винда постоянно при установки всяких игрушек с кряками и ломаного софта это просит, но всё равно обидно, как решить пока что не знаю.