
まず、私が既に知っている情報を含む回答を得る前に、はい、スーパーユーザーがパスワードをリセットできることを知っています。
また、暗号化されたパスワードは特別なプログラムを使用して復号化できることも知っています。私は何も解読せずにユーザーが入力したプレーンテキストパスワードを直接取得することについて話しています。
もちろん、通常のキーロガーもこれを行うことができると思いますが、出力にはパスワードに関連付けられていないジャンクがたくさんあり、これらの使用を防ぐためにセキュリティ機能が組み込まれている可能性があります。
ユーザーがパスワードを変更し、情報が暗号化される前に「傍受」するときに特別にアクティブになるキーロガーをコンピュータにルートが配置できますか?その後、この情報をルートホームディレクトリの秘密ファイルに送信できます。
答え1
もちろんです。
スーパーユーザーは、ユーザーのパスワード(login
、、、passwd
...)を読み取るプログラムを、対応する操作を実行し、パスワードをログに記録するバージョンに置き換えることができます。
ls
また、スーパーユーザーは、md5sum
プログラムの動作方法を変更するカーネルにカーネルを置き換えて、修正されたlsof
プログラムが通常のプログラムのように見えることを報告して、システム内部で修正されたことを検出することを不可能にすることもできます。ディスクイメージの表示など、外部からの詳細な観察により修正を検出できます。
スーパーユーザーはさらに、システムの起動時にマルウェアを注入するために、システムの主要な周辺機器の1つにある特定のファームウェアを変更することがあります。これはかなり高いレベルの複雑さを示すが、少なくとも原則として可能である。
コンピュータ管理者を信頼できない場合は、パスワードを入力しないでください。
答え2
これは、ユーザーがパスワードを変更する方法によって異なります。ユーザーが単に使用していた場合、実際のバイナリを破損した等価物に置き換えることは難しくありませんpasswd
。ほとんどの人は、それがバイナリなのかシェルスクリプトなのか、正当なソースからのものなのか、あまりにも多くをチェックする習慣がありません。しかし、結局のところ、最も重要なのは、ユーザーは自分が最も強力なユーザーであり、自分に属していないシステムを100%信頼できないことを理解する必要があるということです。root
passwd
passwd
root
答え3
1-2-3のように簡単です。
- ユーザーが使用しているシェルのソースコードを取得します。
- すべての内容が記録されるか、以降の文字のみが記録されるように修正してください。
passwd
- 既存のシェルのコンパイルと置換
答え4
理論的にはそうです。スーパーユーザーは、実行中のシステムのすべての項目を変更できます。これはまた、ハッシュされる前にウェブサイトにパスワードを送信する呼び出しを追加するなど、カーネルとすべてのログイン関連バイナリを意味します。
実際、あなたが指摘したように、これは役に立たないので、これはおそらく決して起こらないでしょう。