Методы борьбы с ботами - распространителями вирусов

Общение админов хабов и их юзеров.
Аватара пользователя
RoLex
Сообщения: 51
Зарегистрирован: 01 апр 2011, 09:39
Хаб: nmdcs://russia.feardc.net:411
Откуда: Швеция
Контактная информация:

Сообщение RoLex »

@ slav

Точняк, забыл написать что это конфигурация либо 0, либо от 30 и выше, где 0 = отключено а 30 или выше = как часто подгружать базу в минутах. Выбери 30. Также добавил твой ип в список доступа.

@ flylinkdc

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

[2014-09-10 15:52:56] [91.231.56.230] [GET /?do=tools&action=avdbload&time=1410344172&limit=100000 HTTP/1.1] [200] [309] [-] [FlylinkDC++ r503-beta85 build 17544]

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

&limit=100000
Вот это вобще не обязательно, этот параметр 10.000 по умолчанию и используется только если тебе надо меньше чем по умолчанию. ;-)
Последний раз редактировалось RoLex 10 сен 2014, 17:18, всего редактировалось 3 раза.
Аватара пользователя
slav
Сообщения: 617
Зарегистрирован: 15 янв 2012, 19:12
Хаб: adc://kremlin.ru
Откуда: Интернет

Сообщение slav »

RoLex,
Спасибо, настроил.
Буду тестировать :-)
Аватара пользователя
RoLex
Сообщения: 51
Зарегистрирован: 01 апр 2011, 09:39
Хаб: nmdcs://russia.feardc.net:411
Откуда: Швеция
Контактная информация:

Сообщение RoLex »

Добавил удаление из базы и дописал в моем первом о AVDB посте то же самое что и тут:

УДАЛЕНИЕ ИЗ БАЗЫ


База закрыта для гостей, доступ удаления не тот же самый что для записи - а уровнем выше. Чтоб получить доступ к удалению из базы, надо контактировать меня, в любом месте. Запрос удаления отсылается следующим способом через HTTP GET, все параметры без <>, и прошу юзать urlencode в параметрах, чтоб небыло информации с ошибками:

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

http://www.te-home.net/?do=tools&action=avdbdrop&nick=<ник>&addr=<ип>
Оба параметра не обязательны но хоть один должен присутствовать. По присутсвию обоих параметров скрипт удаляет ту строчку где ник и ип совпадают, по присутствию только ника скрипт удаляет все строчки в которых присутствует указанный ник, по присутствию только ипа скрипт удаляет все строчки в которых присутствует указанный ип. Все очень просто, ответ тоже простой: Если у вашего клиента что шлет запрос на удаление нет доступа, в ответ он получает контент с цифрой ноль - байт 48. Если не было найдено ни одной строчки для удаления ответ приходит в виде черточки, символ "-" - байт 45. Если же есть доступ и есть строчки для удаления то они удаляются и ответ приходит цифрой равной количеству удаленных строк, что значит "спасибо, все сделал". Также во время удаления каждой строчки, на стороне сервера производиться +1 к переменной "всего удаленных строк" - Avdb-Delete-Count, о ней будет идти речь ниже.

...

Еще edit: По просьбе flylinkdc добавил HTTP хедер, англ. header, с названием Avdb-Delete-Count, который отличается от предыдущего в количество удаленных строк если была удалена хоть одна строчка. Приведу пример: Вы впервые загрузили базу с помощью avdbload, вам будет дан хедер, к примеру такой:

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

Avdb-Delete-Count: 35
Тут указано что до сих пор из базы было удалено всего 35 строчек. Вы отсылаете повторный запрос чтения базы, а там номер уже не 35 а 37 - что говорит о том что с последнего раза удалилось еще 2 строчки, потому вам скорее всего стоит полностью обновить базу с нуля, где уже не будет тех 2-х удаленных строк. Это удобно только в том случае, когда вы полностью создаете реплику общей базы AVDB, для тех кто загружает свежую базу по началу работы клитента - результаты уже в норме.
Последний раз редактировалось RoLex 10 сен 2014, 20:37, всего редактировалось 2 раза.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

