钓鱼网站攻防

目录

一、钓鱼网站原理

1.1定义

1.2 DNS欺骗

1.3场景模拟

二、SNAT

2.1路由转发

2.2网络地址转换

三、DHCP服务

3.1DHCP部署

四、DNS 服务

4.1DNS 部署

4.2修改DNS配置文件

 4.3 DNS服务管理

 五、DNS 欺骗

5.1 DNS配置

5.2区域配置文件的配置

5.3 DNS 欺骗验证


一、钓鱼网站原理

1.1定义

        网络钓鱼是一种网络欺诈行为,指不法分子利用各种手段,仿冒真实网站的地址以及页面内容,以此来欺骗用户银行或信用卡账号、密码等私人资料。
        DNS 劫持与欺骗是其主要手段。

1.2 DNS欺骗

        DNS 欺骗就是攻击者冒充域名服务器的一种欺骗行为,冒充域名服务器后,把查询的 IP 地址设为攻击者的 IP 地址,用户上网只能看到攻击者的主页,而不是想要的访问主页。
        在域名解析的过程中会首先检查本地缓存,在实验时,我们可以改变本地的域名指向,指向我们自己网站的IP。
#windows中的缓存地址
C:\Windows\System32\drivers\etc\hosts
#CentOS中的缓存地址
/etc/hosts
Windows中的缓存地址
Linux中的缓存地址

         我们只需要在这里将域名所对应的IP改变就可以访问到我们的网站。例如:www.jd.com对应的IP改成127.0.0.1,这样域名解析就会解析到我们电脑的网站中。

1.3场景模拟

序号要求
1
GW 开启路由转发以及网络地址转换模式。
2Windows 客户端连上网线就能上网,可以在GW 上部署DHCP DNS 服务。
3域名www.jd.com,解析到Server 上。
4Server 上搭建web 服务,将虚假网站返回给Windows

二、SNAT

2.1路由转发

前面的文章有关于路由转发的配置

[root@localhost ~]# grep -v "#" /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@localhost ~]#

2.2网络地址转换

使用 iptables 防火墙规则做 SNAT ,规则如下:
iptables -t nat -I POSTROUTING -p all -s 192.168.1.0/24 -o ens32 -j SNAT --to-source 10.4.7.132

iptables -t nat -I POSTROUTING -p all -s 0.0.0.0/0 -o ens32 -j SNAT --to-source 10.4.7.132

        上面第一条的内容意思如下是使用了iptables工具,它是Linux系统中用于配置IPv4数据包过滤规则和NAT(网络地址转换)的工具。具体来说,你提供的这条命令是在配置源NAT(SNAT, Source Network Address Translation),它将修改符合特定条件的数据包的源IP地址。让我们逐个部分解析这条命令:

  • iptables: 这是调用iptables工具来管理Linux内核中的防火墙规则。
  • -t nat: 指定要操作的表为nat表。iptables有多个表,包括filternatmangle等,其中nat表用于网络地址转换规则。
  • -I POSTROUTING: 表示插入一条规则到POSTROUTING链中。POSTROUTING链在数据包即将离开本机但还未发出之前处理,通常用于SNAT。
  • -p all: 这里表示协议可以是任意的(all)。实际上,-p选项后面应指定一个具体的协议(如tcp、udp、icmp等),而all并不是一个有效的参数。正确的做法应该是省略此选项或者指定特定的协议。
  • -s 192.168.1.0/24: 指定源地址匹配的条件,这里指定了一个子网192.168.1.0/24,意味着任何来自这个子网的数据包都将被这条规则考虑。
  • -o ens32: 指定输出接口名称为ens32,这意味着只有那些将通过名为ens32的网络接口离开本机的数据包才会被这条规则影响。
  • -j SNAT: 指定目标动作是进行源NAT(SNAT)。
  • --to-source 10.4.7.132: 这是SNAT的具体操作,将符合条件的数据包的源地址改为10.4.7.132

总结一下,这条命令的作用是:对于所有从192.168.1.0/24这个子网发出,并且准备通过ens32接口离开本机的数据包,无论它们使用的是什么协议,都会将其源IP地址替换为10.4.7.132。这种技术常用于让内部网络中的多个设备共享一个公网IP地址访问互联网的情形。

        第二条是包含的范围更加广泛:意思是:对于所有通过接口ens32离开本机的数据包(无论其来源IP地址是什么),将其源IP地址替换为10.4.7.132。这种设置通常用于NAT场景下,尤其是当您希望内部网络中的多个设备共享同一个外部IP地址访问互联网时。

命令补充:

# 查看编写的规则
iptables -t nat -nvL 

# 清空NAT 链的规则
iptables -t nat -F POSTROUTING

三、DHCP服务

3.1DHCP部署

