В этой статье я постараюсь собрать исчерпывающую информацию о эксплойтах некоего "М" и борьбе с ними. Как всеже защититься? В полной статье
Читаем:
Статья будет разделена на 2 части т.к. эксплойтов этот товарищ выпустил пока только 2 разновидности.
I. Названия фаила: hlds_vcrash, hlds_vcrash_fuck, hlds_vshell, hlds_vshell2 и многочисленные вариации для использования в cron. Вызывает появление ошибки "FATAL ERROR (shutting down): Host_Error: SV_ParseVoiceData: invalid incoming packet.".
Уязвимы все сервера протоколов 47 и 48. Очень древние билды 46 протокола атаку выдерживают из-за ошибки авторизации эксплойта на сервере.
А в чем соль? Первая информация о уязвимости появилась еще в 2002г. Используется ошибка в обработке SV_ParseVoiceData (голосовые данные от игрока).
Это зашифрованные данные. На самом деле это сообщение при расшифровке выглядит так: 08 44 44 44 44 44 44 44
В этой строке 8 означает пакет типа clc_voicedata (т.е. голосовые данные от игрока). Последующие 2 байта (0x4444) - это длина голосовых данных. А как известно при значении большем 0x1000 сервак сам падает (выдаёт ошибку "Host_Error: SV_ParseVoiceData: invalid incoming packet" и прекращает работу). При этом мы получаем запись в логе с IP атакующего. Примеры логов см. ниже.
А вот что видно в консоли сервера:
Показать / Скрыть текст
L 02/25/2010 - 23:55:09: [DPROTO]: Client 9 - Set AuthIdType 8 [dp_RevEmu]; pClient = 05C4E4E8 L 02/25/2010 - 23:55:09: "JWSD0ZpSYp4Ii5<12><STEAM_ID_LAN><>" connected, address "212.106.32.176:1104" L 02/25/2010 - 23:55:09: [META] ini: Begin re-reading plugins list: c:/program files/cs_srvrs/2/cstrike/addons/metamod/plugins.ini L 02/25/2010 - 23:55:09: [META] ini: Read plugin config for: dproto L 02/25/2010 - 23:55:09: [META] ini: Read plugin config for: AMX Mod X L 02/25/2010 - 23:55:09: [META] ini: Read plugin config for: xdsopt L 02/25/2010 - 23:55:09: [META] ini: Finished reading plugins list: c:/program files/cs_srvrs/2/cstrike/addons/metamod/plugins.ini; Found 3 plugins L 02/25/2010 - 23:55:09: [META] dll: Updating plugins... L 02/25/2010 - 23:55:09: [META] dll: Finished updating 9 plugins; kept 3, loaded 0, unloaded 0, reloaded 0, delayed 0 L 02/25/2010 - 23:55:09: "goblun xRUSx<-1><><CT>" disconnected L 02/25/2010 - 23:55:09: "182<-1><><CT>" disconnected L 02/25/2010 - 23:55:09: "veshaemso<-1><><CT>" disconnected L 02/25/2010 - 23:55:09: "F A N T I K<-1><><>" disconnected L 02/25/2010 - 23:55:09: "Nemo<-1><><CT>" disconnected L 02/25/2010 - 23:55:09: "2GARIN<-1><><CT>" disconnected L 02/25/2010 - 23:55:09: "kakaxa<-1><><TERRORIST>" disconnected L 02/25/2010 - 23:55:09: "HLG AutoBot<-1><><TERRORIST>" disconnected L 02/25/2010 - 23:55:09: "PILOTIK<-1><><CT>" disconnected L 02/25/2010 - 23:55:09: World triggered "Round_Draw" (CT "0") (T "0") L 02/25/2010 - 23:55:09: World triggered "Round_End" L 02/25/2010 - 23:55:09: Server shutdown L 02/25/2010 - 23:55:09: Log file closed
Лечение!? Теперь самое интересное - как бороться?
1. Первый и самый простой вариант - поставить AntiCSDoS. Начиная с версии 3.5 этот баг закрыт. Однако простой - не всегда самый правильный. Сама тулза периодически вылетает с ошибкой "OUT OF MEMORY", а у автора статьи вообще намертво вывесила хост. Используйте на свой страх и риск. Вариант для Linux: HLShield 2.4
2. Воспользоваться патчем VUP 2.7 или новее от vityan666. (поддерживаются и Windows и Linux)
3. Другой вариант заключается в патчинге бинарников сервера hex-редактором, к примеру, HxD.
4. Для извращенцев. Модуль Orpheu Module 2.2 + специальный плагин могут защитить сервер. Сколько при этом кушает памяти сам модуль, а так же не добавит ли он новых проблем - не известно. Зато условно-законно.
P.S. В интернете выложены готовые пропатченные библиотеки для разных версий серверов. Помните, что вы должны подобрать версию пропатченной dll-ки (so-шки) совместимую с вашим сервером! Алсо, немного инфы про патченные so-шки от Shocker (разработчика AntiCSDoS)
II. Названия фаила: hlds_fuck и многочисленные вариации для использования в cron. Не вполне рабочий вариант для движка Source - srcds_fuck. Вызывает падение сервера с ошибкой памяти, и в логе, увы, отметиться не успевает.
Уязвимы: Все сервера с авторизацией STEAM3(GoldSource,Source 2007,Source 2007 U1) Не уязвимы: Сервера с авторизацией STEAM2(Classic Source) Защищены и не уязвимы: Сервера с eSTEAMATiON 2.X всех доступных публичных версий, и, конечно же, TRUNK. Таким образом уязвимы все лицензионные сервера протокола 48, в том числе на движке Source, что как-бы намекает на возможный фикс со стороны Valve.
А в чем соль? Ошибка верификации токена клиента в библиотеке steamclient (CAppOwnershipTicket::BIsTicketSignatureValid - Ошибка в проверке цифровой подписи RSA клиентского тикета) на новых стим серверах 48-го протокола. Это автоматически делает все сервера протокола 47 и менее неуязвимыми.
Лечение!? Как и в предыдущем случае существует несколько способов.
1. Поставить новый dproto 0.4.1 Плагин поддерживает как Windows, так и Linux. Борцы за лицензионное ПО могут отключить доступ ломаным клиентам в настройках. (epic holywars)
2. Поставить старый dproto и выставить в настройках DisableNativeAuth = 1
3. Подождать реализации защиты в AntiCSDoS либо VUP. Опять же обещалось на днях.
Для Linux этот баг закрывает HLShield 2.4
4. Аналогично п.4 для предыдущего эксплойта. Модуль Orpheu Module 2.2 + специальный плагин + еще один специальный плагин!11
5.??? Подождать пока этот баг исправит Valve. Хотя, этот вариант скорее для терпеливых оптимистов.
Алсо, благодаря стараниям некоего holoc, написавшего программу запуска эксплойта в batch режиме, непропатченные сервера восточной европы (а вообще, всего что между Украиной и Уралом) валятся с особо жестокой частотой. (пруф, возможно скоро будет выпилен модераторами.) (выпилен модераторами, но школьники то уже скачали!) (развлечения продолжаются.). Список IP, на которые направлены лучеметы. В том числе и сервер UPS тут есть.
Будем рады видеть вас на нашем Counter-Strike: 1.6 сервере: 83.174.214.83:27016
Материал «Как защитить свой сервер от эксплоида» был загружен для исключительного ознакомления. Мы не несём ни какой ответственности за содержимое материала Как защитить свой сервер от эксплоида. Если ваш антивирус обнаружил вирус, рекомендуется обратиться к нам и рассказать про этот файл. Если вы скачали файл Как защитить свой сервер от эксплоида и он оказался не корректным, то также обратитесь к администрации ресурса. Все наши материалы расположены на хостинге narod.yandex.ru. Мы стараемся избегать любых контактов с хостингами такими как depositfiles, letitbit и прочими. Так как они предоставляют не совсем корректную скорость скачивания и чтобы скачать файл «Как защитить свой сервер от эксплоида» быстро, вам придется платить им деньги. Именно поэтому мы не принимаем файлы, загруженные не на хостинг narod. Только хостинг narod.yandex является полностью бесплатным и очень скоростным. Именно поэтому все наши большие файлы загружены на него. Для того чтобы скачать данный материал, вам нужно вверху чуть выше надписи «правила», найти кнопку скачать файл, после этого нажать на неё и перейти на страницу для загрузки выбранного вами материала «Как защитить свой сервер от эксплоида».
Комментарии
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]