一.搭建邮件服务器
首先需要自己搭建邮件服务器采用的是EwoMail搭建参考链接:
http://doc.ewomail.com/docs/ewomail/install
二.邮件伪造发送
swaks --to 收件人 --from 发送人 --body 内容 --server 邮件服务器地址 -p 2525 -au 用户名 -ap 密码
发送伪造邮件会出现Sender address rejected: not owned by
这样的报错导致未成功发送,原因是postfix设置的问题。需要进行一下修改vim /etc/postfix/main.cf
找到smtpd_sender_login_maps修改为如下:smtpd_sender_login_maps = mysql:/etc/postfix/mysql/mysql-sender-login-maps.cf,pcre:/etc/postfix/login_maps.pcre
找到smtpd_recipient_restrictions删除reject_unknown_sender_domain这样就不会对发送domain进行验证
新增文件/etc/postfix/login_maps.pcre
/^(.*)$/ test1@domain.com(允许用户test1@domain.com使用任意domain)
执行命令使修改内容生效
postmap /etc/postfix/login_maps.pcre
postfix reload
三.SPF校验及绕过
会验证smtp.from发送人邮件服务器是否和邮件服务器地址IP相等,如果不同SPF则会验证失败。
邮件显示的是Header当中的From不是smtp.from,因此可以将smtp.from设置为正常的邮件服务器地址,伪造一个Mail.From
swaks --to 123456@qq.com --from 正常地址 --h-From: '管理员<admin@qq.com>' --ehlo qq.com --body hello --server 邮件服务器 -p 25 -au <USER> -ap <PASSS>
不过这样的方法经过测试,会存在一个问题,会显示由xxxx代发,而这个则就是我们真实发送的邮箱。