安全矩阵

 找回密码
 立即注册
搜索
查看: 1033|回复: 0

干货分享|安全企业内部钓鱼实战对抗揭秘

[复制链接]

215

主题

215

帖子

701

积分

高级会员

Rank: 4

积分
701
发表于 2023-10-27 01:24:36 | 显示全部楼层 |阅读模式
/ 前言 /
经过近几年的高强度实网攻防对抗和安全能力更迭,很多甲方的整体安全防护已经做得相对成熟,攻防对抗想要从互联网正面突破进入到企业内网已经不是那么容易了,特别是对于互联网攻击面管理比较好的企业。在对抗过程中,如果说防守方最“无赖”的打法是一键封堵ip段,那对于攻击方最“无赖”的打法就是社工钓鱼。“钓鱼”是社会工程攻击的典型代表,通常会利用人类心理(比如好奇、同情、贪婪、惯性思维等),结合目标的特点提前构建钓鱼场景,以达到获取目标信任和权限的目的。相对比从互联网正面突破,人其实才是甲方信息安全最大的暴露面。由于企业的业务和岗位特性、人性不可控等因素,社工“钓鱼”几乎是每一支攻击队、APT团队最后的必杀招式。
本文主要从钓鱼常见的攻击案例出发,分享我们实战对抗钓鱼的实践经验,希望能给大家带来一些灵感。
案例分享
下面列出几个真实(剧本)案例给大家体验下什么是社工钓鱼:
  
案例1:猎人往往都是以猎物的身份出现
  
步骤 1
小黑锁定的目标公司HR正在招聘特定岗位的员工,于是根据岗位要求利用ChatGPT自动生成高度匹配履历,并更新到脉脉,之后主动访问该HR的脉脉主页。
步骤 2
HR小美看到有访客访问自己,并查看访客信息,发现小黑的简历非常匹配自己招聘的岗位,于是主动“撩”小黑希望交换名片。小黑很快就同意了交换联系方式。
步骤 3
和小黑预期一样,HR小美加上小黑的微信后便很主动的问小黑要简历,小黑也很配合地把提前准备好的“简历”发给了HR小美。双方都非常愉快,小美拿到了简历,小黑拿到了跳板机器!
   
案例2:这个客服的客户导向真的好!
  
步骤
1
小黑在逛目标企业论坛时发现有在线客服,于是绕过机器人介入,锁定客服人员发起聊天,伪装自己无法收到短信验证码。
步骤
2
客服小黄非常积极的响应,并询问小黑具体问题,小黑为了后续可以发附件借口说图片发不成功,需要改发文件。
步骤
3
小黄点开附件,还在纠结客户问题怎么莫名奇妙就自动好了,其实此时已经中招了。
   
案例3:好奇心害死猫
  
场景
1
小黑完成了上述社工后尝试到实地近源,来到目标企业向前台求助,“你好,我是来贵公司参加面试的,请问您这边可以帮我打印下简历吗,简历在我U盘里”,前台很热情的接过小黑的U盘帮他打印了一份简历。
场景
2
小黑拿到简历后尾随该公司人员进入办公区,在过道和楼梯间扔下几个U盘就走了。
场景
3
小白在路过过道时发现地上有个U盘,询问了一圈都无人认领,于是心想打开U盘看下能否找到失主,打开文件后发现了一份简历文件,点击查看,结果自己电脑上的文件都被锁了。
  以上三个都是非常典型的案例,攻击者很巧妙地针对不同人员的业务和人性特点定制了攻击方案,没有经过专业培训的人员是很难识别的。在此,我们总结了一些常见攻击手法、钓鱼场景和钓鱼类型分享给大家。
