Linux Rootkit 回顾

Linux Rootkit 回顾

系统版本

Linux security 5.3.0-46-generic #38~18.04.1-Ubuntu SMP Tue Mar 31 04:17:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

代码仓库

1 基于系统调用的文件隐藏

1.1 sys_call_table的调用过程改了

现在找到idt之后,先要搜索do_syscall_64

然后再在do_syscall_64中搜索sys_call_table

1.2 写保护不能像以前一样直接写cr0了

解决方法

1.3 Syscall对于getdents的处理改了

1587555472400

所以,对应的代码中对于参数的处理也需要改

2 基于VFS的文件隐藏

fs/ext4/dir.c

1587555543932

include/linux/fs.h

1587555664756

fs/readdir.c

1587556032616

1587555874211

所以对于iterate的hook要换成iterate_shared

3 参考

信息安全课程15:rootkit(3)

https://elixir.bootlin.com/linux/v5.3/source/fs/readdir.c#L65

[Linux Rootkit系列三:实例详解 Rootkit 必备的基本功能](Linux Rootkit系列三:实例详解 Rootkit 必备的基本功能)