capability sys_tty_config

capabilityのsys_tty_config(CAP_SYS_TTY_CONFIG)が気になるので,もう少し調べる。
man capabilitiesによると,
vhangupシステムコールの利用を制限するとのことだった。
man 2 vhangupを見てもよく分からんので,実際に検証コードを書いてみる。
void main(){
vhangup();
}
で終わり。
上のプログラムをコンソール上,X上で動かした。
結果:
コンソール上で動かした時→コンソールが閉じてログアウト。
Xのxtermで動かした時→xtermが閉じただけ。
攻撃者がこの権限を取ったら何ができるか?
乗っ取ったデーモンを立ち上げたコンソールを閉じることができる。
これぐらいか…実質被害は出ないな。

とおもったら,ioctlの制御もしてるじゃん。
capable(CAP_SYS_TTY_CONFIG)でカーネル調べたら,
端末へのioctlを制限(一部オプション)していることを発見。

端末へのioctl

端末ファイルに対するioctlは特殊らしい。
http://www.linux.or.jp/JM/html/LDP_man-pages/man4/console_ioctl.4.html
キーと実際に入力される文字の対応の設定等ができるらしい…
これ使って攻撃者は悪事はできるかなぁ?
変な文字の入力をさせることができるかも…
キーロガーに使えそうな機能はないな。