社工钓鱼的特点总结
(一)钓鱼的整体流程
常见的钓鱼入侵流程大致如下:
第一步:用户运行恶意程序文件,该文件释放魔改CS马的主程序,并且自动添加任务计划,包括开机启动和定时执行木马,并主动向CDN域名发起请求,例如:(*.cdn.abc.com.cn)。
第二步:成功上线后,攻击者使用CS插件一键自动化采集本地信息,如主机信息、网络信息、软件信息、浏览器访问历史和保存的帐号密码等。攻击者还会使用mimikatz工具获取主机的登录口令。在这个过程中,攻击者还会使用临时文件传输工具下载恶意文件如fscan、frp等。
第三步:由于攻击者需要直接访问内网应用,一般会使用FRP之类的工具代理。这样操作更隐蔽也方便多人操作。
第四步:实施攻击后渗透,初级的攻击者可能会使用fscan一把梭,试图快速发现目标网络的弱点。而高级的攻击者则会更加谨慎,只访问有过访问记录的网站或应用,并使用已经收集到的账号密码或进行低频率的爆破。如果发现某些应用存在RCE漏洞,攻击者也可能会利用它们。
总之,攻击者钓鱼成功后的目标就是寻找靶标的位置,并在内网中进行横向移动,突破防御,控制更多的节点。
(二)常见的钓鱼场景
(三)企业常见的社工钓鱼攻击类型
1、电子邮件
攻击者通常会伪造一个看似合法的邮件地址,编辑一些能引起收件人好奇心、贪心、紧张等情绪的邮件主题,同时在邮件正文指示收件人采取看似完全合理且与主题一致的操作,进而获取敏感信息或者收件人的网络设备控制权限。
2、社工IM件
随着社交媒体的广泛使用,攻击者们也迅速发现了新的钓鱼方式,利用社交平台本身开放的搜索和聊天功能,伪装身份对特定人员进行钓鱼(如伪装成求职者针对公司HR进行钓鱼、冒充技术支持对特定员工进行钓鱼等),并以此为支点进一步渗透目标内网,社交媒体也已成为网络钓鱼攻击的流行攻击载体。
  3、水坑攻击
针对特定目标,攻击者会提前对目标进行信息收集,了解目标的兴趣、行业、常用网站等信息,然后选择其中一个或多个网站进行网络攻击,将其篡改或植入恶意代码,当目标访问被篡改后的网站,恶意代码就会被下载到目标计算机上,从而实现窃取敏感信息、控制系统等目的。
4、网页客服和管理员
攻击者把自己伪装成为用户或合作方,向网站客服人员求助或向目标网站提交资料,网页客服或管理员在查看相关资料时很容易中招。
5、2FA钓鱼攻击
攻击者通过伪装成合法的网站或服务,诱使用户输入用户名、密码和第二个身份验证因素(如验证码、短信验证码等),从而获取用户的登录凭据和第二个身份验证因素,绕过两步验证的保护,进而访问用户的账户。常用语突破双因素认证的系统。
6、网络捕鲸
当攻击把目标对准企业高管或某领域专业人员这样的“大鱼”时,比如CIO、CTO 就叫做网络捕鲸。通常攻击者会先对这类目标进行大量信息收集,以找到一个恰当的时机来窃取登录凭据或其他敏感信息。目标拥有的重要信息越多,捕鲸者收获就越大。
(四)社工钓鱼隐藏的伪装技术
1、邮件地址伪造
如果邮箱没有设置SPF(发件人策略框架),就会有人假冒真实域名发送邮件。SPF钓鱼是利用SPF协议的漏洞进行网络钓鱼攻击的一种方式,即通过伪造发件人的电子邮件地址来进行攻击。
2、话术引导
另外钓鱼都会有配合社工话术,之制造好诱骗目标人员点击攻击者发送的木马文件。如伪装成客户的身份要求客服人员尽快解决某个棘手问题、与HR建立信任,伺机发送钓鱼文件、制造吸引眼球的劲爆话题和紧张的氛围,引导技术人员点击链接。
3、附件伪装
攻击者往往会在网络钓鱼的过程中携带上图片、网址、文档等多种信息媒介,而是否能成功获取到目标控制权限的关键步骤在于利用目标的好奇心理、惯性思维等,使其查看附件内容,这类附件一般都是病毒执行程序,一旦被点击运行,攻击者便可远程控制目标主机。常见的病毒文件伪装方式包括:
1)快捷方式图标被伪造成正常应用,当执行命令时目标会直接下载并运行攻击者服务器上的后门程序。
2)利用windows系统自带隐藏文件扩展名的功能或者在文件名后加入超长的空格,隐藏恶意文件的真实扩展名。
  
