Nous étudions MITRE ATT & CK. Matrices mobiles: accès aux appareils. Partie 5

Découverte et mouvement latéral


Liens vers toutes les parties:

Partie 1. Accès initial à un appareil mobile (accès initial)
Partie 2. Persistance et escalade
Partie 3. Obtention de l'accès aux informations d'identification (accès aux informations d'identification)
Partie 4. Évasion de la défense

Ayant accédé à un appareil mobile, l'adversaire va probablement essayer d'utiliser les moyens habituels du système d'exploitation pour «regarder autour de lui», pour comprendre quel avantage a été obtenu, si cela aide à atteindre l'objectif de l'invasion. Cette étape de l'attaque s'appelle Discovery. Les techniques d'enquête visent à obtenir des informations sur les caractéristiques d'un appareil mobile compromis, ainsi que d'autres systèmes de réseau disponibles.

Après avoir évalué les capacités disponibles dans l'environnement attaqué, l'adversaire tentera d'accéder aux systèmes distants et, éventuellement, de les contrôler, tentera de lancer des outils malveillants sur les systèmes distants. L'activité décrite est appelée mouvement latéral. Les méthodes de déplacement latéral comprennent également des moyens de collecter des informations à partir de systèmes distants sans utiliser d'outils supplémentaires, tels que les utilitaires RAT (outils d'accès à distance).

L'auteur n'est pas responsable des conséquences possibles de l'application des informations énoncées dans l'article, et s'excuse également pour d'éventuelles inexactitudes faites dans certaines formulations et termes. Les informations publiées sont une nouvelle version gratuite du contenu de ATT @ CK Mobile Matrices: Device Access .

Présentation (découverte)


Présentation de l'application (découverte d'application)


Plateforme: Android, iOS
Description: afin d'identifier les outils de sécurité du système attaqué, un attaquant peut tenter d'identifier les applications installées sur l'appareil qui peuvent augmenter le risque de détection d'activités malveillantes ou vice versa, afin d'identifier les applications qui seront ciblées par une nouvelle attaque.

Dans Android, les applications peuvent utiliser la méthode de classe PackageManager pour répertorier d'autres applications ou d'autres objets avec un accès en ligne de commande pour utiliser la commande pm . Dans iOS, les applications peuvent utiliser des appels d'API privés pour obtenir une liste des applications installées sur l'appareil. Cependant, une application utilisant des appels d'API privés ne sera probablement pas acceptée dans l'AppStore.

Recommandations de protection: les méthodes de vérification des applications doivent inclure des moyens pour identifier les applications qui utilisent la classe PackageManager pour répertorier d'autres applications, mais cette approche peut ne pas être pratique car de nombreuses applications appellent les méthodes de la classe PackageManager dans le cadre de leur travail normal. Dans iOS, les outils de vérification des applications peuvent également rechercher des appels d'API privés.

Découverte du type de périphérique


Plateforme: Android
Description: dans Android, les informations sur le type d'appareil sont disponibles via la classe android.os.Build . Les informations sur le périphérique peuvent être utilisées pour exploiter davantage les exploits ciblés qui améliorent les privilèges.

Recommandations de protection: lors de la vérification préliminaire, les applications qui utilisent la classe android.os.Build peuvent être détectées.Cependant, cette mesure n'est pas efficace, car de nombreuses applications utilisent cette fonctionnalité dans le cadre d'un travail normal.

Découverte de fichiers et de répertoires


Plateforme: Android
Description: pour répertorier le contenu du système de fichiers dans Android, vous pouvez utiliser les outils de ligne de commande ou l'API Java pour travailler avec des fichiers. Cependant, sous Linux et SELinux, l'accès des applications aux fichiers est généralement très limité (sauf si vous utilisez un exploit pour élever les privilèges). En règle générale, les applications peuvent accéder au contenu du stockage externe, donc le stockage inapproprié de données confidentielles devrait être une préoccupation. L'architecture de sécurité iOS limite généralement la capacité de détecter des fichiers et des répertoires sans avoir de privilèges étendus.

Recommandations de protection: La possibilité d'une élévation de privilèges est compliquée avec chaque nouvelle version d'Android et iOS. Dans les versions récentes d'Android, le bac à sable a été renforcé, limitant la capacité des applications à répertorier le contenu du système de fichiers.

Analyse des services réseau


Plateforme: Android, iOS
Description: à l' aide de scanners de ports et de vulnérabilités, les attaquants peuvent essayer d'obtenir une liste des services exécutés sur des appareils distants, y compris ceux qui présentent des vulnérabilités d'exploitation à distance. La présence d'un appareil mobile se connectant au réseau interne de l'entreprise via une connexion locale ou VPN peut être perçue par l'adversaire comme un avantage potentiel.

Présentation du processus (découverte du processus)


Plateforme: Android
Description: dans Android jusqu'à la version 5, les applications peuvent recevoir des informations sur d'autres processus exécutés via les méthodes de la classe ActivityManager . Sur Android plus ancien que la version 7, les applications peuvent obtenir ces informations en exécutant la commande ps ou en «examinant» le répertoire / proc . À partir d'Android 7, l'utilisation de la fonction hidepid du noyau Linux empêche les applications sans privilèges élevés de recevoir des informations sur d'autres processus.

Recommandations de protection: Utilisation d'Android OS version 7 et supérieure.

Découverte des informations système


Plateforme: Android, iOS
Description: un attaquant pourrait tenter d'obtenir des informations détaillées sur le système d'exploitation et le matériel, notamment la version, les correctifs installés et l'architecture. Sur Android, la plupart des informations système sont disponibles via la classe android.os.Build . Sur iOS, il existe également des méthodes permettant aux applications d'accéder aux informations système.

Découverte de la configuration réseau du système


Plateforme: Android
Description: dans Android, les détails de configuration de l'interface réseau intégrée sont disponibles pour les applications via la classe java.net.NetworkInteface . La classe TelephonyManager peut être utilisée pour collecter des informations telles que IMSI, IMEI et le numéro de téléphone.

Recommandations de protection: Une analyse préliminaire de l'application doit inclure la vérification si l' application demande des autorisations ACCESS_NETWORK_STATE (requises pour accéder aux informations NetworkInterface ) ou READ_PHONE_STATE (requises pour accéder aux informations TelephonyManager ). À partir d'Android 6.0, les applications ne peuvent pas accéder aux adresses MAC des interfaces réseau.

Présentation des connexions réseau (découverte des connexions réseau système)


Plateforme: Android
Description: les applications peuvent utiliser des API standard pour collecter des données sur les connexions réseau sortantes et entrantes. Par exemple, l'application NetworkConnections disponible sur PlayMarket fournit cette fonctionnalité.

Mouvement latéral


Attaquer un PC via une connexion USB


Plateforme: Android
Description: Afin de mener des attaques sur le PC connecté à l'appareil mobile, l'ennemi (ayant des privilèges élevés) peut apporter des modifications au système d'exploitation, après quoi l'appareil mobile usurpera l'identité d'un périphérique USB: clavier, souris, périphérique de stockage d'informations ou périphérique réseau. Cette méthode a été démontrée sur Android. La possibilité de mettre en œuvre cette technique sur iOS n'est pas connue.

Recommandations de protection: Il est recommandé aux utilisateurs de connecter des appareils mobiles à un PC uniquement s'il y a un besoin raisonnable (par exemple, si cela est nécessaire pour développer et déboguer des applications mobiles).

Exploiter les ressources d'entreprise


Plateforme: Android, iOS
Description: un adversaire peut essayer d'utiliser des serveurs d'entreprise, des postes de travail ou d'autres ressources disponibles sur le réseau. Cette méthode est utilisée lors de la connexion d'un appareil mobile à un réseau d'entreprise via une connexion locale ou VPN.

Source: https://habr.com/ru/post/fr457092/


All Articles