1. 实践基础
1.1 实践目标
1.1.1 实践对象
1.Windows 10
2.kali linux
1.1.2 实践内容
本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。
1.1 简单应用SET工具建立冒名网站 (1分)
1.2 ettercap DNS spoof (1分)
1.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站。(1.5分)
1.2 基础知识
1.2.1 SET
Social-Engineer Toolkit,社会工程学工具包,由TrustedSec的创始人创建和编写,是一个开源的Python驱动工具,旨在围绕社交工程进行渗透测试,已经在包括Blackhat,DerbyCon,Defcon和ShmooCon在内的大型会议上提出过,拥有超过200万的下载量,旨在利用社会工程类型环境下的高级技术攻击。
1.2.2 Ettercap
- 具有嗅探实时连接、内容过滤等功能,支持插件,可以通过添加新的插件来扩展功能;
- 工作原理是将网络接口设置为混杂模式并通过ARP欺骗感染目标设备,由此该设备成为“中间人”并发动对受害者的各类攻击;
- 支持对许多协议(包括加密协议)的主动和被动分离,并具有网络和主机分析方面的多项功能,包含四种操作模式:
1> 基于IP的模式:根据IP源和目的地过滤数据包;
2> 基于MAC的模式:根据MAC地址过滤数据包,该模式能够对嗅探通过网关的连接起到作用;
3> 基于ARP的模式:利用ARP欺骗方式在两个主机之间的交换式局域网(全双工即支持双方同时发送信息)上进行嗅探;
4> 基于公共ARP的模式:利用ARP欺骗方式从一台受害者主机到其它所有主机的交换式局域网(全双工)上进行嗅探。 - 具体功能
1> 在已建立的连接中注入字符:将字符注入到服务器(模拟命令)或客户端(模拟回复)并同时保持实时连接;
2> SSH1支持:嗅探用户名和密码,甚至是SSH1连接的数据(能够以全双工方式嗅探SSH连接);
3> HTTPS支持:嗅探HTTP SSL连接上的加密数据——通过Cisco路由器的GRE tunnel对远程流量进行嗅探,并对它进行”中间人攻击”;
4> 插件支持:使用Ettercap的API创建自定义插件;
5> 密码收集:可以收集以下协议的密码信息——TELNET、FTP、POP、IMAP、rlogin、SSH1、ICQ、SMB、MySQL、HTTP、NNTP、X11、Napster、IRC、RIP、BGP、SOCKS 5、IMAP 4、VNC、LDAP、NFS、SNMP、Half-Life、Quake 3MSN、YMSG;
6> 数据包过滤/丢弃:设置一个过滤器,用于在TCP或UDP有效内容中查找特定字符串(或十六进制序列),并用自定义字符串/序列替换它,或丢弃整个数据包;
7> 操作系统指纹:可以提取受害主机及其网络适配器的操作系统信息;
8> 终止连接:从connections-list(连接列表)中终止所选择的连接;
9> 局域网的被动扫描:检索局域网上的主机信息、开放端口、可用服务的版本号、主机(网关、路由器或简单PC)的类型以及跃点数的预估距离;
10> 劫持DNS请求;
11> 主动或被动地在局域网中找到其它受感染者的功能。
1.3 基础问题回答
通常在什么场景下容易受到DNS spoof攻击?
同一局域网下、各种公共网络。
在日常生活工作中如何防范以上两攻击方法
- DNS欺骗攻击大多是被动的。一般情况下,除非发生欺骗攻击,否则并知道我们的DNS已经被欺骗。
- 在打开常用网页时,仔细检查网址是否被篡改;
- 不随便使用不能保障安全的公共网络;
- 使用最新版本的DNS服务器软件,并及时安装补丁;
- 使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。
2. 实践内容
2.1 简单应用SET工具建立冒名网站
2.1.1 Apache设置
-
实验中需要使用http服务,因此需要使用到80端口。在kali中使用
netstat -tupln |grep 80
命令查看80端口是否被占用。如果有,使用kill+进程号
杀死该进程。由于之前实验修改过端口,因袭80端口并未被占用。
-
使用
sudo vi /etc/apache2/ports.conf
将Apache的端口改为80,原因是生成的钓鱼网站如果使用https服务会无法验证证书。
-
使用
sudo apachectl start
启动Apache服务。
2.1.2 配置SET工具
实验环境:
攻击机:kali-linux-2020.1-vmware-amd64(192.168.43.241)
靶机:Windows10)
攻击软件:metasploit v5.0.85-dev
-
使用
setoolkit
打开SET工具。
-
选择参数。
输入【1】选择 Social-Engineering Attacks
社会学攻击。
输入【2】选择 Website Attack Vectors
网站攻击向量。
输入【3】选择 Credential Harvester Attack
Method 攻击方式为截取密码。
输入【2】选择 Site Cloner
进行网站克隆。
输入kali的IP地址:192.168.0.112
输入被克隆的网站url:https://gitee.com/login
- 在靶机的浏览器中输入攻击机的IP:192.168.0.112,即可看到被克隆的网页。
2.1.3 靶机IP地址伪装
利用短网址生成器可以将待克隆的网址伪造成一串短网址
说实话,这跳转页面没啥用,跳转时要好久,而且跳转后上面还是ip地址,没变
2.1.4 验证成功
在靶机上登陆一下,看一下kali有啥记录
2.2 ettercap DNS spoof
实验环境:
攻击机:kali-linux-2020.1-vmware-amd64(192.168.0.106)
靶机:Windows XP Professional (192.168.0.109)
攻击软件:metasploit v5.0.85-dev
-
使用
sudo ifconfig eth0 promisc
将网卡改为混杂模式。
-
输入
vim /etc/ettercap/etter.dns
修改DNS缓存表,添加www.cnblogs.com A 192.168.0.106
。
-
使用
ettercap -G
开启ettercap,选择网卡【eth0】,点击【√】开始监听。
-
在右上角的三个点中选择“Hosts”——>“Scan for hosts”扫描子网
-
在Hosts list 中查看扫描到的存活主机
-
虚拟机的网关为192.168.0.1,靶机Windows10的IP为192.168.0.109 ;将网关的IP添加到target1,将靶机IP添加到target2
-
点击工具栏中的“Plugins”——>“Manage the plugins”
-
选择dns_spoof 即DNS欺骗的插件,双击后即可开启
-
靶机 ping www.cnblogs.com ,kali端观测结果。
此处出问题了,不管怎么ping,都能ping通。想不通
补充:当我将电脑热点从家里路由切换成手机热点再测试时,我发现居然成了:过程和上面一样,在此放一下关键截图:
实验环境:
攻击机:kali-linux-2020.1-vmware-amd64(192.168.43.241)
靶机:Windows XP Professional (192.168.43.218)
攻击软件:metasploit v5.0.85-dev
2.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站
综合应用两种技术,首先按照任务一克隆网页,再通过任务二进行DNS欺骗,此时在靶机可以成功访问钓鱼网站,获得输入的用户信息
实验环境:
攻击机:kali-linux-2020.1-vmware-amd64(192.168.43.241)
靶机:Windows 10 (192.168.43.28)
攻击软件:metasploit v5.0.85-dev
-
重复任务一,克隆码云网页。
-
新开窗口,修改DNS表,打开ettercap,按任务二操作进行DNS欺骗
-
靶机输入打开码云网页并输入账号密码。
3.总结与体会
本次实验学会了如何利用各种工具克隆网页。在整个过程中,dns欺骗没有想象中的难,相反,通过简单伪装便能获取个人信息。 我们需要更加警惕,在同一个子网中就能如此轻松地对对方进行攻击(类似之前的后门程序),并且能将这个钓鱼网站伪装得如此相像,让我们在未来的工作岗位上不得不加强对网络攻击的防范意识。