RoLex писал(а):Вот это вобще не обязательно, этот параметр 10.000 по умолчанию и используется только если тебе надо меньше чем по умолчанию.
ок - уберу limit вообще.
Вопрос 1
а зачем вообще нужен лимит.
я хочу ведь все грузить по алгоритму. ты ведь не видел в антивируса - галку - загрузить обновления но не больше 10 тыс вирусов? :)
если база будет больше 10 тыс - получается флаи не догрузят что-то.

Вопрос 2
Когда я загрузил - ты зачемто при пустоте выдаешь "0"
зачем он ? можешь ведь вертать пустоту?

вчера приделал перезагрузку БД - вечером обновлю флаев:

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

  for(int i=0;i<3;++i)
  {
  l_http_downloader.m_get_http_header_item = "Avdb-Delete-Count";
  const string l_url = g_antivirus_db_url + "/?do=tools&action=avdbload&time=" + Util::toString(l_timeStamp) +"&notime=1";
	auto l_result_size = l_http_downloader.getBinaryDataFromInet(l_url, l_binary_data, g_winet_connect_timeout/2); 
  if(l_result_size > 1) // Сервер зачем-то вертает 0 если пусто.
  {
    l_buf = string((char*)l_binary_data.data(), l_result_size);
    if(!l_http_downloader.m_get_http_header_item.empty())
    {
        const int l_new_delete_counter = Util::toInt(l_http_downloader.m_get_http_header_item);
        if(l_cur_delete_counter != l_new_delete_counter)
        {
            CFlylinkDBManager::getInstance()->purge_antivirus_db(l_cur_delete_counter);
            l_timeStamp = 0;
            l_log.step("Reload antivirus DB Avdb-Delete-Count = " + Util::toString(l_new_delete_counter));
            continue; // перезагрузим базу с нуля - на сервере потерли записи
        }
    }
   }
   break;
  }
Аватара пользователя
RoLex
Сообщения: 51
Зарегистрирован: 01 апр 2011, 09:39
Хаб: nmdcs://russia.feardc.net:411
Откуда: Швеция
Контактная информация:

Сообщение RoLex »

flylinkdc писал(а):Вопрос 1
а зачем вообще нужен лимит.
я хочу ведь все грузить по алгоритму. ты ведь не видел в антивируса - галку - загрузить обновления но не больше 10 тыс вирусов?
если база будет больше 10 тыс - получается флаи не догрузят что-то.
Как я уже сказал - если ты хочешь меньше чем по умолчанию. Удобно например если ты хочешь загрузить только 10 последних не указывая временной штамп. Если в базе будет больше чем 10.000 я подниму лимит по умолчанию, все под контролем.
flylinkdc писал(а):Вопрос 2
Когда я загрузил - ты зачемто при пустоте выдаешь "0"
зачем он ? можешь ведь вертать пустоту?
По одной лишь причине, если вызывать curl через Lua и os.execute как я делаю в Ledokol, то в двух случаях я не получу временного файла опции --output <file> с контентом - это когда сервер не доступен и когда запрос не возвращает ничего, я блин все перерыл в мане по curl, так он сволочь работает. Важно знать что из двух действительно случилось, если сервер оффлайн то скрипт ждет и через какоето время пытается по новой, если же ответ пуст то скрипт не будет пытаться снова до следующего обновления. Так как пустой ответ можно заработать только возвращая хоть чтонибудь, приходится отсылать 0. Ты прежде чем читать ответ, читай хедер Content-Length, если он >1 то результат есть, иначе нет.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

RoLex писал(а):ак как пустой ответ можно заработать только возвращая хоть чтонибудь, приходится отсылать 0.
ок. понял - я то у себя обработал это. просто не понял зачем ты так сделал.
вопрос больше пока нет - все хорошо
Аватара пользователя
Быстрый ответ
Сообщения: 436
Зарегистрирован: 16 авг 2010, 00:21

Сообщение Быстрый ответ »

