Установка приложениий через IE

.: Меню сайта :.

Главная

Гостевая

Программы

Статьи

Книги/Учебники

Юмор

Ссылки

.: Статистика :. Рейтинг@Mail.ru
.: Реклама :.

Здесь могла быть Ваша реклама !

О чем идет речь?

Темой данной заметки является описание способа загрузки и исполнения произвольных приложений на клиентском компьютере. Естественно, что пользователь обязан сделать - посетить некий узел. Чтобы добиться результатов следует прибегнуть к приемам НЛП. Согласитесь, вероятнее всего человек быстрее нажмет на ссылку ведущую к страничке, нежели на файл. Наша с вами задача придумать способ загрузить и исполнить приложение на его компьютере. Что, оказывается, весьма несложно сделать...
Многие не имеют опыта такого проникновения на целевой компьютер. Хотя он является, пожалуй, одним из лучших. Это связано с тем, что пользователю не нужно будет подтверждать никакой загрузки файла, а потом еще и вручную его запускать. За него все сделает Internet Explorer. Как это работает?
Пример действует по достаточно интересной схеме: загружается как HTML файлзагружает себя как MHTML. Сам HTML файл состоит из двух блоков: первый указывает на наличие некого файла согласно стандартам MHTML и MIME, а второй блок - это HTML. Первый блок для второго является простым текстом, хотя в действительности это файл, зашифрованный в base64. Поэтому при открытии файла срабатывает блок HTML:

<BODY>
<SCRIPT>
function Execute()
{
path=unescape(document.URL.substr(-0,document.URL.lastIndexOf("\\")));
document.write(
'CODEBASE="mhtml:'+path+'\\main.html!file:///InternetExplorer.exe">')
}
Execute();

Немного поясню, что именно происходит. При обработке данного документа исполняется скрипт, устанавливающий новый компонент с CLSID(ClassID) 66666666-6666-6666-6666. Исполняемый код для компоненты берется из этого же файла и именно поэтому происходит определение его местоположения (переменная path). Вся разница в том, что открывается он уже как MHTML. Поэтому мы можем обращаться к любому ресурсу, хранящемуся в нем (в данном случае это приложение). Его указание происходит согласно следующей форме записи:

mhtml:имя_html_файла!имя_ресурса

Что касается первого блока, то его заголовок должен выглядеть примерно следующим образом:

MIME-Version: 1.0
Content-Location:file:///InternetExplorer.exe
Content-Transfer-Encoding: base64

В качестве значения Content-Location желательно указать что-нибуть приличное. Эта переменная потом появится в строке состояния Internet Explorer как окончание к тексту "Установка компонента...". Тем более, что именно ее необходимо указывать как имя желаемого ресурса. Далее должен идти бинарный код приложения в формате base64.

Как можно автоматизировать процесс?

Для построения полнофункциональной универсальной утилиты необходимо создать следующую систему:

1 HTML файл, посылающий запрос на сервер с формой хранящей такие данные как:
- атакуемая почта
- содержание письма
- исполняемый файл (используйте <INPUT type=file>)
- содержание HTML файла хранящего исполняемый

2 PERL скрипт, создающий на сервере специально сформированный HTML файл, хранящий исполняемое ПО в base64 и то, что пользователь увидит в броузере. В base64 обычный .EXE файл можно конвертировать использовав MIME::Base64:

$encoded=encode_base64($decoded);
$decoded=decode_base64($encoded);

После чего отсылается письмо пользователю на компьютере которого необходимо запустить приложение. Согласитесь, весьма проста и в тоже время интересная технология.


Используются технологии uCoz