我认为我的服务器已被入侵,并且有很多perl进程正在运行。但是,我不知道它们是从哪个文件启动的,因此我可以删除它。我怎样才能找到这些信息?查找启动进程的文件
回答
如果您运行命令“ps -ef”,您应该获得机器上运行的所有进程的列表。每个进程将有一个进程标识号(PID),并且还有一个父级 PID。找到违规流程(es)并检查其父母的PID。然后找到匹配PID的过程,它应该是你的罪魁祸首。
您可以检查符号链接/proc/pid/cwd
,并从ps(1)
检查ppid
。
我要做的第一件事就是查看父进程ID(PPID)。也就是说,如果PPID是1,那不会告诉你任何事情。
审计文件系统可以帮助看到here
pstree
还可以帮助
如果您的系统被黑客入侵,你不能相信任何软件,甚至没有内核。格式化磁盘并重新安装所有内容。没有办法确定你已经清除了感染,因为你不能相信你会用来清理东西的工具。您不能将新工具复制到该框中,因为您不能信任SSH守护进程或/ bin/cp命令。任何东西 - ls,vi,ps,cat,dd等 - 都可能被替换为可以隐藏受感染文件的木马。
如果您从新安装中挂载旧磁盘,则可以复制数据文件。检查您从中复制的任何文件,并确保不要运行从受感染系统复制的任何程序。 – 2009-12-10 04:18:46
尝试ls -l /proc/<pid>/exe
或ls -l /proc/<pid>/fd
。我不记得Perl在程序启动后是否保持脚本文件打开,但是如果是这样,它将是进程的文件描述符之一。
但是,如果您的系统正在运行,请不要指望任何事情有意义。
- 1. 用Windows启动过程启动一个进程(找不到支持文件)
- 2. 在java中启动单独进程,无法找到.png文件
- 3. 启动进程不能删除文件
- 4. 查找进程的PID在启动的时候在Windows
- 5. 无论应用程序如何启动,查找conf文件
- 6. 启动进程
- 7. 查找命令行选项一个进程启动与
- 8. 使用弹簧启动和活动时找不到进程文件夹
- 9. 查杀未知启动守护进程
- 10. Appinventor - 查找启动图标/启动appinventor
- 11. 如何查找从哪个应用程序启动的cmd.exe进程ID?
- 12. Eclipse进程启动
- 13. C++启动失败。未找到二进制文件
- 14. Eclipse mac osx:启动失败,未找到二进制文件
- 15. Docker - 进程不在启动时启动
- 16. 动态查找文件
- 17. 的Python - 启动一个进程从主PY文件
- 18. 在批处理文件的新窗口中启动进程
- 19. 查找锁定文件的进程的PID
- 20. 从C++进程启动Java进程
- 21. 根据后台进程启动进程
- 22. 在内核例程中查找进程时间占进程启动以来所用时间的百分比
- 23. 使用python在windows 8中查找启动文件夹
- 24. 启动服务时未找到文件
- 25. 启动前检查远程计算机上的进程
- 26. Laravel \ Symfony进程组件未能启动新进程
- 27. 进程启动和假冒
- 28. 从Java启动Cygwin进程
- 29. C#等待进程启动
- 30. 进程启动限制
清理之后,请考虑添加tripwire – 2009-11-09 22:31:00