早上一早起来收到腾讯云的告警短信

【腾讯云】尊敬的腾讯云用户,您好!您的腾讯云账号(账号ID:liups.com,昵称:liups.com)下的服务器:10.a.b.c [CentOS-liups],实例ID:liups-lhmlsc6j,地域:华南地区 (广州),时间:2022-03-19 03:38:42,检测到其密码被(来源IP:1.116.36.133, 来源地:中国:上海市:上海市)的机器破解成功,尝试次数:51次,阻断状态:未阻断。请即刻前往主机安全控制台查看详细信息。

我的乖乖,刚开通的云主机特么的被入侵了,想起来刚在上面创建了 oracle 用户,密码是个弱密码就被扫描到了。反正是测试主机,我就看看攻破我的主机在上面搞了什么小动作吧。

三下五除二登录服务器,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@liups oracle]# cd /home/oracle/
[root@liups oracle]# ll
total 4
-rwxr-xr-x 1 root root 518 Mar 18 21:54 dbca_20220318215358.sh
[root@liups oracle]# ls -la
total 52
drwx------ 6 oracle oinstall 4096 Mar 19 03:39 .
drwxr-xr-x. 5 root root 4096 Mar 18 21:37 ..
-rw------- 1 oracle oinstall 0 Mar 19 03:39 .bash_history
-rw-r--r-- 1 oracle oinstall 18 Apr 1 2020 .bash_logout
-rw-r--r-- 1 oracle oinstall 825 Mar 18 21:37 .bash_profile
-rw-r--r-- 1 oracle oinstall 231 Apr 1 2020 .bashrc
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .cache
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .config
-rwxr-xr-x 1 root root 518 Mar 18 21:54 dbca_20220318215358.sh
-rw-r--r-- 1 oracle oinstall 172 Nov 25 00:37 .kshrc
drwxr----- 3 oracle oinstall 4096 Mar 19 03:39 .pki
drwx------ 2 oracle oinstall 4096 Mar 18 22:00 .ssh
-rw------- 1 oracle oinstall 6085 Mar 18 22:12 .viminfo

发现多了个 .pki 的文件夹,可以看到这个文件夹也是异常登录时间产生的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@liups oracle]# top
top - 06:01:38 up 14:29, 1 user, load average: 0.13, 0.22, 0.29
Tasks: 139 total, 2 running, 137 sleeping, 0 stopped, 0 zombie
%Cpu(s): 15.6 us, 6.2 sy, 0.0 ni, 78.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3880172 total, 130008 free, 1831100 used, 1919064 buff/cache
KiB Swap: 6143996 total, 5322660 free, 821336 used. 877032 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28343 oracle 20 0 780196 119308 3120 R 33.3 3.1 29:56.95 mysqld
1 root 20 0 125660 3264 2092 S 0.0 0.1 0:08.00 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:02.19 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.19 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:20.84 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:00.12 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 0:00.10 watchdog/1

发现多了 oracle 用户跑的 mysqld 进程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[root@liups oracle]# ps -ef |grep 28343
oracle 28343 1 21 03:39 ? 00:30:05 ./mysqld
root 32730 32328 0 06:01 pts/0 00:00:00 grep --color=auto 28343
[root@liups oracle]# ls -al
total 52
drwx------ 6 oracle oinstall 4096 Mar 19 03:39 .
drwxr-xr-x. 5 root root 4096 Mar 18 21:37 ..
-rw------- 1 oracle oinstall 0 Mar 19 03:39 .bash_history
-rw-r--r-- 1 oracle oinstall 18 Apr 1 2020 .bash_logout
-rw-r--r-- 1 oracle oinstall 825 Mar 18 21:37 .bash_profile
-rw-r--r-- 1 oracle oinstall 231 Apr 1 2020 .bashrc
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .cache
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .config
-rwxr-xr-x 1 root root 518 Mar 18 21:54 dbca_20220318215358.sh
-rw-r--r-- 1 oracle oinstall 172 Nov 25 00:37 .kshrc
drwxr----- 3 oracle oinstall 4096 Mar 19 03:39 .pki
drwx------ 2 oracle oinstall 4096 Mar 18 22:00 .ssh
-rw------- 1 oracle oinstall 6085 Mar 18 22:12 .viminfo
[root@liups oracle]# pwd
/home/oracle
[root@liups oracle]# cd .pki/
[root@liups .pki]]# ls -al
total 12
drwxr----- 3 oracle oinstall 4096 Mar 19 03:39 .
drwx------ 6 oracle oinstall 4096 Mar 19 03:39 ..
drwxr----- 2 oracle oinstall 4096 Mar 19 03:39 nssdb
[root@liups oracle]# cd nssdb/
[root@liups nssdb]# ls -al
total 8
drwxr----- 2 oracle oinstall 4096 Mar 19 03:39 .
drwxr----- 3 oracle oinstall 4096 Mar 19 03:39 ..
[root@liups .pki]# su - oracle
Last login: Fri Mar 18 22:05:55 CST 2022 on pts/2
Last failed login: Sat Mar 19 03:37:27 CST 2022 from 1.116.36.133 on ssh:notty
There were 2 failed login attempts since the last successful login.
oracle@liups:/home/oracle $history
1 2022-03-19 06:02:24 history
oracle@liups:/home/oracle $w
06:02:27 up 14:30, 1 user, load average: 0.22, 0.22, 0.28
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.12.11 06:00 3.00s 0.07s 0.05s -bash

这就有点意思了,history 和 被创建的文件夹 .pki 里面都没有信息。

su - oracle 切换到 oracle 用户的时候有一条告警登录失败的信息

1
2
Last failed login: Sat Mar 19 03:37:27 CST 2022 from 1.116.36.133 on ssh:notty
There were 2 failed login attempts since the last successful login.

