技战法——每年的玄学百科。
甲方觉得你写了就有分,你觉得这点屁分顶不住一条信息泄露。
今天废话少一点,来一篇实战技战法。写在前面:此篇技战法为up在hw中实际提交过并加了分的(非guohu哈),拆解步骤用于教学用,原文已适当删减。
一、**发现攻击告警**
xxxxx(具体时间)在xxx(安全设备)上发现SQL注入(这里以sql注入为例子)
1.1 *威胁情报查询*
- 通常网络攻击者的IP经过长时间的渗透测试、攻防演练等大量暴露后会被贴上恶意标签,可通过各种威胁情报网站查询到该攻击IP何时何地进行了何种攻击行为。下图为针对该攻击IP的威胁情报查询:
(不给图片了,大家自己看情况粘上去)
1.2 *域名反查*
- 作为后渗透种入木马等阶段时攻击者无法继续使用IP资源池或不定IP,而由于多种场景下的需要(例如域名解析测试、dns劫持等)该IP可能绑定了一个恶意域名,进行域名反差,查询解析记录、绑定信息等,可以获取到部分攻击者个人信息。
- 根据恶意域名类型、主域名归属,可以结合告警推测攻击者实际进行了何种形式的攻击,例如最近的Google域名漏洞、windows子域名钓鱼等。
- 查询结果:未发现该IP绑定域名记录。
(也不给图片了,大家自己看情况粘上去)
1.3 *端口开放查询*
- 作为反查手段之一在分析阶段的作用主要为判断是否存在扫描器、黑客工具等,由于大部分黑客工具有固定使用端口,可以作为参考之一。
- 查询记录:未发现异常端口开放、未发现http/https服务。
*二、**研判思路***
*2.1* *payload分析*
通过查询告警发现该次攻击使用payload为(展示部分):
- (select(0)from(select(sleep(15)))v)/' (select(0)from(select(sleep(15)))v) '" (select(0)from(select(sleep(15)))v) "/
- (只保留关键部分){
"formerQuery": "(AP=(............)) AND LG=(......) AND (PNC=CN) AND (PT=1) AND (ADY=(2015))",}
- -1 OR 2 727-727-1=0 0 0 1 --
- ?pageIndex=1%
/**/and/**/1=1/**/and/**/
1!=
2
初步分析:从该攻击者使用paylad分析来看可以确认3、4payload为探测语句,测试是否存在sql注入漏洞,第一个payload疑似发现SQL注入漏洞点,利用sleep函数进行时间注入的测试,第二个payload实际为正常业务访问,json自带,已实际抓包测试,判断为误报。综合上述情报,目前判断为该攻击者对系统发起了SQL注入攻击,探测 函数测试,状态码返回为200,疑似攻击成功,需要进一步判断。
*2.2* *内部信息查询*
*2.**2****.****1*** *数据库操作记录查询*
经过与管理员确认,未发现数据库改写记录、未发现数据库操作异常记录、未发现数据库新增管理账户记录、未发现异常查询记录。
*2.**2****.****2*** *中间件日志查询*
经过与管理员确认,未发现日志异常,未发现该IP其他异常行为。
进一步分析:该次攻击行为未成功,返回再次查看数据包时注意到的细节有:payload插入位置并不一致,ua、请求路径甚至cookie的位置皆有发生,总体请求量不大,首先排除漏洞扫描攻击、poc、黑客工具sqlmap等,确认为手工注入,且为泛测试,该攻击者并不确定漏洞位置、漏洞是否真实存在。
*2**.4*** *攻击复现*
*2.**4****.****1*** *payload还原*
经还原,实际未能达到漏洞利用,状态码400,攻击为失败。后续在请求头及请求体各个位置插入SQL注入语句,结果均为400。
*2.**4****.****2*** *状态码200问题解析*
(select(0)from(select(sleep(15)))v)/' (select(0)from(select(sleep(15)))v) '" (select(0)from(select(sleep(15)))v) "/
通过对上面这串payload二次分析,判断网站实际未能识别特殊符号混淆,攻击者本意为绕过waf,可网站实际并未采用waf防护,而是采用网站监测 ips模型进行动态防护,阻隔非法行为,动态免杀类机制无效。