一次Linux服务器被***和删除***程序的经历

一次Linux服务器被***和删除***程序的经历,第1张

一次Linux服务器被***和删除***程序的经历

一、背景

晚上看到一个服务器运行流量非常高,和平时明显不一样。流量达到800Mbps。第一感觉就是***,被当成肉鸡,大量合同开出。

为了达到最佳性能,我们的服务器没有开启防火墙(iptables),但是在服务器前面有一个物理防火墙,机器都是端口映射,不是通用端口。按理说应该是充满安全感的。可能最近和***有缘吧,总会遇到。我也借此机会记录了发现过程。

二。发现和后续治疗

1。检查流程图并找到问题

查看的时候网页很卡,有时候甚至没有反应。

2。顶级动态观看流程

我马上远程登录了有问题的服务器,远程 *** 作很卡,网卡流量很大。通过top,我发现了一个占用资源比较高的异常进程。如果不仔细看,我还真以为是Web服务流程。

3。ps命令来检查进程的路径

我在/etc目录下找到了这个程序文件,是一个二进制程序。我复制了放在这篇文章附近给大家在虚拟机上学习,哈哈。

4。结束异常流程,继续跟踪

killall -9 nginx1 rm -f /etc/nginx1

进程被杀后流量立马下降,远程不卡。你以为删除程序文件,杀死异常进程就处理完了吗?想一想肯定没那么简单。这个是***啊,肯定会生成自己的程序文件(不出我所料,后来在我想通之前确实又生成了)。我们必须继续追踪它。

5。检查登录记录和安全日志文件

命令最后一次检查账户登录记录,一切正常。检查系统文件消息的时候没发现什么,但是检查安全文件的时候发现了异常。无论如何,它与认证有关。我应该尝试连接并控制合同吗?

6。ps再次检查流程

其实我第一次在ps的时候就有这个问题,只是当时没发现。第二次,我自学检查每个进程,通过寻找异常进程,发现了一个奇怪的ps进程。

我找了一台正常的机器,检查了ps命令的大小。正常的是81KB左右,但是这台机器上的ps高达1.2M命令文件一定被替换了。

然后我进入了另一个ps的目录,看到了下面的命令。然后我检查了系统的这些命令,发现它们都变得非常大,达到了1.2M。这些系统命令文件必须被替换。

7。发现更多异常文件

看了一次调度任务文件crontab也没发现什么,然后又看了一下系统启动文件rc.local,也没什么异常。然后我进了/etc/init.d目录,发现了一些奇怪的脚文件DbSecuritySpt和selinux。

从第一个文件可以看出他启动了异常文件,第二个文件应该和登录有关。具体的我不太清楚,但无论如何肯定有问题。

既然和登录有关,那就找和ssh有关的吧。我发现了下面的文件,这是一个隐藏文件。这也是一个***文件。先录下来,这样程序名都和我们的服务名很像,就是为了迷惑我们。他们的尺寸都是1.2M,可能是一档。

我看过***喜欢出现的目录/tmp,发现了那个异常文件。从名字上看,感觉好像是在监控***计划。

在这里,我觉得应该有很多替换命令,不是我们一个人可以解决的。我的建议是重装 *** 作系统,做好安全策略。如果不行,我下面给你我的方法,行不行还需要验证。

三。***手动清除

现在,一般步骤总结如下:

1。简单判断是否有***

#有无下列文件 cat /etc/rc.d/init.d/selinux cat /etc/rc.d/init.d/DbSecuritySpt ls /usr/bin/bsd-port ls /usr/bin/dpkgd #查看大小是否正常 ls -lh /bin/netstat ls -lh /bin/ps ls -lh /usr/sbin/lsof ls -lh /usr/sbin/ss

2。将以下命令上传到/root

ps netstat ss lsof

3。删除下列目录和文件

