当前位置: 首页 > news >正文

普洱市住房和城乡建设局信息公开网站广西住房与城乡建设部网站

普洱市住房和城乡建设局信息公开网站,广西住房与城乡建设部网站,长链接怎么弄成短链接,龙岗区最新通告看到群里发了两篇文章#xff0c;出于好奇#xff0c;想看看这些个 App 在利用系统漏洞获取系统权限之后#xff0c;都干了什么事#xff0c;于是就有了这篇文章。由于准备仓促#xff0c;有些 Code 没有仔细看#xff0c;感兴趣的同学可以自己去研究研究#xff0c;多多…看到群里发了两篇文章出于好奇想看看这些个 App 在利用系统漏洞获取系统权限之后都干了什么事于是就有了这篇文章。由于准备仓促有些 Code 没有仔细看感兴趣的同学可以自己去研究研究多多讨论深蓝洞察2022 年度最 “不可赦” 漏洞XXX apk 内嵌提权代码及动态下发 dex 分析https://github.com/davinci1010/pinduoduo_backdoor关于这个 App 是如何获取这个系统权限的「 深蓝洞察 」2022 年度最 “不可赦” 漏洞 这篇文章讲的很清楚就不再赘述了Android Framework 中一个核心的对象传递机制是 Parcel 希望被通过 Parcel 传递的对象需要定义 readFromParcel 和 writeToParcel 接口函数并实现 Parcelable 接口。 理论上来讲匹配序列化和反序列化函数应当是自反等效的但系统 ROM 的开发者在编程过程中可能会出现不匹配的情况例如写入的时候使用了 writeLong 读取的时候却使用了 readInt。 这类问题在运行过程中一般不会引起注意也不会导致崩溃或错误但在攻击者精心布局下却可最终利用 Settings 和 system_server 进程将这个微小的错误转化为 StartAnyWhere 提权。 Android 近年来累计已修复上百个这类漏洞并在 Android 13 中对 Parcel 机制做了改革彻底杜绝了大部分此类攻击面。但对于鸿蒙和绝大部分未升级到 Android 13 的设备和用户来说他们仍处于危险之中。我们这篇主要来看看XXX apk 内嵌提权代码及动态下发 dex 分析 这个库里面提供的 Dex 看看 App 到底想知道用户的什么信息总的来说App 获取系统权限之后主要做了下面几件事正常 App 无法或者很难做到的事情各种不把用户当人了自启动、关联启动相关的修改偷偷打开或者默认打开开启通知权限监听通知内容获取用户的使用手机的信息包括安装的 App、使用时长、用户 ID、用户名等修改系统设置整一些系统权限的工具方便自己使用另外也可以看到App 对于各个手机厂商的研究还是比较深入的针对华为、Oppo、Vivo、Xiaomi 等厂商都有专门的处理这个也是值得手机厂商去反向研究的0. Dex 文件信息XXX apk 内嵌提权代码及动态下发 dex 分析 这个库提供的的 Dex 文件总共有 37 个不多也不大慢慢看由于是 dex 文件所以直接使用 https://github.com/tp7309/TTDeDroid 这个库的工具打开看即可比如showjar 95cd95ab4d694ad8bdf49f07e3599fb3.dex默认是用 jadx 打开我们重点看内容打开后可以看到具体的功能逻辑可以看到一个 dex 一般只干一件事那我们重点看这件事的核心实现部分即可1. 通知监听和通知权限相关1.1 获取 Xiaomi 手机通知内容文件 95cd95ab4d694ad8bdf49f07e3599fb3.dex功能 获取用户的 Active 通知类名 com.google.android.sd.biz_dynamic_dex.xm_ntf_info.XMGetNtfInfoExecutor1. 反射拿到 ServiceManager 一般我们会通过 ServiceManager 的 getService 方法获取系统的 Service然后进行远程调用2. 通过 NotificationManagerService 获取通知的详细内容 通过 getService 传入 NotificationManagerService 获取 NotificationManager 之后就可以调用 getActiveNotifications 这个方法了然后具体拿到 Notification 的下面几个字段通知的 Title发生通知的 App 的包名通知发送时间keychannelID the id of the channel this notification posts to.可能有人不知道这玩意是啥下面这个图里面就是一个典型的通知其代码如下可以看到 getActiveNotifications 这个方法是 System-only 的普通的 App 是不能随便读取 Notification 的但是这个 App 由于有权限就可以获取当然微信的防撤回插件使用的一般是另外一种方法比如辅助服务这玩意是合规的但是还是推荐大家能不用就不用它能帮你防撤回他就能获取通知的内容包括你知道的和不知道的1.2. 打开 Xiaomi 手机上的通知权限Push文件 0fc0e98ac2e54bc29401efaddfc8ad7f.dex功能 可能有的时候小米用户会把 App 的通知给关掉App 想知道这个用户是不是把通知关了如果关了就偷偷打开类名 com.google.android.sd.biz_dynamic_dex.xm_permission.XMPermissionExecutor这么看来这个应该还是蛮实用的你个调皮的用户我发通知都是为了你好你怎么忍心把我关掉呢让我帮你偷偷打开吧App 调用 NotificationManagerService 的 setNotificationsEnabledForPackage 来设置通知可以强制打开通知 frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java然后查看 NotificationManagerService 的 setNotificationsEnabledForPackage 这个方法就是查看用户是不是打开成功了 frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java还有针对 leb 的单独处理~ 细 1.3. 打开 Vivo 机器上的通知权限Push文件 2eb20dc580aaa5186ee4a4ceb2374669.dex功能 Vivo 用户会把 App 的通知给关掉这样在 Vivo 手机上 App 就收不到通知了那不行得偷偷打开类名 com.google.android.sd.biz_dynamic_dex.vivo_open_push.VivoOpenPushExecutor核心和上面那个是一样的只不过这个是专门针对 vivo 手机的1.4 打开 Oppo 手机的通知权限文件 67c9e686004f45158e94002e8e781192.dex类名 com.google.android.sd.biz_dynamic_dex.oppo_notification_ut.OppoNotificationUTExecutor没有反编译出来看大概的逻辑应该是打开 App 在 oppo 手机上的通知权限1.5 Notification 监听文件 ab8ed4c3482c42a1b8baef558ee79deb.dex类名 com.google.android.sd.biz_dynamic_dex.ud_notification_listener.UdNotificationListenerExecutor这个就有点厉害了在监听 App 的 Notification 的发送然后进行统计监听的核心代码这个咱也不是很懂是时候跟做了多年 SystemUI 和 Launcher 的老婆求助了....史工1.6 App Notification 监听文件 4f260398-e9d1-4390-bbb9-eeb49c07bf3c.dex类名 com.google.android.sd.biz_dynamic_dex.notification_listener.NotificationListenerExecutor上面那个是 UdNotificationListenerExecutor 这个是 NotificationListenerExecutorUD 是啥这个反射调用的 setNotificationListenerAccessGranted 是个 SystemAPI获得通知的使用权果然有权限就可以为所欲为1.7 打开华为手机的通知监听权限文件 a3937709-b9cc-48fd-8918-163c9cb7c2df.dex类名 com.google.android.sd.biz_dynamic_dex.hw_notification_listener.HWNotificationListenerExecutor华为也无法幸免哈哈哈1.8 打开华为手机通知权限文件 257682c986ab449ab9e7c8ae7682fa61.dex类名 com.google.android.sd.biz_dynamic_dex.hw_permission.HwPermissionExecutor2. Backup 状态2.1. 鸿蒙 OS 上 App Backup 状态相关保活用文件 6932a923-9f13-4624-bfea-1249ddfd5505.dex功能 Backup 相关这个看了半天应该是专门针对华为手机的收到 IBackupSessionCallback 回调后执行 PackageManagerEx.startBackupSession 方法查了下这个方法的作用启动备份或恢复会话2.2. Vivo 手机 Backup 状态相关文件 8c34f5dc-f04c-40ba-98d4-7aa7c364b65c.dex功能 Backup 相关3. 文件相关3.1 获取华为手机 SLog 和 SharedPreferences 内容文件 da03be2689cc463f901806b5b417c9f5.dex类名 com.google.android.sd.biz_dynamic_dex.hw_get_input.HwGetInputExecutor拿这个干嘛呢拿去做数据分析获取 SharedPreferences获取 slog4. 用户数据4.1 获取用户使用手机的数据文件 35604479f8854b5d90bc800e912034fc.dex功能 看名字就知道是获取用户的使用手机的数据类名 com.google.android.sd.biz_dynamic_dex.usage_event_all.UsageEventAllExecutor看核心逻辑是同 usagestates 服务来获取用户使用手机的数据难怪我手机安装了什么 App、用了多久这些其他 App 了如指掌那么他可以拿到哪些数据呢应有尽有~包括但不限于 App 启动、退出、挂起、Service 变化、Configuration 变化、亮灭屏、开关机等感兴趣的可以看一下frameworks/base/core/java/android/app/usage/UsageEvents.javaprivate static String eventToString(int eventType) {switch (eventType) {case Event.NONE:return NONE;case Event.ACTIVITY_PAUSED:return ACTIVITY_PAUSED;case Event.ACTIVITY_RESUMED:return ACTIVITY_RESUMED;case Event.FOREGROUND_SERVICE_START:return FOREGROUND_SERVICE_START;case Event.FOREGROUND_SERVICE_STOP:return FOREGROUND_SERVICE_STOP;case Event.ACTIVITY_STOPPED:return ACTIVITY_STOPPED;case Event.END_OF_DAY:return END_OF_DAY;case Event.ROLLOVER_FOREGROUND_SERVICE:return ROLLOVER_FOREGROUND_SERVICE;case Event.CONTINUE_PREVIOUS_DAY:return CONTINUE_PREVIOUS_DAY;case Event.CONTINUING_FOREGROUND_SERVICE:return CONTINUING_FOREGROUND_SERVICE;case Event.CONFIGURATION_CHANGE:return CONFIGURATION_CHANGE;case Event.SYSTEM_INTERACTION:return SYSTEM_INTERACTION;case Event.USER_INTERACTION:return USER_INTERACTION;case Event.SHORTCUT_INVOCATION:return SHORTCUT_INVOCATION;case Event.CHOOSER_ACTION:return CHOOSER_ACTION;case Event.NOTIFICATION_SEEN:return NOTIFICATION_SEEN;case Event.STANDBY_BUCKET_CHANGED:return STANDBY_BUCKET_CHANGED;case Event.NOTIFICATION_INTERRUPTION:return NOTIFICATION_INTERRUPTION;case Event.SLICE_PINNED:return SLICE_PINNED;case Event.SLICE_PINNED_PRIV:return SLICE_PINNED_PRIV;case Event.SCREEN_INTERACTIVE:return SCREEN_INTERACTIVE;case Event.SCREEN_NON_INTERACTIVE:return SCREEN_NON_INTERACTIVE;case Event.KEYGUARD_SHOWN:return KEYGUARD_SHOWN;case Event.KEYGUARD_HIDDEN:return KEYGUARD_HIDDEN;case Event.DEVICE_SHUTDOWN:return DEVICE_SHUTDOWN;case Event.DEVICE_STARTUP:return DEVICE_STARTUP;case Event.USER_UNLOCKED:return USER_UNLOCKED;case Event.USER_STOPPED:return USER_STOPPED;case Event.LOCUS_ID_SET:return LOCUS_ID_SET;case Event.APP_COMPONENT_USED:return APP_COMPONENT_USED;default:return UNKNOWN_TYPE_  eventType;}}4.2 获取用户使用数据文件b50477f70bd14479a50e6fa34e18b2a0.dex类名com.google.android.sd.biz_dynamic_dex.usage_event.UsageEventExecutor上面那个是 UsageEventAllExecutor这个是 UsageEventExecutor主要拿用户使用 App 相关的数据比如什么时候打开某个 App、什么时候关闭某个 App6 得很真毒瘤4.3 获取用户使用数据文件1a68d982e02fc22b464693a06f528fac.dex类名com.google.android.sd.biz_dynamic_dex.app_usage_observer.AppUsageObserver看样子是注册了 App Usage 的权限具体 Code 没有出来不好分析5. Widget 和 icon 相关5.1. Vivo 手机添加 Widget文件f9b6b139-4516-4ac2-896d-8bc3eb1f2d03.dex类名com.google.android.sd.biz_dynamic_dex.vivo_widget.VivoAddWidgetExecutor这个比较好理解在 Vivo 手机上加个 Widget5.2 获取 icon 相关的信息文件da60112a4b2848adba2ac11f412cccc7.dex类名com.google.android.sd.biz_dynamic_dex.get_icon_info.GetIconInfoExecutor这个好理解获取 icon 相关的信息比如在 Launcher 的哪一行哪一列是否在文件夹里面。问题是获取这玩意干嘛迷5.3 Oppo 手机添加 Widget文件75dcc8ea-d0f9-4222-b8dd-2a83444f9cd6.dex类名com.google.android.sd.biz_dynamic_dex.oppoaddwidget.OppoAddWidgetExecutor5.4 Xiaomi 手机更新图标文件5d372522-b6a4-4c1b-a0b4-8114d342e6c0.dex类名com.google.android.sd.biz_dynamic_dex.xm_akasha.XmAkashaExecutor小米手机上的桌面 icon 、shorcut 相关的操作小米的同学来认领6. 自启动、关联启动、保活相关6.1 打开 Oppo 手机自启动文件e723d560-c2ee-461e-b2a1-96f85b614f2b.dex类名com.google.android.sd.biz_dynamic_dex.oppo_boot_perm.OppoBootPermExecutor看下面这一堆就知道是和自启动相关的看来自启动权限是每个 App 都蛋疼的东西啊6.2 打开 Vivo 关联启动权限文件8b56d820-cac2-4ca0-8a3a-1083c5cca7ae.dex类名com.google.android.sd.biz_dynamic_dex.vivo_association_start.VivoAssociationStartExecutor看名字就是和关联启动相关的权限vivo 的同学来领了直接写了个节点进去6.3 关闭华为耗电精灵文件7c6e6702-e461-4315-8631-eee246aeba95.dex类名com.google.android.sd.biz_dynamic_dex.hw_hide_power_window.HidePowerWindowExecutor看名字和实现应该是和华为的耗电精灵有关系华为的同学可以来看看6.4 Vivo 机型保活相关文件7877ec6850344e7aad5fdd57f6abf238.dex类名com.google.android.sd.biz_dynamic_dex.vivo_get_loc.VivoGetLocExecutor猜测和保活相关Vivo 的同学可以来认领一下7. 安装卸载相关7.1 Vivo 手机回滚卸载文件d643e0f9a68342bc8403a69e7ee877a7.dex类名com.google.android.sd.biz_dynamic_dex.vivo_rollback_uninstall.VivoRollbackUninstallExecutor这个看上去像是用户卸载 App 之后回滚到预置的版本,好吧这个是常规操作7.2 Vivo 手机 App 卸载文件be7a2b643d7e8543f49994ffeb0ee0b6.dex类名com.google.android.sd.biz_dynamic_dex.vivo_official_uninstall.OfficialUntiUninstallV3看名字和实现也是和卸载回滚相关的7.3 Vivo 手机 App 卸载相关文件183bb87aa7d744a195741ce524577dd0.dex类名com.google.android.sd.biz_dynamic_dex.vivo_official_uninstall.VivoOfficialUninstallExecutor同上其他SyncExecutor文件f4247da0-6274-44eb-859a-b4c35ec0dd71.dex类名com.google.android.sd.biz_dynamic_dex.sync.SyncExecutor没看懂是干嘛的核心应该是 Utils.updateSid 但是没看到实现的地方UdParseNotifyMessageExecutor文件f35735a5cbf445c785237797138d246a.dex类名com.google.android.sd.biz_dynamic_dex.ud_parse_nmessage.UdParseNotifyMessageExecutor看名字应该是解析从远端传来的 Notify Message具体功能未知6.3 TDLogcatExecutor文件8aeb045fad9343acbbd1a26998b6485a.dex2aa151e2cfa04acb8fb96e523807ca6b.dex类名com.google.android.sd.biz_dynamic_dex.td.logcat.TDLogcatExecutorcom.google.android.sd.biz_dynamic_dex.td.logcat.TDLogcatExecutor没太看懂这个是干嘛的像是保活又不像后面有时间了再慢慢分析6.4 QueryLBSInfoExecutor文件74168acd-14b4-4ff8-842e-f92b794d7abf.dex类名com.google.android.sd.biz_dynamic_dex.query_lbs_info.QueryLBSInfoExecutor获取 LBS Info6.5 WriteSettingsExecutor文件6afc90e406bf46e4a29956aabcdfe004.dex类名com.google.android.sd.biz_dynamic_dex.write_settings.WriteSettingsExecutor看名字应该是个工具类写 Settings 字段的至于些什么应该是动态下发的6.6 OppoSettingExecutor文件61517b68-7c09-4021-9aaa-cdebeb9549f2.dex类名com.google.android.sd.biz_dynamic_dex.opposettingproxy.OppoSettingExecutorSetting 代理没看懂干嘛的Oppo 的同学来认领难道是另外一种形式的保活6.7 CheckAsterExecutor文件561341f5f7976e13efce7491887f1306.dex类名com.google.android.sd.biz_dynamic_dex.check_aster.CheckAsterExecutorCheck aster 不是很懂6.8 OppoCommunityIdExecutor文件538278f3-9f68-4fce-be10-12635b9640b2.dex类名com.google.android.sd.biz_dynamic_dex.oppo_community_id.OppoCommunityIdExecutor获取 Oppo 用户的 ID要这玩意干么6.9 GetSettingsUsernameExecutor文件4569a29c-b5a8-4dcf-a3a6-0a2f0bfdd493.dex类名com.google.android.sd.biz_dynamic_dex.oppo_get_settings_username.GetSettingsUsernameExecutor获取 Oppo 手机用户的 username话说你要这个啥用咧6.10 LogcatExecutor文件218a37ea-710d-49cb-b872-2a47a1115c69.dex类名com.google.android.sd.biz_dynamic_dex.logcat.LogcatExecutor配置 Log 的参数6.11 VivoBrowserSettingsExecutor文件136d4651-df47-41b4-bb80-2ec0ab1bc775.dex类名com.google.android.sd.biz_dynamic_dex.vivo_browser_settings.VivoBrowserSettingsExecutorVivo 浏览器相关的设置不太懂要干嘛
http://www.hkea.cn/news/14474808/

