🟠
Mobile Application Penetration Testing
  • Inicio
  • General
    • Metodologías y estándares
    • Recursos de aprendizaje
  • Android
    • Aplicaciones vulnerables
    • Emuladores
    • Root
    • Android Debug Bridge (adb)
    • SSH (Secure SHell)
    • Drozer
    • Obtención de app (APK)
    • Análisis estático
      • AndroidManifest.xml
      • Network security config
      • Directorios y archivos
      • Patrones y palabras claves en el código
      • Reversing
        • Aplicaciones nativas
          • Java / Kotlin
        • Aplicaciones híbridas
          • Flutter
          • React Native
          • Xamarin
        • Código nativo / bibliotecas compartidas
      • Ofuscación / Desofuscación
      • Automatizado
    • Análisis dinámico
      • Activities
      • Broadcast receivers
      • Deep links
      • Content providers
      • Services
      • Anti-root
      • Captura de tráfico de red
        • Burp Suite
        • SSL Pinning
      • Almacenamiento de datos
        • SD card
        • SharedPreferences
        • Bases de datos
      • Logs
      • WebViews
      • Hooking
        • Frida
        • Objection
      • Memory dump
      • Automatizado
    • Firma de app
    • Herramientas
  • iOS
    • Aplicaciones vulnerables
    • Emuladores
    • Jailbreak
    • SSH (Secure SHell)
    • Transferencia de archivos
    • Análisis estático
      • Archivo IPA
      • Info.plist
      • Automatizado
    • Análisis dinámico
      • Anti-jailbreak
      • Biometría
      • Captura de tráfico de red
        • Burp Suite
        • SSL Pinning
      • Almacenamiento de datos
        • Archivos Property List (PList)
        • NSUserDefaults
        • Keychain
        • Cache.db
        • Screenshots
      • Frida
      • Logs
      • Hooking
    • Herramientas
  • Herramientas transversales
    • Frida
    • Frida Gadget
    • Objection
  • Checklist
    • Android application penetration testing
    • iOS application penetration testing
Con tecnología de GitBook
En esta página
  • General
  • App Transport Security (ATS)
  • NSAllowsArbitraryLoads
  • NSExceptionDomains

¿Te fue útil?

  1. iOS
  2. Análisis estático

Info.plist

General

Directorio de almacenamiento.

/private/var/containers/Bundle/Application/<app-ID>/<app-name>.app/Info.plist

Exportar archivo Info.plist desde el dispositivo.

scp <user>@<device-ip-address>:/private/var/containers/Bundle/Application/<app-ID>/<app-name>.app/Info.plist <destination-directory>

Conversión de formato de archivo.

# plistutil (Linux)
plistutil -i Info.plist -o info.xml

# plutil (MacOS / iOS)
plutil -convert xml1 Info.plist && cat Info.plist > info.xml

App Transport Security (ATS)

Mejora la privacidad y la integridad de los datos al garantizar que las conexiones de red de las aplicaciones móviles utilicen únicamente protocolos y cifrados estándar de la industria sin debilidades conocidas. Se encuentra habilitado de forma predeterminada desde iOS 9.0.

Estructura general de configuración de App Transport Security (ATS):

NSAppTransportSecurity : Dictionary {
    NSAllowsArbitraryLoads : Boolean
    NSAllowsArbitraryLoadsForMedia : Boolean
    NSAllowsArbitraryLoadsInWebContent : Boolean
    NSAllowsLocalNetworking : Boolean
    NSExceptionDomains : Dictionary {
        <domain-name-string> : Dictionary {
            NSIncludesSubdomains : Boolean
            NSExceptionAllowsInsecureHTTPLoads : Boolean
            NSExceptionMinimumTLSVersion : String
            NSExceptionRequiresForwardSecrecy : Boolean
            NSRequiresCertificateTransparency : Boolean
        }
    }
}

NSAllowsArbitraryLoads

El tráfico HTTP está bloqueado de forma predeterminada debido a App Transport Security (ATS), pero puede ser habilitado configurando el atributo NSAllowsArbitraryLoads en YES/true en el archivo Info.plist. Por lo cual, su valor debe ser NO/false o no estar definido en el archivo Info.plist.

grep NSAllowsArbitraryLoads -A 1 Info.plist

El siguiente fragmento ejemplifica la desactivación de las restricciones de App Transport Security (ATS) a nivel global en una aplicación móvil.

Info.plist
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

NSExceptionDomains

NSExceptionAllowsInsecureHTTPLoads

Permite tráfico HTTP para un dominio específico, por lo cual, su valor debe ser NO/false o no estar definido en el archivo Info.plist.

grep NSExceptionAllowsInsecureHTTPLoads -A 1 Info.plist
AnteriorArchivo IPASiguienteAutomatizado

Última actualización hace 1 año

¿Te fue útil?