2009-11-09 79 views
0

我认为我的服务器已被入侵,并且有很多perl进程正在运行。但是,我不知道它们是从哪个文件启动的,因此我可以删除它。我怎样才能找到这些信息?查找启动进程的文件

+0

清理之后,请考虑添加tripwire – 2009-11-09 22:31:00

回答

0

如果您运行命令“ps -ef”,您应该获得机器上运行的所有进程的列表。每个进程将有一个进程标识号(PID),并且还有一个父级 PID。找到违规流程(es)并检查其父母的PID。然后找到匹配PID的过程,它应该是你的罪魁祸首。

0

您可以检查符号链接/proc/pid/cwd,并从ps(1)检查ppid

0

我要做的第一件事就是查看父进程ID(PPID)。也就是说,如果PPID是1,那不会告诉你任何事情。

0

审计文件系统可以帮助看到here

pstree还可以帮助

1

如果您的系统被黑客入侵,你不能相信任何软件,甚至没有内核。格式化磁盘并重新安装所有内容。没有办法确定你已经清除了感染,因为你不能相信你会用来清理东西的工具。您不能将新工具复制到该框中,因为您不能信任SSH守护进程或/ bin/cp命令。任何东西 - ls,vi,ps,cat,dd等 - 都可能被替换为可以隐藏受感染文件的木马。

+0

如果您从新安装中挂载旧磁盘,则可以复制数据文件。检查您从中复制的任何文件,并确保不要运行从受感染系统复制的任何程序。 – 2009-12-10 04:18:46

0

尝试ls -l /proc/<pid>/exels -l /proc/<pid>/fd。我不记得Perl在程序启动后是否保持脚本文件打开,但是如果是这样,它将是进程的文件描述符之一。

但是,如果您的系统正在运行,请不要指望任何事情有意义。