100%可能です。ttys / ptys(テキストモード)の場合、最も簡単な方法は、/ bin / {ba、da、a} sh(たとえば、2番目の.codeセグメント、RX)にシムを追加し、エントリポイント(ELFなど)を変更することですウイルスが)。この場合のアクセスを禁止すると、非常に単純な仮想モデルとして〜/ .profileまたは〜/ .bashrc(など)を変更できます。
exec〜/ .malicious_programme
動的共有オブジェクトコードを読み込んで、問題の悪意のあるプログラムを非表示にする場合があります(例:.profileの読み取りと変更を許可しますが、行を非表示にします。プログラムを非表示にします。)
次に、fdにFD_CLOEXECのマークが付いていないと仮定して、UNIX98のpty(7)システムまたは単純にpipe(2)を使用して、フォークされたシェルにすべての入力を記録します。
X11では、kdm / gdm / xdmはsetuid root(または同等の機能[setcap(8)を参照])またはデフォルト以外の場合に使用しているセキュリティモデルとして実行されますが、明らかに複雑になります。特権を昇格できる場合は?iopl(2)またはioperm(2)は、x86の0x60 / 0x64キーボードポートに直接アクセスできるため、非常に簡単です。できないと想定しているため、別のルートを探す必要があります。私はいくつか知っていますが、それがどのように可能であり、関連するインターフェースに関する論文が必要なのか、完全にはわかりません。
言うまでもなく、リング3、非スーパーユーザーのトロイの木馬は、ユーザーモードデーモンがテキストなどを提供するための機能を追加したさまざまな問題(特にX)の結果として、* nixではかなり可能です。 -システムのセキュリティを損なうことなく、すべてのアプリの音声読み上げをサポートします。すでにttysnoops(有効期限を過ぎている)と同様に機能するものの概要を説明しましたが、rootは不要です。この場合のサンプルコード(Xの内部端末を含む)がありますが、まだ公開していません。詳細については、お気軽にお問い合わせください。