社会工程学|centos下搭建邮件服务器

admin 2022年4月27日20:34:42评论38 views字数 3615阅读12分3秒阅读模式

0x01 前言
现在hvv中钓鱼也不怎么让使用了,因为社工稍微不慎,就会反噬自身,现在从一封邮件的生老病死,看
社工中邮件攻击的一些技术点。
0x02邮件发送接收原理图
说到邮件钓鱼,不得不谈谈一封邮件的发送和接收


社会工程学|centos下搭建邮件服务器


①、用户A的电子邮箱为:[email protected],通过邮件客户端软件写好一封邮件,交到QQ的邮件服务
器,这一步使用的协议是SMTP,对应图示的①;
  ②、QQ邮箱会根据用户A发送的邮件进行解析,也就是根据收件地址判断是否是自己管辖的账户,
如果收件地址也是QQ邮箱,那么会直接存放到自己的存储空间。这里我们假设收件地址不是QQ邮箱,
而是163邮箱,那么QQ邮箱就会将邮件转发到163邮箱服务器,转发使用的协议也是SMTP,对应图示
②;
  ③、163邮箱服务器接收到QQ邮箱转发过来的邮件,也会判断收件地址是否是自己,发现是自己的
账户,那么就会将QQ邮箱转发过来的邮件存放到自己的内部存储空间,对应图示的③;
  ④、用户A将邮件发送了之后,就会通知用户B去指定的邮箱收取邮件。用户B会通过邮件客户端软
件先向163邮箱服务器请求,要求收取自己的邮件,对应图示的④;
  ⑤、163邮箱服务器收到用户B的请求后,会从自己的存储空间中取出B未收取的邮件,对应图示
⑤;
  ⑥、163邮箱服务器取出用户B未收取的邮件后,将邮件发给用户B,对应图示的⑥;最后三步用户
B收取邮件的过程,使用的协议是POP3




0x03搭建
注:abc.com为测试域名,虚构
绑定mail域名(易错)
A记录绑定自己的域名和ip,然后加MX记录解析到域名的ip,但是这样做会错,因为会无法识别
mail.abc.com是什么


社会工程学|centos下搭建邮件服务器

实际上,应该这样子做:


社会工程学|centos下搭建邮件服务器


原因

mail.abc.comA记录解析到邮件服务器IP(后面的各个客户端配置的域名都写这个A记录的),再把abc.comMX记录解析到mail.abc.com(这个是当遇到***@abc.com时会解析到mail.abc.com)。测试端口telnet命令也要用mail.abc.com,不能用mx记录的abc.com(用这个会解析到A记录解析的abc.com)。


配置好了之后可以用nslookup测试:


nslookup mail.abc.com


如果返回vps的ip就说明这一步正确
环境:


内网ip为:10.41.161.214防火墙:全部关闭,防止出现端口没开的情况操作系统:centos7 x64移除了centos自带的sendmail服务,防止出现意外:rpm -e sendmail 或者 yum remove sendmail


修改hostname

hostnamectl set-hostname mail.域名


安装发送者和接收者
参考:
https://blog.csdn.net/ly_6118/article/details/89637270
https://blog.51cto.com/u_12227558/2074095
https://www.cnblogs.com/aeolian/p/13431404.html
https://www.jianshu.com/p/9260eebc3e0c


从文首的图可以看出,一个邮件服务器应该包含发送者和接收者。发送者一般在25端口,是smtp服务器,我们需要开放我们需要的端口,端口有25(SMTP服务,用于发送邮件),110(pop3服务,用于接收邮件)143(imap服务,用于接收邮件)


POSTFIX(发送者)

安装:
yum install postfix
备份/etc/postfix/main.cf:
cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
修改main.cf:

