問題タブ [rootkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
279 参照

winapi - Win32APIインターセプトプロジェクトで方向性が必要

さて、最初に少しコンテキスト。私は自分の大学でプロジェクトに取り組み始めました。その目標の1つは、プロセスが次のことを試みたときにログに記録するモジュールを開発することです。

-ファイルの作成、削除、または変更(基本的にファイルシステムアクティビティ)-レジストリID /値の作成、検出、または変更

実際には、このモジュールが監視するプロセスを指定します。このプロセスが上記のアクティビティのいずれかを実行しようとすると、ログに記録されます。

現在、DSで提案されているように、ドライバー開発の基本とフィルタードライバーを調べています。これが私の質問です、

これを達成するための最良の方法は何でしょうか、それはある種のフィルタードライバーを書くことによるでしょうか?はいの場合、正確にどのフィルタードライバー、ファイルシステムフィルタードライバー、ミニフィルタードライバー、またはその他のものですか?それとも他のテクニックがわからないのですか?

このプロジェクトにはあまり時間がないので、的を絞った調査と実装を行うことができるように、少し方向性が必要です。

0 投票する
1 に答える
725 参照

c - ルートキットごとに隠しファイル/プロセス/regKeys を一覧表示する方法

ルートキットによって隠されているファイル、プロセス、またはレジストリ キーを一覧表示する方法を知りたいです。

たとえば、gmerはそれを行いますが、その方法を知りたいです。

ありがとう!

PS: 私の主要なプログラミング言語は AutoIt ですが、標準 C で使用できる答えであれば問題ありません。

0 投票する
1 に答える
233 参照

c - cmd コマンド 'dir' はどのデバイスを使用しますか?

わかりにくい質問ですみません!

コマンド プロンプト コマンド 'dir' は、おそらくご存じのとおり、ディレクトリ内のすべてのファイルとディレクトリを一覧表示します。

現在、「Windows カーネルの破壊: ルートキット」を読んでいます。

この本にあるコードの例の 1 つは、TCP 接続を隠しています。フッキングを使用しています。使用するメソッドの一部は、関連付けられたデバイス オブジェクトを使用して、「netstat」が現在の TCP 接続を照会するために使用するドライバーであるTCPIP.sysへのポインターを取得します。

基本的にIoGetDeviceObjectPointer()、デバイス名 (TCPIP.sys の場合、デバイスは\\DEVICE\\TCP) を受け取り、デバイス ドライバーへのポインターを返す関数 があります。この例では、TCPIP.sys です。

dir' ' コマンドがデバイス ドライバを使用しているかどうかを誰かが知っているかどうか知りたいのですが、もしそうなら、デバイスの名前は何ですか?

0 投票する
1 に答える
1061 参照

linux - カーネル パニック -- copy_from_user、kmalloc に失敗しましたか?

私は自分の OS クラスのルートキットを作成しています (先生は私がここで助けを求めても大丈夫です)。私のルートキットは sys_read システム コールをフックして、「魔法の」ポートをユーザーから隠します。ユーザー バッファ *buf (sys_read の引数の 1 つ) をカーネル空間 (kbuf と呼ばれるバッファ) にコピーすると、カーネル パニック/コア ダンプ エラーが発生します。これは、読み取りを中断するとシステムが停止するためである可能性がありますが、誰かがこれについて何らかの見通しを持っているのだろうか.

コードはオンラインで入手できます。207行目を見てください: https://github.com/joshimhoff/toykit/blob/master/toykit.c

getdents をフックし、copy_from_user を使用して getdents 構造体をカーネル空間に持ってきたところ、うまくいきました。読み方の違いがよくわかりません。

助けてくれてありがとう!

0 投票する
1 に答える
419 参照

c - Cで関数のアドレスを取得しますか?

このコードをユーザー空間でルートとして実行すると、segfault が発生します。理由がわかりません。ルートキットを持っていると思います。アドレスが /boot/System.map-3.2.0-4-amd64 のアドレスと同じかどうかを確認したい

猫 /boot/System.map-3.2.0-4-amd64 | grep "必要な文字列"

0 投票する
1 に答える
144 参照

kernel - 新しいバイナリ形式を挿入することによるルートキット攻撃

一部のルートキット攻撃は、フォーマット リストに新しいバイナリ フォーマットを挿入し、呼び出されるたびにエラー コード ENOEXEC を返す悪意のあるハンドラをカーネルに提供することによって機能します。新しいハンドラはフォーマット リストの先頭に挿入されるため、新しいプロセスが実行されるたびに悪意のあるハンドラが実行されます。リストのサイズは、システムの起動後は一定​​であり、新しいバイナリ フォーマットがインストールされた場合にのみ変更されます。この攻撃は新しいバイナリ フォーマットを挿入するため、フォーマット リストの長さを変更します。これは記事で読んだことがあります。これがカーネル 3 にも当てはまることを知りたいですか? はいの場合、フォーマットリストの長さを確認するにはどうすればよいですか? カーネル 3.11.4 でこの構造体を見つけました。

lh参照したリストですかformats list

0 投票する
1 に答える
282 参照

windows - Windows XP でランダムな名前のブート スタート ドライバを作成しているソースを見つける方法は?

Windows XP の話。Comodo Killswitch は、システム サービス セクションにブート スタート ドライバーを表示し、ランダムな 6 文字の名前 (再起動するたびに新しい (疑わしい)、常に 6 文字) を使用します。Comodo Autorun Analyzer はこのドライバーを表示しませんでした。Sysinternals Autoruns はこのドライバーを表示しませんでした。Msconfig はこのドライバーを表示しませんでした。これは疑わしいです。私が試したウイルス対策およびルートキット対策ソフトウェアは、マルウェアを検出しませんでした。レジストリにはこれらの名前の痕跡がありますが、これらのレジストリ エントリの作成者の痕跡はありません。Comodo Killswitch はバイナリ パスを表示せず、[ロード済みモジュール] タブを有効にして Killswitch を起動しようとすると、これらのドライバーが [システム] タブの [サービス] セクションに表示されません (疑わしい)。メモリ ダンプ ファイル memory.dmp を作成することはできましたが、それを開いて読み取る方法が見つかりませんでした。

これらのレジストリ エントリのソースを見つけるにはどうすればよいですか? システム内のどこに、この疑わしいドライバを展開するコンポーネントが配置されていますか?

更新: そこで、私は Process Monitor を使用しました。そこでのトレースによると、この回避的な疑わしいブート開始ドライバー/サービスのレジストリ内のエントリは、services.exe によって作成されたようです。おそらく、services.exe は何らかのソフトウェアまたはマルウェアによってこれらの指示を受けます。services.exe によって作成されたレジストリ エントリを担当するソフトウェアへのパスを確認するにはどうすればよいでしょうか。