|
Доброго времени суток!
Мною обнаружена ошибка переполнения буффера и вероятно возможность
удалённого
исполнения вредоносного кода в последних версиях aGsm. Заключается
она
в следующем:
При обработке ответа от Half-Life серверов, aGsm, как выяснилось,
не
проверяет длинну строки hostname, а копирует её в память сразу.
Хакер
может написать программу для фальсифицикации строки ответа от
сервера и используя уязвимость запустить произвольный код.
Технические подробности:
Написал серверное UDP-приложение на Perl'e, которое, ждёт
датаграммы
на порту 27015 (стандартный порт Half-Life сервера) и на запрос
\xFF\xFF\xFF\xFFinfo\x00 ответил следующей строкой:
Строка ответа, приводящая к переполнения aGsm версии 2.35c:
===
\xff\xff\xff\xffA\x00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAA
(после нулевого байта идут 66 любых символов или shell-code больше
или
равынй 66 байтам)
\x - Указатель ввода шестнадцатеричного ASCII значения
Строка ответа, приводящая к переполнения aGsm версии 2.51c:
===
\xff\xff\xff\xffA\x00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA
(после нулевого байта идут 148 любых символов или shell-code
больше или
равынй 148 байтам)
\x - Указатель ввода шестнадцатеричного ASCII значения
Вероятно, что для успешного выполнения кода в версии 2.51с нужна
строка,
существенно большая чем 148 байт.
К письму прилагается два скриншота:
overflow.jpg - Скриншот возникновения ошибки при обработки строки
на
фоне Perl приложения.
debug.jpg - Скриншот переполнения в стандартном отладчике от Visual
Studio 6.0. В Стеке памяти около адреса ошибки виден кусок буффера
нашей строкой - AAAAA...A, записавшейся в память.
Также к письму прилагается perl скрипт демонстрирующий уязвимость.
не приложил к нему shellcode. Т.к. не очень разбираюсь в адресах
системных функций разных ОС (Kernel32.dll).
p.s. У меня WindowsXP Pro Corp Eng... Я не тестировал дыру под
другими
ОС.
===
e-mail : dimetrius@the-rdm.com
www : http://www.the-rdm.com
icq # 16782600
|