《国产操作系统漏洞研究_阮奂斌.pdf》由会员分享,可在线阅读,更多相关《国产操作系统漏洞研究_阮奂斌.pdf(31页珍藏版)》请在三个皮匠报告上搜索。
1、国产操作系统的漏洞研究国产操作系统总线服务与应用安全的研究By 阮奂斌自我介绍About Me id:doudoudedi IoT漏洞挖掘 CTF 业余爱好者 二进制安全研究者研究动机01目标选择02系统初探03提权与RCE04好奇与机遇大概是在2022年的某一个月,我同事参加了虎符CTF,并且进入了线下赛赛制是PKS(针对麒麟操作系统安全机制绕过)有一些挑战需要权限提升AWDP (CTFer 应该比较熟悉)针对国产操作系统的安全性研究的师傅好像不多,但是它同样有研究的价值我想在这次研究中提高自身能力提高自己的代码审计能力检验逆向能力能否支撑起我的代码审计发现漏洞,后续利用的能力研究动机国产操
2、作系统(我主要研究了前两者)目标选择银河麒麟(KylinOS)原是在“863计划”和国家核高基科技重大专项支持下,国防科技大学研发的操作系统。UOS 由深度操作系统为基础,经过定制而来的产品。考虑到后者是基于 Linux 的国产操作系统的一员。华为鸿蒙系统(HUAWEI Harmony OS),是华为公司在2019年8月9日于东莞举行的华为开发者大会(HDC.2019)上正式发布的操作系统。银河麒麟操作系统目标系统镜像:Kylin-Desktop-V10-Release-2203-x86_64操作环境:Vmware Workstation(有条件的同学可以用真机)一路安装我成功启动了麒麟操作系
3、统系统初探安装与系统经过系列操作系统我发现,这款桌面级的操作系统底层是linux,类似于debian,可以执行apt等命令(PWN手狂喜)系统初探相较与正常的开源ubuntu,多了很多麒麟生态的软件。内核:Linux文件系统:ext4查阅漏洞报告系统初探研究第一步永远都是查资料,于是我开始查阅此款操作系统的历史漏洞与漏洞报告,不知是不是国产的原因,网上的信息寥寥无几https:/ 但是我需要攻破的是最新版本,它修复了此CVE,但是它给了我信心,依然相信还有其它方法可以导致提权于是同事与我们把关注点放到了麒麟系统的DbusDbus简介系统研究D-Bus 分为两个主要的总线:系统总线(System
4、 Bus):用于系统级的服务,比如硬件状态改变或者系统守护进程。会话总线(Session Bus):用于用户会话内的进程通信,通常是一个用户登录会话中运行的应用程序间的通信。D-Bus 的设计遵循最小的原则,只提供必要的功能,以降低开销并保持接口简洁。它在Linux系统中被广泛应用,是现代Linux桌面环境和系统服务的核心组件之一。KylinOS特有的Dbus服务系统研究如果服务被注册进Dbus系统总线那么在/etc/dbus-1/system.d/会存在对应的文件,我尝试列出kylinOS的此目录进行查看发现了一些有趣的服务,麒麟系统的开发者似乎自己开发一些服务注册到了Dbus总线上安装测试
5、工具d-feet列出所有的会话总线与系统总线,相对于会话总线我们应该对系统总线更加感兴趣,因为那意味这进程的权限更高,然后尝试过滤kylinOS特有的总线服务Dbus服务的Interface与Method系统研究在测试Dbus总线中的服务时,我们要关注的是对象路径、interface、method。Interface(接口)接口定义了一组可以调用的方法(以及发出的信号和可以访问的属性)。Method(方法)方法是在接口中定义的操作,它可以被调用来执行特定的任务简单来讲Method就是功能的实现Dbus通信数据系统研究由于Dbus是为应用程序与服务间通信服务的,所以底层并不是使用的传统的TCP/
6、IP流量,而是本地的进程通信的协议(IPC)。它使用的通信方式不依赖于网络协议,而是依赖于本地系统上的消息总线。它允许不同进程之间通过消息来交换数据,而不需要经过网络堆栈。最终我们使用bustle将通信的数据捕获并放入了wireshark进行分析系统研究endianness 机器的大小端信息机器的大小端信息Methcall 指明D-Bus消息的类型。在这个例子中,是“Method call”(方法调用),表示客户端正在请求服务执行一个操作。Message Flags 提供消息的详细信息,如是否期望回复。Protocol Version 正在使用的D-Bus协议的版本。Message Body