Предлагаю подумать об удалении старых записей из базы, для чего как раз и пригодится штамп времени. Например, если не было обновлений по данному нику или IP в течение 7 дней, то удалять его. Иначе база распухнет, причем впустую, т.к. ники и IP ботнет постоянно меняет. Это первое, и второе. Через полгода под таким же ником может войти Вася Пупкин, а вы будете его выкидывать с хаба непонятно за что. :-)
Аватара пользователя
slav
Сообщения: 617
Зарегистрирован: 15 янв 2012, 19:12
Хаб: adc://kremlin.ru
Откуда: Интернет

Сообщение slav »

Быстрый ответ писал(а):если не было обновлений по данному нику или IP в течение 7 дней, то удалять
Я думаю, что 7 дней мало. Месяц — 30 дней.
Быстрый ответ писал(а):т.к. ники и IP ботнет постоянно меняет
Меняются не только ники, но сами вирусы в шаре. Например, я наблюдал кучу файлов с расширением .exe, а на следующий день у того же пользователя кучу таких же однотипных файлов, но уже с другим расширением.
Судя по всему, могу предположить, что они тоже понимают и знают, что кто-то их пытается вычислить и потому меняются как хамелеоны.
Я уверен, что за ними ещё и гоняются такие как Касперский и прочие антивирусы. Но, они уже это делают по своей системе и с DC++ мало связанной.
Аватара пользователя
RoLex
Сообщения: 51
Зарегистрирован: 01 апр 2011, 09:39
Хаб: nmdcs://russia.feardc.net:411
Откуда: Швеция
Контактная информация:

Сообщение RoLex »

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

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

Это всего лишь соображения того как я себе это представляю. :-)
Аватара пользователя
Быстрый ответ
Сообщения: 436
Зарегистрирован: 16 авг 2010, 00:21

Сообщение Быстрый ответ »

slav писал(а):могу предположить, что они тоже понимают и знают, что кто-то их пытается вычислить и потому меняются как хамелеоны.
А я думаю, что у них всего лишь настроена ротация ников, айпишников и файлов. Если они поймут, что их вычислили (за целый год могли бы уже понять), то ничто не мешает им улучшить свой скрипт и сделать полностью случайный размер файла. И тогда никакой детектор нам уже не поможет, только вручную сидеть просматривать списки.
RoLex писал(а):считаю что срок должен быть еще дольше, к примеру 3 месяца
Я согласен :-) не очень важно, какой срок, главное что очистка необходима.
Аватара пользователя
slav
Сообщения: 617
Зарегистрирован: 15 янв 2012, 19:12
Хаб: adc://kremlin.ru
Откуда: Интернет

Сообщение slav »

Быстрый ответ писал(а):А я думаю,
А я честно скачал вируса у одного из них. И жду когда забанят. У меня в шаре всего два файла.
Но есть подозрение. Я не смотрел ТТН Е/сли я как хакер сделал 100500 файлов с разными названиями, но по ТТН они одинаковые.

Я понимаю, что это разрыв серверов ибо много считать. А может ТТН тоже смотреть?
Аватара пользователя
slav
Сообщения: 617
Зарегистрирован: 15 янв 2012, 19:12
Хаб: adc://kremlin.ru
Откуда: Интернет

Сообщение slav »

Я жду когда меня с моими двумя файлами поимает антивирус.
Но, я уверен, что невозьмёт без проверки по ТТН :-[
Аватара пользователя
RoLex
Сообщения: 51
Зарегистрирован: 01 апр 2011, 09:39
Хаб: nmdcs://russia.feardc.net:411
Откуда: Швеция
Контактная информация:

Сообщение RoLex »

Ты будешь долго ждать в таком случае, скорее всего всю жизнь потому что плохо понимаешь финкционал детекта. Вся фишка и есть в том что надо найти как минимум # количество файлов по запрашеваемым кретериям. У меня это количество состоит из 30, у Sphinx все 50. Нет смысла обращать внимание на TTH, ведь всего у 2-х процентов ботов расшариваются файлы с одинаковым TTH. Если бы скрипт читал только 2 файла, то пол DC было бы уже в бане, и хорошие и плохие, больше хороших.

И я бы на твоем месте не играл с огнем, если тебя найдет скрипт и сообщит о твоем распространении в базу, то все кто из нее читают, забанят тебя либо заблокируют у себя на хабах.
Последний раз редактировалось RoLex 15 сен 2014, 12:02, всего редактировалось 1 раз.
Аватара пользователя
Chavy
Сообщения: 46
Зарегистрирован: 12 май 2014, 13:10

Сообщение Chavy »

RoLex писал(а):И я бы на твоем месте не играл с огнем
Ну это слишком громко сказано :-)
Аватара пользователя
slav
Сообщения: 617
Зарегистрирован: 15 янв 2012, 19:12
Хаб: adc://kremlin.ru
Откуда: Интернет