3)利用RTLO字符可以将任意语言的文字内容按倒序排列的特性,使运行的某些具有危害性的可执行文件修改文件后缀名。
4)利用不常见可执行文件格式来传播,例如"简历.pdf.scr"(Windows屏幕保护程序)和 "简历.pdf.com"(Windows可执行文件)
(5)chm文件是微软推出的一种基于HTML的帮助文件系统,它可以支持脚本、ActiveX、Flash等多种内容,攻击者可以利用这些特性,在chm文件中注入恶意代码,例如利用ActiveX控件来执行msiexec命令,下载并安装恶意软件。
当面对如此专业的社工钓鱼攻击时,我们应该如何应对?绝大部分人首先想到的是使用邮件安全网关或者是通过培训提高大家的安全意识。但钓鱼是一个非常复杂的问题,很难一招解决,不同的场景可能需要侧重不同的方案,我们大致从预防、防御、检测遏制来考虑整体解决方案。接下来,我们把尝试过比较有效的解决方案分享给大家。
探析解决方案
从几个案例可以看出,社工钓鱼利用人性的弱点并深度结合业务,想要真正防住是很难的。那么,社工钓鱼如此强大到底该如何应对呢?其实我们可以从以下几个维度综合考虑解决方案。
(一)预防思路
最好的预防手段还是提升安全意识,而最难的也是提升安全意识。想有效提升安全意识,需要有完整的方案。(培考宣练)一个好的安全意识素材要包含几个重要部分:
一是要讲清楚危害和影响;
二是要强调安全责任和处罚措施;
三是要抓重点人群讲对应的社工钓鱼的典型案例。
另外仅仅只做安全意识培训和考试是不够的,验证意识最好的办法就是定期在内部组织钓鱼演练,结合真实的业务场景和网络环境,通过伪造可信的身份向指定演练对象发送专门定制的钓鱼文件,以实战的方式检验员工对网络钓鱼的应对能力,让员工真实的感受到当钓鱼来了是什么样的。
在演练多次之后,用户才会逐渐形成主动识别意识。当然钓鱼演练也很难的覆盖足够多的场景和个体,所以该方法建议重点覆盖“钓鱼高危人群”。
(二)防御思路
在防御维度的技术比较多,如下介绍几个比较有效的方案。
1、邮件网关+沙箱,能够识别出可疑的发件人、链接和附件,并对它们进行标记和拦截,让用户免受伤害。这种方案对于来源邮件的检出非常有效,方案的重点是需要有一套好用的沙箱,缺点是误判后对于用户业务影响较大,且方案仅对企业邮件钓鱼有效,而且如果采取其他邮件或IM则方案不支持。行业内也有甲方研究使用DLP+沙箱结合来实现,大致的实现方式是使用DLP监控IM和邮件的落地文件,把文件提取到云沙箱运行分析,再通过终端DLP文件管理来达到防御效果。
2、PC端静态文件查杀,一款可靠的终端安全防护软件可以检测和隔离恶意软件,但一般社工钓鱼都会经过专业的免杀处理,这类钓鱼文件落地后,在病毒库未更新之前就很难被检出,所以安全运维时要特别注意及时更新规则库。它还有个作用就是在已提取恶意文件特征后,可以用来批量查杀。另外有部分厂商有引入AI检测引擎杀软的检出率相对较好。可以说终端杀软是防钓鱼的必备工具,但更多是组合效果。
3、利用零信任的技术,零信任的本地沙盒是在本地构建一个隔离的沙盒(文件落地加密、网络和剪切板等均隔离),在高密环境情况下如果需要访问外网的环境则在沙盒访问URL或外网附件,这样即使URL或附件存在恶意行为,也不会影响本地数据和网络环境,并且可配置退出沙箱即自动清除沙箱内环境。另外还有衍生的零信任虚拟内网技术,也是高密环境可选能力,类似与一机两用机制,可配置接入零信任时即开启白进程上网(或者干脆切断互联网)这样即使目标被钓鱼成功,实现办公不上网、上网不办公,恶意进程也无法联网,攻击者就无法对目标内网发起攻击。这两个方案简单易落地在一些特殊场景非常适合,比如运维人员场景,这两个方案都可以有比较好的效果。

