web-dev-qa-db-ja.com

ルートまたはSudoなしのLinuxキーロガー!本物ですか?

Youtubeの誰かがUbuntuでキーロガーを実行したりrootとしてインストールしたりしていないと主張しています。以下のリンクは、動作するデモを示しています。

http://www.youtube.com/watch?v=Y1fZAZTwyPQ

反対の主張にもかかわらず、この人は、ビデオのデモを行う前にrootとしてインストールした可能性があります。インストールまたは実行のためのrootなしでこれが本当に可能であるという他の半信頼できる証拠はありますか?

更新:6月24日の回答で参照されているソフトウェアは、Sudo/rootなしではインストールできません。通常のユーザー権限でインストールして実行できるLinuxキーロガーソフトウェアへのリンクを提供する人に報奨金を追加しました。

30
Mike Rowave

はい、それは本当です。ブラウザを介して悪用され、攻撃者がユーザー特権でコードを実行できる場合、攻撃者はGNOMEまたはKDEの自動起動機能を介してプログラムを登録し、ログイン時にプログラムを実行できます。どのプログラムでも、X Window Systemで押されたキーのスキャンコードを取得できます。 xinputコマンドを使用すると簡単に確認できます。詳細は GUI分離に関するブログ投稿 を参照してください。

29

そのビデオのコンセプトは100%リアルで、コードは非常にシンプルです。

キーボードIDはxinput --listで識別します

次のキーストロークを記録:xinput --test $id

数字をキーと一致させる:xmodmap -pke

12
yardena

はい、可能です。
同様のソフトウェア lkl を使用して、自分のマシンで試すことができます。

11
bbaja42

私はビデオを見ていないので、引用したビデオではなく、SUスレッドからの主張について得た印象に応えています。

攻撃者がユーザーのマシンでコードを実行できる場合、攻撃者はキーの押下をログに記録できます。

まあ、まあ。実行中のすべてのアプリケーションは、キーを押す操作にアクセスできます。 Webブラウザーに何かを入力している場合、Webブラウザーはキーを押す操作にアクセスできます。

ああ、あなたは言いますが、別のアプリケーションでのキー押下のロギングについてはどうですか?他のアプリケーションが同じXサーバーで実行されている限り、それらのログは引き続き記録されます。 X11はアプリケーションを分離しようとしません—それはその仕事ではありません。 X11を使用すると、プログラムはグローバルショートカットを定義できます。これは、インプットメソッドに便利です。マクロを定義するなどにも使用できます。

攻撃者がユーザーとしてコードを実行できる場合、攻撃者はファイルを読み取って変更し、他のあらゆる種類の危害を加えることができます。

これは脅威ではありません。これは、正常に機能するシステムの通常の期待の一部です。攻撃者がマシンでコードを実行することを許可すると、マシンは安全ではなくなります。玄関のドアを開けて斧殺人犯を入れたようなものです。もし2つに切り裂かれたとしても、玄関のドアが安全でないからではありません。

キーロガーは、感染したユーザーが押したキーのみを記録できます。 (少なくとも、感染したユーザーがSudoパスワードを入力しない限り。)

100%可能です。 ttys/ptys(テキストモード)の場合、最も簡単な方法は、/ bin/{ba、da、a} sh(たとえば、2番目の.codeセグメント、RX)にシムを追加し、エントリポイント(ELFなど)を変更することですウイルスは)。この場合、アクセスを禁止すると、〜/ .profileまたは〜/ .bashrc(など)を非常に単純な仮想モデルとして変更できます。

exec〜/ .malicious_programme

問題の悪意のあるプログラムを非表示にする動的共有オブジェクトコードをロードする可能性があります(例:.profileの読み取りと変更を許可しますが、行を非表示にします。プログラムを非表示にします)。

次に、UNIX 98 pty(7)システムまたは単にpipe(2)を使用して、fdがFD_CLOEXECとマークされていないと仮定して、分岐したシェルのすべての入力を記録し、ユーザー入力をシェルに変更することもできます。

X11では、kdm/gdm/xdmはsetuidルート(または同等の機能[setcap(8)を参照]またはデフォルト以外の場合に使用しているセキュリティモデル)として実行されますが、明らかに複雑になります。特権を昇格できるか? iopl(2)またはioperm(2)を使用すると、x86の0x60/0x64キーボードポートに直接アクセスできるため、作業が非常に簡単になります。私たちはあなたができないと仮定しているので、私たちは別のルートを探す必要があります。私はいくつか知っていますが、それがどのように可能であり、インターフェースが関与しているかについての論文が必要かどうかは完全にはわかりません。

言うまでもありませんが、ユーザーモードデーモンがテキストなどを提供するための機能を追加したさまざまな問題(特にXに関する)の結果として、プロセスの分離にもかかわらず、* nixではスーパーユーザー以外のトロイの木馬3がかなり可能です。システムのセキュリティを損なうことのないすべてのアプリの音声読み上げサポート。私は既にttysnoops(有効期限が過ぎている)に類似して動作するものを概説し、rootを必要としません。このケースのサンプルコード(Xの内部ターミナルを含む)がありますが、まだ公開していません。詳細については、お気軽にご連絡ください。

3

テストの目的で、ユーザーのttyに動的に接続できるTTYキーロガーを作成しました。プログラムはrootがインストールする必要がなく、どのアカウントでも使用できます。接続されると、プログラムの起動時にコマンドラインで指定されたパターンに一致する入力をログに記録します。

0
wzis

はい、suまたはSudo権限なしでソフトウェアをインストールできます。ただし、これは通常、権限昇格の悪用を通じて行われます。そのビデオは、キーロガーの機能をかなりうまく機能させていますが、キーロガーのインストールについては少し詳しく説明していません。ここには少し策略があるかもしれませんが、ビデオだけから見分けるのは難しいです。

0
Xenoactive