我和我的另一半有时会偏执地认为,通常与去年 Gmail 安全漏洞有关的外国政府可能会试图访问我们的计算机。
今晚有很多奇怪的进程以 root 身份运行,尽管我没有打开任何 root 终端。有人可以看看这些并告诉我,是或否,他们是否可疑,为什么或为什么不?
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 kthreadd
3 ? 00:00:01 ksoftirqd/0
6 ? 00:00:00 migration/0
7 ? 00:00:00 watchdog/0
13 ? 00:00:00 cpuset
14 ? 00:00:00 khelper
15 ? 00:00:00 netns
16 ? 00:00:00 sync_supers
17 ? 00:00:00 bdi-default
18 ? 00:00:00 kintegrityd
19 ? 00:00:00 kblockd
20 ? 00:00:00 kacpid
21 ? 00:00:00 kacpi_notify
22 ? 00:00:00 kacpi_hotplug
23 ? 00:00:00 kseriod
25 ? 00:00:00 kondemand
26 ? 00:00:00 khungtaskd
27 ? 00:00:03 kswapd0
28 ? 00:00:00 ksmd
29 ? 00:00:00 fsnotify_mark
30 ? 00:00:00 aio
31 ? 00:00:00 crypto
163 ? 00:00:00 khubd
164 ? 00:00:00 ata_sff
165 ? 00:00:00 scsi_eh_0
166 ? 00:00:00 scsi_eh_1
199 ? 00:00:00 usbhid_resumer
222 ? 00:00:00 kjournald
271 ? 00:00:00 udevd
442 ? 00:00:00 kpsmoused
446 ? 00:00:36 net.agent
450 ? 00:00:00 cfg80211
471 ? 00:00:00 hd-audio0
532 ? 00:00:36 net.agent
751 ? 00:00:02 kjournald
755 ? 00:00:00 kjournald
756 ? 00:00:00 kjournald
757 ? 00:00:01 kjournald
801 ? 00:00:00 flush-8:0
1035 ? 00:00:00 rsyslogd
1089 ? 00:00:00 modem-manager
1094 ? 00:00:01 polkitd
1114 ? 00:00:02 wpa_supplicant
1126 ? 00:00:00 gdm3
1137 ? 00:00:00 gdm-simple-slav
1141 tty7 00:20:11 Xorg
1146 ? 00:00:07 acpid
1169 ? 00:00:00 atd
1195 ? 00:00:00 bluetoothd
1209 ? 00:00:00 l2cap
1212 ? 00:00:00 krfcommd
1273 ? 00:00:00 cron
1303 ? 00:00:00 cupsd
1597 ? 00:00:07 kerneloops
1627 ? 00:00:00 kconservative
1631 ? 00:00:00 console-kit-dae
1771 ? 00:00:00 sshd
1800 tty1 00:00:00 getty
1801 tty2 00:00:00 getty
1802 tty3 00:00:00 getty
1803 tty4 00:00:00 getty
1804 tty5 00:00:00 getty
1805 tty6 00:00:00 getty
1852 ? 00:00:00 gdm-session-wor
1857 ? 00:00:15 upowerd
2017 ? 00:00:00 kauditd
2172 ? 00:00:02 udisks-daemon
2176 ? 00:00:00 udisks-daemon
3038 ? 00:00:00 udevd
3039 ? 00:00:00 udevd
3251 ? 00:00:00 NetworkManager
3440 ? 00:00:00 dhclient
5322 ? 00:00:00 kworker/u:2
6717 ? 00:00:00 sleep
6720 ? 00:00:00 sleep
13386 ? 00:00:00 kworker/1:2
21237 ? 00:00:02 kworker/0:2
24297 ? 00:00:11 kworker/1:1
27326 ? 00:00:02 kworker/0:1
29045 ? 00:00:01 kworker/u:0
30132 ? 00:00:00 migration/1
30134 ? 00:00:00 ksoftirqd/1
30135 ? 00:00:00 watchdog/1
30238 ? 00:00:48 irq/19-0000:01:
31245 ? 00:00:00 kworker/u:1
答案1
这是一个很长的清单,您肯定不希望我们逐行审查它吗?有许多进程以 root 身份运行是很正常的:unix 系统通常有一个进程来完成每一项工作,因此许多系统服务都有自己的进程。事实上,其中一些(例如所有/0
或/
(数字标识CPU),以及大多数以 开头的k
)是内核线程。
如果您担心有人控制您的机器,ps
这不是一个有用的工具。任何半途而废的 rootkit 都包含从进程列表中隐藏任何恶意进程的代码。即使恶意代码没有以 root 身份运行,因此无法更改内核报告,它也会将自己伪装成无害的东西,例如sh
.
是的,“体面”这个词在这里可能不合适。
答案2
根据进程名称评估进程是否恶意的想法至少已经过时了……好吧,已经过时很长时间了;)
假旗行动,有人吗?
- 感染者很可能将恶意代码附加/插入到任何二进制文件中
- 恶意二进制文件很可能与您通常认为无害的东西同名,并且您的列表给出了不知道关于文件系统中二进制文件的位置或其文件位。例如,至少应该检查 root 拥有的与这些进程之一相对应的 setuid 二进制文件......
- Rootkit 通常会尝试隐藏,因此它甚至不会出现在列表中
该列表并不详尽。此外,以超级用户权限运行恶意代码的系统不存在(技术)问题。说谎给你。
至少需要进行离线分析。如果您使用包管理器,则可以将预期位置的二进制文件与(签名)包中的哈希值进行比较。总的来说,除了众多的脚本之外,应该只留下一小部分二进制文件实际的二进制文件供您检查。但即使对于脚本,包中的脚本也会附带一个哈希值,您可以根据该哈希值检查二进制文件。
答案3
我在野外遇到的唯一 rootkit(很久以前在 Solaris 8 下)确实运行了密码嗅探器,作为“lpsched”进程。问题是它运行了其中两个(rootkit 中的错误)并将它们从“man lpsched”所说的不是 lpsched 所在的目录中运行。此外,“ps”已被木马控制,不会显示额外奇怪的 lpsched 进程,但 top 显示了它们。
如果您真的很担心,请查看 /proc 中的所有 PID。查看 /proc/$PID/exe 链接到的内容,了解可执行文件的实际位置。仔细检查可执行文件的位置应该为了活着。在以这种方式找到的所有目录上尝试“ls”,看看“ls”是否显示全部。 “ls”不显示目录是一个明确的暗示,表明出了问题。
如果任何特定进程看起来可疑,请获取 chkrootkit (http://www.chkrootkit.org/) 和 rootkit Hunter (http://www.chkrootkit.org/) 并尝试它们,看看是否发现任何东西。您必须意识到,有些 Rootkit 在野外漂浮,但从未被纳入那些 Rootkit 猎人中。