我们研究MITRE ATT&CK。 移动矩阵:设备访问权限。 第5部分

发现与横向运动


链接到所有部分:

第1部分。对移动设备的初始访问(初始访问)
第2部分。持久性和升级
第3部分。获取凭据访问(凭据访问)
第4部分。

攻击者获得了移动设备的访问权限后,可能会尝试使用操作系统的常规方式“环顾四周”,以了解获得了哪些优势,无论这是否有助于实现入侵目标。 攻击的这一阶段称为发现。 调查技术旨在获取有关受损移动设备以及其他可用网络系统的特征的信息。

评估了受攻击环境中可用的功能之后,对手将尝试获得对远程系统的访问,并可能控制它们,并尝试在远程系统上启动恶意工具。 所描述的活动称为横向运动。 横向移动方法还包括无需使用其他工具(例如RAT(远程访问工具)实用程序)即可从远程系统收集信息的方法。

对于使用本文中包含的信息可能造成的后果,作者概不负责,对于某些表述和术语可能存在的不正确,我们深表歉意。 发布的信息是ATT @ CK移动矩阵:设备访问内容的免费重述。

概述(发现)


应用程序概述(应用程序发现)


平台: Android,iOS
描述:为了识别受攻击系统中的安全工具,攻击者可能试图识别安装在设备上的应用程序,这些应用程序可能增加检测恶意活动的风险,反之亦然,从而识别出将受到进一步攻击的目标应用程序。

在Android中,应用程序可以使用PackageManager方法列出其他应用程序或具有命令行访问权限的其他对象,以使用pm命令。 在iOS中,应用程序可以使用私有API调用来获取设备上已安装的应用程序的列表。 但是,使用私有API调用的应用程序可能不会在AppStore中被接受。

保护建议:应用程序验证方法应包括用于识别使用PackageManager类列出其他应用程序的应用程序的方法,但是这种方法可能不切实际,因为 许多应用程序将PackageManager类的方法作为其常规工作的一部分。 在iOS中,应用程序验证工具同样可以查找私有API调用。

设备类型发现


平台: Android
说明:在Android中,可通过android.os.Build类获得设备类型信息。 设备信息可用于进一步利用有针对性的漏洞利用来增强特权。

保护建议:在初步检查期间,可能会检测到使用android.os.Build类的应用程序,但是此措施无效,因为许多应用程序在日常工作中都会使用此功能。

文件和目录发现


平台: Android
说明:要列出Android中文件系统的内容,可以使用命令行工具或Java API来处理文件。 但是,在Linux和SELinux上,应用程序对文件的访问通常非常有限(除非您使用漏洞利用来提升特权)。 通常,应用程序可以访问外部存储的内容,因此不适当地存储机密数据应该引起关注。 iOS安全体系结构通常会限制在没有扩展特权的情况下检测文件和目录的能力。

保护建议:每个新版本的Android和iOS,特权升级可能性都很复杂。 在最新版本的Android中,沙盒得到了增强,从而限制了应用程序列出文件系统内容的能力。

网络服务扫描


平台: Android,iOS
描述:使用端口和漏洞扫描程序,攻击者可以尝试获取在远程设备上运行的服务列表,包括具有远程利用漏洞的设备。 攻击者可以将通过本地或VPN连接连接到企业内部网络的移动设备的存在视为潜在优势。

流程概述(流程发现)


平台: Android
描述:在Android最高版本5中,应用程序可以接收有关通过ActivityManager类的方法执行的其他进程的信息。 在低于版本7的Android上,应用程序可以通过运行ps命令或“检查” / proc目录来获取此信息。 从Android 7开始,使用Linux内核hidepid函数可防止没有提升特权的应用程序接收有关其他进程的信息。

保护建议:使用Android OS 7及更高版本。

系统信息发现


平台: Android,iOS
描述:攻击者可能试图获取有关操作系统和硬件的详细信息,包括版本,已安装的修补程序和体系结构。 在Android上,大多数系统信息可通过android.os.Build类获得。 在iOS上,还有一些方法可以使应用程序访问系统信息。

系统网络配置发现


平台: Android
说明:在Android中,可通过java.net.NetworkInteface类为应用程序提供嵌入式网络接口配置详细信息。 TelephonyManager类可用于收集诸如IMSI,IMEI和电话号码之类的信息。

保护建议:对应用程序的初步分析应包括检查应用程序是请求ACCESS_NETWORK_STATE权限(访问NetworkInterface信息)还是READ_PHONE_STATE (访问TelephonyManager信息)。 从Android 6.0开始,应用程序无法访问网络接口的MAC地址。

网络连接概述(系统网络连接发现)


平台: Android
说明:应用程序可以使用标准API来收集有关传出和传入网络连接的数据。 例如,PlayMarket上可用的NetworkConnections应用程序提供了此功能。

横向运动


通过USB连接攻击PC


平台: Android
说明:为了对连接到移动设备的PC进行攻击,敌人(具有较高特权)可能会更改操作系统,然后移动设备将模拟USB设备:键盘,鼠标,信息存储设备或网络设备。 此方法已在Android上进行了演示。 在iOS上实现此技术的可能性尚不清楚。

保护建议仅在合理需要时(例如,在开发和调试移动应用程序时有此必要),建议用户将移动设备连接到PC。

开发企业资源


平台: Android,iOS
描述:对手可能尝试使用公司服务器,工作站或网络上可用的其他资源。 通过本地或VPN连接将移动设备连接到公司网络时使用此方法。

Source: https://habr.com/ru/post/zh-CN457092/


All Articles