记一次阿里云被入侵的办理方案(小白攻略接待大佬辅导) ...

打印 上一主题 下一主题

主题 226|帖子 226|积分 678

目录

前言:
寻找挖矿历程之旅:
我的处理思路:


前言:

故事就发生在2022年11月23日,一个惬意的下午。我不知怎的忽然想在企业网络环境下通过我的Xshell7 毗连我的阿里云ESC服务器。趁便检查一下我1年前自己搭的小破站是否还健在(域名备案失效了,我本想去检查一下服务在不在跑)。结果Xshell死活毗连不上,通过阿里云官网实例提供的长途毗连可以正常访问。我嗖的一下从座位上站了起来,很快啊。映入眼帘的error:10053,引发了我想要办理它的冲动,防火墙,安全组,selinux ,ssh端口,sshd服务是否在跑,用户名密码是否准确。这些就是我脑筋里的第一反应,毕竟用ssh毗连阿里云我早就轻车熟路了。然而实际是暴虐的,这些都不是问题的所在。但我却为下一位来宾默默的关闭了防火墙等一系列安全措施。csdn上关于这个报错也有很多攻略,发现根本没一个恰当我这种环境,改ssh端口,修改什么配置文件都实验了一圈依然无果。我最后果断的联系了阿里云的客服小姐姐,提交了工单。最后工程师让我用移动热点测试一下,一语中的,果然可以。那不就是网络问题,我由于一开始通过网页可以毗连云服务器就大意了,认为网络肯定没问题。其实我忽略了一个东西,网页毗连云服务器跟Xshell毗连云服务器用到的协议跟端口都是不一样的,虽然我毗连的主机跟云ESC都没问题。但是企业的防火墙上会不会做了某种限制呢。我想这就是问题所在。连上之后恣意撸了一眼就草草竣事了。时间来到了第二天,开始进入正题,阿里云官方给我打了个电话告诉我您的ESC存在挖矿行为,请尽快整改,否则就闭门大吉。

 


寻找挖矿历程之旅:

接下来,我就开始了寻找挖矿历程之旅。先top一下看看资源使用环境

我勒个去,什么鬼东西都把我cpu跑满了。记下PID为15647的历程,先杀为敬。(人狠话还多)
  1. [root@WZY666 ~]# kill -9 15647
复制代码
找与历程相干的文件
  1. [root@WZY666 ~]# find / -name "kswapd0"
  2. /home/wzy/.configrc2/a/kswapd0
  3. /tmp/.X25-unix/.rsync/a/kswapd0
复制代码
分别去看一下内里有些什么东西(肯定要加-a 参数因为有些是隐藏文件)

 看我发现了啥,定时任务文件cron.d 进去撸一眼
  1. 1 1 */2 * * /home/wzy/.configrc2/a/upd>/dev/null 2>&1
  2. @reboot /home/wzy/.configrc2/a/upd>/dev/null 2>&1
  3. 5 8 * * 0 /home/wzy/.configrc2/b/sync>/dev/null 2>&1
  4. @reboot /home/wzy/.configrc2/b/sync>/dev/null 2>&1
  5. 0 0 */3 * * /tmp/.X25-unix/.rsync/c/aptitude>/dev/null 2>&1
复制代码
说说我自己的明白(不肯定准确)
第一个任务是执行upd脚本,每两天的1点零1分执行,将输出信息重定向全部抛弃掉,不会在终端显示。第二个任务是每天8点零5分执行sync脚本,输出信息重定向到null中。
第三个任务是每3天零点零分执行aptitude脚本。所有脚本执行完后都会进行一次重启,而且将脚本的所有输出信息定向到/dev/null里。接下去看一下所有执行的脚本
  1. [root@WZY666 .configrc2]# cat a/upd
  2. #!/bin/sh
  3. cd /home/wzy/.configrc2/a
  4. if test -r /home/wzy/.configrc2/a/bash.pid; then
  5. pid=$(cat /home/wzy/.configrc2/a/bash.pid)
  6. if $(kill -CHLD $pid >/dev/null 2>&1)
  7. then
  8. exit 0
  9. fi
  10. fi
  11. ./run &>/dev/null
  12. [root@WZY666 .configrc2]# cat b/sync
  13. #!/bin/sh
  14. cd /home/wzy/.configrc2/b
  15. ./run
  16. [root@WZY666 .configrc2]# cat /tmp/.X25-unix/.rsync/c/aptitude
  17. #!/bin/sh
  18. cd /tmp/.X25-unix/.rsync/c
  19. ./run &>/dev/null
