溯源&策略
2021-02-05 12:14:22 Author: www.secpulse.com(查看原文) 阅读量:321 收藏

背景

国家领导人在网络安全和信息化工作座谈会上发表重要讲话指出,“网络安全的本质是对抗,对抗的本质是攻防两端能力的较量。”国家信息安全形势的驱使,国家信息安全的发展经济水平的不断提升,就需要不断的提升综合国力而网络安全领域的对抗也是我国核心竞争力的一种优势;本质上是人与人之间的对抗,而网络终端、网络设备、介质以及各种工具和平台仅仅是作为辅助手段而存在。因此如何使网络安全人员合理的利用手中的各种工具和策略来提高网络安全对抗水平,是培养“高素质的网络安全和信息化人才队伍”亟需解决的问题。网络攻防演练成为各企事业单位,乃至国家层面培养网络安全人才的创新创新型培养模式,推动我国的网络安全再上新高度。

同年,《网络安全法》颁布,出台网络安全演练相关规定:关键信息基础设施的运营者应“制定网络安全事件应急预案,并定期进行演练”。自此实战化的“HW行动”成为惯例。结合四年来HW的经验,以及对近年来国内外实战对抗的总结后,我认为要想把HW和小规模网络对抗的防御工作做好,必须解决两个问题:

第一、在实战对抗方案中,大部分的方案都在做“点”的堆叠,这些堆叠往往是基于方案厂商自有的产品和服务能力,并没有考虑到实战对抗中的效果,主要是将以往安全建设的方案进行重新包装,即:新坛装老酒;

第二、以往的方法论,包括:等保、ISMS、ITIL等等,在目标、宏观、指导性层面上虽然极具参考性,但在真正实战中却缺乏落地策略及直接有效的操作方针来阻挡攻击者。

对此,本文以真实网络攻防战中,利用主动防御进行黑客对抗。本文重在提出对抗方针,即:应该从哪些方面入手和加强,以防御实战型网络攻击;具体操作指南需要根据实际业务场景和IT环境进行细化。就目前而言,各种网络安全的法律法规的出台,网络安全大势所趋的形势,使得各行业急需提升自身的安全体系,推动自身的安全建设体系。那么攻防对抗演习模式的出现显得尤为重要了,是检验一个企业安全能力的手段。那什么样的战略战术和反制手法是值得借鉴的呢,这也是对处于攻防演练中的防守方是一种考验。

论述

在溯源之中除了常规的手法以外,还需要的是整体战略的思维方式,对异常点进行一个整体的分析并根据实际环境的情况制定切实可行的方案,俗话说未雨绸缪;将经常出现的问题,可能出现的错误点进行深度剖析不断进行设计和改进。还有一些检测设备的部署,容易被用户感知的异常点举例如下:网页被篡改、被挂上了黑链、web文件丢失等;数据库被篡改、web系统运行异常影响可用性、web用户密码被篡改等;主机出现运行异常反应卡顿、文件被加密、主机系统出现其他用户等;主机流量层出现大量异常流量 。

根据用户现场的情况往往还需要做一些信息收集的工作比如,出现异常的时间点(非常重要)、异常服务器的主要业务情况、大致的一个网络拓扑是不是在DMZ区、是否可以公网访问、开放了那些端口、是否有打补丁、使用了怎么样的一个web技术、最近是否做过什么变更、有没有什么安全设备之类的。 根据收集到的信息,往往可以得出了几种可能。漏洞很多有些漏洞开发未能及时修复,是否应该规避风险,采取何种策略;一个web服务器公网可以访问出现了被挂黑链的事件使用框架类,那么初步可以怀疑是命令执行漏洞了;如果一台公网服务器没有安装补丁又没有防火墙防护,administrator的密码为P@sswrod那么有很大的可能性是被暴力破解成功;后面的工作主要就是收集各种资料证明这一猜想即可。

一般web类的安全事件在web日志当中一般都能发现一些端倪,清除日志这种事情毕竟不是每个黑客都会干。常见几个中间件的日志如下:apache的日志路径一般配置在httpd.conf的目录下或者位于/var/log/http;IIS的日志默认在系统目录下的Logfiles下的目录当中;tomcat 一般位于tomcat安装目录下的一个logs文件夹;Nginx日志一般配置在nginx.conf或者vhost的conf文件中 ;日志一般以日期命名,方便后续审计与安全人员进行分析。工欲善其事必先利其器,一般日志量都比较大。互联网上还是有很多的日志检测工具,个人不是很喜欢用主要工具还是notepad++ 和Sublime Text跟进收集的信息比如时间点这种情况,对时间点前后的请求日志进行分析,一般都都能发现一些异常。

