🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
网络钓鱼不仅是一种网络攻击技术同时也是一项最常见的社会工程技术,更是红队选手和网络犯罪分子的惯用伎俩。
本文我们探讨如何搭建钓鱼邮件服务器。
文章目录
- 🍬 博主介绍
- 1.7.1 域名注册
- 1.7.1.1 国外厂商:
- 1.7.1.2 国内厂商:
- 1.7.2 构造相似域名
- 1.7.2.1 利用相近字符
- 1.7.2.2 利用其他字母表字符
- 1.7.2.3 利用歧义URL
- 1.7.2.4 示例
- 1.7.3 购买vps
- 1.7.4 购买要点
- 1.7.5 黑IP检查
- 1.7.6 常见邮服发送接收端口
- 1.7.7 测试vps端口连通性
- 1.7.8 端口解决方案
- 1.7.9 域名解析
- 1.7.9.1 域名解析配置
- 1.7.9.2 SPF解析
- 1.7.9.3 DKIM解析
- 1.7.9.4 DMARC解析
- 1.7.9.5 域名解析汇总项目
- 1.7.9.6 检测SPF、检测DKIM、检测DMARC
- 1.7.9.6 修改rDNS记录
- 相关资源
1.7.1 域名注册
1.7.1.1 国外厂商:
GoDaddy:支持支付宝 银联 信用卡
NameSilo:支持支付宝 银联 信用卡 微信 Paypal
NameCheap:支持 信用卡 Paypal
1.7.1.2 国内厂商:
阿里云
百度云
腾讯云
…
1.7.2 构造相似域名
我们需要构造一个和目标域名相似的域名,让目标用户误以为我们是真实的域名,从而放松警惕而上钩。
1.7.2.1 利用相近字符
如下:我们用一些特殊字符代替
B β
o σ
u µ
还有如下字符:
Ⅽ∅∈ⅰ∪∱∫∲∳⊙ⅭⅮ⋿Ⅰ⨏⨃⨄〇Ⅹⅹⅰ₿¡|1. Ⅽ - 表示六分之一,是分数的一种表达方式。
2. ∅ - 空集符号,代表没有任何元素的集合。
3. ∈ - 属于的数学符号,表示某个元素属于一个集合。
4. ⅱ - 罗马数字2。
5. ∪ - 并集的数学符号,表示两个集合合并的结果。
6. ∱ - 代表无穷大的符号,有时用来表示罗纳多·斯尼泽的无穷小量。
7. ∫ - 积分符号,用于计算定积分或不定积分。
8. ∲ - 不确定符号,可能指未定义的或不确定的数值。
9. ∳ - 此符号在标准数学符号中不常见,可能是表示复共轭的符号的变体(通常为星号*上的一横)。
10. ⊙ - 可以表示直径的数学符号,或用于其他领域表示不同的意义。
11. Ⅽ - 再次出现,表示六分之一。
12. Ⅾ - 表示二分之一。
13. ⋿ - 在标准数学符号中不常见,可能是一个特定领域的符号或自定义符号。
14. Ⅰ - 罗马数字1。
15. ⨏ - 在标准数学符号中不常见,可能是一个特定领域的符号或自定义符号。
16. ⨃ - 大括号的一种变体,通常用于表示一组对象。
17. ⨄ - 在标准数学符号中不常见,可能是一个特定领域的符号或自定义符号。
18. 〇 - 圆圈符号,在某些文化中用于代替字母O。
19. Ⅹ - 罗马数字10。
20. ⅹ - 希腊字母小写的 chi。
21. ⅰ - 罗马数字1。
22. ₿ - 在标准数学符号中不常见,可能是一个特定领域的符号或自定义符号。
23. "¡" 是感叹号,用于表示强调或惊叹,在很多语言中用在句子的开头。
24. "l" 是小写的拉丁字母 L,代表一种不同的音素,并且在不同语言中有不同的意义。
1.7.2.2 利用其他字母表字符
用于伪造常用字母表
希腊字母
希伯来字母
西里尔字母 – 最常用
吉兹字母
西里尔字母表
顺序 | 字母 | 名称 | 国际音标 | 罗马化 |
---|---|---|---|---|
1 | Аа | а | /a/ | a |
2 | Бб | бэ | /b/ | b |
3 | Вв | вэ | /v/ | v |
4 | Гг | гэ | /g/ | g |
5 | Дд | дэ | /d/ | d |
6 | Ее | е | /je/ | ye |
7 | Ёё | ё | /jɔ/ | yo |
8 | Жж | жэ | /ʒ/ | zh |
9 | Зз | зэ | /z/ | z |
10 | Ии | и | /i/ | i |
11 | Йй | и краткое | /j/(辅音的 и) | y |
12 | Кк | ка | /k/ | k |
13 | Лл | эль | /l/ | l |
14 | Мм | эм | /m/ | m |
15 | Нн | эн | /n/ | n |
16 | Оо | о | /ɔ/ | o |
17 | Пп | пэ | /p/ | p |
18 | Рр | эр | (舌颤音,只是类似于/r/) | r |
19 | Сс | эс | /s/ | s |
20 | Тт | тэ | /t/ | t |
21 | Уу | у | /u/ | u |
22 | Фф | эф | /f/ | f |
23 | Хх | ха | /x/ | h |
24 | Цц | цэ | /ts/ | ts |
25 | Чч | че | /tɕ/ | ch |
26 | Шш | ша | /ʃ/ | sh |
27 | Щщ | ща | /ʃj/ | x |
28 | ъ | твёрдый знак | (硬音符号,不发音) | |
29 | ы | ы | /ɨ/ | ei |
30 | ь | мягкий знак | (软音符号,不发音) | |
31 | Ээ | э | /e/ | ai |
32 | Юю | ю | /ju/ | yu |
33 | Яя | я | /ja/ | ya |
1.7.2.3 利用歧义URL
利用一些有可能存在歧义的域名,如下:
mail-qq.com
secure-alipay.com
mail163.com
1.7.2.4 示例
下图是我构造了两个域名与真实域名的比较,并用AI进行了识别:
真 假
oppo.com орро.соm
aeo3py.com aeoЗpу.соmoppo.com орро.соm
第一个:是真的,全是拉丁字母表
第二个:是伪造的,орро.со是西里尔字母表,只有m一个是拉丁字母表aeo3py.com aeoЗpу.соm
第一个:是真的,全是拉丁字母表
第二个:是伪造的,aeoЗpу.со是西里尔字母表,只有m一个是拉丁字母表
1.7.3 购买vps
避免端口等问题受限,选用国外服务商(国外自己开启或者联系客服发送工单基本可以)
Linode:支持 信用卡 Paypal
Vultr:支持支付宝 银联 信用卡 Paypal
DigitalOcean:支持 信用卡 Paypal
1.7.4 购买要点
可以开通25、465、587等发信端口
可以更换IP
可以配置rDNS
可按小时计费
1.7.5 黑IP检查
https://mxtoolbox.com/blacklists.aspx
http://multirbl.valli.org/
https://whatismyipaddress.com/blacklist-check
1.7.6 常见邮服发送接收端口
类型 | 服务器名称 | 服务器地址 | 非SSL协议端口 | SSL协议端口 |
---|---|---|---|---|
发送服务器 | SMTP | STMP.qq.com | 25 | 465/587 |
收件服务器 | POP | POP.qq.com | 110 | 995 |
收件服务器 | IMAP | IMAP.qq.com | 143 | 993 |
1.7.7 测试vps端口连通性
telnet stmp.qq.com 25
telnet stmp.qq.com 465
下图为开启成功
1.7.8 端口解决方案
防火墙配置
厂商安全组配置
vps默认关闭,发送邮件申请开启
1.7.9 域名解析
1.7.9.1 域名解析配置
1.7.9.2 SPF解析
v=spf1 a mx ip4:vps地址 //spf1 版本 a是A记录 mx是MX邮件记录 如果vps有ipv6也写上 没有不用写
ip6:xxxxxxx -all
在这里插入图片描述
1.7.9.3 DKIM解析
1.安装命令
apt-get install opendkim opendkim-tools
mkdir -p /var/run/opendkim
mkdir /etc/opendkim
chown -R opendkim:opendkim /var/run/opendkim
mkdir /etc/opendkim/keys/你自己的域名 -p
2.修改配置文件
/etc/opendkim.conf 修改配置文件使用下面配置文件覆盖原配置文件
Syslog yes
UMask 002
Domain 自己的域名
Canonicalization relaxed/relaxed
Mode sv
OversignHeaders From
TrustAnchorFile /usr/share/dns/root.key
ExternalIgnoreList refile:/etc/openkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
LogWhy Yes
PidFile /var/run/opendkim/opendkim.pid
SigningTable refile:/etc/opendkim/SigningTable
Socket inet:[8891@127.0.0.1](mailto:8891@127.0.0.1)
SyslogSuccess Yes
TeamporaryDirectory /var/tmp
UserID opendkim:opendkim
3.Opendkim生成数字签名
注意点:Keytable写成一行换行会导致出错
opendkim-genkey -D /etc/opendkim/keys/自己域名/ -d 自己域名 -s default
echo “default._domainkey.自己域名 自己域名/etc/opendkim/keys/自己域名/default.private” > /etc/opendkim/KeyTable
echo “*@自己域名 default._domainkey.自己域名” > /etc/opendkim/SigningTable
echo “127.0.0.1” > /etc/opendkim/TrustedHosts
echo “自己域名” >> /etc/opendkim/TrustedHosts
echo “mail.自己域名” >> /etc/opendkim/TrustedHosts
/etc/default/opendkim 使用以下内容覆盖原配置文件
SOCKET=”local:/var/run/opendkim/opendkim.sock”
SOCKET=”inet:[8891@127.0.0.1](mailto:8891@127.0.0.1)“
4.启动DKIM
chown -R opendkim:opendkim /etc/opendkim/keys/自己域名
systemctl restart opendkim.service
5.查看加密信息
cat /etc/opendkim/keys/自己域名/default.txt
6.添加解析
1.7.9.4 DMARC解析
固定格式,最后写自定义邮件服务器的邮箱
v=DMARC1;p=quarantine;rua=mailto:admin@自己的域名 //admin可替换
1.7.9.5 域名解析汇总项目
1.7.9.6 检测SPF、检测DKIM、检测DMARC
SPF
https://mxtoolbox.com/spf.aspx (全绿表示前面配置无误)
DKIM
https://mxtoolbox.com/dkim.aspx
上面我们配置时设置的值为default所以这里写配置无误的话
就会绿色解析我们刚配置好的那串密文
DMARC
https://mxtoolbox.com/DMARC.aspx (绿色无误)
1.7.9.6 修改rDNS记录
检测:https://mxtoolbox.com/ReverseLookup.aspx
本次搭建使用vultr
如何修改:通过面板设置
检测前
检测后
相关资源
[ 提升篇 ] 钓鱼实战系列
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-1(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-2(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-3(附邮箱收集自动化脚本)
[ 钓鱼实战系列-基础篇-5 ] 一篇文章教会你用红队思维设计钓鱼模板(附常见的钓鱼邮件模板)
[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)
[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)-2