记一次HW的邮件保安所学

引子

本来我熟悉的是waf,但是被派到看邮件了,那就边看边学吧!

第一步

开局上个页面自动刷新脚本

var timeout = prompt("设置刷新时间间隔[S]");  
    var current = location.href;  
    if(timeout > 0)  
    {  
        setTimeout('reload()', 1000 * timeout);  
    }  
    else  
    {  
        location.replace(current);  
    }  

    function reload()  
    {  
        setTimeout('reload()', 1000 * timeout);  
        var fr4me = '<frameset cols=\'*\'>\n<frame src=\'' + current + '\' />';  
        fr4me += '</frameset>';  

        with(document)  
        {  
            write(fr4me);  
            void(close());  
        };  
    }

防守注意事项

1、注意封禁邮件的域名是否是大众域名或者大众IP,如qq、163或者公司的IP,防止大量误杀

如:163ip地址段
permit ip 123.58.177.0 0.0.0.255 any
permit ip 220.181.72.0 0.0.0.255 any
permit 115.236.118.0 0 0.0.0.255 any
permit 103.129.252.0 0 0.0.0.255 any
permit 106.2.83.0 0.0.0.255 any
permit 220.181.13.0 0.0.0.255 any
permit 220.181.15.0 0.0.0.255 any
permit 123.126.96.0 0.0.0.255 any
permit 103.74.27.0 0.0.0.255 any
permit 60.191.83.0 0.0.0.255 any
permit 220.194.24.0 0.0.0.255 any
permit 220.181.12.0 0.0.0.255 any
permit 123.126.97.0 0.0.0.255 any

2、如果有IP开放3333端口,可以推断,攻击者使用的是Gophish搭建钓鱼平台

其它端口:
8010 EwoMail

现有的防治方式(协议上的)

spf技术(对比发件IP)

用来探测该域名是否使用SPF策略,如果使用,收件方在查收邮件的时候,会对比spf.163.com中的IP,如果发件IP不在中间,则认为是伪造邮件

灵活使用nslookup来收集敏感信息

nslookup -type=txt 163.com //用来探测该域名是否使用SPF策略,如果使用,收件方在查收邮件的时候,会对比spf.163.com中的IP,如果发件IP不在中间,则认为是伪造邮件

服务器:  UnKnown
Address:  172.20.10.1

非权威应答:
163.com text =

        "qdx50vkxg6qpn3n1k6n1tg2syg5wp96y"
163.com text =

        "57c23e6c1ed24f219803362dadf8dea3"
163.com text =

        "facebook-domain-verification=kqgnezlldheaauy9huiesb3j2emhh3 "
163.com text =

        "google-site-verification=hRXfNWRtd9HKlh-ZBOuUgGrxBJh526R8Uygp0jEZ9wY"
163.com text =

        "v=spf1 include:spf.mail.163.com -all"

nslookup -type=txt a.spf.163.com //使用该命令可以查询163.com这个邮箱所有的IP段

服务器:  UnKnown
Address:  172.20.10.1

非权威应答:
a.spf.163.com   text =

        "v=spf1 ip4:123.58.177.0/24 ip4:103.74.28.0/24 ip4:115.236.118.0/24 ip4:115.236.121.128/26 ip4:115.236.127.0/24 ip4:123.58.178.0/24 ip4:220.194.24.0/24 ip4:59.111.176.0/24 ip4:101.71.155.0/24 ip4:45.254.49.0/24 ip4:103.74.31.0/24 -all"

nslookup -type=txt spf.163.com //用来查询spf协议下包含的对应域名

服务器:  UnKnown
Address:  172.20.10.1

非权威应答:
spf.163.com     text =

        "v=spf1 include:a.spf.163.com include:b.spf.163.com include:c.spf.163.com include:d.spf.163.com include:wm.spf.netease.com -all"

DKIM(秘钥技术)

DKIM是一种在邮件中嵌入数字签名的技术,DKIM签名会对邮件中的部分内容进行HASH计算,最后在邮件头中增加一个DKIM-Signature头用于记录签名后的HASH值,接收方接收到邮件后,通过DNS查询得到公开密钥后进行验证, 验证不通过,则认为是垃圾邮件。
那么我们如何获取到发件方的DKIM的密钥呢?在DKIM中有一个选择器(selector)的概念,通过此功能可以为不同的用户提供不同的签名,想要找到发件方的DKIM服务器,首先需要找到selector,在邮件的DKIM头中,s字段的值即为DKIM的selector,获取到selector后,我们就可以在如下域名中找到密钥。

查看秘钥
在这里插入图片描述

格式为:
selector._domainkey.xxxxxxxx.com
邮件中是字段 同上 域名

以阿里的为例子,s后面的内容就是selector的值

拼接完成后可以使用一下命令获得key

nslookup -type=txt s1024._domainkey.aliyun.com

服务器:  UnKnown
Address:  172.20.10.1

非权威应答:
s1024._domainkey.aliyun.com     text =

        "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFwkfoN5eNZh2nx1qMTAyfYPhG5RfpjSng5aNh6JL6MTa2BABnD+05xZ3o7j9nT7CoVLVL2mEzj12foAG4J23qnCDf3h32lmZSLTs3sZsWFzwFSMKAXjNH3OCV4MFc72BCLy+gv81wFwsmcHInOZ4tMiw5jG4B683P/1KbeKbeswIDAQAB; n=A 1024 bit key;"


DMARC

DMARC是基于SPF和DKIM协议的可扩展电子邮件认证协议,通常情况下,它与SPF或DKIM结合使用,并告知收件方服务器当未通过SPF或 DKIM检测时该如何处理。
以阿里云为例,获取_dmarc.aliyun.com的txt记录即可获取DMARC策略。

>nslookup -type=txt  _dmarc.aliyun.com
服务器:  UnKnown
Address:  172.20.10.1

非权威应答:
_dmarc.aliyun.com       text =

        "v=DMARC1; p=quarantine; pct=5;rua=mailto:dmarc@service.aliyun.com;"


v=DMARC1:版本
p=:接收者根据域名所有者的要求制定的策略,取值和含义如下:

none不采取特定措施
quarantine邮件接收者将DMARC验证失败的邮件标记为可疑的。
reject域名所有者希望邮件接收者将DMARC验证失败的邮件拒绝

pct=:域名所有者邮件流中应用DMARC策略的消息百分比。
rua=:用于接收消息反馈的邮箱。

钓鱼邮件的(业务上)防护手段

	1、可以封禁出口IP或者域名(如果钓鱼链接是域名的话,可以使用nslookup来获取IP地址,最后封禁源IP);能有效的阻止内网的访问。(但是外网阻止不了,当用户处于外地办公环境时,容易产生隐患)

	2、如果遇到批量邮箱爆破,而源IP和域名都不同的情况下,可以尝试在邮件网关上使用关键字匹配的操作,来起到阻拦作用。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值