【防守方】2020攻防演练防守心得
知己知彼,百战不殆¶
“未知攻,焉知防”,防守方要先学会从攻击者的角度考虑如何攻破一个系统。
攻击者所用的方式大体上就是下边这张思维导图中的方式:
其中弱口令是侵入系统最简单也是最多的一种方式,切勿因其简单就不给予重视。
把简单的事情考虑得很复杂,可以发现新领域;把复杂的现象看得很简单,可以发现新定律。
——牛顿
使用范围最广的就是各种第三方组件和系统的历史漏洞以及Web安全漏洞,防守方主要防御的也是这两种攻击方式。
例如redis未授权访问、源码或敏感文件泄露、WebLogic和Shiro反序列化等高危历史漏洞。
社工是最难防范的,最近B站上了一部电影《我是谁: 没有绝对安全的系统》电影中CLAY上演了一波教科书般的社会工程学渗透,用邮件钓鱼加近源渗透的方法成功侵入了情报局系统。
电影中有句台词 "很多人都尝试黑进情报局,但你躲在自己的电脑前肯定无法做到" ,说明了近源渗透的必要性;
0day包括未公开的漏洞和攻击方法,0Day漏洞本身就是个永恒的问题,安全产品自身也无法避免0Day攻击,即使我们做好了应对前边几种攻击的所有措施还是会被手握0day的大佬轻松打穿,真的是防不胜防。
当然也不能坐以待毙,发现被打进来后要迅速应急响应把危害和损失控制到最小范围,真正的做到可感、可控。
摸清家底,治理先行¶
下图是一个传统的防守策略
资产梳理¶
分析了攻击方常用的攻击手段,接下来就是要**梳理**己方**资产**了,通常借助Goby等类似工具进行扫描,梳理出自家有哪些Web资产(网站title、子域名)和IP资产(有几个C段、哪些IP开了什么服务)情况,明确需要重点关注的资产,形成一个资产表。
域名 | 业务系统 | 中间件 | IP | PORT | 备注 |
---|---|---|---|---|---|
xxx.net | 信息管理平台 | Apache-Coyote/1.1 | 666.666.666.111 | 80 | |
abc.xxx.net | 工程管理系统 | nginx/1.18.0 | 666.666.666.123 | 8080 | 子域资产 |
基线加固¶
对重点系统进行系统基线检查和加固,涉及到Windows和Linux两种主流系统。
设备监控-研判¶
**设备监控和研判**也是必不可少的一部分,观察安全设备上的流量信息把攻击特征明显的IP拿出来去微步在线
和IPIP
这样的网站做威胁情报分析,FOFA搜索该IP有没有被记录过资产信息开了哪些服务,大致判断攻击IP是哪种类型的(代理IP?移动wifi?傀儡机?)然后封禁该IP(虽然可以换代理IP,但是封一个少一个)
应急响应¶
作为一个优秀的小蓝**应急响应**是基本操作,熟练的取证、清理和业务恢复一气呵成,掌握各种木马的排查和清除方法,审计Web日志和系统日志,找到漏洞并封堵入口点,迅速的做出反应控制危害范围。拔网线是不可能的。
来而不往,非礼也¶
防守方并不一定是只能被动挨打,当然也可以主动出击。
比如通过部署蜜罐的手段溯源反制,废掉攻击者的工具,提高攻击成本,减少攻击意愿。
部署最后一道预警防线¶
在内网的必经之路部署一个MySQL、SSH蜜罐,这样万一被打进了内网,攻击者对内网扫描的时候我就能及时的发现,否则被打穿了都没任何察觉岂不是太惨了。
这里用 HFISH: https://github.com/hacklcx/HFish 部署一个低交互的就够了。
但是要注意修改默认配置,防止被攻击方利用默认配置中的key访问日志信息,反日蜜罐
部署高交互蜜罐¶
部分安全厂商的高交互蜜罐可以绘制攻击者画像,如果没有购买这些蜜罐产品的话用开源的代替也行
T-pot:https://github.com/telekom-security/tpotce
主动出击¶
从攻击日志中威胁情报分析中疑似傀儡机和攻击者VPS的IP进行反向渗透,看看能不能拿下目标把日志搞下来审计出攻击者登陆IP。
反制案例¶
本地密码抓取的防御方法¶
1、2012 R2之后的版本,把用户放入 -> “受保护的用户” 的用户组,就不能抓取明文密码和散列值了。
2、安装
KB2871997
,并禁用Administrator
账号(SID为500的账户,防止哈希传递攻击)
Windows Server 2012 之后的版本默认关闭Wdigest
,无法从内存中获取明文密码。
2012之前的版本安装了KB2871997
,同样无法获取明文密码。
开启和关闭Wdigest
的命令
#开启,值为1
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
#关闭,值为0
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
防御mimikatz攻击¶
mimikatz
在抓取明文密码或散列值时,需要Debug权限。
因为mimikatz
需要和lsass
进程进行交互,没有Debug
权限的话mimikatz
将不能读取lsass
进程。
因此,将拥有Debug权限的本地管理员从Administrators
组中删除即可。
废掉攻击者的工具¶
冰蝎、蚁剑、哥斯拉等Webshell管理工具
CobaltStrike、Metasploit等c2工具
frp、nps、reGeorg、ew、Termite、lcx等通道构建工具
impacket工具包
具体做法:分析工具流量特征,在WAF等防护设备上自定义相关规则