rm -rf /usr/bin/dpkgd (ps netstat lsof ss) rm -rf /usr/bin/bsd-port     #***程序 rm -f /usr/bin/.sshd         #***后门 rm -f /tmp/gates.lod rm -f /tmp/moni.lod rm -f /etc/rc.d/init.d/DbSecuritySpt(启动上述描述的那些***变种程序) rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt rm -f /etc/rc.d/init.d/selinux(默认是启动/usr/bin/bsd-port/getty) rm -f /etc/rc.d/rc1.d/S99selinux rm -f /etc/rc.d/rc2.d/S99selinux rm -f /etc/rc.d/rc3.d/S99selinux rm -f /etc/rc.d/rc4.d/S99selinux rm -f /etc/rc.d/rc5.d/S99selinux

4。找出异常程序并杀死

5。删除***命令重新安装(或者复制上传的正常程序)

我自己好像重装不了。我在找一个正常的机器复制命令。

#ps /root/chattr -i -a /bin/ps && rm /bin/ps -f yum reinstall procps -y 或 cp /root/ps /bin #netstat /root/chattr -i -a /bin/netstat && rm /bin/netstat -f yum reinstall net-tools -y 或 cp /root/netstat /bin #lsof /root/chattr -i -a /bin/lsof && rm /usr/sbin/lsof -f yum reinstall lsof -y 或 cp /root/lsof /usr/sbin #ss /root/chattr -i -a /usr/sbin/ss && rm /usr/sbin/ss -f yum -y reinstall iproute 或 cp /root/ss /usr/sbin

四。反病毒工具扫描

1。安装防病毒工具clamav

yum -y install clamav clamav-milter

2。启动服务

service clamd restart

3。更新病毒数据库

因为ClamAV不是最新版本,所以有报警信息。您可以忽略或升级最新版本。

[root@mobile ~]# freshclam  ClamAV update process started at Sun Jan 31 03:15:52 2016 WARNING: Can't query current.cvd.clamav.net WARNING: Invalid DNS reply. Falling back to HTTP mode. Reading CVD header (main.cvd): WARNING: main.cvd not found on remote server WARNING: Can't read main.cvd header from db.cn.clamav.net (IP: 185.100.64.62) Trying again in 5 secs... ClamAV update process started at Sun Jan 31 03:16:25 2016 WARNING: Can't query current.cvd.clamav.net WARNING: Invalid DNS reply. Falling back to HTTP mode. Reading CVD header (main.cvd): Trying host db.cn.clamav.net (200.236.31.1)... OK main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo) Reading CVD header (daily.cvd): OK (IMS) daily.cvd is up to date (version: 21325, sigs: 1824133, f-level: 63, builder: neo) Reading CVD header (bytecode.cvd): OK (IMS) bytecode.cvd is up to date (version: 271, sigs: 47, f-level: 63, builder: anvilleg)

4。扫描方法

可以使用clamscan-h查看相应的帮助信息。

clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log clamscan -r --remove /usr/bin/bsd-port clamscan -r --remove /usr/bin/

5。检查日志并找到

删除找到的命令并用正常命令替换它

附录:Linux。后门.盖茨.5

查询资料后,这个***应该是Linux。后门.Gates.5,并发现一个文件,其内容如下:

一些用户有一种根深蒂固的观念,认为目前还没有真正能威胁Linux内核 *** 作系统的恶意软件,但这种观念正面临越来越多的挑战。与4月相比,2014年5月,DoctorWeb公司的技术人员检测到的Linux恶意软件数量创下了新纪录。6月,一系列新的Linux***被添加到这些恶意软件的列表中,这个新的***家族被命名为Linux。后门,盖茨

