PDA

Просмотр полной версии : Статья как сделать *.ехе => *.chm


micpotop
02.08.2010, 16:53
Нашёл статью очень актульна.

Цель данной статьи – показать небезопасность формата chm, а также прочих сходных (its, mht). Речь идёт о том, что подобные файлы могут носить в себе вредоносное ПО. К статье будут приложены доказывающие данное утверждение рабочие примеры.

Статья рассчитана на широкую аудиторию, однако значительная часть материала будет требовать специфических знаний (программирование на Delphi, далеко не поверхностное знание ОС Windows).

Терминология:
HTMLHelp (Microsoft Compressed HTML Help, .CHM) — формат файлов контекстной справки, разработанный компанией «Майкрософт» и выпущенный в 1997 году в качестве замены формата WinHelp. Содержит в себе набор HTML-страниц, может также включать в себя содержание со ссылками на страницы, предметный указатель, а также базу для полнотекстового поиска по содержимому страниц. Все входящие в .CHM файлы сжаты алгоритмом LZX. Для просмотра .CHM-файлов используется стандартное средство просмотра, встроенное во все версии Windows, начиная с Windows 98 [1].
ITS - файл internet document set, открываемый Internet Explorer.
MHT – веб-архив, подобен its, открывается Internet Explorer.
ActiveX - технология Microsoft, предназначенная для написания сетевых приложений [2].

Введение.
Всем нам известно, какие расширения файлов могут нести угрозу. Типичные приложения-вирусы могут скрываться в *.exe, *.scr, *.pif, *.com, *.bat, *.cmd. Обычно, опытный пользователь избегает запускать файлы с данными расширениями, пришедшие из ненадёжных источников. Да и вообще любой новый исполняемый файл на своём компьютере проверит антивирусом. Пользователь знает, что вирус может находиться там. Только начинающие могут вот так вот запросто запустить экзешник (если антивирус позволит, а позволит он, если вирус будет, к примеру, закриптован). Но даже самый опытный пользователь никак не ожидает, что опасность может храниться в обычном, скажем так, текстовом файле. Он спокойно его запускает. Конечно, есть мысль: ассоциировать текстовый файл, как исполняемый. Но для этого необходим доступ к реестру компьютера пользователя и внесение там изменений. Ясно, что это не годится. Вот пользователь зашёл в Internet и грузит оттуда странички. И знает, что если появилось в Internet Explorer сообщение о загрузке ActiveX, то нужно отклонить. Сохраняет странички на диск. Но html-ки с хакерского портала просто так не сохранит, а проверит – он ведь знает о JS (JavaScript)-вирусах. А вот возьмёт читать мануал по Windows, а он – в формате chm. Но запустит этот мануал.chm без колебаний, зная о том, что chm – всего лишь справка, компилированная html-страничка. И не додумывается о том, что в chm работает и тот же JavaScript и ActiveX.

Я проводил опрос (Табл.2), в ходе которого, увы, выяснилось, что файл chm не рассматривается, как опасный большинством опрошенных (с умением работы на компьютере). Такая позиция опрошенных не верна. Сейчас я расскажу, почему и укажу опасность ActiveX для chm и подобных ему форматов.

Суть.
Исходя из того, что chm может содержать в себе целый сайт со всеми скриптами и прочими элементами, такими как ActiveX, делаем вывод – запуск chm-файла не менее опасен, чем загрузка странички из Internet. Продолжая рассуждения дальше, вспомним, что происходит при попытке загрузки ActiveX из Internet? Появляется запрос подтверждения действия запуска неподписанного ActiveX. Теперь обратим внимание на встроенное средство просмотра chm. Оно при запуске файла распаковывает его и открывает документ в окне, являющимся универсальным системным окном Internet Explorer. В Internet Explorer имеются ограничения, такие, как выдача запроса или даже блокирование ActiveX из ненадёжных узлов. Это справедливо, когда файлы открываются им из Internet. Однако в нашем случае Internet Explorer открывает локальные документы. И окно подтверждения при загрузке ActiveX (на большинстве версий, во всяком случае, Windows XP) по умолчанию, как правило (Табл. 1), не появляется. А запуск ActiveX фактически даёт такие же возможности, как и при запуске любого приложения. Получается, что chm=exe в (0,5875*(1-0,386))*100%=36,1% случаев? (Согласно Табл. 1 и Табл.2).

