<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Per identificare in modo univoco un dispositivo iOS, viene utilizzata una sequenza di 40 cifre nota come UDID. Su macOS Catalina o versioni successive, è possibile trovarlo nell'app **Finder**, poiché iTunes non è più presente. Il dispositivo, una volta connesso tramite USB e selezionato in Finder, rivela il suo UDID insieme ad altre informazioni quando si fa clic sui dettagli sotto il suo nome.
Per le versioni di macOS precedenti a Catalina, iTunes facilita la scoperta dell'UDID. Le istruzioni dettagliate possono essere trovate [qui](http://www.iclarified.com/52179/how-to-find-your-iphones-udid).
L'accesso **SSH** è abilitato installando il pacchetto **OpenSSH** dopo il jailbreak, consentendo connessioni tramite `ssh root@<indirizzo_ip_dispositivo>`. È fondamentale cambiare le password predefinite (`alpine`) per gli utenti `root` e `mobile` per proteggere il dispositivo.
L'accesso **SSH tramite USB** diventa necessario in assenza di Wi-Fi, utilizzando `iproxy` per mappare le porte del dispositivo per le connessioni SSH. Questa configurazione consente l'accesso SSH tramite USB eseguendo:
**Applicazioni shell su dispositivo**, come NewTerm 2, facilitano l'interazione diretta con il dispositivo, particolarmente utile per la risoluzione dei problemi. Le **shell SSH inverse** possono anche essere stabilite per l'accesso remoto dal computer host.
Per reimpostare una password dimenticata al valore predefinito (`alpine`), è necessario modificare il file `/private/etc/master.passwd`. Ciò comporta la sostituzione dell'hash esistente con l'hash per `alpine` accanto alle voci degli utenti `root` e `mobile`.
**Archiviazione e recupero tramite SSH e SCP:** È semplice archiviare la directory dei dati dell'applicazione utilizzando `tar` e quindi trasferirla utilizzando `scp`. Il comando di seguito archivia la directory dei dati in un file .tgz, che viene quindi estratto dal dispositivo:
**Utilizzo di iFunbox e iExplorer:** Questi strumenti GUI sono utili per gestire i file sui dispositivi iOS. Tuttavia, a partire da iOS 8.4, Apple ha limitato l'accesso di questi strumenti alla sandbox dell'applicazione a meno che il dispositivo non sia jailbroken.
**Shell interattiva con Objection:** Avviare Objection fornisce accesso alla directory Bundle di un'app. Da qui, è possibile navigare fino alla directory Documenti dell'app e gestire i file, inclusi il download e l'upload da e verso il dispositivo iOS.
**Link di distribuzione Over-The-Air (OTA):** Le app distribuite per il testing tramite OTA possono essere scaricate utilizzando lo strumento di download degli asset di servizi ITMS, che viene installato tramite npm e utilizzato per salvare il file IPA in locale.
**Panoramica della decriptazione manuale:** I file binari delle app iOS sono criptati da Apple utilizzando FairPlay. Per effettuare l'ingegneria inversa, è necessario estrarre il file binario decriptato dalla memoria. Il processo di decriptazione prevede il controllo del flag PIE, l'aggiustamento dei flag di memoria, l'identificazione della sezione criptata e quindi l'estrazione e la sostituzione di questa sezione con la sua forma decriptata.
Determina gli indirizzi di inizio e fine della sezione crittografata utilizzando `otool` e esegui il dumping della memoria dal dispositivo jailbroken utilizzando gdb.
**Finalizzazione della decrittazione:** Modifica i metadati del binario per indicare l'assenza di crittografia utilizzando strumenti come **MachOView**, impostando `cryptid` a 0.
Lo strumento [**frida-ios-dump**](https://github.com/AloneMonkey/frida-ios-dump) viene utilizzato per **decrittare ed estrarre automaticamente le app** dai dispositivi iOS. Inizialmente, è necessario configurare `dump.py` per connettersi al dispositivo iOS, che può essere fatto tramite localhost sulla porta 2222 tramite **iproxy** o direttamente tramite l'indirizzo IP e la porta del dispositivo.
Questo comando avvia il dump dell'app, risultando nella creazione di un file `Telegram.ipa` nella directory corrente. Questo processo è adatto per dispositivi jailbroken, poiché le app non firmate o falsamente firmate possono essere reinstallate utilizzando strumenti come [**ios-deploy**](https://github.com/ios-control/ios-deploy).
Lo strumento [**flexdecrypt**](https://github.com/JohnCoates/flexdecrypt), insieme al suo wrapper [**flexdump**](https://gist.github.com/defparam/71d67ee738341559c35c684d659d40ac), consente l'estrazione di file IPA dalle applicazioni installate. I comandi di installazione per **flexdecrypt** sul dispositivo includono il download e l'installazione del pacchetto `.deb`. **flexdump** può essere utilizzato per elencare e dumpare le app, come mostrato nei comandi seguenti:
**r2flutch**, utilizzando sia radare che frida, serve per la decrittazione e il dumping delle app. Ulteriori informazioni possono essere trovate sulla sua [**pagina GitHub**](https://github.com/as0ler/r2flutch).
**Sideloading** si riferisce all'installazione di applicazioni al di fuori dell'App Store ufficiale. Questo processo è gestito dal **daemon installd** e richiede che le app siano firmate con un certificato rilasciato da Apple. I dispositivi jailbroken possono aggirare questo processo tramite **AppSync**, consentendo l'installazione di pacchetti IPA falsamente firmati.
- **Cydia Impactor**: Uno strumento per firmare e installare file IPA su iOS e file APK su Android. Guide e risoluzione dei problemi possono essere trovate su [yalujailbreak.net](https://yalujailbreak.net/how-to-use-cydia-impactor/).
- **libimobiledevice**: Una libreria per Linux e macOS per comunicare con i dispositivi iOS. Sono forniti comandi di installazione ed esempi di utilizzo per ideviceinstaller per l'installazione di app tramite USB.
- **ios-deploy**: Per gli utenti macOS, ios-deploy installa app iOS dalla riga di comando. Scompattare l'IPA e utilizzare l'opzione `-m` per avviare direttamente l'app fanno parte del processo.
#### **Consentire l'Installazione dell'App su Dispositivi Non-iPad**
Per installare applicazioni specifiche per iPad su dispositivi iPhone o iPod touch, il valore **UIDeviceFamily** nel file **Info.plist** deve essere modificato in **1**. Questa modifica, tuttavia, richiede la firma nuovamente del file IPA a causa dei controlli di convalida della firma.
**Nota**: Questo metodo potrebbe non funzionare se l'app richiede funzionalità esclusive dei modelli di iPad più recenti mentre si utilizza un iPhone o iPod touch più vecchio.
<summary><strong>Impara l'hacking di AWS da zero a esperto con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.