Ддос атака с хаба

Общение админов хабов и их юзеров.
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

А что не так то))) я так же тему читал в том числе про физру решил зайти не соединилось, проверил домен он свободный вот и зарегал *CRAZY*
Аватара пользователя
HackFresse
Сообщения: 507
Зарегистрирован: 02 фев 2010, 19:23

Сообщение HackFresse »

Самое интересное не в домене, а в разговорах на нем. цитата в моем предыдущем сообщении очень даже интересная
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

Ничего экстра одинарного или секретного не увидел ;D
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

Еще планирую
1. Добавить в конфиг флая - список портов, для которых блокировка коннекта будет вечная без попыток.
есть контр-аргументы?
80,411 и т.д.
2. Собирать статистику в базе флай-сервера для анализа поведения...
тут тоже хотелось бы обсудить алгоритм
Каждый клиент при детекте подобного - будет в момент сброса показателей "телеметрии" (сейчас это делается раз в час)
дополнительно скидывать и эту инфу.
наверно хватит имя хаба. ip и номер порта атакующего или может что-то еще добавить

По этой базе можно будет предупреждать юзеров воздержаться от посещения подобных хабов.

3. что-то еще?
Аватара пользователя
HackFresse
Сообщения: 507
Зарегистрирован: 02 фев 2010, 19:23

Сообщение HackFresse »

Моё мнение по пункту 1 остаётся всё тем же - для общения между собой дц-клиенты не должны использовать порты <=1024.
Вместо списка портов в конфиге добавить одно элементарное условие IF(dst.port <1024) непосредственно в самом коде, и это уже решит бОльшую часть проблемы.

Если есть возможность собирать статистику, то сначала нужно проанализировать получаемые данные, а потом уже переходить к блокировкам.
Собирать нужно: имя хаба +IP хаба+ порт хаба, а также IP адреса назначения + все порты жертвы. Потом по каждому конкретному случаю делать какие-то выводы.
Там уже будет видно, как часто используются порты <1024, находится ли на адресе жертвы хаб, сайт, дц-клиент или еще что-то.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

HackFresse писал(а):Вместо списка портов в конфиге добавить одно элементарное условие IF(dst.port <1024)
Для новой версии клиента это можно и дописать..
Но ведь остается много старых клиентов у которых в конфиге стоят порты ниже 1024 - и они не будут долго обновляться.
к ним ведь нужно разрешать коннекты при условии что они настоящие и там действительно DC
я попробую также приделать и анализ ответа от коннекта - там по идее просто...

А стату пособираю - это не проблема. главное чтобы диска хватило :)
Аватара пользователя
переподвыподверт
Сообщения: 252
Зарегистрирован: 05 окт 2010, 20:23
Откуда: Харьков

Сообщение переподвыподверт »

flylinkdc писал(а):есть контр-аргументы?
Пожалуй есть.
1) Бывает так, что провайдер в целях борьбы с р2р разрешает использовать лишь некоторые порты.
2) Ещё чаще бывает так, что трафик по 80-му порту имеет повышенный приоритет.
Аватара пользователя
Kimbo
Сообщения: 772
Зарегистрирован: 09 авг 2010, 18:05

Сообщение Kimbo »

HackFresse писал(а):Моё мнение по пункту 1 остаётся всё тем же - для общения между собой дц-клиенты не должны использовать порты <=1024.
%-) мне из-за ваших мнений порты что ли новые открывать для дс теперь. :-(
И да, не забывайте, что не только CTM, а ещё и Search flood есть.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

переподвыподверт писал(а):Ещё чаще бывает так, что трафик по 80-му порту имеет повышенный приоритет
Принято - это я тогда отловлю если по 80 порту ответит www сервер - тогда в бан.
ок?
Аватара пользователя
HackFresse
Сообщения: 507
Зарегистрирован: 02 фев 2010, 19:23

Сообщение HackFresse »

По поводу запрета p2p на всех портах, кроме нескольких стандартных, ничего сказать не могу, я видел отключение по L7, но там смена порта не помогает. Длительные закачки по 80 тоже со временем скорость теряют, но это настройки конкретного роутера (провайдер режет общую скорость без разбора, п2п там или редтуба).

Хорошо, если разрешать абсолютно все порты, то остаётся следовать протоколу + учитывать частоту запросов, т.е.
HackFresse писал(а):Кстати, наполнение массива стрёмных IP очень легко и просто сделать на основании учета неудавшихся коннектов.
Т.е. атака идёт по открытым портам - дц-клиент открывает сокет, получает какую-то порцию данных. Если данные отличаются от стандартного протокола взаимодействий дц-клиент<--> дц-клиент http://wiki.gusari.org/index.php?title= ... _handshake то такие IP надо игнорить (получил ответ вебсервера - сразу ясно, что что-то не так)
>>И да, не забывайте, что не только CTM, а ещё и Search flood есть.
Каждый пользователь с одним или более совпадениями должен послать UDP-пакет на {ip}:{порт}, в случае активного запроса
Я вот нашел на http://wiki.mydc.ru/$Search и http://wiki.mydc.ru/$SR, это оно?
Т.е. хаб рассылает якобы поисковые запросы от имени некоего {ip}:{порт}, а послушные дц-клиенты шуршат по своим файл-листам в поисках совпадений и посылают ответы куда-то вдаль?
По-моему, тут поможет только аналог Search interval .Та же херня, что и на хабе ("извините, вы не можете использовать поиск чаще одного раза в 180 секунд"), только со стороны клиента
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

Про udp flood еще забыли "тот" плагин и такое умеет :-P
и для udp уже нет разницы открыт порт или закрыт *CRAZY*
Последний раз редактировалось KCAHDEP 06 фев 2014, 22:58, всего редактировалось 1 раз.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

Первую часть сделал
http://code.google.com/p/flylinkdc/sour ... il?r=16516

Новую бетку-28 минут через 30 можно взять тут http://www.fly-server.ru/install/r5xx/src-bin/

За ночь работы у меня в тесте прога словила два раза только один хаб dchub://dchub.wplus.net - атаковала 78.158.9.151 Port: 411
сидел на 470 хабах
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

Хаб питерского прова фулюганит? Оо помню в 90х у них на дайлапе сидел )))
Последний раз редактировалось KCAHDEP 07 фев 2014, 06:41, всего редактировалось 1 раз.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