查找 mysqld 文件

1
2
3
4
[root@liups .pki]# updatedb
[root@liups .pki]# locate mysqld
[root@liups .pki]# cd
[root@liups ~]# locate mysqld

查找 mysqld 没有结果,平常我都是采用 updatedb 然后 locae 查找文件,这样速度快一些,既然查不到结果,那就再用 find 试一下。

1
[root@liups ~]# find / -name "mysqld"

仍然没有结果,我想肯定是是删除了嘎, 心想这个黑客感觉有点傻,删除了虽然现在脚本可以运行,但是被发现了通过 kill或者重启主机也是无法运行了的,这里想到了定时任务,查看crontab -l

1
2
oracle@liups:/home/oracle $crontab -l
no crontab for oracle

也没有结果。

执行lsof 查看

1
2
3
4
5
6
7
[root@liups ~]# lsof | grep deleted
mysqld 28343 oracle txt REG 253,1 5001216 656437 /home/oracle/mysqld (deleted)
mysqld 28343 oracle 1w REG 253,1 31 656438 /home/oracle/mysqllogs (deleted)
mysqld 28343 oracle 2w REG 253,1 31 656438 /home/oracle/mysqllogs (deleted)

^C
[root@liups ~]#

哈哈,果然是被删除了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[root@liups ~]#cd /proc/28343/fd/
[root@liups ~]#ls -l
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 963 -> socket:[5314429]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 964 -> socket:[5317669]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 965 -> socket:[5317783]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 966 -> socket:[5317643]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 967 -> socket:[5317652]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 968 -> socket:[5317177]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 969 -> socket:[5317142]
lrwx------ 1 oracle oinstall 64 Mar 19 05:33 97 -> socket:[5316339]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 970 -> socket:[5314555]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 971 -> socket:[5316303]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 972 -> socket:[5317805]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 973 -> socket:[5318775]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 974 -> socket:[5317825]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 975 -> socket:[5316510]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 976 -> socket:[5226654]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 977 -> socket:[5317814]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 978 -> socket:[5316573]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 979 -> socket:[5315553]
lrwx------ 1 oracle oinstall 64 Mar 19 05:33 98 -> socket:[5317434]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 980 -> socket:[5316928]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 981 -> socket:[5289721]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 982 -> socket:[5316980]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 983 -> socket:[5316491]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 984 -> socket:[5018272]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 985 -> socket:[5315655]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 986 -> socket:[5317701]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 987 -> socket:[5290690]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 988 -> socket:[5316555]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 989 -> socket:[5318771]
lrwx------ 1 oracle oinstall 64 Mar 19 05:33 99 -> socket:[5317328]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 990 -> socket:[5318783]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 991 -> socket:[5218358]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 992 -> socket:[5318826]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 993 -> socket:[5318718]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 994 -> socket:[5318716]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 995 -> socket:[5317459]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 996 -> socket:[5318982]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 997 -> socket:[5290721]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 998 -> socket:[5317468]
lrwx------ 1 oracle oinstall 64 Mar 19 05:34 999 -> socket:[5317594]

查看当前目录有一堆 socket 文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@liups fd]# ls -l|grep -v soc
total 0
lr-x------ 1 oracle oinstall 64 Mar 19 05:33 0 -> /dev/null
l-wx------ 1 oracle oinstall 64 Mar 19 05:33 1 -> /home/oracle/mysqllogs (deleted)
l-wx------ 1 oracle oinstall 64 Mar 19 05:33 2 -> /home/oracle/mysqllogs (deleted)
lrwx------ 1 oracle oinstall 64 Mar 19 05:33 3 -> anon_inode:[eventpoll]
lr-x------ 1 oracle oinstall 64 Mar 19 05:33 4 -> pipe:[1055407]
l-wx------ 1 oracle oinstall 64 Mar 19 05:33 5 -> pipe:[1055407]
[root@liups fd]# cd 1
-bash: cd: 1: Not a directory
[root@liups fd]# cat 1
Your MySQL connection id is 12
[root@liups fd]# cat 2
Your MySQL connection id is 12
[root@liups fd]# ps -ef |grep mysqld
root 17438 32328 0 06:49 pts/0 00:00:00 grep --color=auto mysqld
oracle 28343 1 21 03:39 ? 00:40:16 ./mysqld
[root@liups fd]# rpm -qa|grep mysql
[root@liups fd]#
[root@liups fd]# cd

只能看到 /home/oracle/mysqllogs (deleted) 但是看不到 mysqld 的信息。

想着安装个 extundelete 软件进行恢复一下呢。wget 了软件包,编译了下,缺少软件包,算了,不看这是什么东东(既然被删除了,攻击者都放弃了第二次运行的脚本,肯定是不想让我看到内容了),直接kill进程得了。之前遇到的被破解登录,都是部署了加密脚本和定时任务,脚本即使被看到也无法解密,可能这个脚本没有加密,不想让其他人看到吧。哈哈,这不失也是一个巧妙的办法,对linux 删除文件也不太熟悉,同时周末一大早,也不想折腾了。

kill 进程之后,mysqld进程没有再出现。

问题后续

1、重新安装os,启用密钥登录。
2、修改 ssh 22 号端口为其他不常用端口
3、启用腾讯云防火墙将 ssh 服务设置为固定ip 访问

本来腾讯云是默认开启密码登录的,为了安装 oracle 方便,新建的 oracle 是使用的密码登录,临时取消了ssh的密钥登录。

腾讯云的安全功能不错,这里推广下腾讯云,目前新春购活动持续进行,新老用户都有优惠。可以通过以下链接进行购买。我有返利哟。

【腾讯云】爆款2核2G云服务器首年40元

原文作者: liups.com

原文链接: http://liups.com/posts/3b7a04ab/

许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议