5 KiB
Manipuladores de aplicativos de extensão de arquivo e esquema de URL do macOS
{% hint style="success" %}
Aprenda e pratique Hacking AWS: Treinamento HackTricks AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: Treinamento HackTricks GCP Red Team Expert (GRTE)
Apoie o HackTricks
- Verifique os planos de assinatura!
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.
Banco de Dados do LaunchServices
Este é um banco de dados de todos os aplicativos instalados no macOS que podem ser consultados para obter informações sobre cada aplicativo instalado, como os esquemas de URL que ele suporta e os tipos MIME.
É possível despejar esse banco de dados com:
{% code overflow="wrap" %}
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump
{% endcode %}
Ou usando a ferramenta lsdtrip.
/usr/libexec/lsd
é o cérebro do banco de dados. Ele fornece vários serviços XPC como .lsd.installation
, .lsd.open
, .lsd.openurl
, e mais. Mas também requer algumas permissões para que os aplicativos possam usar as funcionalidades XPC expostas, como .launchservices.changedefaulthandler
ou .launchservices.changeurlschemehandler
para alterar aplicativos padrão para tipos de mime ou esquemas de URL e outros.
/System/Library/CoreServices/launchservicesd
reivindica o serviço com.apple.coreservices.launchservicesd
e pode ser consultado para obter informações sobre aplicativos em execução. Pode ser consultado com a ferramenta do sistema /usr/bin/lsappinfo
ou com lsdtrip.
Manipuladores de aplicativos de esquema de extensão de arquivo e URL
A linha a seguir pode ser útil para encontrar os aplicativos que podem abrir arquivos dependendo da extensão:
{% code overflow="wrap" %}
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -E "path:|bindings:|name:"
{% endcode %}
Ou use algo como 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
Você também pode verificar as extensões suportadas por um aplicativo fazendo:
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" %}
Aprenda e pratique AWS Hacking: Treinamento HackTricks AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking: Treinamento HackTricks GCP Red Team Expert (GRTE)
Suporte o HackTricks
- Verifique os planos de assinatura!
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.