钓鱼邮件挖掘

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值关联打开后的整个行为链。进一步挖掘钓鱼行为。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容