Сообщение slav »

RoLex писал(а):Нет смысла обращать внимание на TTH, ведь всего у 2-х процентов ботов расшариваются файлы с одинаковым TTH.
Я не утверждал, а именно интересовался про то, что вдруг у них ТТН похожи. Но, если у них ТТН разные, то создание базы таких вирусных ТТН действительно дело сложное и мало осуществимое.
Хотя, я не знаю по какому принципу работают обычные антивирусы. И возможно, что у них есть какой-то алгоритм вычисления таких файлов.
RoLex писал(а):И я бы на твоем месте не играл с огнем
Этого я особо не боюсь, т.к. на других хабах я бываю редко и в случае необходимости могу успешно сменить как ник, так IP-адрес. :)
К тому же, информация в базе храниться, как было написано выше, не очень долго. И хранить её очень долго (больше месяца) нет смысла, т.к. я уверен, что хакеры тоже умеют менять свои ники и IP-адреса. (Три месяца — это просто базу забивать. По опыту в WWW я давно заметил, что IP хакеров, спамеров и т.д. долго не существуют. Они их переодически меняют. И частенечко, это IP либо хостингов и т.п., любо взломанных компов)
А файлы, возможно я и удалю, но просто по банальной причине, что нет смысла хранить в своей шаре (на своём компе) вирусы от которых мне пользы нет.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

В следующей версии флая (сегодня вечером) он научится выводит каталог (рядом с черепком)
в котором были найдены вирусы.
чтобы точнее детектировать и исключит вопросы "что это за черепушка и почему" :)

2RoLex
а может кроме пути сохранять и сам файл с вирусом для примера?
и отдавать его по этой команде:
http://te-home.net/?do=tools&action=avd ... 0&copath=1

[RO][RDS][FLORINEL]|5.12.175.149|3961855867|share\archive\

radu|79.114.43.105|23713117806|share\archive\
[ro][buc][rds]dorup|5.12.2.186|6950038395|share\archive\
flwry_na|79.116.45.238|2901625|share\archive\
....
volksam|188.242.220.82|126448027169|Program Files\Coingeek\share\archive\
lulu|95.77.212.26|138658005201|share\archive\
Последний раз редактировалось flylinkdc 08 окт 2014, 05:37, всего редактировалось 2 раза.
Аватара пользователя
flylinkdc
Сообщения: 427
Зарегистрирован: 15 дек 2013, 10:26
Хаб: dchub://dc.fly-server.ru
Откуда: Караганда -> Липецк
Контактная информация:

Сообщение flylinkdc »

Нужно теперь обсудить обновление антивирусной бд. сейчас это происходит один раз при старте. у многих клиенты сутками не закрываются вижу два варианта - у флая на таймере сидит обновлятор и постоянно дергается твою базу
но это наверно не очень эффективно - предлагаю еще один урлик с легкой математикой который возвращает версию бд - простое число как и счетчик удаления если версия поменялась - флай сделает перезагрузку с time = x.
Аватара пользователя
LAV ©
Сообщения: 89
Зарегистрирован: 08 ноя 2009, 03:12

Сообщение LAV © »

Наткнулся на одного из ботиков распространителей. Сидит на 220 хабах. При шаре всего 3ГБ, в ней находится 90000 вирусных файлов. За несколько дней IP не менял. Появляется около часа дня и уходит около 2-х часов ночи.

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

