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

4.7 KiB
Raw Blame History

macOS文件扩展名和URL scheme应用程序处理程序

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

LaunchServices数据库

这是macOS中所有已安装应用程序的数据库可以查询每个已安装应用程序的信息例如其支持的URL schemes和MIME类型。

可以使用以下命令转储此数据库:

{% code overflow="wrap" %}

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

{% endcode %}

或者使用工具 lsdtrip

/usr/libexec/lsd 是数据库的核心。它提供了像 .lsd.installation.lsd.open.lsd.openurl多个 XPC 服务。但是它也需要一些授权给应用程序,以便能够使用暴露的 XPC 功能,比如 .launchservices.changedefaulthandler.launchservices.changeurlschemehandler 来更改 mime 类型或 url schemes 的默认应用程序等。

/System/Library/CoreServices/launchservicesd 拥有服务 com.apple.coreservices.launchservicesd,可以查询有关正在运行的应用程序的信息。可以使用系统工具 /usr/bin/lsappinfolsdtrip 来查询。

文件扩展名和 URL scheme 应用程序处理程序

以下行可用于查找可以打开文件的应用程序,具体取决于扩展名:

{% code overflow="wrap" %}

/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>
从零开始学习AWS黑客技术 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式