В этой теме я постараюсь собрать исчерпывающую информацию о эксплойтах некоего
[#] и борьбе с ними.
[#]Статья будет разделена на 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 (голосовые данные от игрока).
Скучная теория
Сервер падает из-за данных во втором пакете:
00 00 00 01 00 00 00 00 5B 19 01 01 1B 01 11 41 01 11 41 01 56 04 18 41 04 54 14 04 11 51 41 44 53 41 11 01 41 11 01 01
Это зашифрованные данные. На самом деле это сообщение при расшифровке выглядит так:
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[/spoiler]
[spoiler=Linux]L
03/01/2010 - 15:24:35:
"2A6U776LxfC4n<1><STEAM_0:0:14473480><>" connected,
address "10.100.146.27:4671"
Host_Error: SV_ParseVoiceData: invalid incoming packet.
L
03/01/2010 - 15:24:35: [META] ini: Begin re-reading plugins list:
/home/viktor/KS_servera/ubuntu_cs/cstrike/addons/metamod/plugins.ini
L 03/01/2010 - 15:24:35: [META] ini: Read plugin config for: AMX Mod X
L 03/01/2010 - 15:24:35: [META] ini: Read plugin config for: dproto
L 03/01/2010 - 15:24:35: [META] ini: Read plugin config for: xdsopt
L
03/01/2010 - 15:24:35: [META] ini: Finished reading plugins list:
/home/viktor/KS_servera/ubuntu_cs/cstrike/addons/metamod/plugins.ini;
Found 3 plugins
L 03/01/2010 - 15:24:35: [META] dll: Updating plugins...
L 03/01/2010 - 15:24:35: [META] dll: Finished updating 10 plugins; kept 3, loaded 0, unloaded 0, reloaded 0, delayed 0
Dropped 2A6U776LxfC4n from server
Reason: Server shutting down
L 03/01/2010 - 15:24:35: Server shutdown
L 03/01/2010 - 15:24:35: Log file closed
L 03/01/2010 - 15:24:35: FATAL ERROR (shutting down): Host_Error: SV_ParseVoiceData: invalid incoming packet.
FATAL ERROR (shutting down): Host_Error: SV_ParseVoiceData: invalid incoming packet.
Лечение!?Теперь самое интересное - как бороться?
1. Первый и самый простой вариант - поставить
AntiCSDoS.Начиная с версии 3.5 этот баг закрыт. Однако простой - не всегда самый правильный. Сама тулза периодически вылетает с ошибкой
"OUT OF MEMORY", а у автора статьи вообще намертво вывесила хост. Используйте на свой страх и риск.
Вариант для Linux:
HLShield 2.4Или скачайте тот файл, который мы предлагаем.