hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-file-extension-apps.md

6.1 KiB
Raw Blame History

Обробники файлів та URL-схем в macOS

{% hint style="success" %} Вивчайте та практикуйте хакінг AWS: Навчання AWS Red Team Expert (ARTE) від HackTricks
Вивчайте та практикуйте хакінг GCP: Навчання GCP Red Team Expert (GRTE) від HackTricks

Підтримайте HackTricks
{% endhint %}

База даних LaunchServices

Це база даних всіх встановлених додатків в macOS, до якої можна звертатися для отримання інформації про кожен встановлений додаток, таку як підтримувані ним URL-схеми та типи MIME.

Можливо вивести цю базу даних за допомогою:

{% code overflow="wrap" %}

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump

{% endcode %}

Або використовуючи інструмент lsdtrip.

/usr/libexec/lsd - це мозок бази даних. Він надає кілька служб XPC, таких як .lsd.installation, .lsd.open, .lsd.openurl, та інші. Але він також вимагає деякі дозволи для додатків, щоб мати змогу використовувати викладені функціональні можливості XPC, такі як .launchservices.changedefaulthandler або .launchservices.changeurlschemehandler для зміни типів мультимедійних файлів або схем URL та інші.

/System/Library/CoreServices/launchservicesd претендує на службу com.apple.coreservices.launchservicesd і може бути опитаний для отримання інформації про запущені додатки. Його можна опитати за допомогою системного інструменту /usr/bin/lsappinfo або з lsdtrip.

Обробники файлів з розширенням та схем URL додатків

Наступний рядок може бути корисним для пошуку додатків, які можуть відкривати файли в залежності від розширення:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -E "path:|bindings:|name:"

{% endcode %}

Або скористайтеся чимось на зразок SwiftDefaultApps:

./swda getSchemes #Get all the available schemes
./swda getApps #Get all the apps declared
./swda getUTIs #Get all the UTIs
./swda getHandler --URL ftp #Get ftp handler

Ви також можете перевірити розширення, які підтримує додаток, виконавши:

cd /Applications/Safari.app/Contents
grep -A3 CFBundleTypeExtensions Info.plist  | grep string
<string>css</string>
<string>pdf</string>
<string>webarchive</string>
<string>webbookmark</string>
<string>webhistory</string>
<string>webloc</string>
<string>download</string>
<string>safariextz</string>
<string>gif</string>
<string>html</string>
<string>htm</string>
<string>js</string>
<string>jpg</string>
<string>jpeg</string>
<string>jp2</string>
<string>txt</string>
<string>text</string>
<string>png</string>
<string>tiff</string>
<string>tif</string>
<string>url</string>
<string>ico</string>
<string>xhtml</string>
<string>xht</string>
<string>xml</string>
<string>xbl</string>
<string>svg</string>

{% hint style="success" %} Вивчайте та практикуйте взлом AWS: Навчання HackTricks AWS Red Team Expert (ARTE)
Вивчайте та практикуйте взлом GCP: Навчання HackTricks GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}