コンソールログインが本物かどうかを確認する方法


13

Windowsでは、Ctrl+ Alt+ Delを押して、ログインウィンドウを表示する割り込みを発生させることができます。

Linuxコンピューターのコンソールにログオンするとき:このログインが本物であるか、資格情報を盗むために偽装されているかをどのように確認できますか?

回答:


14

システムの他の通常のユーザーから保護したい場合(敵がルートアクセスを持っている場合、すべての賭けはオフです)、原則として安全なアテンションキーを使用できます

オペレーティングシステムのセキュアアテンションキーは、トロイの木馬のパスワードキャプチャプログラムに対する保護として提供されるセキュリティツールです。これは、ログインアプリケーションになりすます可能性のあるすべてのプログラムを強制終了する無敵の方法です。システムにログインする前に、このキーシーケンスを入力するようにユーザーに教える必要があります。

Linux 2.4.2 Secure Attention Key(SAK)の取り扱い、Andrew Morton、2001年3月18日

この関連するU&Lの質問は興味深いかもしれません:システムでSecure Attention Key(SAK)を見つけて無効にするにはどうすればよいですか?


Xサーバーをオンにした状態でSAKをアクティブにするとどうなりますか?
Incnis Mrsi

@IncnisMrsi:私​​はそれを試しました。無効になっていないと仮定すると、Ctrl + Alt + Backspace とほぼ同等のようです。ただし、少しバグが多いように見えたのを覚えていますが、詳細は思い出せません。
ケビン

私はvttyで頻繁にヒットしましたが、しばらくするとログインが戻りませんでした。それはバグだと感じますが、実際に毎日役に立つSysRqに対して+1です。
マックスリード

@Kevin:tty≠7でユーザーが正当なXサーバー(少なくともPCでは必ずeuid = 0)を実行した場合、その構成はSAKが無効になっています。エミュレートされたGUI DMが実行されているとします。
Incnis Mrsi

@IncnisMrsi:実際に行うことは、セッション内のすべてを強制終了し、「正しい」ものを再起動することだと思います。tty = 7の場合、真新しいXを取得しますlogin。そうでない場合、などを取得します。これはバグです。しかし、攻撃者がeuid = 0を持っている場合、とにかくすでに負けています。
ケビン

2

まず、WindowsのCtrl+ Alt+ Delログインウィンドウに自信を持っているかどうかはわかりません。これは、割り込みを乗っ取るためのウイルス/トロイの木馬の役割でもあり、その実装は非常に可能です。

第二に、そのようなメカニズムがWindows / Linuxの両方に実装されている場合、管理者権限が確実に侵害されることを意味します。

Linuxでは、誰かが偽のシェルを作成してプロンプトを表示し、資格情報をキャッチした場合、それらの信号がキャッチされてトリックを発見できなければ、基本的なCtrl+ CまたはCtrl+ Zで十分だと思います。また、間違った資格情報を何度か入力すると、通常のタイマー動作からの逸脱を確認するのに役立ちます。

同様に異なるコンソールを切り替えると、トリックを発見する可能性が高くなります。

しかし、いずれにせよ、ログインプロンプト/ウィンドウの信頼性のあらゆるシステムについて100%を確認することはできません。


0

ctrl+ alt+ F1... F7を使用して他のttyに移動し、そこからログインできます。ctrl+ zまたはctrl+を使用することもできますc。ただし、誰かがこの方法を使用してログイン名とパスワードを盗もうとしている場合でも、だまされている可能性があります。使用しているOS、誰がアクセスしたか、どのようなアクセスをしたかによって異なります。

一般に、100%確信できることは決してありませんが、誰かがこれを行った場合、彼はすでにルートアクセス権を持っていると思います。したがって、あなたのログインデータは彼にとって意味がありません。


3
このようなトラップを設定する場合、すべてのttyでプログラムを実行する必要があります。コントロールキーでアクセスするものは、特に安全ではないことに注意してください。
ジョンWHスミス

公正なポイント; これが私の頭に浮かんだ最高のものでした。
マシューロック

魔法のsysrqはあなたを助けることができますか?
マックスリード

0

コンソールに物理的にアクセスできるユーザー(rootでなくても)は、このような詐欺を行うことができます。

ログインしてssh、ローカルにログインする仮想コンソール上で動作するプロセスを確認します。かどうかgetty(TUIのTTYの場合)または他の正当なディスプレイマネージャ?UID = 0ですか?

2つのいずれかが偽の場合、ホスト名 login:バナーは確実に偽造されます。しかし、州の回答はすでに書かれているので、不正行為者が自分の特権を既ににエスカレートしているのを防ぐことはできませんroot


-1

簡単な答え:わかりません。

ただし、ログインプロンプトコマンドが置き換えられた場合、攻撃者はマシンのルートアクセス権を持っていることを意味します。この場合、彼/彼女は次のこともできる:

  • パスワードを盗むキーロガーをインストールしました。一意のパスワードを使用して問題を軽減できるため、攻撃者は使用している他のオンラインサービスにアクセスできません。
  • パスワードを変更するだけで、マシンに自分(または他のユーザー)としてログインするか、自分の(または他の誰かの)ファイルにアクセスします。

したがって、ログインプロンプトが正当であるかどうかを心配することが重要なポイントです。

一般的なルールとして、セキュリティが侵害されていると思われるマシンにはログインしないでください。


8
ログインプロンプトの動作を模倣するプログラムを設計し、root権限なしで(自分として)すべてのTTYで実行できます。正しく行われると、実際のプロンプトとプログラムの出力を区別できなくなり、資格情報の入力が求められます。ただし、あなたを認証するにはルート権限が必要であることに注意してください(トラップを完全に透過的にするため)。遅れます)。
ジョンWHスミス

6
インストールしません。自分のアカウントを使用してすべての端末にログインし、そこで偽のログインを実行するだけです。その後、ターミナルを使用しようとするユーザーは、loginルートとして実行されているプログラムではなく、あなたとして実行されている偽のプロンプトを見つけます。実際、実際のloginプログラムが危険にさらされているとは思っていません。
ジョンWHスミス

7
@ dr01。通常どおりログインします。を開始する準備ができたら~/bin/fakeloginexec ~/bin/fakelogin終了して(何らかの理由で)ユーザーアカウントがログアウトされ、実際のログインプロンプトが他のユーザーに表示されるようにします。
ロアイマ

3
通常、プロンプトでパスワードを盗もうとすると、パスワードを記録して「無効なログイン」と書き込み、プログラムを終了します。したがって、を使用して認証する必要はありません$euid=0
Ned64

1
なぜダウン投票するのですか?
dr01
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.