HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Чаты
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 16.09.2010, 03:25
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

Иногда бывает необходимо иметь для каких-то IRC нужд базы, содержащие образцы никнеймов и некоторых других данных рядовых пользователей обычных сетей. Сколь бы ни был хорош механизм автоматической генерации псевдоосмысленных имен - "живые" никнеймы лучше.

Здесь предлагается программное обеспечение, обеспечивающее минимальные возможности работы с базами пользовательских данных, а также сами базы.

Итак, база данных очень простой структуры, состоит из строк: nick|user|real name. Разделитель - символ "§".

Базы две: сети RusNet (1954 пользователя) и сети FreeNode (9110 пользователей).

ПО bdb converter позволяет преобразовывать случайно выбранные строки из баз вышеуказанного формата в произвольный, самостоятельно заданный формат (справка в программе) с произвольной совместимой мутацией данных.

Теперь вполне возможно будет использовать в данных своих ботов не "floodbot00001 это flooder@host :flood-bot", а что-то почеловечнее и менее заметное, как то "Ради0котёнок это 5n1per@host :Маx".
 

  #22  
Старый 22.09.2010, 04:07
Suicide
Познавший АНТИЧАТ
Регистрация: 24.04.2009
Сообщений: 1,730
Провел на форуме:
30140275

Репутация: 3256


По умолчанию

Обзор существующих IRCd

Выше всё время говорилось про IRCd RusNet, однако это IRCd далеко не является идеальным, единственным и распространённым для установки в различных IRC-сетях/отдельных IRC-серверах.

Итак, какие же IRCd существуют в "природе"? Об этом как раз и пойдёт речь далее.

Для начала, определим, что же такое есть это IRCd?

Как гласит wikipedia,

IRCd (демон Internet Relay Chat ) — это сервер который обслуживает протокол интернет чата (IRC), позволяя людям общаться друг с другом по Интернету (что предусматривает обмен текстовыми сообщениями в реальном времени).

Сервер принимает соединения от IRC клиента с определённого порта. Когда сервер является частью IRC сети, он также поддерживает соединения с другими серверами/демонами.

Термин ircd изначально относился к одной единственной разновидности программ, но в конечном счёте стал относиться к любой реализации IRC-демона. Однако, оригинальная версия до сих пор распространяется под тем же именем.

Существует множество различных по уровню функциональности и стабильности IRCd:

