mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-26 11:55:06 +00:00
99 lines
5 KiB
Markdown
99 lines
5 KiB
Markdown
|
# macOS Obsługa aplikacji plików i schematów URL
|
||
|
|
||
|
{% hint style="success" %}
|
||
|
Dowiedz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
|
Dowiedz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary>Wesprzyj HackTricks</summary>
|
||
|
|
||
|
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
|
* **Udostępnij sztuczki hackingu, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||
|
|
||
|
</details>
|
||
|
{% endhint %}
|
||
|
|
||
|
## Baza danych LaunchServices
|
||
|
|
||
|
Jest to baza danych wszystkich zainstalowanych aplikacji w systemie macOS, do których można zapytać o informacje dotyczące każdej zainstalowanej aplikacji, takie jak obsługiwane schematy URL i typy MIME.
|
||
|
|
||
|
Możliwe jest zrzucenie tej bazy danych za pomocą:
|
||
|
|
||
|
{% code overflow="wrap" %}
|
||
|
```
|
||
|
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump
|
||
|
```
|
||
|
{% endcode %}
|
||
|
|
||
|
Lub używając narzędzia [**lsdtrip**](https://newosxbook.com/tools/lsdtrip.html).
|
||
|
|
||
|
**`/usr/libexec/lsd`** jest mózgiem bazy danych. Zapewnia **kilka usług XPC** takich jak `.lsd.installation`, `.lsd.open`, `.lsd.openurl` i inne. Ale wymaga również **uprawnień** do aplikacji, aby móc korzystać z udostępnionych funkcji XPC, takich jak `.launchservices.changedefaulthandler` lub `.launchservices.changeurlschemehandler` do zmiany domyślnych aplikacji dla typów mime lub schematów URL i innych.
|
||
|
|
||
|
**`/System/Library/CoreServices/launchservicesd`** twierdzi usługę `com.apple.coreservices.launchservicesd` i można je zapytać, aby uzyskać informacje o uruchomionych aplikacjach. Można je zapytać za pomocą narzędzia systemowego /**`usr/bin/lsappinfo`** lub za pomocą [**lsdtrip**](https://newosxbook.com/tools/lsdtrip.html).
|
||
|
|
||
|
## Obsługa rozszerzeń plików i schematów URL aplikacji
|
||
|
|
||
|
Następująca linia może być przydatna do znalezienia aplikacji, które mogą otwierać pliki w zależności od rozszerzenia:
|
||
|
|
||
|
{% code overflow="wrap" %}
|
||
|
```bash
|
||
|
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -E "path:|bindings:|name:"
|
||
|
```
|
||
|
{% endcode %}
|
||
|
|
||
|
Albo użyj czegoś takiego jak [**SwiftDefaultApps**](https://github.com/Lord-Kamina/SwiftDefaultApps):
|
||
|
```bash
|
||
|
./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
|
||
|
```
|
||
|
Możesz również sprawdzić obsługiwane rozszerzenia przez aplikację wykonując:
|
||
|
```
|
||
|
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" %}
|
||
|
Ucz się i praktykuj Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Szkolenie AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
|
Ucz się i praktykuj Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Szkolenie GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary>Wesprzyj HackTricks</summary>
|
||
|
|
||
|
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
|
* **Udostępniaj sztuczki hakerskie, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||
|
|
||
|
</details>
|
||
|
{% endhint %}
|