钓鱼实践指南
1.1.?钓鱼邮件
指利用伪装的电邮,欺骗收件人将账号、口令等信息回复给指定的接收者;
或引导收件人连接到特制的网页,这些网页通常会伪装成和真实网站一样,如银行或理财的网页,令登录者信以为真,输入信用卡或银行卡号码、账户名称及密码等而被盗取。
1.2.?社会工程学攻击
指的是通过与他人的合法地交流,来使其心理受到影响,做出某些动作或者是透露一些机密信息的方式。这通常被认为是一种欺诈他人以收集信息、行骗和入侵计算机系统的行为。
1.3.?Gophish
Gophish是一个开源网络钓鱼工具包,专为企业和渗透测试人员设计。
它提供了快速、轻松地设置和执行网络钓鱼活动和安全意识培训的能力。
项目地址:
用户手册:
1.4.?Postfix
是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。
1.5.?Dovecot
是一个开源的 IMAP 和 POP3 邮件服务器,支持 Linux/Unix 系统。
假设企业A的域名为diaoyu.com,该企业有张三、李四这两名员工,
邮箱账号为zhangsan@diaoyu.com、lisi@diaoyu.com。
现模拟:攻击者伪造一个假的邮箱security@dia0yu.com,通过该邮箱给张三、李四发送钓鱼邮件。
4.1.?ip
192.168.6.129
4.2.?设置主机名
hostnamectl set-hostname mail.diaoyu.com
4.3.?关闭防火墙
systemctl stop firewalld
4.4.?DNS
4.4.1.?安装
yum install bind -y
4.4.2.?修改配置文件
4.4.2.1.?/etc/named.conf
vi /etc/named.conf
检查语法错误
named-checkconf
4.4.2.2.?/etc/named.rfc1912.zones
vi /etc/named.rfc1912.zones
在文末添加
检查语法错误
named-checkconf
4.4.2.3.?diaoyu.com.zone
创建正向区域数据配置文件
cd /var/named
cp -p named.localhost diaoyu.com.zone
编辑正向区域数据配置文件
vi diaoyu.com.zone$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.diaoyu.com.
MX 10 mail.diaoyu.com.
mail IN A 192.168.6.129
4.4.2.4.?diaoyu.com.local
创建反向区域数据配置文件
cd /var/named
cp -p named.localhost diaoyu.com.local
编辑反向区域数据配置文件
vi diaoyu.com.local$TTL 1D
@ IN SOA diaoyu.com rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.diaoyu.com.
MX 10 ? mail.diaoyu.com.
10 PTR mail.diaoyu.com.
检查语法错误
named-checkconf
4.4.3.?启动dns
systemctl start named
4.4.4.?设置开机自启
systemctl enable named
4.4.5.?设置dns
vi /etc/resolv.conf
4.4.6.?解析验证
nslookup mail.diaoyu.com
4.5.?Postfix
4.5.1.?修改配置文件
4.5.1.1.?/etc/postfix/main.cf
编辑postfix配置文件(修改6处内容)
myhostname = mail.diaoyu.com
mydomain = diaoyu.com
myorigin = $mydomain
inet_interfaces = ?192.168.6.129 , 127.0.0.1
mydestination = $myhostname, ?$mydomain
home_mailbox = Maildir/
检查语法错误
postfix check
4.5.2.?重启服务
systemctl restart postfix
4.5.3.?加入开机自启
systemctl enable postfix
4.5.4.?查看postfix配置
postconf -n
4.5.5.?新建用户
新建系统用户(系统账号即为邮件账号) test、diaoyu、zhangsan、lisi
4.6.?Dovecot
4.6.1.?安装
yum install -y dovecot
4.6.2.?修改配置文件
4.6.2.1.?/etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *
!include conf.d/10-auth.conf
ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
4.6.3.?启动服务
systemctl start dovecot
4.6.4.?加入开机自启
systemctl enable dovecot
4.7.?检查端口监听情况
110,143端口需要监听
4.8.?测试发邮件
telnet 发件测试
使用Foxmail(宿主机)添加邮箱,结果失败:
宿主机无法Telnet 25端口
检查发现防火墙开启,关闭防火墙
宿主机再次Telnet 发现已成功
Foxmail成功创建账号
收到的邮件信息如下
现使用diaoyu@dia0yu.com,发送邮件给diaoyu@diao.com,提示Undelivered Mail Returned to Sender(系统退信)[在攻击机named.rfc1912.zones增加内容后问题解决]。
打开eml可以看到以下内容
5.1.?ip
192.168.6.128
5.2.?Hostname
mail.dia0yu.com
5.3.?DNS
5.3.1.?修改配置文件
5.3.1.1.?/etc/named.rfc1912.zones
最终文件内容为:
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};
zone "dia0yu.com" IN {
type master;
file "dia0yu.com.zone";
};
zone "6.168.192.in-addr.arpa" {
type master;
file "dia0yu.com.local";
};
zone "diaoyu.com" IN {
type master;
file "diaoyu.com.zone";
};
5.3.2.?/etc/resolv.conf
cat /etc/resolv.conf
5.3.3.?diaoyu.com.zone
cd /var/named/
cat diaoyu.com.zone
$TTL 1D
@ IN SOA @ ?rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.6.129
MX 10 mail
mail A 192.168.6.129
5.3.4.?dia0yu.com.local
cd /var/named
[root@127 named]# cat dia0yu.com.local
$TTL 1D
@ IN SOA diaoyu.com rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.dia0yu.com.
MX 10 ? mail.dia0yu.com.
10 PTR mail.dia0yu.com.
5.3.5.?dia0yu.com.zone
cd /var/named
[root@127 named]# cat dia0yu.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.dia0yu.com.
MX 10 mail.dia0yu.com.
mail IN A 192.168.6.128
5.4.?互发邮件测试
成功使用邮箱dia0yu@dia0yu.com发送邮件给diaoyu@diaoyu.com
5.5.?其他
postfix、dovecot配置与企业A邮件服务器配置类似
如Telnet端口不通,请检查防火墙状态
6.1.?下载
wget?https://github.com/gophish/gophish/releases/download/v0.11.0/gophish-v0.11.0-linux-64bit.zip
6.2.?解压
unzip gophish-v0.11.0-linux-64bit.zip
6.3.?config.json
修改配置文件
[root@mail gophish]# cat config.json
{
"admin_server": {
"listen_url": "0.0.0.0:3333",
"use_tls": true,
"cert_path": "gophish_admin.crt",
"key_path": "gophish_admin.key"
},
"phish_server": {
"listen_url": "0.0.0.0:80",
"use_tls": false,
"cert_path": "example.crt",
"key_path": "example.key"
},
"db_name": "sqlite3",
"db_path": "gophish.db",
"migrations_prefix": "db/db_",
"contact_address": "",
"logging": {
"filename": "",
"level": ""
}
}
6.4.?修改文件权限
chmod +x gophish
6.5.?访问
访问后台:https://ip:3333
新版gophish,登录密码在终端中体现:
首次登录需修改密码
成功登录后台
6.6.?Users & Groups
添加用户组
6.7.?Sending Profiles
配置发件人信息,以实际情况填写
可以发送测试邮件看是否可以正常发送邮件
可以看到张三收到了gophish发来的测试邮件
6.8.?Landing Pages
设置钓鱼页面,此处支持一键导入,和人工手写HTML
Capture Submitted Data ?? 捕获数据
Capture Passwords 捕获密码
Redirect to: 当受害者点击提交后跳转到的URL
查看钓鱼页面:
6.9.?Email Templates
配置邮件正文,此处可以使用其他邮箱写好邮件,导出eml格式后导入
复制eml文件后粘贴到此处
此处导入出现乱码,改成直接填写内容:
此处的完整HTML为:
<html>
<head>
<title></title>
</head>
<body>
<p>您好:</p>
<p>近期检测到您在学者网教学科研协作单位平台的密码已过期, 请点击<a href=https://www.bilibili.com/read/"{{.URL}}">此链接</a>尽快修改密码,谢谢配合!</p>
{{.Tracker}}</body>
</html>
还可以增加附件:
6.10.?Campaigns
创建任务发送钓鱼邮件,可设置分批发送邮件(Launch Date)
管理页面,可以看到成功发出2封邮件。
张三成功收到钓鱼邮件
如果张三安全意识不足,点击链接打开,则会看到以下页面
然后张三就真的输入了账号及密码,点击了login
点完张三发现,怎么又让我登录!
没错,此时钓鱼已经完成,当张三点击login后,钓鱼页面自动跳转到真正的系统:
再次刷新Gophish后台,!! ! ?张三中招了!
我们可以查看张三提交的数据
至此,钓鱼完成!我们成功搞到了张三的密码!
7.1.?攻防演习
正面攻击越来越难时,社会工程学攻击变得越来越流行。据某安全人员消息,今年的攻防演习中,他们队有接近70%的分数是靠社会工程学攻击获取到。而钓鱼邮件,则是最常用的手段之一。
7.2.?企业安全意识教育培训
企业安全团队计划开展公司全员安全意识教育培训,不妨先开展一次这样的钓鱼邮件测试,我想这是最好的培训素材,也能够让员工体会更深,对安全意识的理解更加深刻。
7.3.?红蓝对抗
当面对防守方互联网侧资产束手无策时,一封钓鱼邮件发过去,说不定可以带来惊喜呢?!一旦有人运行了钓鱼邮件中的附件,CS上线它不香吗?
7.4.?客户需求
客户需要对公司的人员进行钓鱼邮件测试,来检测员工的网络安全意识,避免在真正的攻击中因为钓鱼而使系统被攻陷。
8.1.?重置密码
攻击者伪装成管理员,让受害者点击钓鱼邮件中的链接来修改各种各样的密码!如下:
8.2.?账号解冻
攻击者伪装成系统管理员,让受害者点击钓鱼邮件中的链接解冻账号。
8.3.?升级补丁
攻击者伪装成系统管理员,让受害者点击钓鱼邮件中的附件 升级补丁。
8.4.?信息收集
利用疫情,让受害者点击钓鱼邮件中的链接反馈相关信息。
8.5.?节假日礼包
攻击者伪装成公司员工,让受害者点击钓鱼邮件中的链接领取节假日大礼包。
8.6.?系统扩容
攻击者伪装成系统管理员,让受害者点击钓鱼邮件中的链接升级扩容(如扩容邮箱容量)。
8.7.?升级改造
8.8.?登录异常
8.9.?其他
那遇到这样的钓鱼邮件应该如何防范?
以本文的钓鱼邮件为例,我们可以从以下几点去识别钓鱼邮件。
识别发件人的邮箱后缀是否是本公司邮箱后缀(如未开启SPF则公司邮箱后缀可以伪造)
右键查看链接地址是否为假冒的地址
工作中如果收到可疑邮件,应及时联系安全部门或相关责任部门,不要随意点击邮件中的链接、下载邮件中的附件、运行附件等危险操作!
本文仅限技术分享,严禁用于非法用途,否则产生的一切后果自行承担。
部分素材源自网络,侵删。
https://blog.51cto.com/u_12227558/2074095
https://xz.aliyun.com/t/5412
http://www.360doc.cn/mip/947685395.html