为了方便的识别一些日志,github也有很多开源项目有专门去日志中找安全相关攻击的、或者是统计的;因为现在很多扫描器也比较多,一检查往往也会发现很多无效的攻击,筛选起来反而感觉更麻烦。

推荐一个小工具:web-log-parser为开源的分析web日志工具,采用python语言开发,具有灵活的日志格式配置。优秀的项目比较多,实在不行就自己定义好规则搞一个。

在处理一些访问访问、网页更改的时候、上传路径、源IP之类的信息都能够较好的收集。通过对一些关键路径的识别,结合一定的信息往往都能定位到入口点。

常见的一些入口点举例如下:

·           一些CMS的EXP,比如Discuz Empire Spring 之类的一些命令执行、权限绕过逻辑漏洞等因为比较通用,网上很多都是公开的所以涉及面相对较广。

·           编辑器的上传漏洞,比如知名的FCK编辑器、UEditor之类。

·           功能性上传过滤不严格,比如头像上传资料上传界面一些过滤严格导致的上传漏洞。

·           Web系统的弱口令问题 admin账户、或者是tomcat的manager用户弱口令 、Axis2弱口令用户、Openfire弱口令等等

同时web系统往往容易存在一些webshell的情况,经常在一些上传目录里面找到一些webshell、明明是个JSP的网页还出现了一个php的一句话;一般需要重点关注一下,推荐用D盾对web系统的目录进行扫描。扫描出来的webshell时间上传时间、文件创建时间、文件修改时间往往准确性都比较高,一般不会去更改这个时间,用来在日志当中排查就相对容易的多。

一般的检测Webshell检测方法:基于流量的Webshell检测方便部署,我们可通过流量镜像直接分析原始信息。基于payload的行为分析,我们不仅可对已知的Webshell进行检测,还可识别出未知的、伪装性强的Webshell,对Webshell的访问特征(IP/UA/Cookie)、payload特征、path特征、时间特征等进行关联分析,以时间为索引,可还原攻击事件。我们通过检测文件是否加密(混淆处理),创建Webshell样本hash库,可对比分析可疑文件。对文件的创建时间、修改时间、文件权限等进行检测,以确认是否为Webshell。对常见的多种日志进行分析,可帮助我们有效识别Webshell的上传行为等。通过综合分析,可回溯整个攻击过程

以前一直觉得一些蠕虫病毒都挺逗的很多传播方法居然只是依靠暴力破解和MS17-010之类的漏洞传播,感觉波及面应该比较小后面才发现这个方法简单粗暴反而最有效。 对于Linux平台相对安全性偏高一些,常见的几个病毒如XorDDOS、DDG、XNote系列的普遍也是依靠暴力破解进行传播,溯源的过程中也重点考虑暴力破解。 常用的一些日志举例如下: /var/log/auth.log 包含系统授权信息,包括用户登录和使用的权限机制等信息;/var/log/lastlog 记录登录的用户,可以使用命令lastlog查看;/var/log/secure 记录大多数应用输入的账号与密码,登录成功与否;/var/log/cron 记录crontab命令是否被正确的执行grep,sed,sort,awk几个命令灵活运用、关注Accepted、Failed password 、invalid特殊关键字一般也能轻松发现一些端倪如下: 经常一些攻击者忘记清除日志,就很方便能查看详细了; 一个history命令,黑客的操作就一目了然。当然了一些脚本执行完了之后往往最后会清除日志比如下面这样的往往就加大了难度,日志被清除了往往就更显得异常了。可以重点看一下还剩下那些日志、或者关注一下网络层面是不是还有其他的安全设置可以在流量层进行溯源分析的。 源于Linux一切皆文件与开源的特性,在溯源的过程中也有好处也有坏处,rootkit就是最麻烦的一件事情了。由于系统一些常用的命令明文都已经被更改和替换,此系统已经变得完全不可信,在排查溯源的过程中往往不容易发觉对安全服务的人员就有较高的技术要求了。

