Вирус-червь, использовавший уязвимость MS03-026, появился в середине августа 2003 года — это был знаменитый Net-Worm. Win32. Lovesan. Этот вирус организовал огромную по масштабам эпидемию. Вирус атаковал компьютеры со случайно выбранными IP-адресами, посылая на порт 135 TCP-пакеты с shell-кодом. Чересчур длинное имя файла переполняло выделенный под него буфер и «затирало» адрес возврата из функции «CoGetlnstanceFromFile» новым значением. Это был адрес участка адресного пространства, принадлежащего процессу «SVCHOST» и содержащего команду «JMP ESP». Таким образом, выход из функции происходил куда-то вглубь «SVCHOST», но почти сразу же управление возвращалось на начало буфера, содержащего shell-код.
Этот shell-код при помощи методов, характерных для Win32- вирусов, искал в памяти «KERNEL32.DLL», а внутри — все необходимые функции. Вот очень поучительный фрагмент shell-кода, при помощи которого вирус становился сетевым сервером и осуществлял запуск командного интерпретатора «CMD. EXE»:
О червь открывал порт 4444 и создавал связанный с ним сокет; червь переназначал дескрипторы ввода-вывода запускаемого процесса на вновь открытый сокет, заставляя таким образом «CMD. EXE» выполнять команды, приходящие не с клавиатуры от пользователя, а по сети — от «клиентской» части червя, оставшейся на атакующем компьютере.





Свежие комментарии