問題タブ [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.
rootkit - ルートキットを検出して削除する
マシン上で見つかったルートキットを検出し、必要に応じて削除するための最良の (できれば無料または安価な) 方法は何ですか?
kernel - Linux カーネルの set_memory_* 関数 >=2.6.25
私はルートキットについて調査していますが、`のような警告をたくさん受け取りました。
たとえば、自分の関数を にアタッチしようとしたときsys_call_table[__NR_read]
。
カーネル <=2.6.25 では、関数change_page_attr()
は特定のアドレスのページ属性を変更するのに役立ちました。ただし、2.6.28 以上の新しいカーネルでは、この関数は廃止され、set_memory_*
PAT に関連する関数に置き換えられています。
Linux カーネルのドキュメントでは、PAT 関数の使用法が明確ではありません。set_memory_wc()
&を使用set_memory_uc()
してパーミッションを変更しましsys_call_table
たが、同じバグが引き続き発生します。私が推測するその機能は、古いchange_page_attr()
.
i915 モジュールで 1 つの例を見て、同じように関数を使用しましたが、バグは続きます。
それについて何か助けはありますか?カーネルアドレスを間違った方法で処理していますか?
windows - Windows 7: 自動昇格を利用して自分のプロセスを昇格させますか?
2009 年 7 月の Technet の記事Inside Windows 7 User Account Controlで、Mark Russinovishは、標準ユーザーとして実行されているアプリケーションが暗黙のうちに昇格して管理者権限を取得できる可能性があると説明しています。
...標準ユーザー権限を持つ PA (保護された管理者) アカウントで実行されているサードパーティ製ソフトウェアが、自動昇格を利用して管理者権限を取得する可能性があります。たとえば、ソフトウェアは WriteProcessMemory APIを使用してExplorerにコードを挿入し、 CreateRemoteThread APIを使用してそのコードを実行できます。これはDLL インジェクションと呼ばれる手法です。コードは Windows 実行可能ファイルであるエクスプローラーで実行されるため、コピー/移動/名前変更/削除/リンク オブジェクトなどの自動昇格する COM オブジェクトを利用して、システム レジストリ キーまたはディレクトリを変更し、ソフトウェアに管理権限を与えることができます。権利。
彼は続けて、マルウェアがこれを行うことは決してないだろうと述べています。
...これらの手順には意図的な意図が必要であり、簡単なことではありません...
そして最後に
...マルウェアは、同じ手法を使用して管理者権限を取得できます。
だから私は実際の実装を見たいと思っています。
PROCESS_VM_WRITEは標準ユーザーには与えられない権利だと思っていたでしょう。
注:世界中の他のすべての開発者がそうであるように、私自身が悪いことをすることは決してありません。
linux - Linux 上のルートキットの Dragon Book とは何ですか?
私は最近、Bill Blunden著の The Rootkit Aresenalという本に出くわしました。この本には、ルートキットの基礎となる基本の詳細な (つまり、そうです!) 説明があり、Windows 用にそれらを設計する方法についても説明されています (したがって、IA32 の基本的な理解が必要です)。内部)。私は主に Linux 中心のセキュリティに専念しているため、この本を使用して基礎を習得することしかできず、Linux カーネルに関連することは何もできません。Linux 用のルートキットのドラゴン ブックを提案してくれる人はいますか?
誰かが私にこの質問をしようとしている場合に備えて:
「なぜルートキットを調べているのですか?それは悪いことではありませんか?」
スラッシュドットの誰かがかつて言った:
攻撃される方法を理解していない場合、どのようにセキュリティを実装できますか?
私が探しているもののアイデアを与えるために:リファレンスの目次が、Windows ではなく Linux ルートキットに置き換えられた次のようなものであれば十分です。
c - Windows IDT でのキーボード割り込みのフック
一部の XP システムでは、キーボード割り込みが IDT の 0x31 にあることを読みましたが、確実に知る唯一の方法は、hall.dll を解析して、どのベクトルが IRQ 1 に関連付けられているかを確認することです。インターネットで検索しています。これに関する詳細情報と私はこの機能を見つけました:
しかし、IRQ 1に関連付けられた割り込みベクトルを取得する他の方法を知っている人は誰でも機能が廃止されたと言っています。
みんなありがとう!
osx-lion - localhostからlocalhostへのtcpポートでのループバック
私netstat
は2つの奇妙なtcp接続が開かれていることを実行しているのを見ました:
普通なのかしら。誰かが私を助けることができますか?ありがとう!
windows - SSDTフックのフックを外して、それらをガタガタにする方法は?
私はルートキットに取り組んでおり、それを逆にしています。この種のルートキットに固有のアンチrkを作成することを想定しています。ルートキットは、ユーザーモードからフックを解除できないカーネルモード関数をフックします。ユーザーモードからフックを外すと、逃げることはなく、戻ってきます。それで、あなたの提案は何ですか?
assembly - open watcom エラー (複数の開始アドレスが見つかりました) を伴う 16 ビット アセンブリ コードのコンパイル
オープン watcom IDE で本のルートキット アーセナルから 16 ビット アセンブリ コード スニペットをコンパイルしようとしています。「複数の開始アドレスが見つかりました」というエラーが表示されます。組み立てに関する知識が非常に限られているため、整理することができませんでした。これはコードです:
親切に、私を助けてください。
c - カーネル モジュールの関数からの EFAULT
2 つのファイル名が同じファイルを参照しているかどうかを、i ノード ID とデバイス ID が一致するかどうかを確認して比較しようとしています。現在、私vfs_stat
はIDを取得するために呼び出します。
問題は、vfs_stat
ユーザー空間に保存されているファイル名を渡すと正常に動作しますが、カーネル モジュールのグローバル変数として保存されているファイル名を渡すと、次のエラーが発生することです。EFAULT
ID を取得したり、2 つのファイルが同じ場合に比較したりする他の方法はありますか?
linux - Linux カーネル ルートキットのサンプル
私は論文として Linux カーネル ルートキット検出のためのいくつかの新しい手法に取り組んでいます。メソッドをテストし、機械学習テストを行うために、ルートキットのサンプルが必要です。しかし、コンピュータの歴史の本にも見られるような古いパケットストームのようなものではありません。私はそれについて多くのことを読み、phrack やその他のリソースでルートキットを実装するいくつかの新しい方法を見てきました。それらから PoC ルートキットを実装するだけでもかなりの時間がかかり、それまでにプロジェクトの開始点にたどり着くことができます。
誰かがこれで私を助けることができれば、それは大歓迎です. 任意のサイト、ftp、侵害されたシステム、未知のルートキット ライブラリなど、私の作品のサンプルになりそうなものは何でも歓迎します。しかし、これを念頭に置いて、私が必要としているのはLinux カーネル ルートキットです。任意のタイプ、LKM、システム コール フック、オブジェクト フック、system.map /dev/mem 作業内容
ありがとう
ps新しいルートキットによる私は、報告されていない、またはニュース全体のルートキットのようにという意味ではありません.ubuntu 10.04以降で動作するものは素晴らしいでしょう(カーネルバージョン2.6.32+)