(三)检测遏制思路
在攻防对抗领域,仅靠防御是很难彻底防住的,如何快速发现入侵,吹响哨子方能有效遏制。回归到网络安全技术底层逻辑鉴黑+鉴白,类似登机前安全检查,检查身份证护照和比对人脸即鉴白,过安检机器扫描检查危险物品即鉴黑。另外参考ATT&CK攻击技术对整个钓鱼入侵流程针对性分析,每个环节考虑设计方案。如下主要介绍常用的鉴白和鉴黑这两种思路,当然二者也可以结合使用。
1、零信任鉴白+主动防御思路
总体思路如图
1)严格控制单用户的访问权限,降低内网攻击面。
攻击者使用钓鱼主要目的是因为互联网正面突破难,而在钓鱼成功后可以在内网直接访问大量未映射到公网的系统,甚至可以直接对一些访问控制做的不严格的目标进行扫描+简单爆破3389、22等端口,即可拿下大量的服务器权限。那么零信任的第一招就是实现内网零信任,即不再区分内外网,即使在内网的主机访问应用之前也需要经过认证+授权,严格控制权限。只有授权的系统才能被访问到,比如HR只能访问通用办公类和人力资源属性强相关的系统,这样大幅收敛内网暴露面,攻击者钓鱼后访问不到高危应用,即使钓鱼普通的员工作用也不大了。
2)基于条件控制用户访问范围。
攻击者钓鱼成功后主要的目的是作为跳板攻击目标应用,针对核心或高敏应用可以设置通用条件增强认证或告警提示,这样攻击者一旦访问则触发增强认证或告知用户,这时用户很容易发现该异常操作。另外攻击者通常都会选择在休息时间如凌晨集中发起攻击,这样我们也可以设置主机访问条件如在异常的时间段访问目标应用需要增强短信认证或提醒用户访问,否则访问不了。这样可以进一步减少钓鱼后的价值,帮助遏制攻击。
3)使用白进程相关的技术。
一般用户访问的应用都是web应用,这样通过零信任我们可以设置大部分的应用访问进程为浏览器类允许。而攻击者一般经过FRP代理之后访问识别到的进程是FRP魔改后的进程,这样可设置默认禁止访问,即攻击者通过远程根本无法成功访问应用。同理攻击者通过代理访问CS类应用时零信任所观察到的进程链信息发起者都是同一个进程,这样很容易发现客户端异常。使用该技术方案也可以发现主机被植入其他的蠕虫病毒发起的低频扫描。
4)使用端点主动防御技术,以魔法打败魔法。
端点主动防御是零信任结合欺骗防御的新型技术思路,可以非常快速的发现主机被入侵并有效遏制。如下介绍几个比较有用的实践场景。
场景一诱饵应用,在零信任收敛了大部分应用访问的基础上,我们主动发布了一些诱饵应用,这些应用一般用户无需访问而攻击者特别喜欢,如MSSQL,jenkins等,一旦诱饵引用被访问即产生告警。
场景二探针应用,探针应用即发布大量的如3389、22、445等当攻击者在主机上发起扫描即触发探针应用主动告警,需要注意的是这个场景需要提前把蠕虫清理干净,否则可能会被干扰。
场景三是利用零信任agent生成诱饵访问记录和账号密码,前面提到攻击者一般都会提取用户的访问记录和账号密码信息,筛选到有价值的信息后,一旦攻击者主动尝试即可快速发现入侵。
如上提到的这些思路都可以和零信任的信任评价体系结合设置主动降权或限制访问等措施。
实战效果图如下
2、使用云网端泛XDR鉴黑思路
端侧EDR可以检测主要几个类,恶意程序检测,异常行为检测和横向移动监测等,从入侵过程来看:一是当用户点击双后缀恶意文件程序,释放CS马程序,创建并执行计划任务会被IOA引擎审计并触发告警。二是运行CS马会被识别到内存马威胁,访问的CS服务端CDN地址可能会被IOC引擎识别为请求CS地址。三是进一步下载Frp、Fscan、mimikatz工具会被检测到黑客工具。四是运行mimika获取内存信息会被识别为窃取凭证。五是运行Frp也会被IOA引擎和IOC引擎检测,同时frp进程发起的网络访问会被识别为代理行为。
流量侧探针或防火墙检测技术针对整个钓鱼过程主要的检测技术有如下几个点:
1)当用户运行CS马时会请求连接IOC目标,结合威胁情报会有告警请求CobaltStrike,流量行为特征也可能有告警,但大部分CS会被魔改绕过一般流量特征无法检测。这时候要用到一种技术叫智能遥测,当流量检测到未识别的流量,则会触发主动探测目标IP+端口,根据交互流量来判断目标服务器应用类型,从而识别加密流量。
2)当用户从文件服务器下载frp、fscan等工具时,也可能会被IOC或文件检测识别为下载黑客工具。
3)运行frp的检测技术与cs马同理,有差别的是多了一层代理检测socks代理。
4)当攻击者尝试横向渗透时,会触发大量攻击告警,包括不限于扫描、爆破、RCE漏洞利用等非常容易触发告警,即使攻击者没有触发任何攻击特征行为,一般也会把流量审计下来以供平台侧进一步分析。

