> For the complete documentation index, see [llms.txt](https://wiki.securiters.com/securiters-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.securiters.com/securiters-wiki/movil/ios.md).

# iOS

## Sobre iOS

Algunos puntos importantes cuando conectas tu dispositivo al PC:

* Al conectarlo, en el dispositivo te aparecerá un mensaje para confiar en el PC que has conectado, debes seleccionar "Confiar".
* Para instalar aplicaciones que no están en la Apple Store debes aceptar ese "perfil de confianza".&#x20;

  Para ello debes ir a Ajustes > General > VPN y gestión de dispositivos
* El AppID de una aplicación se puede obtener a través de:

\- Objection, con el comando:

```
com.appName on (iPhone) [usb] # env
```

\- SSH. Cuando has accedido y estás en la ruta /var/mobile/Containers/Data/Application/

```
ls -l | grep -i "AppName"
```

* Las aplicaciones se guardan en la ruta:

```
/var/mobile/Containers/Data/Application/AppID/
```

* La base de datos de las aplicaciones se guardan en la ruta:

```
/var/mobile/Containers/Data/Application/AppID/Documents/database.sqlite

```

## Extraer ipa del dispositivo

Acceder a través de SSH al dispositivos

```bash
ssh root@192.168.X.X
  password: alpine
```

Listar las aplicaciones instaladas:

```bash
iphone~root# ipainstaller -l
```

Hacer backup de la aplicación

```bash
iphone~root# ipainstaller -b *com.appName*
```

* El fichero .ipa se guarda en la ruta /private/var/mobile/Documents/com.appName.ipa

Enviar el fichero .ipa a nuestro equipo

```bash
root@kali# scp root@192.168.X.X:/private/var/mobile/Documents/com.appName.ipa
  password: alpine
```

## Instalar ipa en el dispositivo

1. Accedemos vía SSH al dispositivo jailbreakeado (a través de la IP y puerto 22), con credenciales root:alpine
2. Cambiamos la ruta destino a /private/var/mobile/Documents/
3. Copiamos el fichero .ipa a la ruta destino
4. Abrimos una consola con ssh root\@IP, y escribimos

```jsx
shh root@192.168.x.x 
*password alpine*

ipainstaller -F app.ipa
```

## Bypass SSLPinning

* Deshabilitar en una app con [Objection](/securiters-wiki/_tools/apps-moviles/objection.md)

```bash
com.appName on (iPhone) [usb] # ios sslpinning disable
```

* Deshabilitar en una app con [FRIDA](/securiters-wiki/_tools/analisisdinamicoios.md)

```bash
frida -U -f com.appName -l ssl.js --no-pause 
```

U --> Para usar un dispositivo conectado via USB como target

F --> Para indicar el nombre del paquete

L --> Para cargar el script ssl.js => (Descargar el script de codeshare según la versión de iOS)

\--no-pause --> Para forzar que Frida no pare la ejecución de la aplicación tras inyectar el script

{% hint style="info" %}
Recurso: <https://www.appknox.com/blog/bypass-ssl-pinning-in-ios-app>
{% endhint %}

## Configurar Burp Suite en el dispositivo

Conectar el dispositivo a la misma red que el pc:

* Opcion alternativa con dispositivo físico: Activar la "zona con cobertura" (mobile hotspot) en el pc.
* Con el movil jailbrokenWifi > redConectada > configurar proxy > manual > IP del pc + puerto de burp (8082)

1. Abrir el navegador del movil y escribir <http://burp> > instalar Certificado
2. Ajustes > General > Informacion > Ajustes de certificado de confianza > confiar en certificados raiz > activar portSwigger \[Settings > General > About > Certificate Trust Settings.]

## Recursos y enlaces de referencia de iOS

* [iOS Hacking iOS - A Beginner's Guide to Hacking iOS Apps](https://martabyte.github.io/ios/hacking/2022/03/13/ios-hacking-en.html)
* [Extracting the IPA File and Local Data Storage of an iOS Application](https://medium.com/@lucideus/extracting-the-ipa-file-and-local-data-storage-of-an-ios-application-be637745624d)
* [Analyzing the IPA file of an iOS based application](https://medium.com/cybersecurityservices/analyzing-the-ipa-file-of-an-ios-based-application-9c0a1749fe69)
* [iOS Pentesting](https://hacklejandria.com/ios-pentesting-analisis-estatico/)
* Herramientas para SSL Pinning
  * [Kill switch2](https://github.com/nabla-c0d3/ssl-kill-switch2)
  * [Threat crowd](https://www.threatcrowd.org/)
  * [Rrbtex](https://www.robtex.com/)
  * [Threat miner](https://www.threatminer.org/)

## Para practicar hacking en iOS

* [OWASP UnCrackable Mobile Apps](https://github.com/OWASP/owasp-mstg/tree/master/Crackmes#ios)
* [Myriam](https://github.com/GeoSn0w/Myriam)
* [iGoat](https://github.com/owasp/igoat)
* [DamnVulnerableIosApp](https://damnvulnerableiosapp.com/)