复制代码
不难看出三个脚本都是进入某个目录下运行run这个脚本。所以接着去找对应的run脚本
第一个定时任务对应的run脚本。很显着就是判断主机是32位照旧64位,然后分别执行对应的步伐。假如是32位执行anacron ,假如是64位执行kswapd0 。这与我之前发现的挖矿历程正好匹配。

第二个定时任务对应的run脚本。这个脚本有部分内容我也看不懂,看着像是删除ssh毗连的记载,创建属于自己的登录密钥,感觉可以实现直接用密钥对登录主机的操作。即使你将来改变了密码,它照样能通过这种方法登录进来(纯个人明白,要有大佬懂可以在下方评论)


 第三个定时任务,统计主机cpu具体型号信息和核数,然后根据核心数判断该执行那种脚本。我这边只有1核心,满足$PR -lt 7 这种环境,所以会先执行./stop脚本再执行./go 脚本
 

 

 接着看stop脚本和go脚本

上图就是stop脚本,看着就是杀各种历程。


 go脚本,配置脚本执行路径后扫除毗连过的记载信息。感觉就是事变干完把卫生扫除干净,让人误以为没人进来过。到这边整一套挖矿的步伐调用逻辑根本清晰了,接下来就是去办理问题。
我的处理思路:

1.查看sshd的登录毗连日记 /var/log/secure
不看不知道,一看吓一跳很好的形貌了我当时的心情

从这部分日记可以看出对方应该在用爆破字典之类的脚本对我的root用户,疯狂的实验毗连。 

此时脚本已经在用admin用户开始新的一轮爆破 。还有huawei、ubuntu、test等诸多用户名从毗连测试,ip也开始变化起来。这里不在细说,直接放被爆破的毗连吧。

以前图方便给wzy这个用户设了一个123456的密码,现在傻眼了。
2.查看所有用户 /home 和 /etc/passwd(找出所有异常的用户并删除)
由于wzy这个用户已经被入侵过了,各人可以先把内里重要的内容备份一下。然后把这个用户彻底删除。命令我汇总一下
  1. userdel -r  要删除的用户名 ,(-r 参数会把这个用户的目录全部删掉,重要的先备份)
  2. kill -9 PID   杀进程 (若用户有进程正在使用,是无法删除用户的)
复制代码

 为了删除这个用户,我连删了好几个历程。各人以后可以先看一眼这些历程后运行的是什么脚本
 3.删除/tmp文件下相干的内容
  1. ls -alt  (-a 展示所有隐藏文件 -l 文件详细信息  -t 按时间从近到远 )
复制代码

 把可疑的文件都删了(内里的up.txt就是我被爆破的用户名和密码,得知23号下午4点15分就已经被入侵了)

4.检查一下所有的定时任务(十分有须要)

 这内里的内容都发起去检查一遍,尤其是11月23日以后的
5.防火墙,selinux全部设为开机自启动,安全组把ssh端口给禁用了,以后要用到再开。着实想用就修改默认端口号。
  1. systemctl start firewalld
  2. systemctl status firewalld
  3. systemctl enable firewalld
复制代码
/etc/selinux/config

 安全组ssh端口禁用


6.其他发起安装一个杀毒软件检测一圈,重要的文件做异机备份,ssh添加ip白名单,登录毗连失败次数限制等操作都可以很好的规避,黑客的入侵操作。
今天先到这里吧,创作不易,接待点赞收藏转发。接待大佬们对文章中不准确的部分就行留言和补充。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

高级会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表