Посмотрел на атаку через поиск
http://f-lite.ru/lfp/s020.radikal.ru/i7 ... ed.jpg/htm
Во флае есть базовый код о визуализации флудеров в обработке команды if (cmd == "Search")
он так-же вырезан нашим разработчиком с комментарием
#define IRAINMAN_USE_SEARCH_FLOOD_FILTER // TODO L: оптимизировать поиск несколько другим способом: не отвечать на одинаковые запросы от одного искателя в течении определённого промежутка времени, модификацию сделать внутри SearchManager - только это даст реальный эффект при большом числе открытых хабов.

Код: Выделить всё

#ifdef IRAINMAN_USE_SEARCH_FLOOD_FILTER
		uint64_t tick = GET_TICK();
		clearFlooders(tick);
		
		seekers.push_back(make_pair(seeker, tick));
		
		// First, check if it's a flooder
		for (auto fi = flooders.cbegin(); fi != flooders.cend(); ++fi)
		{
			if (fi->first == seeker) // TODO - линейный поиск. не эффективно
			{
				return;
			}
		}
		
		int count = 0;
		for (auto fi = seekers.cbegin(); fi != seekers.cend(); ++fi)
		{
			if (fi->first == seeker) // [1] https://www.box.net/shared/9gb1e0hkp4220a7vwidj
				count++;
				
			if (count > 7)
			{
				if (isOp())
				{
					if (isPassive)
						fire(ClientListener::SearchFlood(), this, seeker.substr(4));
					else
						fire(ClientListener::SearchFlood(), this, seeker + ' ' + STRING(NICK_UNKNOWN));
				}
				
				flooders.push_back(make_pair(seeker, tick));
				return;
			}
		}
#endif // IRAINMAN_USE_SEARCH_FLOOD_FILTER
В коде идея в том, что ищутся флудеры в мапе. и потом кидает фаер в окошко статуса

void HubFrame::on(SearchFlood, const Client*, const string& line) noexcept
{
speak(ADD_STATUS_LINE, STRING(SEARCH_SPAM_FROM) + ' ' + line, true);
}
т.е. простая диагностика.
Давайте обсудим эту часть алгоритма....?
Как лучше сделать лок тут?
Аватара пользователя
HackFresse
Сообщения: 507
Зарегистрирован: 02 фев 2010, 19:23

Сообщение HackFresse »

Как-то очень разбросаны по разным файлам и частям куски кода с одной функциональностью, + по-разному написаны одни и те же команды, тяжело читать (и представляю, насколько тяжелее править, ага).

Я бы делал всё на моменте получения текстовой команды из сокета хаба. Никакой разницы, какая команда пришла, просто отдать её на обработку валидатору.
Если валидатор этот по некоему своему внутреннему алгоритму скажет, что команда ему не знакома, или параметр корявый, или частота превышена - не пускать команды дальше на обработку.

Это же ж классическое "никогда не доверяй данным, полученным из внешнего источника"

В случае с ддосом этим поганым всего 2 команды - $ConnectToMe и $Search, из них можно получить просто IP и занести в массив. На основании этого массива с данными о dst-IP и о времени добавления можно уже посчитать количество запросов за последние N секунд. Массив и его обработка - очень дешевые штуки
Аватара пользователя
HackFresse
Сообщения: 507
Зарегистрирован: 02 фев 2010, 19:23