平台侧XDR,从检测技术上看端侧和流量侧组件几乎覆盖了80%以上,很多安全人员会疑问他的价值是什么?从实践来看,XDR平台很关键,根源是在于鉴黑的思路做不到非黑即白,鉴黑逻辑过于严格会产生大量的“误报”,条件松弛又会“漏判”,所以如果没有平台就需要非常专业的安全专家从海量的原始日志中捞告警,那XDR在关于钓鱼检测技术上可能发挥的是哪些价值和能力呢?
第一个要提到的是降噪和精准告警,比较典型的是告警聚合和网端关联分析能力。在面对经验丰富的攻击者,他们一般都会非常谨慎,大部分的攻击行为都是事先做过绕过测试的,即一般端点和流量不会有明显的告警。如一个用户点击程序文件,释放了文件,添加了任务计划,请求了xxx.cn.cdn.abc.com.cn,这里每一个行为单独看都可以认为是正常情况,在组件视角无法精准体现告警,而在平台关联分析能力则可以把单位时间内的日志聚合,形成多个告警,然后把每一个告警作为事件判断可信度的依据之一,这样就可以逐渐把钓鱼攻击事件各个阶段给描绘出来。另外平台在对接安全GPT上最近也有比较好的成果落地,在无剧本场景下可以更有效的帮助提高检出率和降噪。这样防守方可以在海量的日志里快速定位出钓鱼事件,极大降低MTTD(平均检测)值。
第二个价值是联动网端云的SOAR和智能响应能力。相比其他攻击方式,钓鱼的攻击一般属于跳板,所以对于MTTC(平均遏制)和MTTR(平均响应)要求都非常高,成熟的攻击团队在钓鱼上线成功后可以做到分钟级别完成入侵,就是说如果没有及时响应很可能攻击者已经完成下一步入侵。而按照常规模式响应我们需要从海量告警分析定位到责任人再到联系用户上机处置完成,这样一套流程跑完估算需要1个小时。这时候对于平台快速响应是非常必要的能力了。XDR平台本身可以提供两种方式,一是SOAR能力提前设置好响应剧本,配置好触发条件,一旦识别到钓鱼事件时自动执行响应剧本并发企微消息到安全运营工作群或指定责任人。可以配置的剧本动作包括(封锁ip、拦截域名、隔离文件,阻断进程等)。二是智能响应,这个可以理解为平台内置的通用高危高可信的响应剧本,在检测到特地恶意访问,自动拦截动作。还有就是当前非常热门的结合安全GPT模型的自动驾驶,理论上安全GPT模型内置训练过大量的钓鱼案例,对于可能发生的攻击行为都可以精准判断并做出响应动作指令,未来值得期待。
实战效果图如下
最后,网络安全的本质是对抗,对抗的本质在于攻防两端能力的较量。而安全能力的建设很难一步到位,我们需要做的是结合业务和安全建设成熟度,平衡安全对业务和用户体验影响,选用高性价比方案,逐渐上移提高攻击成本和入侵难度。
以上是我们对社工钓鱼对抗的一些实践总结,如各位师傅还有一些更“骚”的思路或想进一步交流,可以评论留言深入交流。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 03:34 , Processed in 0.013848 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表