截止到28日5点,HW行动终于结束,朋友圈感受是在过年,处处是倒计时和庆祝声。看来防守方们7*24小时的看监控仍是比较无奈的。本次复盘基于我对整个护网行动的观察总结而来,仅表明我我的观点,若有不妥之处,欢迎交流。node
本次攻防,从规则到各方实力,都是绝无仅有的。常常有人问,是攻击队厉害仍是防守队厉害?通过我这些年的思考,仍是没有得出一个确切的结论。有时候以为攻击队厉害,由于攻击能够在非特定时间随意发起,出其不意趁火打劫,甚至手持0day指哪打哪,毕竟木桶原理决定着攻破一处便可内部突袭;有时候又以为防守方厉害,由于防守方拥有所有访问流量,随时洞察攻击者的探测并封堵IP,也能够在主机层监控攻击者一举一动,甚至部署蜜罐玩弄黑客于鼓掌之中。总之,这么些年的摸爬滚打经验告诉我,攻防就是这样,道高一尺魔高一丈,一如黑客防线中说的“在攻于防的对立统一中寻求突破”。git
在真实的攻击行动中,通常一个目标要搞到核心系统根据防护程度不一样,也须要1个月到半年的样子,甚至APT要潜伏一到两年才能拿到本身想要的数据。而这次总共给攻击方的时间只有3个周,而且每一个队伍听说10多个目标,这也就决定了攻击要快速、要自动化。github
要说快速,仍是得上扫描器,可是一个扫描器速度确定不行,再者,被发现攻击行为,立马IP被ban掉,后续就没法进行。因此,分布式扫描器在这种状况下必定是个趋势。首先对所有目标的全端口进行一次扫描+端口识别,根据Banner快速收割一波;
在这个过程当中就会有个坑,好比在收集二级域名时,常常采用字典爆破,而防守方会设置一个诱饵二级域名,把流量引入蜜罐之中,坐等上钩。这就须要攻击方们机灵一点,时刻反思这个是否是蜜罐,至于怎么发现蜜罐,之后再聊。
对于AWVS的扫描器,还得请各位升级到最新版,别被防护方反制,毕竟老版本扫描器自身就存在一个RCE。web
对于全部的黑客来讲,菜刀确定是一个传奇,一直是最稳定、最牛逼的webshell管理工具之一,可是同时,菜刀也是一个最容易被发现的攻击工具,毕竟流量特征太明显了,并且一旦发现就100%意味着服务器已沦陷,防守方会里面下线进行深刻分析。提及来菜刀好像是11年左右发布的(若有记忆误差,请指正),还记得当初第一次见到这工具时的感受,那感受总结起来就是一句话,“卧槽!牛逼!”。由于在菜刀以前,咱们学习的都是先小马后大马的姿式。而用了菜刀以后,我深入理解了什么大马小马都无所谓,能执行命令搞定目标的都是好马。而后通过了几年的迭代,中国菜刀在国内安全圈也是经历了各类风风雨雨,各类后门版满天飞。最后鉴于其加密性能较弱,陆续出现了几个替代版本,蚁剑就是很优秀的一个项目。讲真,我开发水平相对较弱,见到蚁剑才发现原来js也能够写出优秀的跨平台客户端应用。但是正式因为其nodejs写的,才致使其跟AWVS同样,存在一个本地nodejs解析的RCE,极可能被防护方反制。再以后给我“牛逼”感受的就是冰蝎了,其双向通讯加解密的管理方式,让诸多基于黑名单正则的防护产品厂商直接歇菜。但是很奇怪的时,仍是有不少大量攻击方采用菜刀、jspspy之类的原始webshell,结果被防护方轻松发现并清除。sql
不过说到最后,我有一个疑惑,为什么你们非得用webshell这种方式搞服务器呢?好比在存在weblogic反序列化或者Struts2 RCE漏洞时,黑客们写的工具仍是一键写入webshell这种。安全发展到今天,防护手段愈来愈多,各位白帽子是时候改变了。正如我以前说的,无论用什么shell工具,只要能在服务器端执行命令,下面就确定有更好的解决方案。我通常会使用命令方式加载本身的二进制版远控来操做,如今的二进制远控,不像之前,还得生成exe用菜刀上传,在命令行下执行,如今基本均可以作到相似mshta或者powershell的一句话直接动态上线,而且基于TCP/UDP协议的命令执行、文件管理,一是稳定,二是彻底绕过那些基于黑名单的流量分析设备。相似metasploit的脚本payload反弹的meterpreter,可是msf特征明显,也容易被杀,因此我我的估计后面攻防仍是会发展到相似cobalt strike之类的工具对抗上。shell
针对水坑或者鱼叉攻击来说,能够想象到确定大量的攻击队伍采用这种方法进行攻击,攻击手法多基于邮件进行。如今假想成攻击队伍,我会首先在github上搜索一波,举个例子:https://github.com/search?q=%224dogs.cn%22+password&type=Code,注意域名要加上双引号进行精准匹配。在翻到一个可登录的邮箱后,去通讯录导出全部联系人方式,进而进行简单的口令爆破;在这些操做还没拿到有用密码的状况下,就能够根据组织结构进行定点攻击了。高级点的用浏览器0day,没0day的也能够直接发宏病毒,注意编个理由加个密发,防止被沙箱抓样本。浏览器
假如没有有用的邮箱帐号,也能够搜索引擎收集一波邮箱,再根据明明规则,加载中国姓名top500字典进行组合,总归能抓到一两个用弱口令的。安全
若是仍是啥都没有,也可使用swaks之类的直接伪形成admin发送钓鱼邮件。至于发送内容和技巧,之后再聊。服务器
对于防护方来说,最厉害的莫过于直接关停外网邮箱了。次之,能够派人随时查看登陆日志,及时发现异地登陆爆破状况。对于有钱的甲方爸爸们,能够经过流量镜像,对附件进行沙箱断定。网络
在突破边界进入内网后,剩下的主要是内网渗透了。内网渗透能够简单分为横向渗透和纵向渗透。内网渗透的实质和关键是信息收集,经过不停的突破系统拿到更多的权限,而更多的权限带来更多的信息,最终在信息和权限的螺旋迭代下,拿到目标的最高权限。
对于有域的环境,通常目标时拿下域控,而在本次攻击中却刚好爆发了一个直接打域控的0day,这就容易多了。可是即便一键拿下域控权限,仍是要回到信息收集的本质上,要在海量的终端里筛选出本身的目标数据在哪台机器里,仍是须要一些技巧的,展开来说,有空再聊。
而无论是什么环境,我我的感受阻碍攻击队伍进行内网渗透的主要缘由仍是对目标业务的了解程度。好比电力行业的16字方针(此处略),不少时候搞到边界系统后,ipconfig一看是10段的,觉得进了个大内网,而实际状况是那只是冰山一角而已。纵向突破还有很长很长的路要走。再者,假如对电信行业、金融行业不了解,进到内网确定也是一脸懵逼,一副“我是谁?我在哪?”的感受。这也是内网渗透耗费精力的缘由。
在本次演习中,陆续发现了大量的0day,印象里不彻底统计有七八个,具体0day细节能够参考各大公众号以前的报到。这里只讨论下针对0day的问题。
从0day的内容和数量上来说,护网结束后我是看啥系统都有漏洞,而且有一种想去挖几个留着的冲动,奈何工做琐事太多,先搁置一下吧。
对于攻击方来说,手握0day是指哪打哪的一个有效支撑。从漏洞类型上,基本覆盖web、网络、操做系统等等方面。针对国内的网络安全现状,讲真,我对那些商业应用真的不报任何安全的奢望。对于国企和政府来说,自有系统大都是外包厂商开发,而这些外包开发者,大几率不懂安全,甚至sql注入是啥都不知道,更别说防护框架漏洞了。因此对于攻击者来说,去攻击一个客户普遍的厂商,拿到一个0day便可攻下其相关的全部目标,收益很是高。但同时也要明白,如今0day的生存期很是之短,10年前,咱们一个0day能够用半年都没被人发现,而在此次演习中,0day的生存期可能只有半个小时,由于防守方发现shell就会溯源,进而预警。不过排除此次防守方7*24小时的有效监控,在真实状况下,0day的生存周期可能不超过一周。因此,我认为,当前网络环境中,0day大量存在,但使用很是谨慎。至于防守方怎么防护0day,请看后面内容。
总体来说,防守方都是从“事前排查”、“事中监控”、“过后溯源”三个方面进行防护的。根据个人观察,广泛来说,国企安全防护能力弱与互联网公司,而相反,国企和政府单位的投入广泛高于互联网公司。这也就致使了演习前大量的“人贩子”处处求人驻场的问题,一度炒到人天上万元。下面从几个方面分析此次防守方的经验和教训。
至于此次演习的意义和重要性,各位甲方本身应该更明白,这里再也不描述。而正是因为防护方的重视,因此出现了大量的防护过分现象。一是在开始前的大量系统关停,二是对于互联网IP的大量封禁。首先大量的关停本质上相似掩耳盗铃同样,在护网结束后依旧面临各种外部攻击者的威胁。但愿存在这类状况的厂商,仍是能从根源上排查漏洞,加固系统,对系统采起必要的防御措施。
针对恶意封禁IP的状况,虽然体现了防守方及时发现攻击的能力,但同时,也实实在在的影响了正常业务的运行。 特别是一封一个B段的状况,我表示能够理解,但也不忍直视。同上,各位甲方仍是考虑下从根源解决问题。
对于事前的应急排查,甲方大都采用临时购买人工渗透服务的方式进行,而绝不客气的说,大家买到的有一部分倒是在校大学生,或者培训机构的实习生。即便钱给够了,去的是个渗透大神,也会由于内网漏洞太多,没法彻底覆盖。以我我的举个例子,假如给我一个系统,我大概须要一上午分析每一个端口,每一个业务接口的安全性,进而给出一个完整的测试报告,我基本上能够保证我测试过的系统短期内不会出大问题。可是假如给我一个B段,告诉我3天完成,那我就只能模拟横向内网渗透,masscan先来一波端口,wvs扫描一波,而后一批一批的去看。这种模式就决定了没法彻底覆盖所有业务系统。及时时间够,那对于新增的业务又怎么办?
那针对这种状况该怎么办?我一直给个人客户普及的一个想法是内网漏洞,不要期望短期内购买一次服务就彻底解决了。对于漏洞隐患,工做必须是平时常态化的开展。一是上资产管控手段,对内网全部的服务器,经过主动扫描、被动流量分析等手段进行搜集,实时监控内网到底开了多少端口,每一个端口运行什么服务,应用是什么版本;二是解决遗留问题,对内网既有的框架漏洞、弱口令漏洞,进行专项整治。相信经过本次护网,原来没搞过安全的防守方,在部署安全设备后发现了大量的永恒之蓝、木马受控等问题,这些都是遗留问题。建议你们用几周时间集中解决一类问题,循环下去便可解决遗留的所有问题。三是创建新业务上线审查流程,对于新上线的业务系统,必须经过第三方安全测评,只有拿到安全测评报告的才容许上线。
最后,打个广告,咱们公司的猎鹰威胁感知系统就是用来作资产管理和大规模漏洞探测,再加上咱们的基于AI的渗透机器人,彻底能够自动化 监控发现各种安全问题。
此次的防守方广泛是重边界、轻内网防护,形成了一旦边界被破,内网总体垮掉的风险。而这个状况在我入行时就广泛存在。安全发展到今天,实在是说不过去。去年看到了Google提出的0信任网络,感受是个趋势,一度想转行作0信任网络的布道者,虽然普及还有一段路,可是我仍是但愿你们能够转变思惟,必定必定不要认为我在内网就是安全的。万一哪天被黑,可能影响的就是国家利益,带来的就是社会动荡。
首先,针对此次攻击,各类原有IOC情报基本无效,好比恶意域名库、恶意IP库等,由于攻击方使用的都是新的域名和IP,这也是黑名单作安全的尴尬。可是同时要感谢安全厂商们的威胁情报库,让更多的国企、政府单位认识到了本身内网办公电脑有不少已经被控制。
面对0day攻击,理论上谁都扛不住,可是实际是这样么?仔细想一想并不是如此,首先,面对0day真正扛不住的是以黑名单为基础的安全设备,包括waf类、态势感知类、IDS类等。而这些安全设备,又确确实实是各大厂商的首选安全监控设备,一旦这些设备没报警,那基本啥都干不了。这也是防守方们7*24小时防守但其实大部分时间无所事事的缘由。
首先,对于web 0day的防护,彻底能够采用openrasp类防护方法,从根源上防止各种web漏洞攻击。若是有想购买商业版rasp方案的同窗,能够勾兑下我哦。
其次,对于网络0day和系统0day,咱们能够采用EDR手段进行防护,在终端上装上agent,在agent上采用白名单策略,对于无关的进程启动和危险命令直接报警或阻断。想起来咱们四年前作过的一个产品叫麒麟卫士,能够说是国内首款EDR雏形了,但是去卖的时候发现你们对于须要安装agent的作法都耿耿于怀,不敢装。四年过去了,相信后面会有更多的人接受EDR带来的安全改变。
此次演习的一大亮点就是不少防护方采用了蜜罐的方式进行诱捕和攻击引流。要说蜜罐作得好,那是真的颇有用。我理想中的蜜罐应当是彻底仿真,而不是动态针对部分服务的仿真。同时能够具有反制的功能,一是可溯源攻击者真实身份,二是可利用AWVS或者蚁剑这类黑客工具本身的漏洞反向攻击攻击者。相信后面会有大量的优秀产品脱颖而出。不过防守方真的真实部署后,可能半年也捕获不到一次有效攻击,毕竟此次是演习,平时黑客攻击仍是少。不过安全就是如此,防患于未然。
我我的来说是一个安全技术爱好者,从攻击到防护,都有涉猎。自从创业以来,干的事情更杂了,可是我一有时间仍是在刷安全圈的技术文章,写一些poc。认识个人朋友可能知道,我是一个CEO、一个销售、一个售前、一个产品经理,同时,我也是一个“黑客”,期待着用个人所学所知,能为安全圈带来一些改变。“不忘初心,牢记使命”,与君共勉。