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

2022-11-26 1734阅读

温馨提示:这篇文章已超过523天没有更新,请注意相关的内容是否还可用!

0x01 前言

社会工程学|centos下搭建邮件服务器
(图片来源网络,侵删)
社会工程学|centos下搭建邮件服务器
(图片来源网络,侵删)

现在hvv中钓鱼也不怎么让使用了,因为社工稍微不慎,就会反噬自身,现在从一封邮件的生老病死,看

社工中邮件攻击的一些技术点。

0x02邮件发送接收原理图

说到邮件钓鱼,不得不谈谈一封邮件的发送和接收

①、用户A的电子邮箱为:xx@qq.com,通过邮件客户端软件写好一封邮件,交到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.域名

安装发送者和接收者

参考:

从文首的图可以看出,一个邮件服务器应该包含发送者和接收者。发送者一般在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.我搭建的问题

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

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

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

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

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

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]