作者:周宇,单位:中移物联网有限公司
随着安全防护技术水平的提升和安全设备对攻击行为检测能力的增强,传统的WEB攻击方式变得越来越难以有效地穿越防线。因此,钓鱼攻击逐渐成为红队活动中备受关注的焦点。与传统的攻击手段相比,钓鱼攻击具备更高的成功率,常常能够达到较好的攻击效果。这是因为钓鱼攻击不直接依赖技术漏洞,而是利用心理和行为倾向来欺骗目标。举例来说,钓鱼攻击可以通过伪装成合法实体发送虚假电子邮件,诱使受害者提供敏感信息或点击恶意链接。攻击者也可能创建外观酷似合法网站的假冒网站,引诱人们输入敏感数据。另外,攻击者还可能通过电话、社交媒体或即时消息伪装身份,诱导受害者透露机密信息或执行恶意操作。更为针对性的是"Spear Phishing",攻击者会根据受害者的情况量身定制钓鱼内容,以增加说服力。
Part 01● 目标群体信息收集 ●
钓鱼攻击在实施之前,务必充分进行前期信息收集和整合,以确保不被察觉。这包括搜集目标企业的多个方面信息,如招聘情况、招投标记录、法律争议、供应链信息、员工通讯信息、社交媒体账号、域名情况,以及企业内部的组织架构和高管姓名等。
在钓鱼攻击中,最理想的情况是在信息收集阶段获得某位企业员工或管理员的电子邮箱登录凭据。另外,如果能够获取某个Web服务器的权限,从其配置文件中找到邮箱相关信息也是一种成功的方法。此外,获取办公系统的权限或登录凭据,尤其是系统中存在工作流程或邮件往来功能,将为攻击者提供合法身份,从而更加隐蔽地进行攻击。
在进行这些步骤时,请确保采取隐蔽的方法,以免引起注意。信息收集是钓鱼攻击成功的基础,因此在这一阶段的小心谨慎至关重要。
常规收集途径不限于爱企查、git、威胁情报、语雀等。
图1 hunter邮箱收集平台图
Part 02● 钓鱼攻击攻击类型 ●
钓鱼攻击的策略可以简化为以下几种主要方式:
➤ 社交钓鱼:这种方法适用于信息收集阶段,当发现目标已在互联网上泄露联系方式时,例如企业在钉钉、QQ、微信等社交平台上的存在。攻击者可能利用这些信息,如公司的钉钉或QQ群、员工的手机号,甚至通过手机号获取社交账号好友关系等,来进行欺骗。社交平台上的钓鱼攻击通常涉及发送病毒链接或诱骗性消息,以下载恶意软件、窃取用户机密信息。
➤ 邮件钓鱼:如果在信息收集阶段获取了目标的招聘、法务纠纷、招投标等信息,攻击者可以尝试进行邮件钓鱼攻击。这种方法适用于目标在互联网上公开发布信息的情况。电子邮件钓鱼是目前最常见的攻击方式之一。攻击者可以发送伪造的邮件,假扮成银行、电信公司、政府机构等,以获取敏感信息或传递恶意软件。
➤ 网站欺诈:这种方式利用邮件、社交等渠道,通过友好和吸引人的方式,诱使用户点击链接,将目标带到伪装成合法站点的地方,然后获取用户的账号和密码。
➤ 被动钓鱼:这种方法涉及公开信息,如在GitHub代码仓库、Python库或其他公开文档中散布虚假信息,以迷惑目标用户下载、安装或运行。被动钓鱼适用于大规模攻防演练或APT攻击等情况。
钓鱼攻击可以进一步分为以下几种类型:
➤ 鱼叉攻击:鱼叉攻击主要针对特定个体,攻击者制定特定的攻击策略。与广泛撒网不同,对大范围钓鱼攻击的发现概率更高。红队在实际操作中通常更关注特定群体,如运维人员。这些人员通常存放有系统台账,而这些台账往往包含重要业务系统的信息。一旦成功,将为攻击者带来重要的内网突破路径。
➤ 水坑攻击:水坑攻击在目标必经的路径上设置陷阱,等待目标触发。一旦目标触发陷阱,攻击者将在目标主机上植入恶意软件。这种方法通常利用组织内部的业务系统漏洞或权限,通过放置恶意代码,一旦正常用户访问,就会触发恶意代码,进而获取目标主机的权限。
➤ 鲸钓攻击:鲸钓攻击主要针对企业高层管理人员。这些人员往往没有像普通员工那样接受网络安全意识培训,因此对钓鱼攻击的防范意识较低,更容易受到攻击。攻击高层管理人员成功后,攻击者获取的信息价值更高,危害更大。
Part 03● 准备话术、钓鱼网站及鱼饵 ●
3.1 话术
钓鱼攻击的成功在很大程度上依赖于精心构建的话术,这在整个钓鱼过程中占据着关键地位。不同的钓鱼话术针对不同的目标,产生不同的攻击效果。在策划钓鱼攻击之前,对被钓鱼对象有深入的了解是不可或缺的。这包括获取目标企业员工的联系方式以及了解他们是否在企业内部。对目标的职位和所在部门进行准确判断,比如确定是否在公司担任行政职务,确认办公设备是否连接到公司网络,了解目标在公司中的职位以及设备是否安装了杀软,以及杀软的具体类型。
3.2 鱼饵附件进行免杀
在钓鱼攻击中,克服的难题之一始终是如何对抗杀软。在计算机普遍安装了个人杀软,企业采用沙箱和企业级EDR的情况下,未经处理的木马程序难以有效部署或执行。为了绕过这些保护措施,定制化的免杀木马应运而生,旨在能够逃避目标沙箱检查和杀软的查杀。最理想的情况是,在收集信息或与受害者沟通时,能够探明目标是否装备有杀软,以及使用的杀软类型,从而制作相应的免杀木马样本。虽然通过诱使目标关闭杀软是一种简单的方法,但现实情况通常是攻击者难以获知目标的杀软情况,所有操作都在黑盒的状态下进行。为确保钓鱼攻击的成功率,唯有制作强大的免杀工具,以便能够绕过更多种类的杀软。
想要制作免杀木马,就必须深入了解杀软的工作原理。通常,杀软采用静态分析和动态分析两种方法。静态分析时,杀软会检查文件的二进制代码,扫描其中的特定模式和指令序列,以便识别潜在的恶意行为,包括寻找已知的恶意签名和计算机病毒,以及判断文件是否表现出恶意特征等。静态免杀即攻击者利用技巧,使得他们的恶意软件在静态分析下不被杀软察觉,方法包括文件格式修改、使用加壳器或代码混淆器、隐藏恶意代码等。而动态分析则是在运行时监测程序行为,观察系统调用、网络流量、文件操作和其他活动。这有助于杀软识别使用代码混淆、加密或其他技术掩盖的恶意行为。动态免杀即攻击者运用技巧,使得他们的恶意软件在动态分析下不被杀软发现,方法包括虚拟化技术、进程注入、代码混淆、反调试技术、反沙箱技术、动态生成恶意代码等,以逃避杀软的分析功能。常见的免杀方法有:免杀加载器、分离免杀、加壳免杀、修改特征免杀。
3.3 鱼饵附件进行伪装
伪装是指通过各种手段对钓鱼样本进行外观上的伪装,以使其具有不同于实际内容的外观特征。举例来说,可以将可执行文件的外观伪装成更类似于PDF文件,或者通过替换木马可执行文件的.ico图标,使其呈现出官方可执行文件的外观。在进行信息收集阶段,收集受害者所属组织的官方网站图标,并将其应用于木马,以降低目标的警惕性。然而,如果运行文件后没有出现任何反应,这可能引发对方的怀疑。在这种情况下,就需要对木马的图标和文件信息进行修改,将正常文件与木马相互绑定,使用户在运行时会释放出预先准备的正常文件。红队需要掌握钓鱼文件制作技术,以减轻目标的戒心。以下是几种常见的方法:
1、文件外观伪装:修改文件的头部信息或特定部分,使其在外观上更像其他类型的文件,例如将可执行文件伪装成文档、图像或音频文件。
2、图标替换:将木马可执行文件的图标替换为常见、无害程序的图标,以使其在文件浏览器中看起来与正常文件相似。
3、捆绑文件:将木马与一个或多个合法文件绑定在一起,使用户运行文件时同时释放出正常文件,以掩盖木马的存在。
4、动态加载:在运行时,木马可以动态下载其他恶意组件,从而不会被静态分析检测出来。
5、代码混淆:对木马代码进行混淆,使其难以被静态分析工具解读,从而降低检测风险。
6、虚拟化技术:使用虚拟化技术将木马代码包装在虚拟环境中运行,使其行为更接近正常程序,以逃避动态分析检测。
7、反沙箱技术:检测是否在沙箱环境中运行,如果是,则木马可能会采取不同的行为,以躲避检测。
8、反调试技术:木马可能会监测是否在调试环境中运行,如果是,则采取措施阻止调试操作。
这些方法可以在钓鱼攻击中用来制作免杀木马,以便更好地欺骗目标并绕过安全措施。
图3 修改附件图标示意图
图4 自解压及后缀反转技术示意图
3.4 钓鱼网站
钓鱼网站是一种网络欺诈行为,旨在诱导用户提供个人敏感信息,如用户名、密码、信用卡信息等,通常是通过伪装成合法和可信赖的网站。攻击者会创建看似真实的网站,外观和功能与合法网站非常相似,以便欺骗用户在网站上输入他们的敏感信息。一旦用户提供了这些信息,攻击者就可以利用这些信息进行不法活动,如盗取身份、进行金融欺诈等。
钓鱼网站通常使用社会工程学和伪装技术,通过电子邮件、社交媒体、即时消息等渠道将受害者引导至这些网站。例如,攻击者可能会发送看似合法的电子邮件,要求用户点击链接前往某个网站,然后在该网站上输入他们的登录信息。这些电子邮件通常会伪装成银行、电子支付平台、社交媒体或其他常用服务的通知,以引起受害者的兴趣和信任。
为了识别钓鱼网站,用户需要保持警惕,注意以下几点:
URL检查:在点击链接之前,仔细检查链接的URL。攻击者可能会使用与真实网站类似的域名,但可能会有细微的差异或错字。
安全证书:确保网站使用了合法的安全证书。大多数合法网站会在浏览器中显示一个锁形图标,表示连接是加密的。
谨慎点击链接:不要在未经验证的电子邮件、短信或社交媒体消息中点击链接。最好手动输入网站的URL,而不是通过点击链接进入。
不提供敏感信息:永远不要在不确定网站上输入敏感信息,特别是密码、信用卡信息等。
使用安全工具:使用安全软件和防病毒工具可以帮助检测和阻止访问恶意网站。
总之,钓鱼网站是一种网络欺诈行为,通过伪装成合法网站来诱使用户泄露敏感信息。用户应该保持警惕,避免在未经验证的情况下提供个人信息,以确保网络安全。
Part 04● 投放诱饵 ●
完成上述任务后,木马将以多种方式传递到目标系统,然后静静等待目标上钩。目前是否成功上钩取决于钓鱼话术是否足够迷惑,以至于让目标深信不疑。
以下是几种提高成功概率的策略:
创造适当的紧迫感。例如伪造可能引发严重后果的事件,或者冒充一个无法拒绝的身份,比如组织内高级领导、第三方运维人员或求职者。
强调时间的紧迫性。突显事态的严重性。当受害者急于解决问题时,往会带来出乎意料的效果。
提供一定的诱因。例如伪装成公司管理人员,承诺完成某项任务即可获得奖金,并与下个月的工资一同支付。这种方法能显著提升成功率。
灵活掌握时机。钓鱼攻击方式应多变。例如,如果企业正在进行攻防演练,可以借此机会告知员工需要进行安全检查。或者在法定假日临近时,伪造符合常理的假期安排,从而不引起怀疑。
可以考虑使用多个木马和C2服务器进行远程控制。这样可以增加攻击的稳定性和隐蔽性。
图5 真实钓鱼邮件示例图
Part 05● 结语-钓鱼攻击防范 ●
钓鱼攻击常见于伪装成合法实体,引诱用户进入虚假网站提交敏感信息或点击恶意程序,以达到攻击目的。这类攻击方法多种多样,必须结合特定场景,制定相应的攻击方案和引诱手法,配合精巧的木马样本技术,确保可信度,从而引诱目标上钩。防范钓鱼攻击的核心在于提升用户和组织内部的安全意识,进行培训,避免点击可疑链接或附件,并保持应用程序的及时更新。
为应对钓鱼攻击,需采取以下措施:
1、加强组织内部的安全培训,提高员工识别和防范钓鱼攻击的能力。避免通过非官方渠道泄露社交媒体账号,对需要与外部沟通的职位进行安全培训,例如人事招聘HR、法务部人员等。
2、强制使用强密码和双因素认证等方式保护个人账号安全。防止敏感信息泄露。制定密码更新策略,防范因过期密码导致攻击者登录。
3、及时更新操作系统和应用程序。安装安全补丁,避免攻击者利用已知漏洞进行攻击。
4、部署邮件服务器沙箱。使用沙箱特征库扫描、威胁情报匹配、启发式扫描和行为识别等手段,识别恶意文件和钓鱼链接。保持内网主机和杀软沙箱的特征库更新,避免老旧特征库造成恶意文件执行。
5、核实邮件内容。在打开外部文件前,先进行杀软扫描。对包含“福利”、“补贴”等字眼的邮件要谨慎,避免盲目下载和打开未知附件。
6、注意检查发件人的邮件地址和内容。以辨识可疑邮件的真实性。
7、对新增的社交账号保持警惕。通过熟悉的信息验证对方身份。
8、避免随意打开附件中的可执行文件、Office文件和陌生后缀文件,不要直接点击邮件链接。最好直接访问已知网站域名。若遇到不明链接或可疑网站,应先确认并验证后再进行操作,可以请教IT人员或发件人。