Windows平台下面的溯源就相对容易一些当然主要还是依靠windows的日志一般用 eventvwr命令打开事件查看器。 默认分为三类: 应用程序、安全、性统 以evt文件形式存储在%systemroot%\system32\config目录; 合理使用筛选器往往可以帮助我们更好的排查日志,比如怀疑是暴力破解入侵的筛选事件ID == 4625审核失败的日志,后续通过对时间的排查、以及源IP地址、类型与请求的频率进行分析来判断是否是来源于内网的暴力破解通过系统内部的日志来判断是否是恶意进程的运行状态,对logontype的数值确认就可以确认到底是通过什么协议进行暴力破解成功的; 相对的数值关系如下: local WINDOWS_RDP_INTERACTIVE = "2"local WINDOWS_RDP_UNLOCK = "7" local WINDOWS_RDP_REMOTEINTERACTIVE = "10" local WINDOWS_SMB_NETWORK = "3" Windows系统的补丁相对重要一些,一些关键的补丁没有打很容易遭受到攻击成功的事件。重点就关注一些常见的比如ms17-010 ms08-067 ms16-032等安全补丁都是内网渗透常用的攻击包。可以通过sysintemfo可以查看到当前系统当中已经安装的补丁。此外windows下面还包括很多域控的安全日志,因为内容太多就不再展开叙述,溯源主要还是想还原攻击路径,通过windows日志搞明白访问关系攻击者的攻击链条,给用户一个交代就好。 数据库系统也是攻击者入口点的一些重灾区,常见的比如msssql server由于数据往往在window环境下安装后具有较高的权限,一些用户经常安装完成之后也不会怎么去加固数据库,基于库站分离的原则很多mssql公网直接就可以访问访问控制策略比较弱,弱口令的问题尤为突出。

比如下对于mssql的sa用户暴力破解日志,里面也记录着客户端的IP地址如果没有配置相关的锁定策略在密码不够严格的情况下容易被攻陷。攻击者爆破成功之后启动xp_shell往往就可以以高权限执行系统命令,拿到了一个windows的shell岂不是为所欲为。Linux平台下面还有一个redis也很热门,就一个几年的默认安装后的未授权访问的问题却流传的相对广泛。比如最近一段事件相对比较热门的DDG挖矿、WatchDog挖矿等病毒都主要利用redis未授权访问执行命令,从互联网拉取挖矿程序写入ssh的公钥等功能。看见本地开放了6379端口的时候还是需要重点关注这个问题,多向用户咨询一下使用情况查看一下默认配置。

还有一些常用的系统比如mysql数据库暴力破解提权一套装、未授权访问漏洞、钓鱼邮件、破解软件后门、恶意的office宏、office的代码执行漏洞、邮箱缺陷、VPN配置缺陷等情况都可能是攻击者的入口点具体情况需要结合用户当前的情况具体进行排查。

以蜜罐的推广使用来阐述其中的思想,就在目前的安全市场差上出现了各种各样的蜜罐产品,该产品的出现也为安全领域的再度升高和竞争奠定了基础。

欺骗方面

蜜罐本身就是一个欺骗类的产品,攻击对抗中蜜罐可以模仿各种各样的网站-俗称高仿真,可以将客户的网站系统复制或者“克隆”方式来欺骗黑客从而保护了真实的业务系统,还可以在业务系统的同一网段上进行部署蜜罐来达到混淆欺骗黑客的作用。真所谓“假若真是真亦假,真若假时假亦真”;

诱捕方面

利用人们惯用的方式“大面积撒网,重点捞鱼”的思维,在网络上广发“诱饵”信息,比如:招聘信息、通知信息、测试信息等等,还有什么媒体平台上发布一些信息,从而来增加被捕获并且进行攻击的概率。因为黑客在信息收集的时候,一定会对目标机器进行大量的信息收集之后再去确认收集到的信息是否准确,而收集到信息有真有假包含了“诱饵”信息,黑客如果没有辨别清楚随意触发信息地址或者诱饵所设计的机制,容易导致落入蜜网。seo搜索引擎刷排名,使得诱饵文件内容可以在百度上排名靠前,增加攻击概率,可以值得一试。其他诱饵比如Pdf、rar等格式的文件,rar格式的文件的某软件可以设置下载自动解绑木马等。

拖延方面

当黑客不知道自己已经误入蜜网,则会不断地攻击;为什么会这么说呢,为什么黑客会不停地去攻击蜜罐呢?是因为蜜罐的仿真度很高决定了黑客攻击的持久化,比如漏洞的存在、需要提权的方式、还有存在内网域的情况等等。越是逼真越能达到以假乱真的地步。只要黑客没有发现自己攻击的目标就是蜜罐则会继续进攻,一定程度上缓解了真实业务系统的压力,利用时间和空间上的对差为完善业务系统各方面的不足争取到了宝贵空间,也为“大部队的撤离”争取了最后的时间。

干扰方面

