Подмена Steam ID
Как всем известно многих серверов ломали через подмену Steam ID администраторов.
С разказов KIEVSTAR(а) он сам написал, программу которая меняет Steam ID.
Но на самом дели, несколько людей у которых есть сервера скинулись деньгами программисту чтобы он написал её.
Steam-профили людей которые были за замеченные в зломах:
STEAM_0:1:34703220
STEAM_0:1:25711435
STEAM_0:0:20989585
Методика взлома:
1. Поиск Steam ID администратора
2. Перезаход на сервер с новым Steam ID
3. Если есть доступ до rcon, то смена его
4. Отключение плагинов которые будут мешать
5. Отключение записи логов сервера
Решение:
Новый эмулятор RevEmu за 30.05.2012
linux_win_30.05.2012.7z
Да и таки не ясно закрыта ли уязвимость в эмуляторе или нет...
С разказов KIEVSTAR(а) он сам написал, программу которая меняет Steam ID.
Но на самом дели, несколько людей у которых есть сервера скинулись деньгами программисту чтобы он написал её.
Steam-профили людей которые были за замеченные в зломах:
STEAM_0:1:34703220
STEAM_0:1:25711435
STEAM_0:0:20989585
Методика взлома:
1. Поиск Steam ID администратора
2. Перезаход на сервер с новым Steam ID
3. Если есть доступ до rcon, то смена его
4. Отключение плагинов которые будут мешать
5. Отключение записи логов сервера
Решение:
Новый эмулятор RevEmu за 30.05.2012
linux_win_30.05.2012.7z
Да и таки не ясно закрыта ли уязвимость в эмуляторе или нет...
Последний раз редактировалось rsg16 05.06.2012, 00:21, всего редактировалось 12 раз.
-
- Сержант
- Сообщения: 58
- Зарегистрирован: 25.01.2011
- Откуда: Улан-Уде
- Благодарил (а): 3358 раз
- Поблагодарили: 2 раза
rsg16, скинь мне в личку адрес твоего сервера.
кто-небудь подскажите фикс от этого...
- Jiffs
- Steam Content Support
- Сообщения: 474
- Зарегистрирован: 10.05.2008
- Откуда: Красноярск
- Поблагодарили: 48 раз
- Контактная информация:
Однако, как я вижу, все масштабнее и масштабнее эта проблема начинает расползаться. Объясняю для тех кто не в курсе. Появилась пара ребят, которые в последнее время начали промышлять взломом пиратских серверов. Лицензионные сервера не подвержены данному методу взлома.
Для начала, "контактные данные" этих ребят:
Steam-профили:
STEAM_0:1:34703220
STEAM_0:1:25711435
STEAM_0:0:20989585
IP-адреса:
46.160.99.73
46.162.5.202
178.165.46.58
Методика взлома крайне проста:
1) Они узнают кто на сервере обладает админкой;
2) Узнают их SteamID;
3) На пиратском клиенте c RevEmu (не SteamEmu!*) меняют SteamID на тот что узнали;**
4) Заходят на сервер и, далее, в зависимости от уровня админки, либо просто используют фан-функции (noclip и т. д.), либо узнают rcon через команду: sm_rcon rcon_password
5) Зная rcon-пароль, добавляют свои адреса в логирование, для того чтобы сервер отсылал им логи (logaddress_add);
6) Дальше, думаю, понятно, как происходят разбаны и прочие вещи.
Как видно, взлому подвергнуты любые сервера под RevEmu. Так как я сам лично столкнулся еще неделю назад с этими ребятами, я сразу связался с автором эмулятора. Последняя версия эмулятора, которая была выложена для windows, была как раз направлена на закрытие возможности использования целенаправленной подмены SteamID. Но, как показали внутренние теста автора - фикс не помог. Автор теперь пытается придумать другой вариант фикса на уровне самого эмулятора. Я же, в свою очередь, как вариант, предложил решение на основе плагина.
Суть работы плагина основывается на двух фактах. Первый. При заходе на сервер, клиент передает тикет (Legit Steam (218, 234, 238), Cracked Steam (512), RevEmu (178), Unknown и так далее). Второй. Длина SteamID у лицензионных клиентов меньше, либо равна восьми. Чувствуете решение? Единственное, что несколько мешает, это то, что RevEmu изредка генерирует SteamID длинной восемь символов. Но и этот нюанс учтен в плагине. А теперь, суть плагина, которая будет ясна на образном примере:
В данный момент, вся сложность создании плагина заключается в том, чтобы реализовать получение значения тикета через язык SourcePawn. Тут возможны два варианта.
Первый вариант.
Можно воспользоваться функциями самого RevEmu, которые еще в 2010 году добавил бывший его автор - shmelle:
Но, не совсем понятно, как применить это. Я уже написал bir3yk'у с просьбой пояснить этот код, и вот пока жду ответа.
Второй вариант.
Можно попробовать воспользоваться для получения тикета расширением SteamTools. Ибо, если посмотреть исходники, можно увидеть, что код для получения тикета имеется.
Временные решения:
1) Админка по "белому" IP;
2) Админка по логину и паролю;
3) Перевести сервер на лицензию;
4) Забанить IP-адреса и SteamID этих ребят.
Вывод:
В данный момент, остается, либо ждать когда bir3yk пояснит как применить те функции, либо попробовать самим реализовать такой плагин по указанной мной схеме. Если среди присутствующих есть те, кто знает, как корректно применить эти функции - милости просим, не стесняйтесь, пишите.
*Не надо это путать со взломом серверов на движке GoldSrc (CS1.6). Хоть там для взлома используется такая же простая схема, но, в отличии от нынешней ситуации, там используется дырявый SteamEmu.
**Точно не известно, каким образом они ставят нужные SteamID. Подменять они умеют не только пиратские, но и лицензионные SteamID. Возможно, они просто нашли уязвимость с помощью которой напрямую ставят нужный SteamID, а возможно, они просто "раскусили" метод генерации SteamID и теперь просто подстраивают нужные данные в системе для генерации нужного SteamID. На всякий случай: не надо мне объяснять, из чего генерируется SteamID, я это знаю.
Для начала, "контактные данные" этих ребят:
Steam-профили:
STEAM_0:1:34703220
STEAM_0:1:25711435
STEAM_0:0:20989585
IP-адреса:
46.160.99.73
46.162.5.202
178.165.46.58
Методика взлома крайне проста:
1) Они узнают кто на сервере обладает админкой;
2) Узнают их SteamID;
3) На пиратском клиенте c RevEmu (не SteamEmu!*) меняют SteamID на тот что узнали;**
4) Заходят на сервер и, далее, в зависимости от уровня админки, либо просто используют фан-функции (noclip и т. д.), либо узнают rcon через команду: sm_rcon rcon_password
5) Зная rcon-пароль, добавляют свои адреса в логирование, для того чтобы сервер отсылал им логи (logaddress_add);
6) Дальше, думаю, понятно, как происходят разбаны и прочие вещи.
Как видно, взлому подвергнуты любые сервера под RevEmu. Так как я сам лично столкнулся еще неделю назад с этими ребятами, я сразу связался с автором эмулятора. Последняя версия эмулятора, которая была выложена для windows, была как раз направлена на закрытие возможности использования целенаправленной подмены SteamID. Но, как показали внутренние теста автора - фикс не помог. Автор теперь пытается придумать другой вариант фикса на уровне самого эмулятора. Я же, в свою очередь, как вариант, предложил решение на основе плагина.
Суть работы плагина основывается на двух фактах. Первый. При заходе на сервер, клиент передает тикет (Legit Steam (218, 234, 238), Cracked Steam (512), RevEmu (178), Unknown и так далее). Второй. Длина SteamID у лицензионных клиентов меньше, либо равна восьми. Чувствуете решение? Единственное, что несколько мешает, это то, что RevEmu изредка генерирует SteamID длинной восемь символов. Но и этот нюанс учтен в плагине. А теперь, суть плагина, которая будет ясна на образном примере:
'Техническое задание на плагин'
Первый вариант.
Можно воспользоваться функциями самого RevEmu, которые еще в 2010 году добавил бывший его автор - shmelle:
Функции для получения данных игрока
Второй вариант.
Можно попробовать воспользоваться для получения тикета расширением SteamTools. Ибо, если посмотреть исходники, можно увидеть, что код для получения тикета имеется.
Временные решения:
1) Админка по "белому" IP;
2) Админка по логину и паролю;
3) Перевести сервер на лицензию;
4) Забанить IP-адреса и SteamID этих ребят.
Вывод:
В данный момент, остается, либо ждать когда bir3yk пояснит как применить те функции, либо попробовать самим реализовать такой плагин по указанной мной схеме. Если среди присутствующих есть те, кто знает, как корректно применить эти функции - милости просим, не стесняйтесь, пишите.
*Не надо это путать со взломом серверов на движке GoldSrc (CS1.6). Хоть там для взлома используется такая же простая схема, но, в отличии от нынешней ситуации, там используется дырявый SteamEmu.
**Точно не известно, каким образом они ставят нужные SteamID. Подменять они умеют не только пиратские, но и лицензионные SteamID. Возможно, они просто нашли уязвимость с помощью которой напрямую ставят нужный SteamID, а возможно, они просто "раскусили" метод генерации SteamID и теперь просто подстраивают нужные данные в системе для генерации нужного SteamID. На всякий случай: не надо мне объяснять, из чего генерируется SteamID, я это знаю.
Последний раз редактировалось Jiffs 17.02.2012, 02:38, всего редактировалось 1 раз.
- PhO3n1X
- Сержант
- Сообщения: 96
- Зарегистрирован: 01.01.2006
- Откуда: Latvia
- Поблагодарили: 1 раз
- Контактная информация:
Уже давно написал и использую Extension для SM, который использует функции RevEmu для получения тикета игрока (правда пока что только для Винды). Возможно на выходных набросаю и выложу тут вышеупомянутый плагин.
- Overseer618
- Overseer
- Сообщения: 272
- Зарегистрирован: 06.05.2010
- Откуда: Екатеринбург
- Контактная информация:
Ваши плагины ничего не дадут, т.к. подмену можно осуществить не заходя на сервер - это раз. Если о способе подмены(который уж очень прост) узнают люди - решением будет админка по паролю, по IP адресу или аутентификация(админ при входе пишет !login <пароль> и сервер разрешает ему пользоваться админскими функциями до следующего перезахода.)
- Jiffs
- Steam Content Support
- Сообщения: 474
- Зарегистрирован: 10.05.2008
- Откуда: Красноярск
- Поблагодарили: 48 раз
- Контактная информация:
В чем сокровенный смысл этого комментария? Ибо, со стороны, складывается ощущение, что "не читаю, но комментирую". Хотелось бы увидеть более развернутый ответ.Overseer618 писал(а):Ваши плагины ничего не дадут, т.к. подмену можно осуществить не заходя на сервер - это раз.
P.S.: просто всем и так очевидно, что SteamID изменяется на стороне клиента до захода на сервер. Но, потом, клиент все равно должен зайти на сервер, чтобы воспользоваться админкой.
-
- Сержант
- Сообщения: 58
- Зарегистрирован: 25.01.2011
- Откуда: Улан-Уде
- Благодарил (а): 3358 раз
- Поблагодарили: 2 раза
У меня ломал сервера этот же самый товарищ, причём как на пиратке, так и на лицензии.
Так что дело не только в типе сервера видимо.
После некоторых изменений на сервере это больше не повторялось.
Так что дело не только в типе сервера видимо.
После некоторых изменений на сервере это больше не повторялось.
- Jiffs
- Steam Content Support
- Сообщения: 474
- Зарегистрирован: 10.05.2008
- Откуда: Красноярск
- Поблагодарили: 48 раз
- Контактная информация:
Лицензию они взломать не смогут. Ибо все завязано на пиратском клиенте. Для любителей фантазировать, объясняю уже на примере логов:
Вот он выставил себе мой лицензионный SteamID и заходит на сервер. Обращаем внимание на тикет.
Вот он узнает rcon-пароль (ник мой, SteamID мой, но это не я).
Вот он проверяет как работает админка (ник мой, SteamID мой, но это не я).
Спустя пару часов, он уже заходит с нормального своего аккаунта и развлекается (используется HLSW):
Потом снимал с себя наказания (используется HLSW):
Вот он выставил себе мой лицензионный SteamID и заходит на сервер. Обращаем внимание на тикет.
Код: Выделить всё
2012/02/08 06:20:06 Ticket: Rev Emu.
2012/02/08 06:20:06 UserConnect IP = 19.162.120.1 | SteamID = STEAM_0:1:мой_лицензионный_стимайди (178)
Код: Выделить всё
02/08/12 06:21:47: Мой_ник<3596><STEAM_0:1:мой_лицензионный_стимайди><> executes: sm_rcon rcon_password
Код: Выделить всё
02/08/12 06:22:23: Мой_ник<3596><STEAM_0:1:мой_лицензионный_стимайди><> executes: sm_admin
02/08/12 06:22:28: Мой_ник<3596><STEAM_0:1:мой_лицензионный_стимайди><> executes: menuselect 1
Код: Выделить всё
02/08/2012 - 21:33:01: [funcommands.smx] "Console<0><Console><Console>" toggled noclip on "S_Team Admin<4094><STEAM_0:1:34703220><>"
Код: Выделить всё
02/08/2012 - 21:47:55: [basebans.smx] "Console<0><Console><Console>" removed ban (filter "STEAM_0 : 1 : 34703220")
02/08/2012 - 21:02:30: [basebans.smx] "Console<0><Console><Console>" removed ban (filter "46.162.5.202")
-
- Майор
- Сообщения: 775
- Зарегистрирован: 02.07.2011
- Благодарил (а): 4 раза
- Поблагодарили: 32 раза
Jonny
Полностью согласен с тобой.Столько паники и всё из за лени.Админки по нику и паролю выдал и все проблемы ушли.Сам так раньше подменял стим id на админские и ничего ты с этим несделаеш
Полностью согласен с тобой.Столько паники и всё из за лени.Админки по нику и паролю выдал и все проблемы ушли.Сам так раньше подменял стим id на админские и ничего ты с этим несделаеш
Качественный хостинг OPTIBIT в Красноярске
NOVOSIBIRSK-CSS.RU|Only DUST2[NSK] ip:46.38.63.119:27015
NOVOSIBIRSK-CSS.RU|Only $2000$+AWP LEGO[NSK] ip:46.38.63.119:27016
NOVOSIBIRSK-CSS.RU|Only DUST2[NSK] ip:46.38.63.119:27015
NOVOSIBIRSK-CSS.RU|Only $2000$+AWP LEGO[NSK] ip:46.38.63.119:27016
- mihaput
- Майор
- Сообщения: 509
- Зарегистрирован: 11.11.2009
- Откуда: http://stat.kristal-lab.ru
- Благодарил (а): 5 раз
- Поблагодарили: 40 раз
А разве консольно с веб части возможно снять с себя бан ?Jiffs писал(а): Потом снимал с себя наказания (используется HLSW):Код: Выделить всё
02/08/2012 - 21:47:55: [basebans.smx] "Console<0><Console><Console>" removed ban (filter "STEAM_0 : 1 : 34703220") 02/08/2012 - 21:02:30: [basebans.smx] "Console<0><Console><Console>" removed ban (filter "46.162.5.202")
У меня например древняя система банов GlobalBan, там только с веб можно снять бан
- Overseer618
- Overseer
- Сообщения: 272
- Зарегистрирован: 06.05.2010
- Откуда: Екатеринбург
- Контактная информация:
Перефразирую: Как будут заходить админы с пиратки, если их будет кикать? Они даже на сервер не смогут зайти, как и люди, с подменой SteamID. Так что проверку нужно проводить внутри сервера, чтобы админ смог себя идентифицировать.Jiffs писал(а):В чем сокровенный смысл этого комментария? Ибо, со стороны, складывается ощущение, что "не читаю, но комментирую". Хотелось бы увидеть более развернутый ответ.Overseer618 писал(а):Ваши плагины ничего не дадут, т.к. подмену можно осуществить не заходя на сервер - это раз.
P.S.: просто всем и так очевидно, что SteamID изменяется на стороне клиента до захода на сервер. Но, потом, клиент все равно должен зайти на сервер, чтобы воспользоваться админкой.
И еще: с чего вы взяли что нельзя подменить тикет?
Добавлено спустя 4 минуты 39 секунд:
К слову о паролях: если пароль указывать в _pw - можно будет любым сервером вытащить у вас этот пароль.
- Jiffs
- Steam Content Support
- Сообщения: 474
- Зарегистрирован: 10.05.2008
- Откуда: Красноярск
- Поблагодарили: 48 раз
- Контактная информация:
Выдавать админки коадминам пиратам - решение крайне странное и равносильное выкладыванию rcon-пароля в паблик. А если, все же, администратор сервера так жаждит выдавать админки пиратам, то ему и плагин не нужен, ибо такой сервер уже изначально дырявый.Overseer618 писал(а):Перефразирую: Как будут заходить админы с пиратки, если их будет кикать? Они даже на сервер не смогут зайти, как и люди, с подменой SteamID.
Разве я это где-то писал? В нашем мире, при желании, можно сделать что угодно. Но, надо понимать, что есть понятие сложности. Так вот, подмена тикета, уже более сложная задача, нежели подмена SteamID. Плюс, случаев подмены тикета пока не было, а подмену SteamID мы уже фиксируем. Появятся случаи подмены тикета - будем тогда думать как и это исправить.Overseer618 писал(а):И еще: с чего вы взяли что нельзя подменить тикет?