InspIRCd (http://inspircd.org/). IRC демон для систем Linux, BSD, Windows и Apple OS X, написанный с нуля чтобы обеспечить стабильный, современный и легкий доступ в IRC.

beware ircd (http://ircd.bircd.org/). IRC сервер как для windows, так и для linux. Имеет небольшие проблемы со стабильностью. Прекрасно подходит для различных тестирований или для небольшого (по кол-ву предполагаемых юзеров) IRC-сервера. С большим количеством пользователей будут проблемы в виде, например, зависания процессора, сбоев и тд.

IRCD-Hybrid (http://ircd-hybrid.com). Старейший и наиболее известный ircd. Именно этот демон используется на большинстве серверов сети EFnet. Hybrid отличается стабильностью работы и гибкостью настройки. Поддерживает IPV6, сжатие трафика и OpenSSL (только для серверов).

IRCD-Hybrid-RU (http://hyb.net.ru). Адаптация IRCD-Hybrid под нужды российских пользователей. Теперь в демоне можно обнаружить поддержку русских символов в никах и названиях каналов, и SSL для клиентов, и SVS-команды для сервисов.

Bahamut (http://bahamut.dal.net). Стандарт де-факто на серверах сети DALnet. Был основан на DreamForge и IRCD-Hybrid. Содержит немало функций для организации качественной IRC-сети, но мало развивается в отличие от других ircd, таких как UnrealIRCD или IRCD-Hybrid.

ircd-RU (http://muhnet.org.ru/). Bahamut с добавленной в него поддержкой кириллицы и других кодировок в названиях ников и каналов. Активно используется в сети WeNet.

UnrealIRCd (http://www.unrealircd.com/). Скорее всего самое распространённое и популярное IRCd. Возможности сервера очень велики. Тут и поддержка IPV6, и SVS для сервисов, и OpenSSL, как для серверов, так и для клиентских подключений (очень полезная для клиента вещь, особенно когда он работает из локальной сети). Unreal работает со множеством сервисов, команды его неисчислимы, но и у него есть один “незначительный” минус - плохо держатся соединения между серверами. Как следствие – частые split’ы.

UltimateIRCd (http://www.shadow-realm.org/). IRC сервер, основанный на Bahamut IRCd и Hybrid IRCd/DreamForge и Unrealircd, включающий в себя основные возможности этих серверов. Несмотря на небольшой размер, обладает весьма широким набором опций, поддерживает IPv6, SSL, и многое другое.

Sircs (скачать) Очень маленький, компактный IRC сервер. Прост в установке и конфигурировании. Предназначен, видимо, для очень маленьких сетей или для тестирования и отладки ботов (скриптов) на своём компьютере. В архиве прилагается help файл на русском языке.

IRCd RusNet используется в одноименной сети. Можно скачать по ссылкам из:

/showpost.php?p=1747511&postcount=20

Обзор будет дополняться.

"Литература": http://www.nixp.ru/soft/, http://irc.xshell.org/, http://ruirc.ru/, http://bestirc.ru/
 

  #23  
Старый 10.12.2010, 14:35
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

О IRC WebGate

В данной публикации мы рассмотрим IRC веб-гейты - особенности их устройства, функционирования и изменения протокола IRC для них.

Для тех, кто не знаком с веб-гейтами, поясним, что это такое. Веб-гейт (вебгейт, web gate, webirc) для IRC - связная межпротокольная система, своего рода посредник, поддерживающий с одной стороны (от IRCd) IRC протокол (с небольшой модификацией) и http с другой (от веб браузера пользователя).

WEB IRC

С пользовательской стороны веб-гейт обычно реализуется на технологиях, стандартных для веб-чатов: JavaScript или AJAX, Java, Flash. Причем эти технологии используются для формирования более удобного пользовательского интерфейса веб-гейта. Интерфейс на AJAX вследствие разной поддержки браузерами оной технологии сделать максимально совместимым сложно. Однако он легче, чем Java-интерфейс, который более совместим, но, естественно, требует поддержки технологии Java в браузере. Веб-гейты на Flash крайне малочисленны, публичное ПО для них отсутствует. Теоретически можно сделать веб-гейт на одном лишь html, с минимальным пользовательским интерфейсом типа "консоль", пример наработки.

Уязвимости обычных веб-чатов для веб-гейтов малохарактерны. Дело в том, что веб-гейт не имеет собственной системы авторизации, он не хранит и не сверяет пользовательские данные, пароли. Он лишь ретранслирует данные в IRC, приводя их к стандартнову виду согласно RFC 1459. Тем не менее иногда стоит ожидать появления активных XSS.

Стандартный веб-гейт позволяет указать пользователю как минимум nickname. Подобные ограниченные веб-гейты применяются для местных, небольших IRC-сетей и даже отдельных каналов их сообществами, например http://webirc.antichat.net/. Как максимум - веб-гейт принимает от пользователя все даные, как IRC-клиент. Можно заходить на произвольный IRC-сервер/канал и иметь любые допустимые пользовательские данные. Пример - широко известный http://www.mibbit.com/.

Со стороны пользователя веб-гейт создает проблемы задержек. Они возникают при недостаточно стабильном соединении пользователя или некорректной работе используемых технологий в веб-браузере. Со стороны сервера при грамотных настройках проблем нет. Под грамотными настройками имеется ввиду возможность приемки сервером реальных хостов подключающихся к веб-гейту пользователей. Дабы в IRC у пользователей были их собственные хосты, а не единственный хост веб-гейта.

Для обеспечения передачи хоста пользователя в протокол IRC на серверах, поддерживающих webirc внесено изменение. Суть его в добавочной команде, сразу отсылаемой IRC серверу после успешного соединения с ним. Команда выглядит так:

Код:
Code:
WEBIRC [password] cgiirc [host] [IP]
За этой командой отправляются стандартные команды USER и NICK. В команде WEBIRC host и IP - данные пользователя, которые будут указаны вместо хоста веб-гейта, а password это пароль на веб-гейт в открытом виде, прописываемый и на IRC сервере. Документация на конфигурирование под веб-гейт UnrealIRCd.

ПО для организации IRC веб-гейтов :

На JAVA: http://www.jwirc.com/

На AJAX: http://cgiirc.org/


Статья написана begin_end для ANTICHAT, 10.12.2010.
 

  #24  
Старый 19.12.2010, 00:50
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

О IRC Wayback Machine

Возможно вы заметили, а если не заметили, то сейчас узнаете о одной достаточно любопытной вещи. Конечно, эта вещь относится к IRC, к RusNet и к Античату . Это так называемая IRC Wayback Machine.

Общеизвестно существование специализированных сервисов, позволяющих "заглянуть в прошлое" Интернет, увидеть, как выглядели веб-сайты в то время. Сервисы показывают пользователю по возможности полноценную видимость веб-ресурса из сохраненной у себя информации.

Некоторое время назад мной изучался вопрос разработки IRC сервисов и приложений-симуляторов IRC. Вспомнив о днях минувших, возможно отчасти из ностальгии, одна из заготовок была переделана под такую интересную задачу: восстановление в режиме реального времени событий IRC сети из логов, например mIRC.

В общем решено - сделано. Основой для подключения клиентов и сервиса-симулятора стала старая версия RusNet IRCd. Симулятор, подключаясь к ней воссоздавал картину сети, наиболее актуальную ее часть (списки серверов, сервисов, IRC операторы). Вначале предполагалось восстановить список пользователей и каналов, но такая задача чрезмерно ресурсоемка. В итоге получился внешний аналог сети RusNet с уровнем идентичности на уровне веб-wayback. В этом аналоге существует канал #antichat, на котором происходит почти полноценное воспроизведение картины, сохраненной в логе. Некоторые моменты сделать идентичными не удалось: так не получится пообщаться с пользователями (ну естественно!, хотя можно было сделать скучных ботов), в сети установлен режим read-only; хосты пользователей не были сохранены в логе - генерируются; линия времени неадекватна, участки с молчанием или отсутствием лога пропускаются. Однако в целом, по предварительным пользовательским тестам картина сети озадачивает даже самых опытных пользователей - не сразу видна искусственность происходящего.

Проект в собранном виде, с образцами логов выложен ниже. Для работы проекта требуется установить RusNet IRCd и настроить его для линковки другого сервера (сервера-имитатора проекта, имя по умолчанию irc.rinet.ru). Проект настраивается 5-ю конфигурационными файлами:

Цитата:
Сообщение от None  
autoexec.dat
- файл, содержащий межсерверные RAW команды, отправляемые IRCd после линковки; набор команд по умолчанию воспроизводит минимальную структуру сети.
config.dat
- основные настройки программы, здесь же задаётся канал для полноценной имитации.
feeding.dat
- файл лога программы
mIRC 6.12
из которого воссоздается картина на канале; обратите внимание на формат лога, если думаете заменять (в формате нет хоста, специфических команд и прочего, что может присутствовать - при добавлении лог вызовет ошибки парсинга!).
lastline.dat
- последняя обработанная строка из файла feeding.dat, счетчик по-сути.
webadmin.dat
- файл настроек доступа к административной веб-консоли сервиса-симулятора (через консоль можно отправлять собственные дополнительные RAW IRC команды).
Ведутся логи RAW IRC и логи событий программы (с опцией автоупаковки при превышении размера). Есть минимальный крон ircscron.exe, перезапускающий сервис-имитатор в случае падения.

Итак, балуйтесь: IRC Wayback Machine 1.0, 1.3МБ

Действующая версия, если действует - в моей подписи.
 

  #25  
Старый 03.11.2012, 03:43
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

 

  #26  
Старый 01.11.2013, 00:42
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

Обнаруженные уязвимости или просто недочеты/особенности в работе сервисов

Объект исследования:

Сервисы ircservices-5.0.54[rusnet-1.4] build #32 от 24.12.2012


Проверяем команды, характерные для любого IRC сервера (естественно, из тех, что позволяют удаленный запрос для себя).

(Примечание: ircdebug – собственный nick отладочного клиента).

Смотрим версию:

version *.RusNet

:*.RusNet 351 ircdebug ircservices-5.0.54[rusnet-1.4] *.RusNet :build #32, compiled п:пҐпЄ п?п?п? 24 11:54:38 MSK 2012


Нераспознанные символы, вероятно искаженное кириллическое ДЕК (декабрь) и ПНД (понедельник).

Пингуем:

PING irc.run.net :*.RusNet

:*.RusNet PONG *.RusNet ircdebug


Пингуется успешно, сервер стандартно нам отвечает.

Смотрим whois (whois nick nick для получения ответа именно от *.RusNet), как цель выберем nickname одного из сервисных ников, Global:

whois Global Global

:*.RusNet 311 ircdebug Global service RusNet * :Global Noticer

:*.RusNet 312 ircdebug Global *.RusNet :Services for RusNet IRC Network

:*.RusNet 313 ircdebug Global :is a network service

:*.RusNet 318 ircdebug Global End of /WHOIS :response.


Сравним с ответом whois об этом нике от обычного сервера:

whois Global

:irc.run.net 311 ircdebug Global service RusNet * :Global Noticer

:irc.run.net 312 ircdebug Global *.RusNet :Services for RusNet IRC Network

:irc.run.net 313 ircdebug Global :is an IRC Operator

:irc.run.net 318 ircdebug Global :End of WHOIS list.


Наблюдаем занятное различие в ответе 313, сервер *.RusNet говорит нам, что статус Global «network service», что не совсем обычно, впрочем, ничего особого это не означает.

Запросим время через time и сравним с ответом прочих серверов:

time *.RusNet

:*.RusNet 391 ircdebug *.RusNet :Tue Dec 25 13:29:39 2012 MSK

time irc.nsu.ru

:irc.nsu.ru 391 ircdebug irc.nsu.ru :Tuesday December 25 2012 -- 17:30 +07:00

time irc.anarxi.st

:irc.anarxi.st 391 ircdebug irc.anarxi.st :Tuesday December 25 2012 -- 11:30 +01:00


Наблюдаем отличия в формате ответа от *.RusNet.

Проверим ответы на stats команды. Обычные сервера сети отвечают пользователю без флага «o» на stats с параметрами «c h o u» (то же и в верхнем регистре – «C H O U») и «P» (только в верхнем регистре):

stats c *.RusNet

:*.RusNet 219 ircdebug c :/STATS c not applicable or not supported.

stats h *.RusNet

:*.RusNet 219 ircdebug h :/STATS h not applicable or not supported.

stats o *.RusNet

:*.RusNet 219 ircdebug o :/STATS o not applicable or not supported.

stats u *.RusNet

:*.RusNet 242 ircdebug :Services up 1 day, 01:48:00

:*.RusNet 250 ircdebug :Current users: 3109 (21 ops); maximum 3299

:*.RusNet 219 ircdebug u :End of /STATS report.


Ответы вполне логичны, хоть и необычны. В случае с «u» виден более расширенный ответ, чем от обычного сервера. При попытке получить другие stats они блокировались сервером клиента (нет флага «o», «Permission Denied- You're not an IRC operator») и не пересылались к *.RusNet. На stats в верхнем регистре, например «stats P», сервисы не отвечают, хотя эта команда к ним явно успешно посылается.

Смотрим admin:

admin *.RusNet

И получаем ответ, аналогичный запросу NickServ admins от сервисного ника NickServ.


Посмотрим info:

Код:
Code:
info *.RusNet
:*.RusNet 371 ircdebug :IRC Services developed by and copyright (c) 1996-2005
:*.RusNet 371 ircdebug :Andrew Church .
:*.RusNet 371 ircdebug :Parts written by Andrew Kempe and others.
:*.RusNet 371 ircdebug :IRC Services may be freely redistributed under the GNU
:*.RusNet 371 ircdebug :General Public License, version 2.
:*.RusNet 371 ircdebug :-
:*.RusNet 371 ircdebug :Many people have contributed to the ongoing development of
:*.RusNet 371 ircdebug :IRC Services.  Particularly noteworthy contributers include:
:*.RusNet 371 ircdebug :Erdem Sener
:*.RusNet 371 ircdebug :Jose R. Holzmann
:*.RusNet 371 ircdebug :Mauritz Antunes
:*.RusNet 371 ircdebug :Michael Raff
:*.RusNet 371 ircdebug :Raul S. Villarreal
:*.RusNet 371 ircdebug :Yusuf Iskenderoglu
:*.RusNet 371 ircdebug :A full list of contributers and their contributions can be
:*.RusNet 371 ircdebug :found in the Changes file included in the IRC Services
:*.RusNet 371 ircdebug :distribution archive.  Many thanks to all of them!
:*.RusNet 371 ircdebug :-
:*.RusNet 371 ircdebug :For more information and a list of distribution sites,
:*.RusNet 371 ircdebug :please visit: http://www.ircservices.za.net/
:*.RusNet 371 ircdebug :-
:*.RusNet 371 ircdebug :Plenty of changes have been made by RusNet team to get it
:*.RusNet 371 ircdebug :work with rusnet-ircd
:*.RusNet 371 ircdebug :Version 5.0.54[rusnet-1.4] (build #32, compiled п?пҐпЄ п?п?п? 24 11:54:38 MSK 2012)
:*.RusNet 371 ircdebug :On-line since Mon Dec 24 12:03:41 2012 MSK
:*.RusNet 374 ircdebug :End of /INFO list.
В целом, информация полезная и только.

Запросим motd:

Код:
Code:
motd *.RusNet
:*.RusNet 375 ircdebug :- *.RusNet Message of the Day
:*.RusNet 372 ircdebug :- 
:*.RusNet 372 ircdebug :-           *** Rusnet IRC Services ***
:*.RusNet 372 ircdebug :- 
:*.RusNet 372 ircdebug :-  Nicks expiration  depends on the time of your main nickname
:*.RusNet 372 ircdebug :- registration. The longer this time the later your nick will expire
:*.RusNet 372 ircdebug :- if you stop using it.
:*.RusNet 372 ircdebug :- 
:*.RusNet 372 ircdebug :- Your nick  ircdebug  will expire in  283 days, 1 hour  of non-use.
:*.RusNet 372 ircdebug :- 
:*.RusNet 372 ircdebug :-  Channel expiration  depends on the owner nickname expiration or
:*.RusNet 372 ircdebug :- channel usage. If owner nickname expired and no successor has been set,
:*.RusNet 372 ircdebug :- a channel will expire.
:*.RusNet 372 ircdebug :- If nobody with at least AutoVoice access level joins the channel
:*.RusNet 372 ircdebug :- within  60 days  days, the channel will expire.
:*.RusNet 372 ircdebug :- 
:*.RusNet 372 ircdebug :- If you need services administrator assistance type
:*.RusNet 372 ircdebug :-  /NickServ ADMINS 
:*.RusNet 372 ircdebug :-
*** больше ничего нет ***
Ответ, конечно уникален, но есть мелкое несоблюдение стандартного формата ответа – нет завершающей строки «376 ircdebug :End of MOTD command».

На команды whowas, list, pong, links, users, summon запрашиваемые с *.RusNet ответа не поступает.



Смотрим, какими еще данными представляет себя в сети сервер сервисов, его никнеймы и особенности работы.

На *.RusNet числятся 5 постоянных пользователей, представляющих собой собственно сервисы. Посмотрим их whois:

whois NickServ NickServ

:*.RusNet 311 ircdebug NickServ service RusNet * :Nickname Registration Service

:*.RusNet 312 ircdebug NickServ *.RusNet :Services for RusNet IRC Network

:*.RusNet 313 ircdebug NickServ :is a network service

:*.RusNet 318 ircdebug NickServ End of /WHOIS :response.

whois ChanServ ChanServ

:*.RusNet 311 ircdebug ChanServ service RusNet * :Channel Registration Service

:*.RusNet 312 ircdebug ChanServ *.RusNet :Services for RusNet IRC Network

whois MemoServ MemoServ

:*.RusNet 311 ircdebug MemoServ service RusNet * :Memo Server

:*.RusNet 312 ircdebug MemoServ *.RusNet :Services for RusNet IRC Network

whois OperServ OperServ

:*.RusNet 311 ircdebug OperServ service RusNet * :Errare humanum est

:*.RusNet 312 ircdebug OperServ *.RusNet :Services for RusNet IRC Network

:*.RusNet 313 ircdebug OperServ :is a network service

:*.RusNet 318 ircdebug OperServ End of /WHOIS :response.

whois Global Global

:*.RusNet 311 ircdebug Global service RusNet * :Global Noticer

:*.RusNet 312 ircdebug Global *.RusNet :Services for RusNet IRC Network

:*.RusNet 313 ircdebug Global :is a network service

:*.RusNet 318 ircdebug Global End of /WHOIS :response.


Странным образом получаем только сокращенные ответы для ChanServ и MemoServ. Также видим шутку в realname у OperServ («Errare humanum est» – «человеку свойственно ошибаться», вероятно ее вставил туда «erra» ).

Все 5 сервисов числятся в сети IRC-операторами, но какие еще у них флаги? Узнаем, присвоен ли им +i через общий запрос who:

who * o

:irc.run.net 352 ircdebug * service RusNet *.RusNet NickServ H* :1 Nickname Registration Service

:irc.run.net 352 ircdebug * service RusNet *.RusNet ChanServ H* :1 Channel Registration Service

:irc.run.net 352 ircdebug * service RusNet *.RusNet MemoServ H* :1 Memo Server

:irc.run.net 315 ircdebug * :End of WHO list.


Замечаем отсутствие Global и OperServ, следовательно у них есть +i.

Предположим, где находятся сервисы сети физически по сообщению с канала &SERVERS:

Received SERVER *.RusNet from irc.run.net (6 [82.137.161.42] Services for RusNet IRC Network)

Логично, что они на одном хосте с irc.run.net.

Порой на сервере *.RusNet могут числиться иные пользователи – часть работы enforce-механизма. Это никнеймы, которые сервисы принудительно заняли, а затем освобождают (обычно). Все такие никнеймы имеют маску enforcer@RusNet, без каких-либо пользовательских флагов. С этим механизмом связана уязвимость, которая будет описана ниже. Пример ника:

who enforcer

:irc.run.net 352 ircdebug * enforcer RusNet *.RusNet Gas H :1 NickServ Enforcement

:irc.run.net 315 ircdebug enforcer :End of WHO list.

whois [Tycho] [Tycho]

:*.RusNet 401 ircdebug [Tycho] :No such service.


На whois в отношении таких ников сервисы отвечают некорректно, будто их нет. Скорее всего это следствие того, что whois команда на *.RusNet расчитана только на 5 вручную прописанных ников сервисов.

Разберем обращения к сервисным никам командами privmsg или ****Serv:

chanserv help

nickserv help

memoserv help

operserv help

global help


На первые три без вопросов выводится справка, на operserv клиентский сервер выдает ошибку (нужен «o»), а global «Unknown command». Дело в том, что эти команды это алиасы вариантов команд «privmsg ****Serv@*.RusNet». С operserv идет проверкана флаг «o» и алиас не срабатывает, а с global алиаса нет вовсе. Обратимся же к сервисам через «privmsg ****Serv@*.RusNet»:

privmsg chanserv@*.RusNet help

privmsg nickserv@*.RusNet help

privmsg memoserv@*.RusNet help

privmsg operserv@*.RusNet help

:OperServ!service@RusNet NOTICE ircdebug : В доступе отказано.

privmsg global@*.RusNet help


Первые трое также выдали стандартный ответ. OperServ лично ответил, что нет доступа, а global промолчал, хотя текст к нему должен был дойти. Вероятно, у него нет обработчика. Кстати, к другим никам в сети обратиться схожим образом не удалось. Попробуем обратится к сервисом третьим способом, который был устранен, хотя стандартен - обычный «privmsg nick».

privmsg chanserv help

:ChanServ!service@RusNet NOTICE ircdebug :Use /chanserv, not /MSG chanserv

privmsg niCKserv help

:NickServ!service@RusNet NOTICE ircdebug :Use /niCKserv, not /MSG niCKserv

privmsg memoserv help

*** выводится нормальная справка ***

privmsg operserv help

:OperServ!service@RusNet NOTICE ircdebug :В доступе отказано.

privmsg global help

*** ничего, как и ожидалось ***


Итак, здесь мы обнаружили несколько вещей. Отсутствие поддержки прямой команды privmsg реализовано только у ChanServ и NickServ. Хотя функция, которая отвечает таким способом расчитана на любое имя сервиса (специально имя вводилось в разном регистре, в ответе регистр сохранился «niCKserv». MemoServ и OperServ по каким-то причинам были признаны не требующими этого исправления, что является мелким недочетом.

Далее смотрим ограничения на длину ника, которое у серверов составляет 31 символ. У сервисов:

nickserv link xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs

-NickServ- Ник должен быть не длиннее 30 символов.


Теперь же вспомним о случае, когда ник принудительно изменяется. Вообще этот момент довольно неудачен. В большинстве сетей ник меняют на GuestNNNNN и подобные. Использовать пользовательский ник, как основу - довольно уязвимо. Это показало себя в бывшей уязвимсти, связанной с режимом +z, когда попытка сервисов сменить кириллический ник на канале с запретом кириллицы приводила к конфликту, порождающему десинк и проч.

Описание уязвимости enforcer.

Представим себе следующее: имеется зарегистрированный ник длиной 30 символов. Кто-то меняет свой ник на него. Через минуту ник меняется сервисами. На какой? На прежние 30 символов + 5 случайных цифр. Но сервера поддерживают 31 символ, и 4 цифры вырезаются. В итоге получаем ник в 31 символ. Но в этом случае будет всего 10 вариантов, на которые сервисы смогут сменить ник. А если в сети будет присутствовать 10 таких ников, т.е. свободных вариантов не будет? Ник все равно будет изменен на один из них. Получим 2 ника в сети одновременно. И ваш ник будет убит, с причиной коллизия. Но ситуация будет немного другой, если вы были подключены к серверу, куда прилинкованы сервисы. В этом случае для наблюдателя ваш ник все равно выйдет из сети, будет убит. Но вы по-прежнему будете подключены к серверу. В это время сервисы заведут свой ник, enforcer. И вы будете опознаваться в сети именно как он. Т.е. хост во whois, who и иных случаях будет enforcer@RusNet. Но это не все. Такой enforcer не освобождается через минуту. Единственный сервер, который будет помнить о том, что вы в сети, это сервер *.RusNet. Прочие сервера не будут считать вас в списках пользователей каналов, из которых вы вышли по killу. Если до этого у вас на канале был статус +o, вы сможете изменять режимы канала, и это увидят все пользователи. Так же вы сможете говорить на канале. Предположительно, это благодаря вашему хосту @RusNet, так как при других уязвимостях с коллизиями подобное не наблюдалось, пользователь, которого нет на канале не мог изменять его режимы, даже имея статус. Можно выйти и зайти на канал. В этом случае вы станете видны, но хост останется enforcer@RusNet.

Решение проблемы (самое очевидное): ограничить длину регистрируемого/линкуемого ника 26 символами, хотя даже 29 уже даст хороший эффект (малореально держать 100 ников для исчерпания возможности переименования).

Пример эксплуатации (лог канала, глазами стороннего наблюдателя):

Код:
Code:
[23:16] * this-is-veryvery-1ong-nickname (~debugger@antichat.in) приходит в #chan
[23:17] * ChanServ меняет режим: +o this-is-veryvery-1ong-nickname
[23:17] -ChanServ:@#chan- OP command used for this-is-veryvery-1ong-nickname by begin_end
[23:17] * this-is-veryvery-1ong-nickname (~debugger@antichat.in) вышел (Killed (irc.meganet.ru (irc.run.net[unknown@82.137.161.42]  test text
[23:21] * this-is-veryvery-1ong-nickname (enforcer@RusNet) приходит в #chan
[23:22] * this-is-veryvery-1ong-nickname меняет ник на ircdbg
[23:22] * ircdbg (enforcer@RusNet) покидает #chan
[23:22] * ircdbg (enforcer@RusNet) приходит в #chan
[23:22] * ircdbg (enforcer@RusNet) вышел ("test end" )
Запросы whois на этот ник:

whois this-is-veryvery-1ong-nickname

:irc.run.net 311 ircdebug this-is-veryvery-1ong-nickname enforcer RusNet * :NickServ Enforcement

:irc.run.net 312 ircdebug this-is-veryvery-1ong-nickname *.RusNet :Services for RusNet IRC Network

:irc.run.net 318 ircdebug this-is-veryvery-1ong-nickname :End of WHOIS list.

whois this-is-veryvery-1ong-nickname this-is-veryvery-1ong-nickname

:*.RusNet 401 ircdebug this-is-veryvery-1ong-nickname :No such service.


Критическая уязвимость, связанная с обработкой списков сервисами (ChanServ, MemoServ): полностью устранена с 24 декабря, проверено. Функциональность сервисов осталась в полном объёме.

О UTF-8...

Вдобавок хорошо заметить об отсутствии поддержки UTF-8 сервисами, введенной в новой версии ircd 2.0.5. Сервисы неспособны получать UTF-8 текст, и хранить/обрабатывать его любым способом. Главная проблема кроется в неподдержке хостов пользователей, которые прорезольвились в имена в UTF-8. Такие хосты видны для сервисов, но все смиволы в них заменяются на символы "?". Следовательно, сервисы не способны применять в их отношении такие команды: ChanServ AKICK #Chan, ChanServ CLEAR #chan [BANS,MODES], ChanServ UNBAN #Chan, NickServ ACCESS. Еще, если глобальные E-LINE, R-LINE, K-LINE проставляются посредством сервисов, то проблемы будут даже в таких случаях.

Идентичная проблема наблюдается у старой версии ircd. Увы, в данном случае предоставляется широкий спектр возможностей потенциальным нарушителям.

Этот перечень будет пополняться по мере возможности...


От 25 Dec 2012 (C) begin_end
 

  #27  
Старый 18.01.2014, 21:43
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

Общая информация о 29(27) серверах IRC RusNet от 18.01.14.



Посмотреть таблицу (click):



Скачать эту таблицу (22,5KB, RusNetServers180114.xls).
 

  #28  
Старый 06.12.2015, 15:49
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

Общая информация о 21(20) серверах IRC RusNet от 06.12.15.



Посмотреть таблицу (click):



Скачать эту таблицу (27,5KB, RusNetServers061215.xls).
 

  #29  
Старый 19.06.2021, 19:33
begin_end
Участник форума
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме:
17964969

Репутация: 1362
По умолчанию

Общая информация о 14(11) серверах IRC RusNet от 19.06.21



Посмотреть таблицу (click):



Скачать эту таблицу (30,5KB, RusNetServers190621.xls).

Сеть ожидаемо сдает позиции дальше, без выхода на плато, как у англоязычных...


 

  #30  
Старый 19.06.2021, 20:55
CyberTro1n
Guest
Сообщений: n/a
Провел на форуме:
197178

Репутация: 4
По умолчанию

Цитата:
Сообщение от begin_end  
begin_end said:

Общая информация о 14(11) серверах IRC RusNet от 19.06.21


Посмотреть таблицу (click):



Скачать эту таблицу (30,5KB, RusNetServers190621.xls).

Сеть ожидаемо сдает позиции дальше, без выхода на плато, как у англоязычных...


Логично. Поколение которое не познало(максимум кто то слышал) о чатах...

Короче, скоро их припишут к социальным программам истории развития
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команды Irc. И его сервисы! XDoG Статьи 12 24.06.2009 08:21
Анонимность на Ирке и Аське foreva Статьи 2 29.10.2008 16:26



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