这次领导安排参加为期五天的攻防演练加应急演练,前期规划是三天攻防一天应急演练一天汇报,但由于两天挖的漏洞够甲方修复了,所以第三天就进行应急演练,主要还是公司大佬带,这次环境是基于这次演练进行的本地环境的复现,这次经历也让我收益匪浅,包括应急响应能力方面的提升,更甚至思维方式的深入,感觉大佬比甲方客户考虑的都周到真心佩服,这就是经验吧...
一、redis环境搭建
下载redis-6.0.9.tar.gz,放到目标服务器然后进行解压tar -zxvf redis-6.0.9.tar.gz

然后进行编译安装cd src && make install

修改redis的配置文件:vi redis.conf
修改监听为 0.0.0.0

最后启动redis服务:redis-server ./redis.conf[redis配置文件的位置]

二、redis未授权拿shell
使用redis-cli进行连接:redis-cli.exe -h 192.168.139.128 -p 6379
输入info,看服务器状态报告

然后使用Multiple_Database_Utilization_Tools拿shell
执行写入RSA公钥

再使用ssh工具进行连接,上传ssh私钥拿下shell

三、上传勒索病毒
将勒索病毒.sorry上传到目标服务器,添加执行权限执行



四、Linux环境应急排查
(一)打快照并隔离受害机器
应急响应的第一步建议先down掉网卡避免继续横向移动污染更多机器
# 关闭网卡
ip link set eth0 down
# 查看
ifconfig
攻击端失去控制权

(二)查看CPU占用和进程
top -s
(三)查看最近被修改的文件清除病毒脚本
# 找到病毒名称
ps -ef | grep <PID>
# 找到病毒所在目录
find / -name [病毒名称]
# 杀死病毒进程
kill -9 <PID>
# 查看最近被访问的文件
find /root -type f -amin -6000 -printf '%TY-%Tm-%Td %TH:%TM:%TS %p\n' | sort -r

(四)隐藏后门排查
1. 排查后门
# 排查网络服务
netstat -tlnp
# 查看所有监听端口和已建立链接
ss -antlp

2. 排查systemd服务
systemctl list-units --type=service --state=running
# 如有,清除指定服务

3. 排查定时任务
crontab -l
4. 排查自启动服务
systemctl list-unit-files --state=enabled
# 关闭指定服务
systemctl disable <服务名>
5.排查ssh授权公钥
ls /root/.ssh
cat /root/.ssh/authorized_keys
6.排查异常用户
awk -F: '$3==0 {print $1}' /etc/passwd
# 清除指定账户
usermod -L <用户名>
userdel -r <用户名>
在排查过程中,已经发现攻击者是通过ssh公钥进行连接拿到shell,在网络排查过程中也发现了redis为任意ip即可连接,现在查看redis配置文件看其是否存在未授权,如存在证实攻击链成立并进行加固操作。
编辑redis配置文件vi redis.conf



可以看到并没有设置密码,将其改成强密码

然后重启redis服务即可
这次应急演练就到这里结束了,这次攻击链简单但相对完整,甲方客户也很认真对待,也通过这次全流程操作流程让我对企业流程架构,服务人员工作有了更清晰的认识,也谢谢公司大佬这几天对我的照顾。
默认评论
Halo系统提供的评论