然而,在毛主席《论持久战》一书中比较分析了敌我双方的差异,如敌人武器先进我们武器落后、敌人退步我们进步、敌人寡助我们多助等,在面对抗日战争中敌我双方矛盾基本特点及其在战争进程中强弱优劣的互相转化过程中蕴含和贯穿着一个基本思想,即战争力量强弱优劣的互相转化和战争是否能够胜利,要靠人的努力才能实现,即要发挥人的主观能动性。所以,《论持久战》在讲武器与人的关系时明确指出:“武器是战争的重要的因素,但不是决定的因素,决定的因素是人不是物。即蓝方(防守方),蓝方只能被动防御状态,现如今欺骗防御理念的提出,推动了网络安全事业又迈入了一个新阶段,阐述了该思想下防守方由战略被动防御转为战略主动防御的角色转换。而该理念的推动下产生的产物就是蜜罐技术的推进,让更多的企业和厂商等看到了新的春天,新的希望,所谓的是“柳暗花明又一村”。蜜罐的使用不断地突出其优势所在,将拖延战术、欺骗战术、反制战术等等灵活应用;同时也考验设计部署者的能力和对敌方是否了解“知己知彼,百战不殆”;敌方的取向决定了防守的动向,目前一些企业都会买一些流量检测设备、日志设备、还有蜜罐的设备等等。在正式攻防对抗之前敌方(攻击方)就进行前期的信息收集的工作,从而梳理一条或者几条的攻击方案,那么这个时候防守方自然也是尽己可能排查自己内外环境所存在的漏洞点进行修复加固。

攻击过程一般都是由小到大、由浅入深的形式展开,基本上都是先是探测站点信息,逐次进行打点升级。那这个时候呢,防守方的设备上一定会显示相关检测的日志信息。逐条分析滤出敌方的攻击思维,还可以根据所爆出的漏洞利用的名称,大致判断对方常用的攻击手法。根据对方攻击的频率感知平台、情报平台等等。当敌方攻击防守方时候肯定不会使用真实的IP地址,所以当防守方的设备上留下的IP不尽然是真实IP,需要不停地去明辨真实IP不断分析进行精准狠的定位打击,防守方可以根据敌方IP进行反制溯源。根据日志信息精准判断不断地进行攻击敌方的攻击IP直到敌方不在攻击为止,为什么这样说呢,因为敌方不在攻击的时候可能已经更换了IP防守再次攻击也没有任何意义了,除非能找到与之相关的一些信息来增添敌方画像的可能。《论持久战》中的十六字方针战略:“敌进我退,敌驻我扰敌僻我打,敌退我追”具有借鉴意义。使用不断干扰敌方战略战术的手段,让敌方不能够从容镇定地完成攻击路径和攻击链条,那么防守方的目的就达到了,一定程度上延缓了敌方进攻的思路和思维方式,打破了敌方既定的战略部署,使得敌方不得不重新调整方案。此时敌方的心理已经被彻底打破了,会不停地攻击来自防守方攻击的地址,这样很容易形成胶着之势。比如:撒一些“花苗”即诱饵,待山花烂漫之时,绽放出最美的“笑魇”,有心栽花花不开,无心插柳柳成荫。。。诱饵的设置无疑就是天上掉下来的大肥肉或者大**,敌方需要“火眼金睛”来区别对待它的到来,否则等来的是一颗毙命的💊;在反制愈演愈烈的今天,由被动到主动的角色转换,由保守到开放的姿态。蜜罐的发展弥补了这一优势不足的弱点,增添了这一亮点属于锦上添花。发挥蜜罐反制优势的特点在于或者说利用一些反制的木马、JS、XSS、PDF、Word等等,远控敌方出其不意攻其不备;还可以给敌方种马没事的时候瞎逛逛啥的,还可以扔给敌方一个**或者锁机马、锁文件等等,“思想有多远就能走多远”;蜜罐像**,让敌人处处惊心动魄;蜜罐像陷阱,让敌方步步为营。抗日战争中的**战,看似一马平川其实前进道路充满惊悚;还有猎人捕捉猎物时候会设置各种各样的陷阱便于获取美味的野餐。所以不管**战、还是陷阱的设置还是蜜罐的部署,归根到底了解趋势了解对手然后必经之路设下计策,进行攻击。

其实网络信息安全对抗战术无非就是人与人之间的心理战,小到个人大到国家。心理战术的应用会将事情的发展朝着一个良好的方向发展。常用的手段有:知己知彼,以己之长,攻彼之短;出其不意,攻其不备,先发制人。通过先发制人的攻击,破坏对方的行动计划.掌握比赛主动权;诱使对方麻痹大意,或向对方施加精神压力,造成其心理负担;消耗对方的精力,保持我方稳定的情绪;通过暗示,给我方队员以鼓舞和信心。所以在网络攻防对抗中挑战的不仅仅是战略战术的配合更多的是心理学的范畴。

本文作者:calmness

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/153124.html


文章来源: https://www.secpulse.com/archives/153124.html
如有侵权请联系:admin#unsafe.sh