应急响应-
应急响应
一、简介
1.什么是应急响应
应急响应就是在网络安全事件发生后,快速有效的采取行动,减少数据和系统的损伤。需要有一个完整的应急响应计划,包括应急预案、应急指挥中心、应急响应流程、应急演练等
2.事件级别
信息级:一些可能需要关注,但不需要立即采取行动的事件
低级:可能存在安全风险,但对系统、服务或数据的影响很小,需要适当行动,但不需要过分关注
中级:存在实际的安全风险,对系统、服务或数据可能会造成一定的影响,需要采取紧急行动
高级:存在严重的安全风险,可能会对系统、服务或数据产生重大影响,需要立即采取紧急行动,并按照事件响应计划进行应急处理
3.事件类型
应用安全:Webshell、网页篡改、网页挂马…
系统安全:勒索病毒、挖矿木马、远程后门…
网络安全:DDOS攻击、APR攻击、流量劫持…
数据安全:数据泄露、损坏、加密…
4.常见网站日志路径
windows
IIS
(
Internet Information Services
)
IIS
是
Windows
上的默认
Web
服务器,其日志文件默认存储在以下路径:
IIS 6.0
及更早版本:
C:\WINDOWS\system32\LogFiles\W3SVC[SiteID]\
IIS 7.0
及更高版本:
C:\inetpub\logs\LogFiles\W3SVC[SiteID]\
其中,
[SiteID]
是网站的标识符,通常是一个数字。
Apache HTTP Server
如果在
Windows
上安装了
Apache
,日志文件默认存储在安装目录下的
logs
文件夹中:
C:\Program Files (x86)\Apache Group\Apache2\logs\
或者
C:\Program Files\Apache Group\Apache2\logs\
具体路径取决于安装时选择的位置。
Linux 系统中的网站日志路径
Apache HTTP Server
在
Linux
上,
Apache
日志文件通常位于以下目录:
访问日志:
/var/log/apache2/access.log
或者
/var/log/httpd/access_log
错误日志:
/var/log/apache2/error.log
或
/var/log/httpd/error_log
不同的
Linux
发行版可能有不同的目录。例如,在
Debian/Ubuntu
上通常使用
/var/log/apache2/
,而在
Red
Hat/CentOS
上通常使用
/var/log/httpd/
。
Nginx
Nginx
是另一个流行的
Web
服务器,默认的日志文件路径如下:
访问日志:
/var/log/nginx/access.log
错误日志:
/var/log/nginx/error.log
二、实操
这里用到的是微信公众号知攻善防实验室的靶场
应急响应靶机训练-Web1
挑战内容
前景需要:
小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,并找来正在吃苕皮的hxd帮他分析,这是他的服务器系统,请你找出以下内容,并作为通关条件:
1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名(仅域名)
5.有实力的可以尝试着修复漏洞
环境搭建
这个不用多做说明.vmx就可以使用vmware打开了
相关账户密码
用户:administrator
密码:Zgsf@admin.com
解题
1. 攻击者的 shell 密码
开启虚拟机后可以在桌面上看到有一个小皮,那么shell密码应该是webshell的连接密码
还有一个解题程序
防火墙中有历史保护记录,这里还需要关闭病毒危险防护,不然找到的后门脚本会被防火墙删掉
找到小皮的网站根目录,然后上传一个D盾扫描这个目录,成功找到漏洞
右键查看文件,发现冰蝎默认连接密码rebeyond,这是一个冰蝎的webshell脚本
2.攻击者的IP地址
攻击者既然上传了webshell文件,那么web日志里应该有相应的操作日志
刚刚扫到的那个shell肯定就是攻击者做的,那么就知道ip是192.168.126.1
3.攻击者的隐藏账户名称
可以去计算机管理中查看本地用户
这个就是隐藏账户hack168$
4.攻击者挖矿程序的矿池域名
找到攻击者的的挖矿程序
net user hack168$ 123456cyy@
去hack168$账户去查看黑客在他创建的账户里进行了什么操作(现在这个账户是管理员有权更改hack168$的密码,密码复杂度有要求)
按
win+L
在虚拟机的选项卡里发送请求ctrl+alt+insert(Windows本机中是delete)请求,切换到hack168$
可以看到桌面有一个叫kuang的可执行文件,是用python的pyinstaller打包成的exe文件,要找到矿池的域名,需要对这个python的打包出来的exe文件进行反编译,去看里面的源码
反编译python程序
python的exe文件反编译要用到pyinstxtractor.py文件和pycdc.exe文件
这里有对应的工具,
接下来把挖矿程序
Kuang
放到pyinstxtractor.py同一目录下运行(本机)
python .\pyinstxtractor.py .\Kuang.exe
在文件夹下找到同名文件,修改后缀,为kuang.pyc找到在线工具
这样就找到了矿池域名wakuang.zhigongshanfang.top
应急响应靶机训练-Web2
挑战内容
前景需要:小李在某单位驻场值守,深夜12点,甲方已经回家了,小李刚偷偷摸鱼后,发现安全设备有告警,于是立刻停掉了机器开始排查。
这是他的服务器系统,请你找出以下内容,并作为通关条件:
1.攻击者的IP地址(两个)?
2.攻击者的webshell文件名?
3.攻击者的webshell密码?
4.攻击者的伪QQ号?
5.攻击者的伪服务器IP地址?
6.攻击者的服务器端口?
7.攻击者是如何入侵的(选择题)?
8.攻击者的隐藏用户名?
环境搭建
相关账户密码
用户:administrator
密码:Zgsf@qq.com
解题
1.攻击者的IP地址(两个)?
同样在桌面上可以看到有小皮
同样用D盾扫描一下根目录
找到后门system.php,是个webshell,那么就需要去查看日志
这里找到第一个攻击者ip为192.168.126.135,其他ip都是一样的
这里需要先下载一个
这样就知道另外一个ip是192.168.126.129
2.攻击者的webshell文件名?
这个刚刚扫描的时候就看到了是system.php
3.攻击者的webshell密码?
查看syste.php文件,可以看到密码是hack6618
4.攻击者的伪QQ号?
快速访问中可以看到有frp,有代理
往上级文件夹找了一下,发现这个应该就是伪qq号,777888999321
5.攻击者的伪服务器IP地址?
找到代理的frpc(frp客户端组件,将本地服务通过frp暴露到外网),所以是256.256.66.88
6.攻击者的服务器端口?
上面找到ip时就显示了是65536
7.攻击者是如何入侵的(选择题)?
这个上面也说了用了frp
8.攻击者的隐藏用户名?
同样在计算机管理中可以找到(这里不是影子账户可以直接看到,影子账户需要通过注册表或者工具才能找到),hack887$
应急响应靶机训练-Web3
挑战内容
前景需要:小苕在省护值守中,在灵机一动情况下把设备停掉了,甲方问:为什么要停设备?小苕说:我第六感告诉我,这机器可能被黑了。
这是他的服务器,请你找出以下内容作为通关条件:
1.攻击者的两个IP地址
2.隐藏用户名称
3.黑客遗留下的flag【3个】
本虚拟机的考点不在隐藏用户以及ip地址,仔细找找把。
环境搭建
相关账户密码:
账户:administrator
密码:xj@123456
解题
1.攻击者的两个IP地址
桌面打开看到小皮
用D盾扫描小皮的根目录,会发现两个shell
查看日志,可以找到第一个ip是192.168.75.129
浏览一下可以找到第二个ip是192.168.75.130
2.隐藏用户名称
其实刚刚登录的时候就在左下角看到了,现在也可以通过计算机管理查看用户
可以看到是hack6618$
3.黑客遗留下的flag【3个】
在快速访问的这个文件夹中只找到了对应时间的保存的日志,不知道有没有用,先去看看隐藏账号有没有什么东西吧
先用这台电脑的管理员权限修改密码,登录后发现有个小皮
进去可以看到有两个最近使用文件,打开后可以看到第一个flag是flag{888666abc}
看看有没有自启动项或者计划任务,发现有flag字样
找到的第二个flag为flag{zgsfsys@sec},最后一个没什么思路了,看了wp,打开小皮
启动服务并打开网站
这里应该是要登录后台才能查看flag,但是没有密码啊,可以看到是Z-Blog,搜索后可以发现下载一个 就可以了
但是没有vmtools,所以就选择在虚拟机上下载,然后放到根目录
然后访问nologin.php,选择重置后登录管理员admin看看
在用户管理中找到Hacker,可以看到第三个flag为flag{H@CK@sec}
应急响应靶机训练-Linux1
挑战内容
前景需要:小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我!!
找出以下内容作为通关条件:
1.黑客的IP地址
2.遗留下的三个flag
环境搭建
相关账户密码:
用户:defend/defend
密码:root/defend
解题
1.黑客的IP地址
用ifconfig查看本机ip
lastb
可以看到192.168.75.192多次进行ssh登录
补充:
Linux中使用lastb可以读取名称为btmp的日志,记录着登入失败的用户
cat /var/log/secure
查看系统安全日志可以发现192.168.75.129成功登录记录
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
查询存在爆破记录的IP,可以看到192.168.75.129进行了91次爆破,所以黑客ip肯定就是192.168.75.129
2.遗留下的三个flag
用history查看历史执行命令可以发现第一个flag是flag{thisismybady}
cat /etc/rc.d/rc.local
在history中可以看到rc.local开机自启配置文件被编辑过,然后查看文件内容,找到第二个flag是flag{kfcvme50}
cat /etc/passwd
查看是否存在可以用户,发现最后存在一个redis用户,说明服务器存在redis服务
ps -ef | grep redis
测试一下看看确实是存在的
netstat -anltup
查看网络接口,可以看到6379端口未开放
补充;
Redis 默认监听的是 TCP 的 6379 端口
redis-server
运行redis服务,发现存在redis未授权访问
补充:
Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:
- 基于内存运行,性能高效
- 支持分布式,理论上可以无限扩展
- key-value存储系统
- 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
cat /var/log/redis/redis.log | grep Acc
查看redis连接日志,攻击者应该是通过redis未授权进入
cd /root/.ssh
ls
cat authorized_keys
查看/root/.ssh是否被写入密钥,那么现在知道攻击者就是通过redis未授权写入ssh密钥进行登录
cat /etc/redis.conf
查看redis配置文件,发现第三个flag是flag{P@ssWord_redis}
应急响应靶机训练-Linux2
挑战内容
前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!!
1,提交攻击者IP
2,提交攻击者修改的管理员密码(明文)
3,提交第一次Webshell的连接URL( 只需要提交abcdefg?abcdefg)
3,提交Webshell连接密码
4,提交数据包的flag1
5,提交攻击者使用的后续上传的木马文件名称
6,提交攻击者隐藏的flag2
7,提交攻击者隐藏的flag3
环境搭建
相关账户密码:
用户:root
密码:Inch@957821.