2020-2021-2 20181312 【网络对抗技术】Exp7 网络欺诈防范

Exp7 网络欺诈防范

序言

本次实验是为了理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。

预备知识

SET工具

概念

  • 社会工程学工具包(SET)是一个开源的、Python驱动的社会工程学渗透测试工具。这套工具包由David Kenned设计,而且已经成为业界部署实施社会工程学攻击的标准。
  • SET利用人们的好奇心、信任、贪婪及一些愚蠢的错误,攻击人们自身存在的弱点。使用SET可以传递攻击载荷到目标系统,收集目标系统数据,创建持久后门,进行中间人攻击等。

使用方法

  • 启动SET:setoolkit

  • 输入1,进入社会工程学攻击

  • 输入2,进入钓鱼网站攻击向量

DNS欺骗

原理

  • 攻击者冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了。
  • DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。

预防

  • 使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。
  • 使用DNSSEC:DNSSEC使用的是数字前面DNS记录来确保查询响应的有效性,现在还没有广泛运用,但已被公认为是DNS的未来方向。

EtterCap工具

概念

EtterCap是一个基于ARP地址欺骗方式的网络嗅探工具。它具有动态连接嗅探、动态内容过滤和许多其他有趣的技巧。它支持对许多协议的主动和被动分析,并包含许多用于网络和主机分析的特性。

使用方法

  • 查看版本信息:ettercap -v
  • 图形化界面:ettercap -G
  • 菜单处Hosts->Hosts List可查看嗅探到的主机ip地址、mac地址
  • 菜单处Mitm可选择攻击方式,包括arp 欺骗、DHCP洪泛攻击等
  • 菜单处view中可查看嗅探到的通信信息

一、实验内容

  1. 简单应用SET工具建立冒名网站;
  2. EtterCap DNS spoof;
  3. 结合应用两种技术,用DNS spoof引导特定访问到冒名网站。

二、实验过程

2.1 简单应用SET工具建立冒名网站

输入命令vim /etc/apache2/ports.conf查看Apache的端口文件,如果显示listen的端口不是80,则将端口改为http对应的80号端口

输入命令netstat -tupln |grep 80查看80端口是否被占用

这里显示没有进程占用80端口,如果有就杀死该进程

这时,我们可以开启Apache服务systemctl start apache2

输入setoolkit开启SET工具

输入1,进入社会工程学攻击

输入2,进入钓鱼网站攻击向量

输入3,进入登录密码截取攻击

输入2,克隆网站

这里输入作为攻击机的本机ip地址:192.168.0.107

然后输入被克隆的网址https://www.mosoteach.cn/web/index.php?c=passport

输入y

这时,在浏览器输入http://192.168.0.107,进入被克隆的网站

输入用户名:13788888888,密码:13788888888,登入

回到攻击机上可以看到明文状态的用户名和密码被窃听了

2.2 EtterCap DNS spoof

输入命令ifconfig eth0 promisc将kali网卡改为混杂模式,使其能接收所有经过它的数据流,并使用ifconfig检查,可以看到eth0第一行显示promisc。

输入命令vim /etc/ettercap/etter.dns对DNS缓存表进行修改,加入记录gitee.com A 192.168.0.111

输入命令ettercap -G打开ettercap的可视化界面,选择eth0后点击开始监听

在工具栏中选择Hosts->Scan for hosts扫描子网

Hosts list中查看存活主机

在靶机(Windows XP)中输入ipconfig查看ip和虚拟网关地址。可以看到ip=192.168.0.113,默认网关=192.168.0.1

将网关的ip添加到target1,将靶机ip添加到target2

点击工具栏中的Plugins->Manage the plugins,选择dns_spoof即DNS欺骗的插件,双击开启

这个时候攻击机kali已经处于嗅探模式,在靶机中Ping DNS缓存表中添加的网站,即ping gitee.com,解析地址都是攻击机的IP地址

攻击机kali窃听的结果

2.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站

按照上面2.2实施DNS欺骗将http://www.4399.com/映射成攻击机kali的ip192.168.0.111,即将www.4399.com A 192.168.0.111输入/etc/ettercap/etter.dns,重启EtterCap完成DNS spoof

按照2.1的步骤克隆一个登录页面https://gitee.com/login

这个时候,用靶机打开http://www.4399.com/,显示的是码云登陆界面,但是网址栏显示http://www.4399.com/

这里的Firefox版本号是30,特别老,很多最新的html效果都不能支持,所以只能显示成这个样子,然后我输入用户名13788888888和密码13788888888,点击登入,跳转的网站当然进不去

但是攻击机kali获取到了明文状态的用户名和密码,我认为应该是因为4399用的是http协议而不是https协议,所以钓鱼网站http://www.4399.com/将password明态传输了。

三、回答一些问题

3.1 通常在什么场景下容易受到DNS spoof攻击?

攻击机和靶机都在同一个网段里,比如公共WiFi。

3.2 在日常生活工作中如何防范以上两攻击方法?

  • 第一种攻击防范:仔细查看域名,查看证书,安全认证信息等。
  • 第二种攻击防范:减少访问http的网页次数,实验中可以知道https会阻止这种攻击,但http不会。

四、实践总结体会

DNS欺骗实践需要使用http网站,https的网站会阻止DNS欺骗,这花费了很多时间。

Windows 10似乎本身能防御DNS欺骗,因为我一开始靶机使用的是Windows 10,无论如何也做不成功。

现在越来越多的http网站被https替代,这说明DNS欺骗攻击这种方法已经几乎不可行了。

五、参考资料

(大学霸KALI)7.3 使用社会工程学工具包(SET)

Kali 2.0 下Ettercap 使用教程+DNS欺骗攻击

posted @ 2021-05-23 14:02  临渊履冰  阅读(232)  评论(0编辑  收藏  举报