相关文章:

  • 怎么用eclipse做网站开发免费ppt素材库大全app
  • 沈阳创新网站建设报价怎么做网站缩略图
  • 小说网站怎么建设百度关键词优化推广
  • 我想开个网站网站手机版如何制作
  • 企业网站官网建设企业做网站要注意些什么
  • 中国纪检监察报投稿seo数据优化
  • 上海婚恋网站排名佛山app开发公司排名
  • 目前做win7系统最好的网站wordpress用户自动禁止登录
  • 清洁海绵的网站怎么做网站维护主要内容
  • 四川省城乡和住房建设厅网站首页建立什么船籍港
  • 民宿网站建设方案wordpress导航菜单制作
  • 济南网站设计建设辽源网站建设设计
  • 网站建设方案是什么意思宽带哪家好
  • 网站怎么增加页面收录网页设计与网站建设课程考试
  • .net 建网站酒店电子商务网站建设
  • 国外免费注册域名的网站开网店怎么开
  • 浦江网站建设yw126网站设计 广西
  • 建立网站信息内容建设管理规范什么营销软件好用
  • 美橙互联网站深圳推广公司哪家最好
  • 晋州 网站建设 网络推广南王科技:美方裁定公司
  • 私家小庭院设计实景图安卓手机优化神器
  • 网站代备案公司名称建行官方网站 - 百度
  • 网站做百度口碑北京杰诚 做网站
  • 自助建站网站平台网络托管
  • 企业网站多少钱一年湖南智能网站建设哪家好
  • wordpress适合做大型网站吗网站的建设流程图
  • 简历网站有哪些全屏网站怎么做的
  • 猎头用什么网站做单广安做网站
  • 潍坊网站建设优化用vue-cli做的网站
  • 如何做网站超链接公众号制作视频教学视频