Это применимо не только к chm, а и к схожим форматам – its и mht. Для защиты пользователю необходимо в свойствах Internet Explorer поставить для всех зон обязательный вывод подтверждения при загрузке любых ActiveX.

Теперь рассмотрим создание примерного chm-файла с ActiveX – начинкой, извлекающей и запускающей обычное exe-приложение. То есть запустил chm, а получил запуск exe.
Для создания chm-файла из веб-страницы нам понадобится программа htm2chm [3]. Для создания ActiveX нужен Delphi. Редактировать ресурсы будем ресторатором. Для остального хватит и блокнота.

Программирование ActiveX. Запускаем Дельфи. Далее выбираем File/New/Other/ActiveX/Active Form, задаём название проекту и форме в диалоге. И появляется обычная форма. Но она практически нам не нужна. Скрываем её (делаем размеры формы минимальные). Затем ставим на форму таймер и на onTimer ставим процедуру извлечения ресурса в файл и запуск файла. Компилируем и выбираем View/Type Library/ - там GUID нашего ActiveX. Он понадобится дальше. Вот и всё.
Берём скомпилированный ActiveX и с помощью ресторатора вставляем в него ресурс (как задано в функции извлечения).
После создаём html-страничку с любым содержимым и обязательной строкой:
Код:
<object classid="clsid:899A34EE-438E-42A9-8F59-5E2983233E0F" codebase="gotovo.snd">
</object>

где 899A34EE-438E-42A9-8F59-5E2983233E0F – наш GUID, а gotovo.snd – имя файла с ActiveX.
Всё сохраняем в одной папке и компилируем в chm-файл с помощью программы htm2chm.

К вышесказанному прилагается пример описанного ActiveX с исходными кодами и готовая демонстрационная chm такого рода с описанием.

Заключение.
В общем, хочу сказать, что не встречал применения такого метода с chm. Всё это было изложено с целью упреждения использования такого метода против пользователей. Ведь может быть не только применение chm, как хранителя и извлекателя вредоносного файла, но использование для непосредственной модификации структуры прочих имеющихся файлов chm таким образом, что и они станут вредоносными – появление нового класса самораспространяющихся вирусов.

Написал статью, приготовил примеры и провёл небольшое исследование со статистической обработкой begin end, 15.03.2007.

Ссылки:
1. [Ссылки доступны только зарегистрированным пользователям]
2. [Ссылки доступны только зарегистрированным пользователям]
3. [Ссылки доступны только зарегистрированным пользователям]

Таблицы:
Табл. 1 - успешность запуска на компьютерах
Табл. 2 - доверие опрошенных к *.chm

Примеры к части статьи "Программирование ActiveX":
"Примерный сборочный комплект".
Демонстрационный продукт.

__________________
Добавлено: Поскольку появились вопросы такого плана в ходе создания Active X:
"Я создал ActiveX, гружу из паги его и всё работает. Но когда изменяю его заменяю старый новым и снова гружу изменений нету. Почему?"
То немного дополню вышеизложенную статью следующими рекомендациями:
1. При первом запуске Active X, он кэшируется операционной системой в папке вида: C:\WINDOWS\Downloaded Program Files\ под тем именем, под которым был запущен. Потому, при изменении его в источнике зарузки, но прежнем GUID, он грузится из кэша. Устранением проблемы может быть: удаление файла из кэша, удаление записи из реестра или смена GUID.
2. Active X должен производить какие-либо действия только по таймеру.
3. Уменьшить размер поможет упаковка с помощью любых пакеров. К тому же можно создавать Active X и на том же С++, VB.

master008
02.08.2010, 17:29
Тока там надо ещё знать дельфи чтобы переделать исходник, а то будет жёско палиться

micpotop
02.08.2010, 18:15
master008, может хоть путь укажешь как его почистить?



Добавлено через 8 минут


Вот скан готового файла