注意:DHCP使用的是UDP,所以查看时候要使用anptul。

#1、安装DHCP
[root@localhost ~]# yum install dhcp -y

#2、查看DHCP服务
[root@localhost ~]# systemctl list-unit-files |grep "dhcpd.service"
dhcpd.service disabled

#3、开启DHCP服务,并且设置为开机自启动
[root@localhost ~]# systemctl start dhcpd.service
[root@localhost ~]# systemctl enable dhcpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to
/usr/lib/systemd/system/dhcpd.service.

#4、查看DHCP
[root@localhost ~]# netstat -anptul | grep "dhcp"
udp 0 0 0.0.0.0:67 0.0.0.0:* 3227/dhcpd 

#5、查看DHCP日志信息
[root@localhost ~]# tail -f /var/log/messages
DHCP日志信息

        此时在Windows客户端就可以使用自动获取IP

四、DNS 服务

4.1DNS 部署

[root@localhost ~]# yum install bind -y

4.2修改DNS配置文件

[root@localhost ~]# vim /etc/named.conf

        第一个框的地方注释第一行,重新写的是第二行,意思是:53端口监听,监听192.186.1.254,通过这个IP地址可以找到53端口。

        第二个框中是要允许查询要不止仅限于本地地址

 修改二:把这里的yes改成no,把安全选项给关闭

 4.3 DNS服务管理

#1. 修改DNS配置文件
vim /etc/named.conf

#2. 启动DNS
systemctl start named

#3. 开机自启动DNS
systemctl enable named

#4. 查看
netstat -anptul | grep 53

 五、DNS 欺骗

5.1 DNS配置

#配置DNS
vim /etc/named.conf

 在文件中添加下面的内容,然后重置生效。

 

5.2区域配置文件的配置

之后如果需要将jd.com的DNS配置过来,需要配置区域配置文件。

/var/named/是DNS的数据库所存储的位置 。

named.empty是区域配置的模版,named.empty有点特殊,属于root用户,属于named组,如果要以它为模版,需要直接拷贝这个文件和他的权限

 先将named.empty的模版拷贝过来,因为特殊,所以要加 -a。

#1、拷贝区域配置文件
cp -a named.empty jd.com.zone

#2、修改拷贝后的区域配置文件
vim jd.com.zone

 加下面的文件修改:将左边的内容修改成右边的内容

然后需要对DNS进行重启 systemctl restart named,才会有效

5.3 DNS 欺骗验证

#1、下载httpd
[root@localhost ~]# yum install httpd -y

#2、验证
[root@localhost ~]# systemctl list-unit-files |grep "httpd.service"
httpd.service disabled

#3、启动httpd
[root@localhost ~]# systemctl start httpd.service

 然后使用jd.com的域名进行访问,结果如下,证明DNS欺骗的配置成功。

### 软件系统安全竞赛中的钓鱼邮件防护 #### 钓鱼邮件防护概述 在网络空间的安全对抗中,电子邮件因其广泛的应用而成为网络攻击的重点目标之一[^1]。为了有效应对钓鱼邮件带来的威胁,在软件系统安全竞赛特别是攻防赛中,参赛队伍需采取多层次、综合性的防护策略。 #### 技术层面的防护措施 针对钓鱼邮件的技术防范主要包括以下几个方面: - **邮件过滤技术**:通过部署先进的反垃圾邮件网关来拦截可疑邮件。这些网关能够基于内容特征、发送者信誉以及行为模式等多种因素对邮件进行评估并作出相应处理。 - **身份验证机制**:实施严格的发信源认证协议如SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)和DMARC(Domain-based Message Authentication, Reporting & Conformance),从而减少伪造邮件的可能性。 - **用户教育与意识提升**:定期开展培训课程提高员工对于潜在风险的认知水平;模拟真实的钓鱼场景测试用户的警惕性和反应能力。 ```python import smtplib from email.mime.text import MIMEText def send_test_email(to_addr): msg = MIMEText('This is a test message.') msg['Subject'] = 'Important Notice' msg['From'] = 'security@company.com' msg['To'] = to_addr try: server = smtplib.SMTP('smtp.company.com') server.send_message(msg) print("Email sent successfully.") except Exception as e: print(f"Failed to send email: {e}") ``` 此代码片段展示了如何构建一封简单的HTML格式测试邮件,可用于内部演练或培训目的。请注意实际环境中应遵循合法合规原则,并仅限于授权范围内使用此类功能。 #### 实战案例分享 在2020年的DataCon竞赛中,Coremail团队深入研究了钓鱼邮件识别及分类方法。该赛事聚焦于真实世界中存在的各类恶意邮件样本,要求选手们开发高效的算法模型以区分正常通信与恶意企图。通过对大量历史数据的学习训练,最终实现了较为理想的检测精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值