专栏首页Bypass邮箱伪造之搭建匿名SMTP服务器

邮箱伪造之搭建匿名SMTP服务器

电子邮件欺骗(email spoofing)的根本原因是SMTP协议是不需要身份验证的,攻击者可以利用这个特性伪造电子邮件头,从任意电子邮件地址发送任何人,导致信息看起来来源于某个人或某个地方,而实际却不是真实的源地址。

如果要实现邮箱伪造发件人地址,首先,我们需要一个可以用来发送邮件的SMTP服务器。在这里,我们将介绍如何搭建一个匿名SMTP服务器。

0x01 在线邮件伪造

我们先来使用一个在线伪造邮件地址发送Email邮件的服务,来做一些简单的测试。

查看SPF配置情况:

nslookup -type=txt qq.com

Emkei’s Fake Mailer:https://emkei.cz/

1、test.com未配置SPF,伪造发件人邮件为admin@test.com,发送邮件,QQ邮箱成功接收到邮件:

2、某个域名xxx.net 配置了SPF,伪造admin@xxx.net发送邮件,邮件进入垃圾箱。

通过以上测试,我们可以得到一个简单的结论,QQ邮箱在接收到邮件时,会检查域名的SPF记录,未配置SPF的域名,邮箱容易被伪造并成功投递到目标邮箱;已经配置了SPF的域名,检验后会被投递到垃圾箱。

其实可以发现,这个在线邮件伪造emkei.cz,通过查看邮件头,可知它是用postfix搭建。那么,我们也可以使用postfix搭建匿名SMTP邮件服务器,以便更灵活地去伪造邮箱任意字段。

0x02 搭建匿名SMTP服务器

使用postfix搭建匿名SMTP服务器

环境:CentOS7

1、安装postfix

#安装postfix
yum install postfix

2、修改main.cf配置文件

vi /etc/postfix/main.cf    
    # 75行:设置myhostname     
    myhostname = mail.test.com     
    # 83行: 设置域名     
    mydomain = test.com     
    # 99行: 设置myorigin    
    myorigin = $mydomain     
    # 116行: 默认是localhost,修改成all    
    inet_interfaces = all     
    # 119行: 推荐ipv4,如果支持ipv6,则可以为all     
    inet_protocols = ipv4     
    # 165行: 设置mydestination    
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain     
    # 264行: 指定内网和本地的IP地址范围     
    mynetworks = 192.168.0.0/16,127.0.0.0/8    
    # 419行: 取消注释,邮件保存目录    
    home_mailbox = Maildir/     
    # 572行: 取消注释,设置banner。    
    smtpd_banner = $myhostname ESMTP

3、启动postfix服务

systemctl start postfix
#关闭防火墙
systemctl stop firewalld.service

4、测试邮件搭建成功的几种方式:

第一种:使用mail发送邮件

#安装mailx
yum install mailx
#发送邮件测试
echo "email content" | mail -s "title" a*****t@163.com

查看邮件发送记录:

tail -f /var/log/maillog
Apr 28 09:27:14 centos postfix/smtpd[108012]: connect from localhost[127.0.0.1]
Apr 28 09:27:15 centos postfix/smtpd[108012]: 0170D403916: client=localhost[127.0.0.1]
Apr 28 09:27:15 centos postfix/cleanup[108015]: 0170D403916: message-id=<20200428012715.0170D403916@mail.abc.com>
Apr 28 09:27:15 centos postfix/qmgr[39469]: 0170D403916: from=<root@test.com>, size=716, nrcpt=1 (queue active)
Apr 28 09:27:15 centos postfix/smtpd[108012]: disconnect from localhost[127.0.0.1]
Apr 28 09:27:15 centos postfix/smtp[108016]: connect to mx3.qq.com[240e:ff:f101:10::127]:25: Network is unreachable
Apr 28 09:27:16 centos postfix/smtp[108016]: 0170D403916: to=<a*****t@163.com>, relay=mx3.qq.com[58.251.110.111]:25, delay=1.5, delays=0.03/0.03/0.37/1, dsn=2.0.0, status=sent (250 Ok: queued as )
Apr 28 09:27:16 centos postfix/qmgr[39469]: 0170D403916: removed

