Регистрация | Вход
[ Главная · Новые сообщения ]
  • Страница 1 из 1
  • 1
Форум » Основной раздел » Мастерская » ircop.tcl
ircop.tcl
Vladislav 17.07.14 01:32 #1
Скрипт для мониторинга, управлению и защиты сети. У бота должен быть глобальный ирцоп и флаг разрешающий флуд (f/F). Чтоб был доступ к командам у юзера должен быть флаг I на боте.

1. Мониторинг:

Цитата
-> Алеша!~AndChat63@83.69.16.231 -> Россия RU 1@ !w 1 | !i 1 | !m 1 | !j 1 | !s 1 | !g 1
•• Алеша -> AndChat 1.4.1
-> swrjq!~15@83-167-240-246.static.masterinter.net -> 83.167.240.246 -> Чехия CZ 1@ !w 2 | !i 2 | !m 2 | !j 2 | !s 2 | !g 2
-> dsvr!~d9730a83@ircip3.mibbit.com -> Веб-Гейт 217.115.10.131 Германия DE 1@ !w 3 | !i 3 | !m 3 | !j 3 | !s 3 | !g 3


-> обозначает, что хост впервые в сети (база хостов используется из скрипта vseen.tcl которой при наличии ирцопа заносит в базу все входы в сеть)
-> обозначает, что хост был ранее в сети.
Алеша (жирный ник) обозначает, что данный ник в первые в сети, обычный ник обозначает что ник был ранее в сети (также по базе !син)
Россия обозначает что страна из белого списка (список находится в настройках скрипта)
Чехия обозначает что страна не из белого списка.
1@ обозначает, что данный ник замечен один раз за время пока работает скрипт без перезагрузок
Веб-Гейт обозначает, что хост совпал с маской вебгейта из списка в настройках скрипта, 217.115.10.131 реальный ip юзера. Для вебгейтов маска глайна/шуна включает идент, чтоб не забанить всех с данного вебгейта. У вебгейтов не проверяется версия клиента.
•• Алеша -> AndChat 1.4.1 обозначает версию клиента. Ссылки, цвета и лишняя информация вырезается.

Далее идёт список быстрых команд, рядом с командой указан порядковый номер, по номеру бот находит необходимый ник или хост.
!w - короткий аналог команды !лок (выводит информацию о ip). Если не указан номер, то подставляется последний.
!i - информация о нике (whois). Если не указан номер, то подставляется последний.
!m - отправляется сообщение указанное после номера в приват. Если указано 2 номера, то это обозначает диапазон (например "!m 1 5 привет" отправит сообщение с 1 по 5 номер)
!j - саджойн на указанный канал после номера. Если указано 2 номера, то это обозначает диапазон.
!s - шун, время указывается в настройках скрипта. Если указано 2 номера, то это обозначает диапазон.
!g - глайн, время указывается в настройках скрипта. Если указано 2 номера, то это обозначает диапазон.

В настройках есть список ников у которых не проверять версию клиента и есть список масок которые не проверять на страну и не транслировать на канал.

2. Управление:

Цитата
!g [-]<номер [номер]|id:ид|ник|маска> - глайн. '-' снятие глайна, аналогично будет если указать id; два номера являются диапазоном.
!s [-]<номер [номер]ник|маска> - шун. '-' снятие шуна; два номера являются диапазоном.
!j [-]<номер [номер]ник> <канал> - саджойн. '-' сапарт; два номера являются диапазоном.
!m <номер [номер]|ник> <текст> - приватное сообщение. Два номера являются диапазоном.
!w [номер] - информация о ip. Если номер не указан выводится информация о последнем нике.
!i [номер|ник] - информация о нике. Если номер не указан выводится информация о последнем нике.
!p <+|-> <маска> <сообщение> - добавление/удаление автосообщения при входе в сеть.
!t <+|-> <маска> <каналы> - добавление/удаление каналов для автоджойна при входе в сеть.
!l [c|v|g|s|m|p|t] - лог. 'c' конекты; 'v' версии; 'g' глайны; 's' шуны; 'm' сообщения; 'p' автосообщения; 't' автоджойны.


!g:

Цитата
<Vladislav> !g 10
<Brabus> G:Line-> *@5.141.91.228 id:14055165651402489383
<Vladislav> !g -10
<Brabus> G:Line-> *@5.141.91.228
<Vladislav> !g Tester
<Brabus> G:Line-> *@5.141.91.228 id:14055165851422473812
<Vladislav> !g -id:14055165851422473812
<Brabus> G:Line-> *@5.141.91.228
<Vladislav> !g *@5.141.91.228
<Brabus> G:Line-> *@5.141.91.228 id:14055173522189902203
<Vladislav> !g -*@5.141.91.228
<Brabus> G:Line-> *@5.141.91.228
<Vladislav> !g 10 13
<Brabus> G:Line-> *@95.221.7.91 id:14055173522189912203
<Brabus> G:Line-> *@95.46.67.46 id:14055173522189925271
<Brabus> G:Line-> *@35.41.42.11 id:14055173522189938320


Время глайна (3 дня по умолчанию) и причина настраиваются в скрипте, причина глайна выглядит так: "Brabus Security Center > id:14055165851422473812"
Если на команду с параметрами бот не отвечает значит сообщение от сервера не было получено, например неверная маска или такой глайн уже есть.

!s:

Цитата
<Vladislav> !s 27
<Brabus> Shun-> *@5.141.91.228
<Vladislav> !s -27
<Brabus> Shun-> *@5.141.91.228


