/ etc / fstabの「nodev」が非常に重要なのはなぜですか?キャラクターデバイスをハッキングに使用するにはどうすればよいですか?


19

Linuxのセキュリティについて学び、キャラクターデバイスを搭載したUSBスティックが潜在的に危険な理由を理解するのに苦労しています。

rootがsetuidされたbash実行可能ファイルを含むUSBスティックを持っている場合、その危険性は明白です。

/dev/sdb1 /media/usbstick auto defaults 0 0

私の/etc/fstabdefaults含まれていますsuid

しかし、キャラクターデバイスはどうですか?キャラクターデバイスを搭載したUSBスティックがdevまたはでマウントされた場合、キャラクターデバイスを使用してルート権限を取得したり、defaults何かを壊したりするにはどうすればよいですか?

回答:


31

基になるデバイスへのアクセスはデフォルトでファイルのアクセス許可によってのみ制御されるため、USBスティックにシステム内の実際のデバイスに対応する世界書き込み可能なデバイスノードを持つPOSIXファイルシステムが含まれている場合、そのデバイスノードを使用して対応するデバイスにアクセスできます「プレーン」ユーザーとしてのデバイス。オーディオデバイスの1つであるWebカメラに対応するデバイスを想像してください/dev/sda(キャラクターデバイスではなくブロックデバイスですが、引数は同じです)。

わかりやすくするための例を次に示します。アクセスしたいとしましょう/dev/sda(それから、あなたがなることを可能にするプログラムを植えることを含めて、あなたはディスクの内容でほとんど何でもできますroot;これはブロックデバイスですが、問題はキャラクターデバイスでも同じです)。ターゲットシステムで、ls -l /dev/sdaショー

brw-rw----  1 root disk      8,   0 Sep  8 11:25 sda

これ/dev/sdaは、bメジャー番号8とマイナー番号0(8, 0行の中央)を持つブロックデバイス(行の先頭)です。デバイスは、root(読み取り/書き込み)およびdiskグループのメンバー(読み取り/書き込み)のみがアクセスできます。

今、このシステムであなたがなることができないと想像してください、rootしかし、何らかの理由で、あなたはなしでユーザーとしてUSBスティックを取り付けることができますnodev。現在の別のシステムで、rootUSBキーに対応する特殊ファイルを作成できます。

mknod -m 666 usersda b 8 0

これusersdaにより、すべてのユーザーが読み取りおよび書き込み可能なという特別なファイルが作成されます。

ターゲットシステムにキーをマウントすると、アクセス制限なしusersdaで、と同じようにデバイスを使用できます/dev/sda...

(これは、復号化されたマッパーデバイスにアクセスできる限り、暗号化されたファイルシステムでも機能します/dev/mapper。適切なエントリに一致するデバイスを作成します。)


面白いですね!しかし、私はそれを理解しているかどうかはわかりません。デバイスはファイルであり、ファイルはiノードを介してアクセスされます。USBスティック上の偽のデバイスには別のiノードがあるため、別のデバイスになりますか?
ロシックス

7
デバイスは、メジャー番号とマイナー番号を持つ特別なファイルです。あなたがそうすればそれらを見ることができますls -l /dev、それらはファイルサイズの代わりに現れる2つの数字です。カーネルは、これらの番号を使用してドライバーとデバイス特殊ファイルを一致させるため、同じカーネルドライバーとデバイスを指す複数のファイルを持つことができます。特殊ファイルはを使用して作成されますmknod
スティーブンキット

なお、/dev/tty*デバイスはあなたに完全な読み取り/書き込みアクセス権を獲得キャラクタデバイス、および侵入者あり端末セッションおよび/またはシステムコンソール厄介なトリックのすべての種類を許可するかもしれない端末エミュレータの機能を乱用と組み合わせる...
テレコム

1
@TheQuark、ほとんどそうです。それはもう少し一般的です。「解釈」とは、「デバイスファイルをプレーンファイルではなくデバイスノードとして扱う」という意味です。
スティーブンキット

1
@ n00bをマウントすることはできませusersdaんが、少なくとも制限なしで基礎となるディスクから読み取るために使用でき、場合によっては同様に書き込むこともできます。あなたは簡単かつなどのツールを使って、すべてのディスクの内容をコピーすることができdebuge2fs、上書き/etc/shadowなど
スティーブン・キット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.