User Info:
	Nick: [SexyNudGirls]
	Share: 3,26 ГБ
	Description: me here download dc++
	Tag: <AirDC++ V:2.80,M:P,H:221/0/1,S:23>
	Connection: 0.1
	E-Mail: eroticgirl@yahoo.com
	Mode: P
	Hubs: 222 (221/0/1)
	Slots: 23
	IP: 92.84.154.17
Для исследователей.
Архив с шарой тут (пароль virus, размер 3 ГБ): http://lav.hubdc.ru/temp/Virus.rar
Файл-лист тут: http://lav.hubdc.ru/temp/SexyNudGirls.2 ... 11.xml.bz2
Все файлы почти одинаковые по размеру, но с разными TTH.
Результат проверки одного из них: https://www.virustotal.com/ru/file/cb34 ... 416340627/
Аватара пользователя
Быстрый ответ
Сообщения: 436
Зарегистрирован: 16 авг 2010, 00:21

Сообщение Быстрый ответ »

Спасибо конечно, но ты бы хоть почитал предыдущие страницы. Уже около года назад нашли способ и успешно баним и блочим этих распространителей.
Аватара пользователя
Chavy
Сообщения: 46
Зарегистрирован: 12 май 2014, 13:10

Сообщение Chavy »

Быстрый ответ, сколько хабов участвует?
Аватара пользователя
LAV ©
Сообщения: 89
Зарегистрирован: 08 ноя 2009, 03:12

Сообщение LAV © »

Наверное, участвует от силы 5% хабов, на которых данный конкретный юзер сидит :)

PS: Быстрый ответ, читал и даже отвечал.
Последний раз редактировалось LAV © 21 ноя 2014, 01:40, всего редактировалось 1 раз.
aleksei
Сообщения: 76
Зарегистрирован: 14 май 2013, 14:37
Хаб: dchub://v-l.es
Контактная информация:

Сообщение aleksei »

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

Для начала работы достаточно вписать (sHubIp) IP своего хаба. (не доменное имя, а именно IP) 

Принцип обнаружения: ищем в результатах поиска файлы с примерно одинаковым размером.
Также смотрим пояснения ниже.
 
]]
local sHubIp = "127.0.0.1"
local iHubUdpPort = SetMan.GetString(4)
local sHubBot = SetMan.GetString(21)
какой ип указывать,127 как есть или реальный ?
вторая строка удп порт указывать реальный порт или как есть?
Аватара пользователя
Быстрый ответ
Сообщения: 436
Зарегистрирован: 16 авг 2010, 00:21

Сообщение Быстрый ответ »

Chavy писал(а):сколько хабов участвует?
Понятия не имею, кто поставил скрипт, тот и участвует
LAV © писал(а):читал и даже отвечал.
Ну так нечего там исследовать, всё исследовано давно
aleksei писал(а):какой ип указывать,127 как есть или реальный ?
вторая строка удп порт указывать реальный порт или как есть?
Реальный.
aleksei
Сообщения: 76
Зарегистрирован: 14 май 2013, 14:37
Хаб: dchub://v-l.es
Контактная информация:

Сообщение aleksei »

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

Обнаружен фэйк-бот: Diana8676 	95.21.246.11 	?? 	77
 Обнаружен фэйк-бот: 	neebuullakkY 	90.136.52.90 	?? 	216
 Обнаружен фэйк-бот: 	[SEXYGIRL]Porno 	92.84.232.61 	?? 	98
=-O
aleksei
Сообщения: 76
Зарегистрирован: 14 май 2013, 14:37
Хаб: dchub://v-l.es
Контактная информация:

Сообщение aleksei »

а терь вопрос , значит пришел и вижу шота инет както лагает. а тут смотрю,лагает не инет ,а лагает роутер. ну смотрю лог и вижу порядка 40-50 запросов на 411 порт в секунду,запросы идут пачками с многих ипов,и локлаьных в том числе. после выруба скрипта все приходит в норму.
Последний раз редактировалось aleksei 29 ноя 2014, 19:18, всего редактировалось 2 раза.
Ответить