红队测试之邮箱打点
前言?
随着互联网信息快速发展,办公已经离不开网络的支持。邮箱成为了人们常用的办公方式之一。
本文主要从信息收集为第一步前提情况下,逐渐延伸到邮件钓鱼方向上,分别有:信息刺探、信息验证、邮箱定位、内容伪造、文件伪造等多个方面展开介绍。
在渗透测试过程当中,使用邮箱打点的方式来进行战场"土工作业"方式一点点掘进到对方内部当中也是常见的一种方式。
这一步是渗透测试重要的一步,在系统无漏洞或无任何头绪的情况下尝试该动作的概率较大。攻击者的内心总会觉得这个信息收集+邮件钓鱼这个组合动作能打出所谓的"漏网之鱼"。
PS:本文仅用于技术研究与讨论,严禁用于非法用途,违者后果自负
信息收集
寻找目标开放的邮件服务端口和web端邮箱入口
(1)通过扫描c段找到入口
我们拿到目标网站的时候,首先要先从MX记录域名找到他的真实ip地址(某些目标可能是的是第三方邮件服务器,这种情况mx记录没啥用了);当我们拿到目标网站的时候,首先要先从MX记录域名找到他的真实ip地址(某些目标可能是第三方邮件服务器,这种情况mx记录没啥用了);然后针对这个ip地址的c段进行扫描(25、109、110、143、465、995、993端口),一般情况下都很容易找到目标的邮件服务器入口。
(2)通过扫描子域名的的方式找到邮件入口
这里扫描子域名的工具有很多,如Sublist3r、TeeMO、LangSrcCurise、挖掘机等不一一举例。
(3)通过搜索引擎爬取
Google hack 搜索;
百度、搜狗、360、bing。
site:target.com intitle:"Outlook Web App"
site:target.com intitle:"mail"
site:target.com intitle:"webmail"
Shodan、fofa、zoomeye搜索等。
批量收集目标邮箱的一些常规途径
https://hunter.io/
http://www.skymem.info/
https://www.email-format.com/i/search/
这款提莫工具也具有相关域名邮箱搜集能力。
https://github.com/bit4woo/teemo
还有从搜索引擎、空间搜索引擎、社交、招聘网站等搜邮箱的方式。
https://github.com/laramies/theHarvester
这款工具默认集成了很多 api,通过这些接口我们可以很方便快捷的去批量抓取目标邮箱。因为api都是默认的,有些没有填,所以结果比较少,因此在实战过程中配合其他工具搜索,然后结合汇总最终的查询结果。
python3 theHarvester.py -d xxx.com -l 1000 -b all -f test.html
验证邮箱
在收集邮箱之后,我们要对邮箱进行验证,因为有些邮箱目标企业人员已经放弃或不用(离职,职位调动等)。
(1)通过mailtester.com可以查询邮箱地址是否存在。
https://mailtester.com/testmail.php
(2)verifyemail这款工具可批量验证邮箱。
https://github.com/Tzeross/verifyemail
(3)mailtester.py
这款工具可以自动组合邮箱地址再根据组合的结果逐个验证。
脚本的好处在于,它会根据 First / Last Name 中的名字随意拼装组合,然后再对其进行逐个验证。
当我们在对邮箱用户进行枚举的时候,尽量多找一些字典,如中国人姓名拼音、字母缩写top100,1000,10000,此处我们需要更多的鱼叉,多一个邮箱就多一份成功率。
当然可以把搜集到疑似网络管理员、运维人员、安全部门的人员提取出来,这些人单独写邮箱或者不发,因为这些人安全意识相对较高,容易打草惊蛇,我们需要对一些非技术员工安全意识薄弱的人下手,挑软柿子捏。
这里可以配合这个网址https://www.aies.cn/pinyin.htm根据收集到的目标信息制定对应人名字典进行组合。
邮箱爆破
这种方式的弱口令爆破只适用于目标企业自己的邮件服务器如owa等 像百度腾讯阿里网易的邮箱不优先考虑。
用到的工具medusa、hydra、SNETCracker、APT34组织 owa爆破工具等。
另外邮箱用户名与密码往往还会使用公司简称+2019,2020等社工口令,多一个字典就多一份成功率。
钓鱼
邮箱伪造
一般情况下没有SPF可以 直接用swaks伪造。
这里简单讲一下spf和dkim 。
SPF: 可以大致理解它的作用是确认邮件的ip地址到底是不是在它域名的spf记录里面,如果在的话,就说明一封正确的邮件,不是的话就会被丢弃。
DKIM:它的作用主要是来校验邮件数据在传输过程中是否被修改过,也可以简单的理解为确保邮件在发送过程中的完整性。
在有SPF的情况下,就需要绕过SPF,可以使用swaks+smtp2go,需要借助到邮件托管平台来绕过SPF监测。
SMTP2GO的配置:
需要建立账户和验证域名。
在邮箱地址下面会出现由xxx平台代发,当然没有仔细看或者不懂技术的人员很容易上当。
另一种方法也可以保存eml格式文件。
删除from之前的字段,修改To字段邮箱。
钓鱼文件制作
1)传统宏文件
2)CHM钓鱼
新建一个文件夹将以下代码复制到index.html中,然后EasyCHM工具生成就可以了。
这里是弹出一个计算器,可以把计算器换成我们的木马。
生成后起一个容易上钩的名字。
3)CVE-2018-2174
exp地址:
https://github.com/0x09AL/CVE-2018-8174-msf.git
4)Windows 快捷键
先利用MSF生成一段payload:
msiexec.exe,系统进程,是Windows Installer的一部分,利用此进程来加载我们shellcode可以达到一定的规避作用。
当然方法不唯一,还有很多种方式如用powershell 来远程下载执行自己的 木马等。
5)构造DDE钓鱼文档
创建一个文档,之后双击打开 dde.docx,直接Ctrl + f9快捷键便可以快速帮助创建一个域,我们则只需要在花括号中添加如下指令(弹出一个计算器),实战过程中可以远程加载我们的木马。
这里我用ps远程下载我的马。
点击后上线。
6) word 中插入外部对象(OLE)方式欺骗
点击即可上线。
7) IQY特性钓鱼
利用nishang下的Out-WebQuery.ps1, 脚本生成包含恶意 payload url 的 iqy 文件。
在iqy.html页面中写入:
bitsadmin传输是真的慢......
除了钓鱼,也可以用这一特性窃取目标用户的账户密码等敏感信息。
8)PPT 动作按钮特性构造 PPSX钓鱼
由于我这里HTA上线可能是系统版本原因总出问题,所以我用hta 去加载 ps,然后再用 ps 去远程加载执行指定的cs马。
这里一定要保存成ppsx格式的。
点击启用即可上线。
9)RAR解压钓鱼
WinRAR漏洞exp:
https://github.com/WyAtu/CVE-2018-20250
生成,发送给目标机解压。由于临时演示没有做免杀处理,重启机器后马被火绒拦截了。
另外还有利用目标登录口的钓鱼页面来窃取各种, Vpn , Mail , OA ,账号密码等,实际红队钓鱼方式与细节非常多不一一举例了。