a-squared 5.0.0.13 20100802002349 2010-08-02 - 0.082
AhnLab V3 2010.07.14.00 2010.07.14 2010-07-14 - 0.089
AntiVir 8.2.4.32 7.10.10.26 2010-08-01 TR/Dropper.Gen 0.443
Antiy 2.0.18 20100731.4890273 2010-07-31 - 0.031
Arcavir 2009 201006281601 2010-06-28 - 0.005
Authentium 5.1.1 201008021200 2010-08-02 - 1.576
AVAST! 4.7.4 100802-0 2010-08-02 MSIL:Crypt-AP [Drp] 0.114
AVG 8.5.793 271.1.1/3045 2010-08-02 Downloader.Generic7.YUD 1.144
BitDefender 7.90123.6197846 7.33150 2010-08-02 Trojan.Generic.108109 6.334
ClamAV 0.96.1 11469 2010-08-02 - 0.358
Comodo 4.0 5615 2010-08-02 - 0.138
CP Secure 1.3.0.5 2010.08.02 2010-08-02 - 0.560
Dr.Web 5.0.2.3300 2010.08.02 2010-08-02 - 13.573
F-Prot 4.4.4.56 20100801 2010-08-01 - 1.303
F-Secure 7.02.73807 2010.08.02.02 2010-08-02 Trojan-Ransom.Win32.Delf.t [AVP] 14.600
Fortinet 4.1.143 12.206 2010-08-01 - 0.187
GData 21.612/21.228 20100802 2010-08-02 - 0.191
Ikarus T3.1.01.84 2010.08.02.76391 2010-08-02 Trojan-Ransom.Win32.Delf 15.676
JiangMin 13.0.900 2010.08.01 2010-08-01 - 0.159
Kaspersky 5.5.10 2010.08.02 2010-08-02 Trojan-Ransom.Win32.Delf.t 0.122
KingSoft 2009.2.5.15 2010.8.2.18 2010-08-02 - 0.261
McAfee 5400.1158 6061 2010-08-01 - 0.000
Microsoft 1.6004 2010.08.02 2010-08-02 - 0.248
Norman 6.05.11 6.05.00 2010-08-01 - 12.118
nProtect 20100802.01 8826559 2010-08-02 - 0.090
Panda 9.05.01 2010.08.01 2010-08-01 - 0.388
Quick Heal 11.00 2010.08.02 2010-08-02 - 0.344
Rising 20.0 22.59.00.01 2010-08-02 - 0.328
Sophos 3.10.0 4.56 2010-08-02 - 13.051
Sunbelt 3.9.2432.2 6669 2010-07-31 - 0.087
Symantec 1.3.0.24 20100801.003 2010-08-01 - 0.070
The Hacker 6.5.2.1 v00328 2010-07-29 - 0.343
Trend Micro 9.120-1004 7.358.01 2010-08-02 - 0.000
VBA32 3.12.12.7 20100802.0846 2010-08-02 Win32.TrojanDownloader.Delf.KDT 7.858
ViRobot 20100731 2010.07.31 2010-07-31 - 0.182
VirusBuster 4.5.11.10 10.127.36/2023027 2010-08-01

virscan.org

master008
02.08.2010, 18:52
Да я уж сам не помню как я его чистил. Но за час почистил понатыкав туда левых циклов, переменных и замен. Вроде так на сколько я помню. За 10$ могу продать кому нить
это.
От каспера помню долго не мог уйти но обошёл его в конце концов.

Nickitee
26.09.2010, 23:05
Всё получилось, но орёт нод и касперски.

ihtr3
30.09.2010, 17:59
Как насчет того, чтобы отослать троян или кейлогер Вашей жертве, использовав эту хитрость??

1) Для начала, создайте новую папку и убедитесь, что параметр «Показывать скрытые файлы и папки» включена и «Скрывать расширения для зарегистрированных типов файлов» отключена.

По существу, вам нужно видеть скрытые файлы и видеть расширения всех фалов на Вашем ПК.

2) Скопируйте Ваш файл в свежесозданную папку. Давайте считать, что он называется «server.exe» (вот почему нужно, чтобы показывалось расширение файла, потому что Вам будет нужно его изменить).

3) Теперь переименуйте этот «server.exe» в то, что Вам нужно, например «picture.jpeg»

4) Windows выдаст предупреждение, действительно ли Вам так необходимо изменить расширение файла с exe на jpeg, кликните «Да».

5) Затем создайте ярлык на «picture.jpeg» в той же папке.

6) Теперь, когда у Вас есть ярлык, переименуйте его, как пожелаете, например, «me.jpeg».