从邮件日志看到status=sent,确认邮件发送成功。

第二种:通过telnet使用smtp协议发送邮件

telnet localhost 25

测试邮箱成功接收到邮件

第三种:使用Python脚本发送邮件

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = 'admin@test.com'
receivers = ['antapot@163.com']
message = MIMEText('Just for test', 'plain', 'utf-8')
message['From'] = Header("admin")   # 发送者
message['To'] =  Header("test")        # 接收者
subject = 'SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')

try:    
    smtpObj = smtplib.SMTP('localhost')    
    smtpObj.sendmail(sender, receivers, message.as_string())    
    print "邮件发送成功"
except smtplib.SMTPException:    
    print "Error: 无法发送邮件"

使用第三方邮件服务器,往往会受限于SMTP服务商的限制,但也有一定的好处,这些权威的邮件服务商的地址往往会被大部分邮件服务商加入白名单。

国内主流的邮箱有:QQ邮箱(qq和foxmail)、网易邮箱(包括163、126和yeah邮箱)、新浪邮箱、搜狐闪电邮箱、移动139邮箱、电信189邮箱等等。

国外的第三方SMTP服务商:SendGrid、mailgun等

不同的邮箱系统,接收邮件安全策略是不同;不同的SMTP服务商,发送邮件的限制也是不一样,具体会发生什么样的化学作用,还需具体进一步去测试。

本文分享自微信公众号 - Bypass(Bypass--),作者:Bypass

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【渗透技巧】资产探测与信息收集

    另外,随着企业内部业务的不断壮大,各种业务平台和管理系统越来越多,很多单位往往存在着“隐形资产”,这些“隐形资产”通常被管理员所遗忘,长时间无人维护,导致存在较...

    Bypass
  • 邮件伪造之SPF绕过的5种思路

    SMTP(SimpleMail Transfer Protocol) 即简单邮件传输协议,正如名字所暗示的那样,它其实是一个非常简单的传输协议,无需身份认证,而...

    Bypass
  • Window权限维持(一):注册表运行键

    在红队行动中在网络中获得最初的立足点是一项耗时的任务。因此,持久性是红队成功运作的关键,这将使团队能够专注于目标,而不会失去与指挥和控制服务器的通信。

    Bypass
  • 腾讯云企业邮箱优惠-腾讯云最新优惠

    腾讯云企业邮箱(EXMAIL)是腾讯基于多年海量用户邮件系统研发和运营经验,为企业量身订造的一套办公用邮箱系统。稳定、简洁和快速,整合了丰富的企业应用,涵盖资源...

    用户5893074
  • 如何保护您的服务器免受HTTPoxy漏洞的影响

    2016年7月18日,披露了一个名为HTTPoxy的CGI应用程序漏洞。攻击者可以通过传递带有请求的HTTPProxy 标头来利用易受攻击的部署,这会在联系支持...

    黑色技术
  • Discuz!十问戴志康: Discuz! Q的未来不只是社区!

    ? 导语:这一期是Discuz! Q 1.0发布的特别纪念报道,带你们走近19年前写下Discuz!第一行代码的那个人,他是怎么看待今天的Discuz! Q?...

    腾讯云域名与DNSPod团队
  • 苹果与高通冰释前嫌后,将在未来4年购买其5G基带芯片

    在5G基带芯片上,除了高通,华为、三星等头部手机厂商也具备自研能力,苹果也不例外。它通过买下Intel的基带芯片部门在基带芯片领域占有一席之地,但近期有消息透露...

    镁客网
  • 腾讯云SSL证书—1.申请免费公网SSL证书

         对于公共的SSL证书相信大家都不陌生,在腾讯云服务中,可以有一年免费的SSL证书。下面本实验将会指导您如何获取一年免费的SSL证书。

    月缺
  • 剥开比原看代码17:比原是如何显示交易的详细信息的?

    Gitee地址:https://gitee.com/BytomBlockchain/bytom

    比原链Bytom
  • 不知道怎么去研究分子分型?这篇文章详细告诉你

    今天跟大家分享的是2020年2月发表在Aging(IF:4.831)杂志上的一篇文章Analysis of immune-related signatures ...

    科研菌

扫码关注云+社区

领取腾讯云代金券