初心勿忘
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
Hi!大家好,北京时间22:59分,继上一篇防御体系过后,最近笔者接触了很多攻防比赛,反正已经头晕目眩,得出了一定的心得。
在这里也是做个简单得知识梳理已经实战分享,从这几次不同xxx的安全攻防检查来看,笔者深有体会。内网才是未来的主战场,因为你无法预料攻击者什么时候突破边界,也不知道他利用啥和核弹级的oday(全世界从未在互联网发布的漏洞)进入自以为固若金汤的外网边界。也许你会说我们的系统的对外开放对源代码做了SCA成分分析以及代码业务层面的代码审计,同时在测试阶段,安全部门也做了黑盒测试(模拟攻击者对系统的一些列hacker手法攻击),但是你觉得这样你的系统就不会有问题吗?当然不是,所以你无法确定你开放的系统在互联网每时每刻在面对啥。所以笔者始终认为,打铁还得自身硬,内网我们同样不能忽视。
那么我们不得不想一个问题,为什么我们的防御重心应该放在内网。当然笔者的意思不是说外网不重要,安全从业人员都知道内网有个很出名的漏洞,该漏洞是445端口对应的服务引起的,当时也是造成了很大影响。
在短时间内影响了美国、俄罗斯、以及中国多个高校以及企业的内网被感染,同时被感染的机器数据将会被加密、无法解密,需要支付一定赎金。
可以看出为什么一个漏洞造成那么大的损失,当然是内网防护不到位。同时从投入比来看,很多企业把重心防御都放在了互联网侧,对于内网的安全建设其实是很少的。攻击者一旦攻破外网进入内网,建立隧道再进行内网后的一系列操作,那就是水到渠成的事。
根据笔者了解,攻击队会很快攻破外网可能也就是半天,可以说攻击者长时间都在内网陪你玩,那么你能发现他吗?可以看出内网的建设还是很有必要的。更何况据研究表面,攻击队的分数百分之90都是靠内网刷分。这些年0day的数量也是一年比一年多,笔者有时候都在怀疑一年都修了个啥洞,今天修明天又有新版本的漏洞,彻底emo了,所以突破边界只是时间问题,内网至关重要。
对于内网的防御我们首先得了解自己公司得网络架构,不同行业由于业务不通都有自己行业得不通网络架构,这里不细讲各行业的网络架构特点。主要根据ATT/CK模型从从以下方面讲解内网攻击防守的一些方法和策略。
1对于常规的攻击流程可以分为:信息收集、漏洞利用、权限维持与提升、内网后渗透、痕迹清除等步骤.对于信息收集我这里主要指的是通过外网对你公司域名以及公司资产的收集,这里不重点讲解,主要是后面权限维持和提升以及后渗透过程.
在信息收集环节,主要是收集真实IP、端口、域名、应用及版本等.通过收集到的资产攻击队可能会使用自研的自动化工具集实现信息收集、扫描探测漏洞利用的一键自动化操作.所以对于高水平的攻击队,攻击起点在内网!!!
内网权限维持:正常攻击突破边界,拿下一台服务器或者是一台个人pc,攻击者一般都会维持自己的权限不被发现,或者被发现还有其他手段登录,维持这个落脚点.维持落脚点主要包括windows和linux两大类:
- 对于windows系统:隐藏系统用户、启动项、计划任务、隐藏木马文件防护监测方法包括查看注册表、利用杀软查杀、删除自动运行列表种恶意条目.
- 对于linux系统:sshd软连接、启动项、计划任务、ssh公钥、多个隐藏SHell,防护监测方法包括HIDS监测异常操作命令、监测敏感文件修改情况等.
内网权限提升:攻击者在拿取权限后一般都是比较低的权限,由于权限会限制很多操作,攻击者往往会进行权限提升操作,主要包括windows和linux两类,主要是利用操作系统的漏洞和一些错误配置实现.
- 对于windows系统包括:溢出漏洞提权(收集版本补丁--确定漏洞--查找exp---提权)、searchsploit、MSF、windows-kernel-exploits;计划任务提权、Bypass UAC提权、内核漏洞提权;对于这些我只想说及时更新版本;
- 对于Linux系统:内核提权、SUID提权、计划任务提权、第三方服务提权;
针对windows和linux系统的权限提升问题,防护检测方法主要包括补丁和使用高版本、开展安全配置检查规范基线检查、检测异常操作命令和文件修改行为.
进入内网,权限维持站稳脚跟后,在横向扩展前一般会建立内网隧道,常用的方法包括:端口转发、反弹shell、代理客户端等,笔者知道用的比较多的是FRP和NPS,对于这些代理工具的防御,一般对于这些工具公开的版本都是可以做一些特征进行检测,但是攻击队一般都会进行特征魔改,这样基于特征的检测就显得比较难,同时也会对传输的流量进行加密处理.
对于这几年比较火的内存马也是一种权限维持的手法,通过在内存中写入恶意代码,利用中间件的进程去执行,一般都是java项目中使用.主要的检测思路包括针对利用条件的常规流量特征检测、针对主机端的内存异常信息检测、针对后续动作的检测等.处置手法一般都是重启服务.
内网后渗透:完成前面的一些列工作,进入后渗透阶段,一般都是:通过内网信息收集、漏洞利用、横向移动、权限维持及提升、再进行新的信息收集实现循环的攻击.
对于内网的防御主要通过以下方面
1 弱口令攻防路线:
A 建立常态化的弱口令扫描机制,可以结合edr、内网安全扫描/渗透,及时发现内网中系统、服务、中间件、应用的相关弱口令;
B.部署流量检测设备,从流量中发现并要求整改;
- 制定基线要求;
- 强化安全管理;
- 持续开展安全教育;
- 借助小工具进行个人密码管理,比如笔者也在使用的keepass;
2 内网漏洞攻击攻防路线:
- 开展定期内网安全扫描、基线检测、补丁修复、内网检测、安全加固;
- 建立内网动态资产信息库;
- 细化内网网络访问控制,特别是特殊端口的权限最小化;
- 准对外采软件、组件得管理,打击供应链攻击;
- 在内网跨区域部署流量监控并持续运营监控;
- 针对内网重要系统实现双因子认证,同时一些老旧系统无法改造的加入0信任网关,安全设备后台也纳入0信任管控平台,实现无感接入;接入0信任的目的也是为了防止一些0day漏洞的危害;
- 将集权系统管理后台也纳入0信任,这样可以在一定程度上防御0day,同时将集权系统的审计日志打到SIME上做审计,建立异常分析模型;
3 针对域渗透攻防路线:
- 梳理域控设备,并缩小权限,收缩暴露面,设置只允许堡垒机集权系统访问;
- 加强域账号管理,加固高权限账户管理;
- 加强域控设备window补丁的更新,防止漏洞攻击一举拿下;
- 在DC和域服务器安全配置Sysmon、EDR等异常检测,并采集日志,分析异常(这里笔者多说一句,目前笔者也接触了做AD防御的公司,他们产品的原理也是通过分析日志的异常),比如检测敏感共享目录访问;检测mimikatz、lazagne等密码提取工具,特征+典型命令;
- 安装杀毒软件,并保持持续更新;
- 检测注册表的异常变更;
4 内网社工防护攻防路线:
- 近几年笔者发现越来越多的针对内网关键岗位的钓鱼,比如HR、运维人员,也有可能通过拿下OA,在OA上挂组件让用户下载,并感染终端并翻阅终端机器设备资料的情况,也有钓鱼的,针对这类只能在关键岗位安装防病毒;同时加强安全意识;
5 集权系统的攻防路线:越来越多的hacker进入内网拿到主机权限建立根据地后对集权系统进行探测,并利用集权系统漏洞拿下集权系统情况.当然我这里也把内网一些安全设备一起讲了.
- 对于集权系统的攻击之一0day攻击:攻击队会根据集权系统做0day的储备,并且会针对用户终端的agent进行逆向挖掘0day;有些可利用agent通信给特定端口发送指定报文进行命令执行;
- 弱口令攻击;
- 不安全配置;
- 老旧漏洞;
应对之策
- 对于集权系统进行权限收缩,在不止在网络层面进行限制同时也得在系统层面限制,有条件的加入0信任进行双因子认证访问;
- 及时更新打补丁;
- 收集权限类日志、防火墙deny日志等,通过SIEM进行异常行为分析,比如在非规定时间登录、非限定范围登录、访问其他系统敏感操作;
笔者这里只是简单描述了一部分攻防问题,站在了攻防两端进行讨论,当然作为防御方不仅仅局限以上防御,同时也得从资产梳理、主机防护、SIME分析、蜜罐、办公网防护、内网检测纵深防御、安全隔离、内网安全加固等方面开展工作,期待下一次再见。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)