diff --git a/malware-tech_ref_and_memo.md b/malware-tech_ref_and_memo.md index b54254d..96eaf37 100644 --- a/malware-tech_ref_and_memo.md +++ b/malware-tech_ref_and_memo.md @@ -270,3 +270,31 @@ New-Object System.IO.Compression.DeflateStream([iO.mEmoRySTream] [sysTEM.ConVert - Web Shell等 - 様々なShell Backdoor(PHP/ASP)
[Shell Backdoor List - PHP / ASP Shell Backdoor List](https://www.kitploit.com/2020/01/shell-backdoor-list-php-asp-shell.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+PentestTools+%28PenTest+Tools%29) + +# rootkit +## LKM rootkit +- 動的にカーネルに組み込めるモジュールとして,LKM(Loadable Kernel Module)を利用 +- LKMを利用して,sys_call_tableの特定のカーネル関数のアドレスを任意のrootkitの機能を有した関数のアドレスへと書き換える +- システムコールが行われた際に本来とは異なるカーネル関数であるrootkitのカーネル関数が呼び出されることになる(システムコールフック) +- sys_call_tableへのアクセスは特権モードが必要であるためLKMを利用する +- rootkitの関数内で本来呼び出されるはずの正規のカーネル関数をあえて呼び出すことで,正規の処理を行っているように見せかけることができる +- /proc/modulesからの隠ぺいも可能 +- LKMについて + - init_module関数...カーネルにロードする際に最初に実行される関数,LKM rootkitではsys_calltableを書き換える処理を記載 + - clean_module関数...カーネルからアンロードする際に実行される関数,LKM rootkitではsys_call_tableを元に戻す処理を記載 +- LKMのロード +``` +insmod [lkm_name].ko +``` +- LKMのアンロード +``` +rmmod [lkm_name].ko +``` + +**ref:**
+- LKMのrootkitへの応用について
+[侵入者の不利な情報を隠すLKM rootkitの仕組み,2003](https://www.atmarkit.co.jp/fsecurity/rensai/rootkit03/rootkit02.html)
+- サンプルLKM rootkit
+[Linux Rootkit](https://github.com/nurupo/rootkit) +- サンプルLKM rootkitその2(developed using linux kernel version 4.4.13)
+[rootkit-kernel-module](https://github.com/croemheld/lkm-rootkit) \ No newline at end of file