修改内容:# 75行: 取消注释,设置hostnamemyhostname = mail.abc.com# 83行: 取消注释,设置域名mydomain = abc.com# 99行: 取消注释myorigin = $mydomain# 116行: 默认是localhost,我们需要修改成allinet_interfaces = all# 119行: 推荐ipv4,如果支持ipv6,则可以为allinet_protocols = ipv4# 164行: 添加hostnamectl set-hostname mail.域名mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain# 264行: 取消注释,指定内网和本地的IP地址范围mynetworks = 127.0.0.0/8# 419行: 取消注释,邮件保存目录home_mailbox = Maildir/# 571行: 添加smtpd_banner = $myhostname ESMTP# 添加到最后# 规定邮件最大尺寸为10Mmessage_size_limit = 10485760# 规定收件箱最大容量为1Gmailbox_size_limit = 1073741824# SMTP认证smtpd_sasl_type = dovecotsmtpd_sasl_path = private/authsmtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymoussmtpd_sasl_local_domain = $myhostnamesmtpd_recipient_restrictions =permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject


以上对应的对应的行数位置可能随着版本不同会有差异。具体的一些参数含义在本小节前面有解释
重启:
systemctl restart postfix
systemctl enable postfix
修改MTA,验证是否postfix成功:
alternatives --config mta


社会工程学|centos下搭建邮件服务器



dovecot(接收者)
yum install dovecot
vim /etc/dovecot/dovecot.conf


更改内容:

# 26行: 如果不使用IPv6,请修改为*listen = *#在主配置文件中的第48行,设置允许登录的网段地址,也就是说我们可以在这里限制只有来自于某个网段的用户才能使用电子邮件系统。如果想允许所有人都能使用,则不用修改本参数login_trusted_networks = 192.168.10.0/24更改内容

编辑文件10-auth.conf

vim /etc/dovecot/conf.d/10-auth.conf更改内容:# 9行: 取消注释并修改 disable_plaintext_auth = no# 97行: 添加 auth_mechanisms = plain login

编辑文件10-mail.conf

vim /etc/dovecot/conf.d/10-mail.conf更改内容(设置邮件存放地址,~代表用户的根目录,每个用户都会存在一个此目录):# 30行: 取消注释并添加 mail_location = maildir:~/Maildir编辑文件10-master.conf

vim /etc/dovecot/conf.d/10-master.conf

更改内容:# 97-99行: 取消注释并添加 # Postfix smtp验证unix_listener /var/spool/postfix/private/auth {mode = 0666user = postfixgroup = postfix}注意:如果我们没有使用ssl的话需要进行下面的操作。使用了则不需要。

编辑文件10-ssl.conf

vim /etc/dovecot/conf.d/10-ssl.conf更改内容# 8行: 将ssl的值修改为 ssl = no启动dovecot并添加到开机自启。systemctl restart dovecotsystemctl enable dovecot

测试是否搭建成功可用


下载任意一个邮件客户端软件,比如foxmail,本次测试用的是


社会工程学|centos下搭建邮件服务器



就是刚才创建的邮箱管理员admin,密码admin


社会工程学|centos下搭建邮件服务器



社会工程学|centos下搭建邮件服务器

如果进去之后无法成功刷新出邮件,并且报错说密码验证错误,那就改账号为admin,再输入密码admin:


社会工程学|centos下搭建邮件服务器



到此,说明发件服务成了;接着创建一个新用户test
useradd tset
passwd test
本地telnet 登陆telnet localhost 110
成功即可说明收件功能也成了:


社会工程学|centos下搭建邮件服务器



但是用foxmail无法发送邮件,猜测原因:

1.foxmail本身不支持postfix2.我搭建的问题

为了验证是哪个问题,决定手动登陆邮箱发件,看看是否可以发送:

社会工程学|centos下搭建邮件服务器



从admin发送给test,test也确实收到了:


社会工程学|centos下搭建邮件服务器


社会工程学|centos下搭建邮件服务器


同样,测试发送给任意匿名邮箱:


社会工程学|centos下搭建邮件服务器




原文始发于微信公众号(Haking水友攻防实验室):社会工程学|centos下搭建邮件服务器

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月27日20:34:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   社会工程学|centos下搭建邮件服务器http://cn-sec.com/archives/952837.html

发表评论

匿名网友 填写信息