Всё аналогично !g. Время шуна указывается в настройках скрипта (10 минут по умолчанию). При этом ник получит приватное сообщение "Вы не сможете совершать какие-либо действия в течении 10 минут. Приятного наблюдения =)".
Если на команду с параметрами бот не отвечает значит сообщение от сервера не было получено, например неверная маска или такой шун уже есть.

!j:

Цитата
<Vladislav> !j 10 #testchan
<Brabus> Sajoin-> Tester -> #testchan
<Vladislav> !j -10 #testchan
<Brabus> Sapart-> Tester -> #testchan


Если на команду с параметрами бот не отвечает значит сообщение от сервера не было получено, например такого ника уже нет.

!m:

Цитата
<Vladislav> !m 10 куку
<Brabus> Msg-> Tester


!w:

Цитата
<Vladislav> !w
<Brabus> IPv4: 5.141.91.228. Имя сети: USI_ADSL_USERS Описание: Dynamic distribution IP's for broadband services, OJSC Rostelecom, regional branch "Urals" Страна: RU Адрес: 11, Moskovskaya str., Yekaterinburg, 620014, Russian Federation [5.141.0.0 - 5.141.255.255 ARIN REF]


!i:

Цитата
<Vladislav> !i
<Brabus> [I] Tester!~neon@5.141.91.228 -> Мастер
<Brabus> [I] Использует моды: +iTxP
<Brabus> [I] Настоящий IP: 5.141.91.228
<Brabus> [I] Сидит на 2 каналах (1@): #bots @#testchan
<Brabus> [I] Кодировка: CP1251
<Brabus> [I] молчание: 11 минут 15 секунд онлайн: 11 минут 26 секунд подключился: в среду 16 июля в 17:35


!p:

Цитата
<Vladislav> !p + Tester!* Вы тестер?
-Brabus- Маска: Tester!* добавлена с сообщением: Вы тестер?
<Vladislav> !p - Tester!*
-Brabus- Маска: Tester!* удалена.


Можно задать сообщение при входе в сеть по маске. Маска может повторяться, тем самым получится вывод в несколько строк. По умолчанию вывод нотисом, в настройках можно указать в приват. Если маска *!*@* то сообщение получит каждый.

!t:

Цитата
<Vladislav> !t + Tester!* #bots
-Brabus- Новая маска: Tester!* с каналами: #bots.
<Vladislav> !t - Tester!* #bots
-Brabus- Маска: Tester!* удалена.


Можно задать автозаход на канал по маске при входе в сеть. Если маска *!*@* то заходить будут все.

!l:

Выводит данные из баз скрипта. По умолчанию последние 50 строк, можно изменить в настройках скрипта.

3. Защита:

Защита осуществляется в ручном режиме и автоматическом.

Ручной режим заключается в том, что админ набирает команду !g с указанием диапазона и тем самым банит всех флуд-ботов одной командой. При частых подключениях к сети бот выделяет ники на канале и пишет в приват юзерам с флагом I.
К примеру с номера 234 повалили боты, затем зашёл юзер под номером 299 и далее опять пошли боты (ботов сразу видно и легко отличить от юзеров) в этом случае админу нужно набрать две команды: !g 234 298 и !g 300 370 теперь все боты в глайне.

Автоматический режим заключается в том, что бот отправляет в глайн всех чья страна в чёрном списке, список настраивается в настройках.
При частых подключениях к сети или при нескольких подключений из чёрного списка за короткий промежуток времени включается на некоторое время усиленный режим:
-отлов рандомных ников - бот проверяет по некоторым алгоритмам ник и если признаёт его рандомным - выставляет глайн.
-отлов незнакомцев - бот проверяет есть ли в базе син ник с хостом и если таких нет то выставляет глайн.
-проверка на версию клиента - бот проверяет был ли получен ответ на запрос версии и если нет то выставляет глайн (в настройках есть список ников которые не проверять).
-при атаке бот получает с сайта список прокси (который использует известный скрипт для мирки) и отправляет его в глайн. (по умолчанию отключено)

Цитата
<Brabus> Vladislav >>> Активирована защита по версии клиента и отлов рандом-ников на 5 минут!
<Brabus> Vladislav >>> Замечены частые подключения к сети!
<Brabus> G:Line-> *@bidara38.mykris.net id:14055224883030780536
<Brabus> G:Line-> *@41.89.194.27 id:14055224883031253046
<Brabus> G:Line-> *@122.226.172.18 id:14055224893031713852
<Brabus> Обнаружен рандомный ник (TwkPQYPUGE!~wrAZJ@187.217.205.19)
<Brabus> G:Line-> *@187.217.205.19 id:14055224823024587188
<Brabus> Версия не получена от iovNYpQN (*@46.175.184.235)
<Brabus> G:Line-> *@46.175.184.235 id:14055225193062190073


Итог:
Данный скрипт успешно работает в сети IRCLuxe, с его появлением об атаках все забыли, также здесь стоит отметить скрипт antiflood.tcl (находится в боте), который успешно защищает непосредственно каналы.
Данный скрипт является дополнением к стандартным системам защиты которые проверяют хост на прокси и в большей степени расчитан на мониторинг и ручной режим защиты. При проверке страны используется текстовая база GeoIP.

За скриптом обращайтесь в наш чат. Скрипт постоянно дорабатывается и здесь выкладываться не будет. Так же если у вас будт идеи/предложения очень быстро они могут быть реализованы в данном скрипте.
Форум » Основной раздел » Мастерская » ircop.tcl
  • Страница 1 из 1
  • 1
Поиск: