/etc/passwdで+::0:0:::が見つからないのはなぜですか?

/etc/passwdで+::0:0:::が見つからないのはなぜですか?

私が読んでいるBSI安全ガイド(ドイツ語)、NISに関しては、このエントリがNISサーバーファイル+::0:0:::に表示されないようにする必要があると明示的に言及されています。/etc/passwd

+私が調査した結果、NISの全リストがpasswdファイルにインポートされることがわかりました。ガイドが提案する解決策は、アイテムのパスワード部分に1つを追加することです*。これにより、ユーザー名がシャドウファイルで検索されます。これは基本的にNISリストのインポートを無駄にするので(このリストにはシャドウにエントリがないため)、やや非生産的ではありませんか?

また、この項目の正当な用途は何であり、攻撃者はそれをどのように悪用することができますか*

ベストアンサー1

これらのエントリは、ファイルにそのエントリがある場合にのみ+::0:0:::期待どおりに機能します。代わりに、この項目を使用すると意図した効果は表示されません。passwd: compat/etc/nsswitch.confpasswd: files nis

少なくとも私のDebian 9システムのマニュアルページによると、これは有効な構文ではないようですnsswitch.conf(5)。そのシステムからルートアクセスを取得するNISユーザー名でなければならないか、+user::0:0:::NISユーザーが使用するコンテンツを除くすべてを含める必要があります。 NISで指定したUID / primaryGID値をオーバーライドせずに、以前に構文を使用したか除外しました。user+-user-@netgroup

拡張すると、+::0:0:::「すべてのNISユーザーはそのシステムのルートです」を意味するように見えますが、最初は決して良い考えではありません。

リスクは、読み取りを通じて独自に認証を処理するがスタイル構文拡張を実装しないアプリケーションの場合、その行は文字通り/etc/passwd「ユーザーにUID 0とGID 0があり、パスワードがない」ことを意味します。/etc/shadowpasswd: compat+

これらのアプリケーションを使用している場合は、「+ユーザー名の入力を求めるプロンプト、Enterパスワードプロンプトをタップするだけです。これでrootアクセス権があります。」脆弱性です。有効なシェルがないため、すぐにシェルのアクセス権を取得できない場合があります。ただし、アプリケーションを介してUID 0のアクセス権のみを使用すると、経験豊富な侵入者にすぐにフルルートシェルアクセス権を取得するのに十分な影響力を提供できます。

おすすめ記事