关于红队在渗透测试中使用的网络钓鱼攻击的文章很多,不过大多数的介绍都是不完整的。在本文中,我们将对这个话题进行一次完整的梳理,包括域创建,制作网络钓鱼内容,绕过垃圾邮件过滤器和电子邮件网关,生成不可检测的有效载荷以及绕过Windows保护(例如AMSI)的注意事项。另外,我们还在这篇文章的末尾整理了一份参考文献,如果你感兴趣可以参考。
出于安全原因,渗透测试中的客户名称和相关信息已被匿名化。根据红色团队参与的复杂程度和持续时间,你需要衡量你在以下每个项目上花费了多少时间和精力。
1.邮件来源:
1.1 使用脚本从本地主机(例如你的笔记本电脑)发送邮件;
1.2 标头中的IP是否可信;
2. 最近启用的VPS,没有发件人历史记录;
3. 发送域信誉(domain reputation)和域年龄(domain age)(从域创建到活动日期之间的时间)。
4. 链接信誉和域年龄;
5. 使用信誉较高的发件人,例如Mailchimp或Sendgrid。ktv通过这些提供商验证你的域,以便你可以向域“发件人:”发送电子邮件。
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. 你还可以使用技术来识别模拟环境,如headless Chrome、Selenium等。