美文网首页安全分析
钓鱼邮件挖掘

钓鱼邮件挖掘

作者: 墨攻科技 | 来源:发表于2020-02-13 21:27 被阅读0次

    SPF是啥

    SPF是 Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术。 接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。
    SPF可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你域名的SPF记录之后, 接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。

    设置正确的 SPF 记录可以提高邮件系统发送外域邮件的成功率,也可以一定程度上防止别人假冒你的域名发邮件

    SPF设置

    SPF设置其实就是设置发件人的dns的TXT记录。
    举个例子,你的邮箱是zhangsan@qq.com。要对该邮箱启用SPF,就是设置qq.com的TXT记录。
    假设你们长江公司搞了个Exchange服务器,给你配了一个邮箱
    wanger@changjiang.com,那就需要你们运维管理员在DNS服务器上增加一条changjiang.com的TXT记录。

    这里我们看下qq.com的SPF记录设置。

    C:\Users\Hello>nslookup
    默认服务器:  UnKnown
    Address:  192.168.1.1
    
    > set type=txt
    > qq.com
    服务器:  UnKnown
    Address:  192.168.1.1
    
    DNS request timed out.
        timeout was 2 seconds.
    非权威应答:
    qq.com  text =
    
            "v=spf1 include:spf.mail.qq.com -all"
    >
    >
    > spf.mail.qq.com
    服务器:  UnKnown
    Address:  192.168.1.1
    
    DNS request timed out.
        timeout was 2 seconds.
    非权威应答:
    spf.mail.qq.com text =
    
            "v=spf1 include:spf-a.mail.qq.com include:spf-b.mail.qq.com include:spf-c.mail.qq.com include:spf-d.mail.qq.com include:spf-e.mail.qq.com include:spf-f.mail.qq.com -all"
    >
    > spf-a.mail.qq.com
    服务器:  UnKnown
    Address:  192.168.1.1
    
    DNS request timed out.
        timeout was 2 seconds.
    非权威应答:
    spf-a.mail.qq.com       text =
    
            "v=spf1 ip4:203.205.251.0/24 ip4:103.7.29.0/24 ip4:59.36.129.0/24 ip4:113.108.23.0/24 ip4:113.108.11.0/24 ip4:119.147.193.0/24 ip4:119.147.194.0/24 ip4:59.78.209.0/24 ip4:113.96.223.0/24 ip4:183.3.226.0/24 ip4:183.3.255.0/24 ip4:59.36.132.0/24 -all"
    >
    

    通过迭代的查询,我们可以看到qq.com允许发件的IP段。
    ip4:203.205.251.0/24 ip4:103.7.29.0/24 ip4:59.36.129.0/24 ip4:113.108.23.0/24 ip4:113.108.11.0/24 ip4:119.147.193.0/24 ip4:119.147.194.0/24 ip4:59.78.209.0/24 ip4:113.96.223.0/24 ip4:183.3.226.0/24 ip4:183.3.255.0/24 ip4:59.36.132.0/24

    SPF分析

    在下面,我们分别查看了aliyun.com,github.com以及coast.com三个域名的TXT记录。
    这三个域名代表了三种不同的情况。
    aliyun的spf记录里面, -all 表示严格按此执行,如果不在指定的IP范围内就拒信。
    而github.com的spf记录里面, ~all 表示如果不在指定的范围内,不用直接拒掉,需要观察下。
    coast.com则是直接没有SPF记录。

    C:\Users\Hello>nslookup
    默认服务器:  UnKnown
    Address:  192.168.1.1
    
    > set type=mx
    > aliyun.com
    服务器:  UnKnown
    Address:  192.168.1.1
    
    DNS request timed out.
        timeout was 2 seconds.
    非权威应答:
    aliyun.com      MX preference = 10, mail exchanger = mx2.mail.aliyun.com
    > set type=txt
    > aliyun.com
    服务器:  UnKnown
    Address:  192.168.1.1
    
    DNS request timed out.
        timeout was 2 seconds.
    非权威应答:
    aliyun.com      text =
    
            "v=spf1 ip4:115.124.30.0/24  ip4:121.0.18.0/23 ip4:121.0.30.0/24  ip4:42.120.70.0/23 ip4:47.88.44.32/27 ip4:59.82.0.0/24  -all"
    >
    > github.com
    服务器:  UnKnown
    Address:  192.168.1.1
    
    DNS request timed out.
        timeout was 2 seconds.
    非权威应答:
    github.com      text =
    
            "docusign=087098e3-3d46-47b7-9b4e-8a23028154cd"
    github.com      text =
    
            "MS=ms58704441"
    github.com      text =
    
            "MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805"
    github.com      text =
    
            "v=spf1 ip4:192.30.252.0/22 ip4:208.74.204.0/22 ip4:46.19.168.0/23 include:_spf.google.com include:esp.github.com include:_spf.createsend.com include:servers.mcsv.net ~all"
    github.com      text =
    
            "MS=ms44452932"
    >
    >
    >
    > coast.com
    服务器:  UnKnown
    Address:  192.168.1.1
    
    DNS request timed out.
        timeout was 2 seconds.
    *** 没有 coast.com 可以使用的 text (TXT)记录
    >
    
    

    钓鱼邮件挖掘流程

    一、SPF初筛

    1. 检查SPF状态
    2. 对SPF完成校验通过的,可以根据其中的发件邮箱,对邮箱进行加白。例如你可以认为某些合作公司的邮箱是可信的,降低要分析的邮件量
    3. 对严格SPF校验(-all),没通过的,肯定为钓鱼
    4. 对非严格SPF校验(~all),没通过的,可以通过往来邮件,构建完整的发件可信IP白名单
    5. 对无SPF记录的,深入检测,非常非常可疑。正规邮箱都会设置SPF记录。无SPF记录,说明发件邮箱的reputation本身就有问题。
      通过SPF的初筛,我们会获得一个可疑邮件集合。大多数情况下,这个集合还是很大。

    钓鱼最常见的两种方法:附件类钓鱼和链接类钓鱼。通过SPF初筛后的结果针对这两种方式继续进行深入挖掘

    二、附件类钓鱼挖掘

    1. 对附件进行静态分析,包括附件文件格式(pe还是word,如果是word,有没有包含macro),附件静态扫描结果
    2. 附件vt检测或者多杀软报毒情况
    3. 对附件进行动态分析,附件在沙箱中运行的行为

    三、链接类钓鱼挖掘

    1. 链接静态分析,链接中的域名rank等
    2. 链接vt检测或者杀软报毒情况
    3. 对链接进行动态分析,自动点击链接,看是否触发下载行为,或者浏览器类exploit(可以直接静态匹配js exploit特征)(此处需要对常见的第三方系统找回密码类链接等进行加白,否则会导致链接失效)

    四、纵深挖掘

    1. 对点击链接行为,将该用户的EDR日志进行综合分析,挖掘在点击链接时,浏览器的行为以及流量中的response。
      这个地方有两个问题:
      a. 如果链接是https,无法看到response
      b. 如果访问的exploit触发的是 发送msg到其他进程,并exploit其他进程,这个时候EDR无法观测到异常的浏览器执行。(两个exploit叠加的利用方式,第一个exploit从js层进入浏览器进程,第二个exploit突破浏览器沙箱)
    2. 对下载文件并打开的行为,通过EDR中采集的进程操作,可以看到打开文件的hash值,通过hash值关联打开后的整个行为链。进一步挖掘钓鱼行为。

    相关文章

      网友评论

        本文标题:钓鱼邮件挖掘

        本文链接:https://www.haomeiwen.com/subject/hynlfhtx.html