7) Откройте свойства (файла «me.jpeg») и внесите в них несколько изменений.

8) Прежде всего, нужно удалить весь текст в поле «Рабочая папка» и оставить его пустым.

9) Теперь в поле «Объект» Вам нужно прописать путь для открытия другого файла (server переименованный в «picture.jpeg») так что Вам нужно написать это:

«C:\WINDOWS\system32\cmd.exe /c picture.jpeg».

10) Последнее поле, «c/ picture.jpeg» ***8209; это всегда имя первого файла. Если Вы назвали первый файл «soccer.avi», то Вы напишете «C:\WINDOWS\system32\cmd.exe /c soccer.avi».
11) Так что, после того, как Вы это сделаете, если кто-то кликнет на «me.jpeg», a cmd выполнит другой файл, «picture.jpeg»и server запустится.

12) В файле «me.jpeg» (ярлык), откройте свойства и смените иконку. Нажмите это и появится всплывающее окошко, и Вам будет нужно написать это:

%SystemRoot%\system32\SHELL32.dll . Затем нажмите OK.

13) Вы можете для первого файла «picture.jpeg» установить параметр «Скрытый», если Вы считаете, что так будет лучше привязаться к чему-то.

14) Но не забудьте одну вещь: эти два файла всегда должны находиться вместе в одной и той же папке и чтобы они заработали, кто-то должен кликнуть по ярлыку. Так что переименуйте файлы, учитывая личность жертвы и ее знания о таких вещах.

15) Что же насчет меня… Я, например, всегда хочу, чтобы ярлык казался первым файлом, доступным для открытия. Так что я переименую «server» в «picture2.jpeg» и ярлык в «picture1.jpeg».

Таким способом сначала будет отображаться ярлык. Если Вы все-таки зададите свойство «Скрытый» для «picture.jpeg», то нет необходимости устанавливать его для обоих файлов, я предупреждаю Вас, скрытые файлы всегда отображаются в Zip- или Rar- архивах.

16) Но все равно, лучшим способом отправить эти файлы кому-то будет запаковать их в Zip или Rar.

17) Внутри Rar или Zip-файла Вы можете увидеть свойства файла и даже после всей этой работы Вы можете заметить, что ярлык и выглядит как ярлык, но есть надежда, что человек, которому Вы его оправите, не знает, что это такое и откроет его.:)

designero
30.09.2010, 18:43
ihtr3 esli ne trudno sdelay video *pivo*

ihtr3
01.10.2010, 04:39
Делаем троян расширения TXT
1 шаг: Жмем правую кнопку мыши –Создать-Ярлык
Вводим следующее: "С:\WINDOWS\system32\cmd.exe /c file.txt" ("С"=Driver)

называем его readme.txt

шаг 2: после того заходим в свойства ярлыка и вводим как показано

далее меняем иконку ярлыка
шаг 3: меняем расширение вашего Трояна на TXT и называем его file.txt

для того что бы запустить Троян надо просто запустить ярлык. Ярлык автоматически запускает команду С:\WINDOWS\system32\cmd.exe /c file.txt
Для маскировки меняем иконку ярлыка на TXT иконку, а в свойствах ярлыка меняем расположение на: размер буфера ширина=1 высота=1 размер окна ширина=1 высота=1
Положение окна ширина=9999 высота=9999 теперь все готово!!!
Кладем все добро в папку и отправляем кому надо. Можете поэксперементировать с другими расширениями!!!


Вот попробовал mp3 запустить! Работает!
%windir%\system32\cmd.exe /c start C:\1.mp3

Nightmare
07.11.2010, 23:40
Подскажите, данный метод с .chm будет работать на Windows 7 64 bit ?

master008
08.11.2010, 02:10
Будет,я проверял, единственное что там юзер должен будет нажать одобрить там толи запуск приложения толи ещё чё- там этот чёртво УАК всё контролирует

olegteror
09.11.2010, 15:46
Полный оффтоп...
Nightmare ([Ссылки доступны только зарегистрированным пользователям]),Какие люди....;).Добро пожаловать..Думаю не узнал=)

master008
09.11.2010, 17:04
Ну если эт реал найтмэйр, то прям здесь и скажу, что лучше пранков чем у тебя я не слышал

olegteror
09.11.2010, 20:58
:)Он самый не копия.