Сообщение HackFresse »

за одну секунду можно словить кучу CTM

Изображение
Последний раз редактировалось HackFresse 07 фев 2014, 18:01, всего редактировалось 1 раз.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

HackFresse писал(а):за одну секунду можно словить кучу CTM
т.е. вы мою новую бетку-28 не пробовали?
http://www.fly-server.ru/install/r5xx/src-bin/
она не должна так спамить в лог. а только раз в 10 мин дополняет файл ddos.log
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

буйные какието =-O

Код: Выделить всё

Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Hub:	[Incoming][195.131.1.200]	 	$ConnectToMe KCAHDEP craca.no-ip.org:411
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

только вот работает атакуемый хаб :-D
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

flylinkdc писал(а): т.е. вы мою новую бетку-28 не пробовали?
http://www.fly-server.ru/install/r5xx/src-bin/
она не должна так спамить в лог. а только раз в 10 мин дополняет файл ddos.log
скачал, запустил, поставил галку логировать ддос, зашел на тот хаб в отладчике сыпались $ConnectToMe %user craca.no-ip.org:411, а вот файла лога ддос так и не появилось. на данный момент атака прекратилась, обломались хаб так и не упал :-D
Последний раз редактировалось KCAHDEP 07 фев 2014, 18:56, всего редактировалось 1 раз.
Аватара пользователя
HackFresse
Сообщения: 507
Зарегистрирован: 02 фев 2010, 19:23

Сообщение HackFresse »

flylinkdc писал(а):HackFresse писал(а):за одну секунду можно словить кучу CTM

т.е. вы мою новую бетку-28 не пробовали?
http://www.fly-server.ru/install/r5xx/src-bin/
она не должна так спамить в лог. а только раз в 10 мин дополняет файл ddos.log
Только что попробовал запустить FlylinkDC-r503-x86-beta28-build-16516-2014.02.07-07.02.34.7z - оно убивает мне винт уже на заставке (а дальше заставки не грузится вообще)
Вложения
aaa.jpg
aaa.jpg (74.2 КБ) 24887 просмотров
Последний раз редактировалось HackFresse 07 фев 2014, 19:23, всего редактировалось 1 раз.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

А как запускал - скинул в чиcтый каталог?

если не сложно можешь еще раз повторить под
монитором файловым - в фильтре выбери процесс флая и диск
http://technet.microsoft.com/ru-ru/sysi ... 96645.aspx

какие файлы он дергает и зачем?
Аватара пользователя
HackFresse
Сообщения: 507
Зарегистрирован: 02 фев 2010, 19:23

Сообщение HackFresse »

Да, в новый чистый каталог из архива вытянул папку compiled, просто запустил FlylinkDC.exe . Дергает http://armarium.org/u/2014/02/07/bVIKf.jpg , зачем - не знаю, вопрос к разработчикам :-)
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

У меня не повторяется
а вы точно ему базу и конфиг от старой версии не подсунули?

у меня после чистого запуско одного екзе
1. он запустил мастер спросив про ник и прочее
2. предложил обновиться - и закачал всякие смайлы
3. создал пустые базы данных
4. закрыл прогу - все закрылось быстро

FlylinkDC sqlite│122880│07.02.14│21:06
FlylinkDC sqlite-journal│ 16384│07.02.14│21:06
FlylinkDC_dht sqlite│ 20480│07.02.14│21:06
FlylinkDC_dht sqlite-journal│ 4616│07.02.14│21:06
FlylinkDC_locations sqlite│ 28672│07.02.14│21:06
FlylinkDC_locations sqlite-journal│ 4616│07.02.14│21:06
FlylinkDC_log sqlite│ 3072│07.02.14│21:06
FlylinkDC_mediainfo sqlite│ 20480│07.02.14│21:06
FlylinkDC_mediainfo sqlite-journal│ 4616│07.02.14│21:06
FlylinkDC_stat sqlite│ 12288│07.02.14│21:07
FlylinkDC_stat sqlite-journal│ 12824│07.02.14│21:07
FlylinkDC_user sqlite│ 12288│07.02.14│21:06
FlylinkDC_user sqlite-journal│ 4616│07.02.14│21:06

у вас на картинке активность с другими размерами файлов.
почему так?
помогите разобраться а то я может выпускаю глючный флай на публику.
последнее что меня - отказался от режима WAL
Аватара пользователя
KCAHDEP
Сообщения: 245
Зарегистрирован: 19 янв 2012, 11:21
Хаб: dchub://dc.kcahdep.online

Сообщение KCAHDEP »

создался файлик лога ддоса

Код: Выделить всё

[2014-02-07 21:32:30] Blocked potencial ddos connections! Count limit: 10 connections per minute, target IP = 93.119.26.251 Port: 7777 UserInfo: NMDC NIck: Men-Z3pmS Hub: dchub://dchub.wplus.net
:-)
Ответить