iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 30
0

Yoooooooooooooo

這是最後一晚還在電腦前趕文章的日子惹

昨天我們談到要怎麼寫payload控制PC

首先我們還得先瞭解提權的的內核函數

  • (1)prepare_kernel_cred(0) : 創建特權憑證
  • commit_creds搭配(1) : 將憑證分配(uid = 0, gid = 0)並獲取root權限

另外也需要獲取內核函數的位址

但內核保護機制是存在的
可以看到結果無法獲取

所以要實現這個利用要先偷吃步關閉kptr_restrict

echo 0 > /proc/sys/kernel/kptr_restrict

畫面上是抓到的內核函數位址

當然prepare_kernel_cred也是一樣的方法

再來就是建構shellcode

這些就是我們要作為提權用的

在Kernel被執行完程序的權限就會提升成特權

再來就是ret2user後隨便建造一個/bin/sh

就可以拿到root shell惹

最後覺得比較可惜的是因為環境不小心被污染了

原本想要自己重構一個payload玩玩看QQ

最後的最後雖然這是最後一天 但其實大概的方向都有摸過一遍

往後繼續探索的路會比較有頭緒吧:)

再見惹 送上一張不捨的貓咪

明年應該會再繼續挑戰

因為真的很好玩

謝謝喵喵隊長

一起喵喵貓

我是 來勢洶洶的 山豬 xDDDD
真的很喜歡山豬模仿賴世雄

我們明年再見


上一篇
[Day 29] Android BOF-(2)
系列文
Android System Security30

尚未有邦友留言

立即登入留言