2018-2019-2 20165330《网络对抗技术》Exp7 网络欺诈防范

目录


实验目的
---------- - 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。

返回目录


实验内容
---------- - [简单应用SET工具建立冒名网站](#1) - [ettercap DNS spoof](#2) - [结合应用两种技术,用DNS spoof引导特定访问到冒名网站。](#3)

返回目录


基础问题
---------- - 通常在什么场景下容易受到DNS spoof攻击 >- 在同一局域网下比较容易受到DNS spoof攻击,攻击者可以冒充域名服务器,来发送伪造的数据包,从而修改目标主机的DNS缓存表,达到DNS欺骗的目的。 >- 还有连接公共场合一些不需要输入密码的WiFi也会为这种攻击创造条件。
  • 在日常生活工作中如何防范以上两攻击方法
  • 使用最新版本的DNS服务器软件,并及时安装补丁;
  • 可以将IP地址和MAC地址进行绑定,很多时候DNS欺骗攻击是以ARP欺骗为开端的,所以将网关的IP地址和MAC地址静态绑定在一起,可以防范ARP欺骗,进而放止DNS spoof攻击。
  • 使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击
  • 不乱连WiFi,不乱点一些网站及不明链接,从而给攻击者可乘之机。

返回目录


相关知识
---------- - DNS欺骗 - 原理:攻击者冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了。 - DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了 - 预防:DNS欺骗攻击是很难防御的,因为这种攻击大多数本质都是被动的。通常情况下,除非发生欺骗攻击,否则你不可能知道你的DNS已经被欺骗,只是你打开的网页与你想要看到的网页有所不同。 - 保护内部设备 - 不要依赖DNS:在高度敏感和安全的系统,你通常不会在这些系统上浏览网页,最后不要使用DNS。如果你有软件依赖于主机名来运行,那么可以在设备主机文件里手动指定。 - 使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。 - 使用DNSSEC:DNSSEC使用的是数字前面DNS记录来确保查询响应的有效性,现在还没有广泛运用,但已被公认为是DNS的未来方向。 - SET工具 - 社会工程学工具包(SET)是一个开源的、Python驱动的社会工程学渗透测试工具。这套工具包由David Kenned设计,而且已经成为业界部署实施社会工程学攻击的标准。 - SET利用人们的好奇心、信任、贪婪及一些愚蠢的错误,攻击人们自身存在的弱点。使用SET可以传递攻击载荷到目标系统,收集目标系统数据,创建持久后门,进行中间人攻击等。 - 简单使用 - 启动SET:`setoolkit` - 进入会出现下列选项: ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501160725768-384179998.png) - 选择`社会工程学攻击`后会出现下列选项 ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501160754201-1906550425.png) - SET工具默认安装在`/usr/share/set`目录下 - 更多可参考[使用社会工程学工具包(SET)](https://www.cnblogs.com/youcanch/articles/5671274.html) - EtterCap - EtterCap是一个基于ARP地址欺骗方式的网络嗅探工具。它具有动态连接嗅探、动态内容过滤和许多其他有趣的技巧。它支持对许多协议的主动和被动分析,并包含许多用于网络和主机分析的特性。 - kali 2.0内置有ettercap,可用过`ettercap -v`查看版本信息 - 图形化界面:`ettercap -G` - 选择`sniffer`模式 ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501162545575-1977172297.png) - 网卡选择默认`eth0`,点击`确认`可开始嗅探 - 菜单处`Hosts`-`Hosts List`可查看嗅探到的主机ip地址、mac地址 - 菜单处`Mitm`可选择攻击方式,包括arp 欺骗、DHCP洪泛攻击等 - 菜单出`view`中可查看嗅探到的通信信息 - 更多可参考[Kali 2.0 下Ettercap 使用教程+DNS欺骗攻击](https://blog.csdn.net/qq_36711453/article/details/83714342)

返回目录


实验步骤
---------- ###
简单应用SET工具建立冒名网站
- 使用`sudo vi /etc/apache2/ports.conf`命令修改Apache的端口文件,将端口改为http对应的80号端口 ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501165058002-1015191607.png) 修改后`esc`键-`:wq`保存退出 - 使用`netstat -tupln |grep 80`查看80端口是否被占用。如果有,使用`kill+进程号`杀死该进程或使用`kill -s 9 进程号`强制杀死进程 ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501165446615-1410638050.png) 上图显示为未被占用 - 开启Apache服务:`systemctl start apache2` - 开启SET工具:`setoolkit` - 选择`1`:`Social-Engineering Attacks`(社会工程学攻击) ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501170029238-1897734320.png) - 选择`2`:`Website Attack Vectors`(钓鱼网站攻击向量) ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501193935170-704850004.png) - 选择`3::`Credential Harvester Attack Method`(即登录密码截取攻击) ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501194125510-1902909000.png) - 选择`2`:`Site Cloner`克隆网站 ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501194312208-489510908.png) - 输入攻击机kali的IP地址:`192.168.43.4`(我们可使用[网址缩短](http://suo.im/)改变网址来迷惑靶机) ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501214007662-679197214.png) - 我们输入一个有需要登陆的url(即被克隆的url) ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501222843255-1111767073.png) - 提示`Do you want to attempt to disable Apache?`时选择`y` ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501222608201-751709810.png) - 在靶机浏览器地址栏中输入攻击机kali的IP地址访问,攻击机这边即收到连接提示 ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501223209007-1851595801.png) - 在靶机输入(可能是错误的)用户名和密码,攻击机可全部获取 ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190501223232743-297030990.png)

ettercap DNS spoof

  • 使用指令ifconfig eth0 promisc将kali网卡改为混杂模式
  • 输入vi /etc/ettercap/etter.dns对DNS缓存表进行修改,按i键添加几条对网站和IP的DNS记录
    image
  • 开启ettercap:ettercap -G(自动弹出ettercap的可视化界面)
  • 点击工具栏中的Sniffunified sniffing(嗅探所有),在弹出的界面中选择eth0后点击确定(即监听eth0网卡)
    image
  • 点击工具栏中的Hosts-Scan for hosts扫描子网,再点击Hosts list查看存活主机,将网关IP添加到target1,靶机IP添加到target2
    image

    注意:这里的网关IP需要在靶机cmd中输入ipconfig确认,在我的win7虚拟机中网关为192.168.38.2,win10主机却为192.168.38.1,将target1换为win7的网关后,ping命令出现的就是攻击机kali的IP了!

  • 点击工具栏中的PluginsManage the plugins,双击dns_spoof选择DNS欺骗的插件
    image
  • 点击左上角的Start开始嗅探,此时在靶机中用命令行ping www.mosoteach.cn会发现解析的地址是攻击机kali的IP地址
    image
  • 此时在ettercap上也成功捕获到访问记录
    image

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

  • 综合使用以上两种技术
  • 首先按照实验一的步骤克隆一个登录页面,跳转成功
    image
    image
  • 通过实验二实施DNS欺骗,此时在靶机输入网址www.mosoteach.cn可以发现成功访问我们的冒名网站
    image
  • 之后我们重新开启setoolkit停在正在捕获处(注意检查80端口是否被占用),重新打开ettercap开始DNS欺骗,靶机中输入网址www.mosoteach.cn可以发现捕获到记录
    image

返回目录


实验中遇到的问题
---------- - 在使用setoolkit克隆网站时出现`Address already in use` ![image](https://img2018.cnblogs.com/blog/1291750/201905/1291750-20190502005923843-281510272.png) >解决办法:`ctrl+z`退出当前命令,使用`netstat -tupln |grep 80`查看80端口,使用`kill+进程号`或`kill -s 9 进程号`杀死进程, 在`systemctl start apache2`开启Apache服务,最后进入`setoolkit`即可。
  • 在使用ettercap嗅探时并未出现网关地址

解决办法:一开始我的kali为桥接模式,改为NAT模式后就可扫描出,以此靶机使用NAT模式的win7虚拟机。

  • 使用ettercap进行DNS欺骗时,靶机ping后并没有发生变化。

解决办法:在靶机的cmd中输入ipconfig确认网关的IP地址,发现我的win7虚拟机为192.168.38.2,win10主机却为192.168.38.1,随后将target1换为win7的网关后,ping命令出现的就是攻击机kali的IP了!
image


实验总结与体会
---------- - 通过本次实验,在学习利用各种工具克隆网页,制作一个钓鱼网站,并将自己的IP伪装,通过实践监控靶机的输入,获取用户名密码等信息,感觉自己离成为真正的攻击者更进了一步,但与此同时,作为一个普通的用户,我们也要多加防范这些钓鱼网站,以免被非法获取个人信息。

参考资料

posted @ 2019-05-02 01:08  20165330张羽昕  阅读(341)  评论(0编辑  收藏  举报