Unix-privesc-check

Kalilinux

権限昇格の脆弱性を自己点検するツール ” unix-privesc-check ” の話です。

ツールの名前について

” privesc ” は、 ” priv ” と ” esc ” に分かれて、

つまり、権限昇格という意味です。

ツールの起動

02-Vulnerability Analysisにあります

unix-privesc-check

使い方の説明が出てきます。オプションは無く、 ” standard ” と ” detailed ” の2つのモード選択のみです。

unix-privesc-check init

実行は普通にコマンドで実行します。

実行モード

以下のどちらかのモードで実行します。

標準モード

早い(12秒)

詳細モード

遅いけど詳しい(3分20秒)

検証実行

異常が発見されると ‘ WARNING ‘ の警告が出ます。

つまり ‘ WARNING ‘ が出なければ合格です。

検査する項目

検証する項目と実際の実行結果画面です。

standardモード

バージョンは1.4

自分のファイルや設定の権限昇格のチェックを行います。

unix-privesc-check01

1) Recording hostname
2) Recording uname

unix-privesc-check02

3) Recording Interface IP addresses

4) Checking if external authentication is allowed in /etc/passwd
5) Checking nsswitch.conf for addition authentication methods
6) Checking for writable config files
7) Checking if /etc/shadow is readable
8) Checking for password hashes in /etc/passwd
9) Checking account settings

unix-privesc-check04

10) Checking library directories from /etc/ld.so.conf
11) Checking sudo configuration
12) Checking permission on swap file(s)
13) Checking programs run from inittab
14) Checking postogres trust relationships
15) Checking permissions on device files for mounted partitions

unix-privesc-check05

16) Checking cron job programs aren’t writable (/etc/crontab)
17) Checking cron job programs aren’t writable (/etc/spool/cron/crontabs)

unix-privesc-check06

18) Checking cron job programs aren’t writable (var/spool/cron/tabs)
19) Checking inetd programs aren’t writable
20) Checking xinetd programs aren’t writable

unix-privesc-check07

21) Checking home directories aren’t writable

unix-privesc-check08

22) Checking for readable sensitive files in home directries
23) Checking SUID programs
24) Checking for Private SSH Keys home directries
25) Checking for Public SSH Keys home directries
26) Checking for SSH agents
27) Checking for GPG agents

unix-privesc-check09

” 26) SSH agents ” と、 ” 27) GPG agents ” に、WARNINGが出ています。

28) Checking startup files (init.d/ rc.d) aren’t writable

unix-privesc-check10

29) Checking if running programs are writable

unix-privesc-check11

detailedモード

detailedモードもstandardモードと全く同じチェック項目の構成です。

但し実行時間が長く、情報量が多いです。

standard版に比べて特に、23) 28) 29) を念入りに調べていました。ここで新たにWARNINGが多数出ました。

unix-privesc-check17

検証結果

結果一覧表

警告数の欄は、A→Bの形式で表示しており、Aがstandardモード、Bがdetailedモードで検査した時の警告数です。

項目備考警告数
1Recording hostnameホスト名
2Recording unameカーネルなどの情報
3Recording Interface IP addressesインターフェースとIPアドレスの情報
4Checking if external authentication is allowed in /etc/passwdpasswdファイルへの外部からの認証可否の検証0→0
5Checking nsswitch.conf for addition authentication methods名前解決設定への認証方法追加の検証0→0
6Checking for writable config files書込可能設定の検証0→0
7Checking if /etc/shadow is readableshadowファイル(パスワードハッシュ)の可読性の検証0→0
8Checking for password hashes in /etc/passwdパスワードファイル内のハッシュ値の有無のチェック0→0
9Checking account settingsアカウント設定の検証0→0
10Checking library directories from /etc/ld.so.confライブラリディレクトリの検証0→0
11Checking sudo configurationsudo設定の検証0→0
12Checking permission on swap file(s)swap file認証情報の検証0→0
13Checking programs run from inittabOS起動時の実行プログラム検証0→0
14Checking postogres trust relationshipspostogresデータベースのリレーション検証0→0
15Checking permissions on device files for mounted partitionsデバイス上のファイル認証情報の検証0→0
16Checking cron job programs aren’t writable (/etc/crontab)/etc/crontab内のcron jobの書込不可の検証0→0
17Checking cron job programs aren’t writable (/etc/spool/cron/crontabs)/var/spool/cron/crontabs内のcron jobの書込不可の検証0→0
18Checking cron job programs aren’t writable (var/spool/cron/tabs)/var/spool/cron/tabs内のcron jobの書込不可の検証0→0
19Checking inetd programs aren’t writableスーパーサーバー(利用頻度の低いサービスの管理)の書込不可の検証0→0
20Checking xinetd programs aren’t writableスーパーサーバー(xinetd : inetdの新版)の書込不可の検証0→0
21Checking home directories aren’t writableホームディレクトリの書込不可の検証0→0
22Checking for readable sensitive files in home directries機密ファイルの可読性不可の検証0→0
23Checking SUID programsSUIDファイル(所有者の権限で実行できるファイル)の検証0→37
24Checking for Private SSH Keys home directriesプライベートSSHキーの検証0→0
25Checking for Public SSH Keys home directriesパブリックSSHキーの検証0→0
26Checking for SSH agentsSSHの検証1→1
27Checking for GPG agentsGPGの検証1→1
28Checking startup files (init.d/ rc.d) aren’t writableスタートアップファイルの書込不可の検証0→13
29Checking if running programs are writable実行中プログラムの書込可能の検証0→26
警告数は、standardの表示数→detailedの表示数

警告について

26) SSHと27) GPG

standardモードで実行の結果、脆弱性の警告である ‘ WARNING ‘ は、 ” 26) SSH-agent ” と ” 27) GPG-agent ” で見つかりました。

kali linuxのデフォルトの設定のままなのですが、どうやらSSHとGPGのエージェントは(権限昇格のセキュリティ上は)良くないようです。

warning ssh gpg

detailモードで見つかった警告

detailedモードではそれに加えて、23)で37個、28)で13個、29)で26個の警告が追加で見つかりました。

23) Checking SUID programsのWARNING

このような警告が合計37個出ました。

warning ssid
28) Checking startup files (init.d/ rc.d) aren’t writableのWARNING

このような警告が合計13個出ました。

warning startup
29) Checking if running programs are writableのWARNING

このような警告が合計26個出ました。

warning running

まとめ

unixの権限昇格検証ツール ” unix-privesc-check ” で脆弱性の検証を行いました。

補足

parrot os(SE) 6.1で ” unix-privesc-check ” の検証を行ったところ、WARNING数は以下の通りでした。

項目standardモードdetailedモード
23)Checking SUID programs022
26)Checking for SSH agents11
28)Checking startup files021
29)Checking if running programs are writable033

kaliと違って、parrot上ではGPGは走っていないようです。

コメント

タイトルとURLをコピーしました