有什么方法可以阻止进程在 Linux / Debian 中反复运行吗?这是潜在的安全威胁

有什么方法可以阻止进程在 Linux / Debian 中反复运行吗?这是潜在的安全威胁

我认为我的 VPS 被黑了 - 有多个curl 进程实例在运行并指向某个 IP 地址的 Jpg 文件。如何阻止该进程一遍又一遍地创建?

有多个这样的进程同时运行,删除其中一个进程不会删除另一个进程。我尝试删除所有内容,但它们被重新创建。

答案1

如果某个进程正在生成进程,请杀死该进程(不仅仅是那些进程)。

如果我运行ps -ef,我会得到在我的机器上运行的进程列表。我只包含了我感兴趣的过程如下:

$ ps -ef --forest
UID          PID    PPID  C STIME TTY          TIME CMD
...
stew      909382       1  0 08:36 ?        00:00:00 /bin/sh -c i3-sensible-terminal
stew      909383  909382  0 08:36 ?        00:00:04  \_ x-terminal-emulator
stew      909386  909383  0 08:36 pts/0    00:00:00      \_ /bin/bash
stew      910033  909386  0 08:46 pts/0    00:00:00          \_ curl https://unix.stackexchange.com/questions/712603/is-there-any-way
stew      910034  909386  0 08:46 pts/0    00:00:00          \_ ps -ef --forest

确实curl正在运行(我自己启动的)。在这里我可以看到:

  • CMD:我知道 的命令行参数curl。这可能包括您发送数据或获取指令的位置的 URL 或 IP。您也可能是 DDOS 的一部分,在这种情况下,这就是受害者的信息。
  • PPID:这是启动的父进程curl。就我而言,这是 909386。
  • UIDstew。这是一个非特权用户,所以我的整个系统似乎没有受到损害,只有该用户受到损害。

如果我跟踪 PPID 链,我可以看到它是通过 bash 运行的,bash 在我的桌面环境的终端中运行。这些都不奇怪,这就是我所做的。

找出curlPPID 是什么,并沿着该链进行跟踪,直到找出主要流程。这可能是合法程序的一部分。

如果您看到 PPID 属于sshd,则表明此人主动登录到您的计算机。更改密码和清除授权密钥是必要的。

如果您发现这是来自 systemd 服务,您可以查看该服务实际应该执行的操作,并在必要时禁用它。

答案2

虽然我尝试过 ps、ss 和其他相关命令,但它们可以显示独立的curl 命令正在运行。没有父子进程。

黑客所做的是 - 它使用 Apache Web 服务器的 www-data 用户每分钟运行一次 cron 作业。一旦我杀死了那个 cron 作业和其余正在运行的受损的卷曲进程,就不会创建新的进程。

虽然我已经删除了该 VPS 实例,但请分享一下可以采取哪些其他措施来防止此类情况发生。

相关内容