___           ___           ___           ___           ___           ___     
     /\  \         /\__\         /\  \         /\__\         /\  \         /\  \    
    /::\  \       /:/  /        /::\  \       /:/  /        /::\  \       /::\  \   
   /:/\:\  \     /:/  /        /:/\:\  \     /:/__/        /:/\:\  \     /:/\:\  \  
  /::\~\:\  \   /:/  /  ___   /:/  \:\  \   /::\__\____   /::\~\:\  \   /::\~\:\  \ 
 /:/\:\ \:\__\ /:/__/  /\__\ /:/__/ \:\__\ /:/\:::::\__\ /:/\:\ \:\__\ /:/\:\ \:\__\
 \/_|::\/:/  / \:\  \ /:/  / \:\  \  \/__/ \/_|:|~~|~    \:\~\:\ \/__/ \/_|::\/:/  /
    |:|::/  /   \:\  /:/  /   \:\  \          |:|  |      \:\ \:\__\      |:|::/  / 
    |:|\/__/     \:\/:/  /     \:\  \         |:|  |       \:\ \/__/      |:|\/__/  
    |:|  |        \::/  /       \:\__\        |:|  |        \:\__\        |:|  |    
     \|__|         \/__/         \/__/         \|__|         \/__/         \|__|    
       

Использование Файлов Тем В Эксплуатации Windows

Оглавление

Общая информация

Файлы тем (.theme) предназначены для изменения внешнего вида вашей машины. Файлы тем имеют формат ini/inf, где файл представляет собой список разделов и свойств. Например, есть строка темы который вы можете использовать в этом файле. В этом разделе вы можете установить отображаемое имя для темы а также фон для входа. Пример раздела темы выглядит следующим образом:



[Theme]

; Windows 7 - IDS_THEME_DISPLAYNAME_AERO - Комментарии начинаются с точки с запятой

DisplayName=@%SystemRoot%\System32\themeui.dll,-2013

SetLogonBackground=0

Примеры

Список вещей которые вы можете установить с помощью файла темы довольно обширен. Вот еще пример файла темы:

; Copyright © Microsoft Corp.

[Theme]
; Windows 7 - IDS_THEME_DISPLAYNAME_AERO
;DisplayName=@%SystemRoot%\System32\themeui.dll,-2013
DisplayName=@%SystemRoot%\System32\test.dll,-2013
SetLogonBackground=0

; Computer - SHIDI_SERVER
[CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-109

; UsersFiles - SHIDI_USERFILES
[CLSID\{59031A47-3F72-44A7-89C5-5595FE6B30EE}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-123

; Network - SHIDI_MYNETWORK
[CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-25

; Recycle Bin - SHIDI_RECYCLERFULL SHIDI_RECYCLER
[CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon]
Full=%SystemRoot%\System32\imageres.dll,-54
Empty=%SystemRoot%\System32\imageres.dll,-55

[Control Panel\Cursors]
AppStarting=%SystemRoot%\cursors\aero_working.ani
Arrow=%SystemRoot%\cursors\aero_arrow.cur
Crosshair=
Hand=%SystemRoot%\cursors\aero_link.cur
Help=%SystemRoot%\cursors\aero_helpsel.cur
IBeam=
No=%SystemRoot%\cursors\aero_unavail.cur
NWPen=%SystemRoot%\cursors\aero_pen.cur
SizeAll=%SystemRoot%\cursors\aero_move.cur
SizeNESW=%SystemRoot%\cursors\aero_nesw.cur
SizeNS=%SystemRoot%\cursors\aero_ns.cur
SizeNWSE=%SystemRoot%\cursors\aero_nwse.cur
SizeWE=%SystemRoot%\cursors\aero_ew.cur
UpArrow=%SystemRoot%\cursors\aero_up.cur
Wait=%SystemRoot%\cursors\aero_busy.ani
DefaultValue=Windows Aero
DefaultValue.MUI=@main.cpl,-1020

[Control Panel\Desktop]
Wallpaper=%SystemRoot%\web\wallpaper\Windows\img0.jpg
TileWallpaper=0
WallpaperStyle=10
Pattern=

[VisualStyles]
Path=%ResourceDir%\Themes\Aero\mytheme.msstyles
ColorStyle=NormalColor
Size=NormalSize
ColorizationColor=0x6B74B8FC
Transparency=1

[boot]
SCRNSAVE.EXE=

[MasterThemeSelector]
MTSM=DABJDKT

[Sounds]
; IDS_SCHEME_DEFAULT
SchemeName=@%SystemRoot%\System32\mmres.dll,-800

Один из интересных разделов в файле темы - [Slideshow]. Часть слайд-шоу темы позволяет выбирать файлы которые используются в значке файла. Он используется для других вещей, но самая интересное в том что первые три строки списка используются в качестве значков файла темы. Таким образом, в тех случаях когда ваш вектор выполнения кода использует обработку значков/предварительный просмотр файлов (файлы ссылок, файлы шрифтов), файл темы может позволить вам указать до трех других файлов, и обработать их из одного.

Возьмем пример с тремя шрифтами. Есть три шрифта, потому что один использует только Windows 7 x86, другой использует Windows 7 x64, третий использует Windows XP x86. Обычно, чтобы получить полное покрытие вы должны поместить все три файла шрифтов в каталог. Когда цель переходит в каталог содержащий файлы шрифтов, происходит выполнение. Теперь, допустим, у вас есть еще один из «интересных» файлов Microsoft, таких как desktop.ini или library-ms. Вы можете использовать и другие файлы, для указания что ваш файл темы должен быть значком для чего-либо. Для этого примера предположим, что мы делаем его значком чего-то находящегося в корне диска. Мы разместим систему шрифтов, спрятанную на диске. Когда цель попадает в корень диска и отображается значок, обрабатывается и файл темы. Затем, файл темы, который имеет относительные пути к файлам шрифтов, обрабатывает все три шрифта. Таким образом, вы перешли от необходимости использования трех эксплойтов в каталоге в которую нужно заманить цель, к скрытым файлам сохраняя при этом тот же охват.

Вот пример модифицированного файла темы, который будет отображать 3 шрифта при отображении самого себя.

[Slideshow]

Interval=1800000

Shuffle=1

ImagesRootPath=MyFolder\temp

Item0Path=MyFolder\temp\font1.fon

Item1Path=MyFolder\temp\font2.fon

Item2Path=MyFolder\temp\font3.fon

Интересные характеристики файла темы

Из экспериментов с файлами тем было выяснено, что вызов ShellExecute для файла темы приведет к изменению темы на значение по умолчанию. Это вызывает открытие окна панели управления, если вы его не скрываете.