在过去的几天里,我一直在我们的一台服务器中观察到奇怪的进程。大多数时候我会看到多个可执行文件实例10
,有时4
会占用大量 CPU 资源。当检查这个时,我发现该进程是在使用可执行文件启动进程后立即由 cron 启动的cpu_hu
。这显然对我的系统来说是陌生的,简单的搜索没有解决任何问题。
然后检查cpu_hu
进程,检查 exe 位置,然后相应地删除(图像中的位置指向我们团队正在开发的一个小项目的 venv)
即使我删除了二进制文件,重新启动后它也会出现在不同的位置
和可执行文件10
,4
从内存启动(没有物理可执行位置)
我cpu_hu
从系统的所有位置删除了二进制文件,停止了进程并重新启动,但一段时间后cpu_hu
二进制文件出现在其他地方。现在我已经停止了 crond 并杀死了相应的进程。这似乎阻止了这个过程再次开始。
此时我很确定它是恶意的。我怎样才能摆脱这个问题,或者更确切地说找到这个恶意软件的起点以防止它启动。
(根据OP的评论重写)
似乎
cpu_hu
以 user 身份执行postgres
,这表明它可能是通过使用 PostgreSQL 数据库引擎或其配置中的弱点来启动的。也许您的 PostgreSQL 数据库可以通过互联网访问,而您的数据库管理员密码不存在或很弱?
或者您是以用户身份运行您的项目
postgres
吗?这是一个坏主意:项目使用的任何组件(例如 Django)中的漏洞将允许他们注入 SQL 命令,然后他们将获得对数据库引擎的“本地管理员”访问权限,并允许他们窃取或破坏所有内容由该数据库引擎管理的数据,不仅限于您项目的数据库。数据库管理员访问权限还包括以数据库引擎用户身份运行任意操作系统命令的权限。否则,列出项目中使用的每个软件组件及其版本,然后开始搜索这些版本中的已知漏洞。
如果在没有互联网连接的情况下重新启动系统,恶意软件进程是否会出现?如果它们这样做,则说明本地持久性恶意软件隐藏在某处。如果不是,感染可能是非持久性的,并且您的系统一启动就可能会被另一台计算机重新感染。