这里描述的是一个***:Linux。后门。恶意软件家族Linux中的Gates.5。后门。Gates.5,结合了传统后门程序和DDoS*********的功能,用于感染32位Linux版本。根据它的特点,可以断定它是由和Linux一样的病毒组成的。DnsAmp和Linux。DDoS家族***。新***由两个功能模块组成:基础模块是一个后门程序,可以执行犯罪分子发出的指令,第二个模块在安装过程中保存到硬盘,用于DDoS***。Linux。BackDoor.Gates.5在运行过程中收集并向犯罪分子转发以下有关受感染计算机的信息:

  • CPU核心的数量(从/proc/cpuinfo中读取)。

  • CPU速度(从/proc/cpuinfo中读取)。

    CPU使用率(从/proc/stat中读取)。

    a门的 IP(从/proc/net/route读取)。

    a门的MAC地址(从/proc/net/arp读取)。

    网络接口信息(从/proc/net/dev中读取)。

    网络设备的MAC地址。

    内存(使用/proc/meminfo中的MemTotal参数)。

    发送和接收的数据量(从/proc/net/dev中读取)。

    *** 作系统名称和版本(通过调用uname命令)。

    启动后,Linux。BackDoor.Gates.5会检查其启动文件夹的路径,并根据检查的结果实现四种行为模式。

    如果后门程序可执行文件的路径与netstat、lsof、ps工具的路径不一致,***会伪装成守护进程在系统中启动,然后进行初始化,初始化过程中会对配置文件进行解压缩。配置文件包含****运行所必需的各种数据,如管理服务器的IP地址和端口、后门程序的安装参数等。

    根据配置文件中g_iGatsIsFx的参数值,***要么主动连接管理服务器,要么等待连接:安装成功后,后门程序会检测与其连接的站点的IP地址,然后将该站点作为命令服务器。

    ***在安装过程中检查文件/tmp/moni.lock。如果文件不是空,则读取其中的数据(PID进程)并“杀死”ID进程。然后是Linux。BackDoor.Gates.5会检查系统中是否启动了DDoS模块和后门自带的进程(如果启动了,这些进程也会被“杀死”)。如果在配置文件中设置了特殊标志g_iIsService,则通过在文件/etc/init.d//bin/bash中写入命令行#***\n<;path_to_backdoor>把自己设置成自启动,然后Linux。BackDoor.Gates.5创建以下符号链接:

    ln -s /etc/init.d/DbSecuritySpt /etc/rc1.d/S97DbSecuritySpt ln -s /etc/init.d/DbSecuritySpt /etc/rc2.d/S97DbSecuritySpt ln -s /etc/init.d/DbSecuritySpt /etc/rc3.d/S97DbSecuritySpt ln -s /etc/init.d/DbSecuritySpt /etc/rc4.d/S97DbSecuritySpt

    如果在配置文件中设置了标志g_bDoBackdoor,***也会尝试打开/root/。配置文件并检查其进程是否具有root权限。然后后门程序把自己复制到/usr/bin/bsd-port/getty中并启动。在安装的最后阶段,Linux。BackDoor.Gates.5再次在/usr/bin/文件夹中创建一个副本,将其命名为配置文件中设置的相应名称,并替换以下工具:

    /bin/netstat /bin/lsof /bin/ps /usr/bin/netstat /usr/bin/lsof /usr/bin/ps /usr/sbin/netstat /usr/sbin/lsof /usr/sbin/ps

    ***完成安装并开始调用基本功能。

    在执行另外两种算法时,***也会伪装成守护进程在被感染的电脑上启动,通过读取相应的来检查其组件是否启动。锁定文件(如果没有,启动组件),但在保存文件和注册自启动时使用不同的名称。

    连接到命令服务器设置后,Linux。BackDoor.Gates.5接收来自服务器的配置数据和僵尸计算机要完成的命令。根据犯罪分子的指令,***可以通过与指定IP地址的远程站点建立连接,实现自动更新,向指定IP地址和端口的远程站点发起或停止DDoS***,执行配置数据中包含的命令或执行其他命令。

    该后门程序的主要DDoS***目标是中国的服务器,但是,犯罪分子***目标也包括其他国家。下图显示了使用此**:
    的DDoS***的地理分布





    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zz/778971.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存