社会工程学|centos下搭建邮件服务器
0x01 前言
现在hvv中钓鱼也不怎么让使用了,因为社工稍微不慎,就会反噬自身,现在从一封邮件的生老病死,看
社工中邮件攻击的一些技术点。
0x02邮件发送接收原理图
说到邮件钓鱼,不得不谈谈一封邮件的发送和接收
0x03搭建
注:abc.com为测试域名,虚构
绑定mail域名(易错)
A记录绑定自己的域名和ip,然后加MX记录解析到域名的ip,但是这样做会错,因为会无法识别
mail.abc.com是什么
实际上,应该这样子做:
原因
mail.abc.com用A记录解析到邮件服务器IP(后面的各个客户端配置的域名都写这个A记录的),再把
abc.com用MX记录解析到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行: 取消注释,设置hostname
myhostname = mail.abc.com
# 83行: 取消注释,设置域名
mydomain = abc.com
# 99行: 取消注释
myorigin = $mydomain
# 116行: 默认是localhost,我们需要修改成all
inet_interfaces = all
# 119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_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
# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
以上对应的对应的行数位置可能随着版本不同会有差异。具体的一些参数含义在本小节前面有解释
重启:
systemctl restart postfix
systemctl enable postfix
修改MTA,验证是否postfix成功:
alternatives --config mta
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 = 0666
user = postfix
group = postfix
}
注意:如果我们没有使用ssl的话需要进行下面的操作。使用了则不需要。
编辑文件10-ssl.conf
vim /etc/dovecot/conf.d/10-ssl.conf
更改内容
# 8行: 将ssl的值修改为 ssl = no
启动dovecot并添加到开机自启。
systemctl restart dovecot
systemctl enable dovecot
测试是否搭建成功可用
下载任意一个邮件客户端软件,比如foxmail,本次测试用的是
就是刚才创建的邮箱管理员admin,密码admin
如果进去之后无法成功刷新出邮件,并且报错说密码验证错误,那就改账号为admin,再输入密码admin:
到此,说明发件服务成了;接着创建一个新用户test
useradd tset
passwd test
本地telnet 登陆telnet localhost 110
成功即可说明收件功能也成了:
但是用foxmail无法发送邮件,猜测原因:
1.foxmail本身不支持postfix
2.我搭建的问题
为了验证是哪个问题,决定手动登陆邮箱发件,看看是否可以发送:
从admin发送给test,test也确实收到了:
同样,测试发送给任意匿名邮箱: