Privilege Escalation - 2023/11/24
ペネトレーションテスト的なことをする機会があったのでメモ。
Privilege Escalationは、権限昇格攻撃と言われるサイバー攻撃の一つ。
本来与えられていない権限、つまりrootまたはそれに近い権限を何らかの手段で得ることで、
任意のコマンド実行、任意コード実行などできるようにしちゃおうという攻撃。
悪用厳禁!
有名な方法は ここ に割とまとめられているっぽい。 こういった攻撃を行う際に便利な定石?のようなものとして、SUIDが付与されたコマンドが無いか探るものがある。
code:sh
$ find / -perm -u=s 2>/dev/null
# /usr/bin/nmap
# /usr/bin/chsh
# /usr/bin/sudo
# /usr/bin/get_logs
# /usr/bin/newgrp
# /usr/bin/sudoedit
# /usr/bin/passwd
# /usr/bin/gpasswd
SUIDはファイルに適用するパーミッションで、これを適用したファイルは、そのファイルの所有者の権限で実行できる。
つまり、あるファイルがrootの所有者だった場合、一般ユーザ user01 でもそのファイルを実行でき、しかもパスワードも不要になる。
使う側としてはいちいちパスワードを入れなくても良くて便利な場面があるが、これをいかに攻撃に利用できるか?
みたいなところが考えられる。
実際、上で示した攻撃方法をまとめたページにも、SUIDに関係する攻撃方法は大きなくくりとして設けられている。
この権限が付与されているかどうかは、ls -lで見ることができる。
code:sh
$ ls -l /usr/bin/
# -rwsr-xr-x. 1 root root ・・・ /usr/bin/passwd
パーミッションの部分で、xが本来入っているところにsが入っていれば、SUIDが与えられている。(rwsr)
CTFとかでは、これを調べて攻撃できないか探ったりする。
参考