* **Şirketinizi HackTricks'te reklamını görmek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'u takip edin**.
Bir iOS cihazını benzersiz bir şekilde tanımlamak için UDID olarak bilinen 40 haneli bir dizi kullanılır. macOS Catalina veya daha yeni sürümlerde, iTunes artık mevcut olmadığından, bunu **Finder uygulamasında** bulabilirsiniz. Cihaz, USB aracılığıyla bağlandığında ve Finder'da seçildiğinde, adının altındaki ayrıntılar tıklanarak UDID'sini diğer bilgilerle birlikte ortaya koyar.
**SSH erişimi**, **OpenSSH paketi**nin jailbreak sonrası yüklenmesiyle etkinleştirilir ve `ssh root@<cihaz_ip_adresi>` üzerinden bağlantı sağlanır. Cihazı güvence altına almak için `root` ve `mobile` kullanıcıları için varsayılan şifreleri (`alpine`) değiştirmek önemlidir.
**USB üzerinden SSH** erişimi, Wi-Fi olmadığında `iproxy` kullanılarak cihaz bağlantı noktalarının SSH bağlantıları için eşlenmesini gerektirir. Bu yapılandırma, USB üzerinden SSH erişimini sağlamak için aşağıdaki komutun çalıştırılmasını sağlar:
**Cihaz üzerindeki kabuk uygulamaları**, özellikle sorun giderme için doğrudan cihaz etkileşimi sağlar. **Ters SSH kabukları**, uzaktan erişim için ana bilgisayardan da kurulabilir.
Unutulan bir şifreyi varsayılan (`alpine`) şifreye sıfırlamak için `/private/etc/master.passwd` dosyasını düzenlemek gereklidir. Bu, mevcut karma yerine `root` ve `mobile` kullanıcı girişlerinin yanına `alpine` için karma yerleştirilerek yapılır.
**SSH ve SCP Aracılığıyla Arşivleme ve Geri Alma:** Uygulamanın Veri dizinini `tar` kullanarak arşivlemek ve ardından `scp` kullanarak transfer etmek oldukça basittir. Aşağıdaki komut, Veri dizinini .tgz dosyasına arşivler ve ardından cihazdan çeker:
**iFunbox ve iExplorer Kullanımı:** Bu GUI araçları, iOS cihazlardaki dosyaları yönetmek için kullanışlıdır. Ancak, iOS 8.4 ile başlayarak, Apple bu araçların uygulama sandbox'ına erişimini kısıtladı, ancak cihaz jailbreak yapılmışsa erişim sağlanabilir.
**Objection ile Etkileşimli Kabuk:** Objection'ı başlatmak, bir uygulamanın Bundle dizinine erişim sağlar. Buradan, uygulamanın Documents dizinine giderek dosyaları yönetebilir, iOS cihazına dosya indirebilir ve yükleyebilirsiniz.
**Over-The-Air (OTA) Dağıtım Bağlantısı:** OTA ile test için dağıtılan uygulamalar, ITMS hizmetleri varlık indirme aracı kullanılarak indirilebilir. Bu araç npm aracılığıyla yüklenir ve IPA dosyasını yerel olarak kaydetmek için kullanılır.
**Manuel Şifre Çözme Genel Bakışı:** iOS uygulama ikili dosyaları Apple tarafından FairPlay kullanılarak şifrelenir. Tersine mühendislik yapabilmek için, şifresi çözülmüş ikili dosyayı bellekten çıkarmak gerekir. Şifre çözme süreci, PIE bayrağının kontrol edilmesini, bellek bayraklarının ayarlanmasını, şifreli bölümün belirlenmesini ve ardından bu bölümün şifresi çözülmüş haliyle değiştirilmesini içerir.
**Şifre Çözümünü Tamamlama:** `MachOView` gibi araçları kullanarak, şifreleme olmadığını belirtmek için ikili dosyanın meta verilerini değiştirin ve `cryptid` değerini 0 olarak ayarlayın.
[**frida-ios-dump**](https://github.com/AloneMonkey/frida-ios-dump) aracı, iOS cihazlarından uygulamaların otomatik olarak şifrelenmesini ve çıkarılmasını sağlamak için kullanılır. İlk olarak, `dump.py` dosyası iOS cihazına bağlanacak şekilde yapılandırılmalıdır. Bu, **iproxy** aracılığıyla localhost üzerinden 2222 numaralı porta veya doğrudan cihazın IP adresi ve portu üzerinden yapılabilir.
Bu komut, mevcut dizinde `Telegram.ipa` adlı bir dosyanın oluşturulmasıyla sonuçlanan uygulama dökümünü başlatır. Bu işlem, jailbreak yapılmış cihazlar için uygundur, çünkü imzasız veya sahte imzalı uygulamalar [**ios-deploy**](https://github.com/ios-control/ios-deploy) gibi araçlar kullanılarak yeniden yüklenebilir.
[**flexdecrypt**](https://github.com/JohnCoates/flexdecrypt) aracı ve onun sarmalayıcısı [**flexdump**](https://gist.github.com/defparam/71d67ee738341559c35c684d659d40ac), yüklü uygulamalardan IPA dosyalarının çıkarılmasını sağlar. Cihazdaki **flexdecrypt** için kurulum komutları, `.deb` paketinin indirilip kurulması içerir. Aşağıdaki komutlarda gösterildiği gibi **flexdump**, uygulamaları listelemek ve dökmek için kullanılabilir:
[**bagbak**](https://github.com/ChiChou/bagbak), başka bir Frida tabanlı araçtır ve uygulama şifrelemesini çözmek için jailbreak yapılmış bir cihaz gerektirir:
**r2flutch**, radare ve frida'yı kullanarak uygulama şifrelemesini ve dökümlemesini sağlar. Daha fazla bilgiye [**GitHub sayfasında**](https://github.com/as0ler/r2flutch) ulaşılabilir.
**Sideloading**, resmi App Store dışında uygulama kurulumunu ifade eder. Bu işlem **installd daemon** tarafından yönetilir ve uygulamaların Apple tarafından verilen bir sertifika ile imzalanması gerekmektedir. Jailbreak yapılmış cihazlar, sahte imzalı IPA paketlerinin kurulumunu mümkün kılan **AppSync** ile bu işlemi atlayabilir.
- **Cydia Impactor**: iOS üzerinde IPA dosyalarını, Android üzerinde APK dosyalarını imzalamak ve kurmak için bir araçtır. Kılavuzlar ve sorun giderme için [yalujailbreak.net](https://yalujailbreak.net/how-to-use-cydia-impactor/) adresine bakabilirsiniz.
- **libimobiledevice**: Linux ve macOS için iOS cihazlarla iletişim kurmak için bir kütüphanedir. Uygulamaları USB üzerinden kurmak için ideviceinstaller için kurulum komutları ve kullanım örnekleri sağlanmaktadır.
- **ios-deploy**: macOS kullanıcıları için, ios-deploy komut satırından iOS uygulamalarını kurar. IPA dosyasını açmak ve doğrudan uygulama başlatmak için `-m` bayrağını kullanmak bu sürecin bir parçasıdır.
- **Xcode**: Uygulamaları kurmak için Xcode'u kullanarak **Window/Devices and Simulators** bölümüne gidin ve uygulamayı**Installed Apps** bölümüne ekleyin.
#### **iPad Olmayan Cihazlara Uygulama Kurulumuna İzin Verme**
iPhone veya iPod touch cihazlara iPad'e özgü uygulamaları kurmak için **Info.plist** dosyasındaki **UIDeviceFamily** değeri **1** olarak değiştirilmelidir. Ancak, imza doğrulama kontrolleri nedeniyle bu değişiklik IPA dosyasının yeniden imzalanmasını gerektirir.
**Not**: Bu yöntem, daha eski bir iPhone veya iPod touch kullanırken uygulamanın daha yeni iPad modellerine özgü yetenekler talep etmesi durumunda başarısız olabilir.
<summary><strong>AWS hackleme konusunda sıfırdan kahramana</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> ile öğrenin!</strong></summary>
* Şirketinizi HackTricks'te **reklam vermek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da takip edin 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live).