目录


实验目的

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

返回目录


实验内容

返回目录


基础问题

  • 通常在什么场景下容易受到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
      • 进入会出现下列选项:
      • 选择社会工程学攻击后会出现下列选项
    • SET工具默认安装在/usr/share/set目录下
    • 更多可参考使用社会工程学工具包(SET)
  • EtterCap
    • EtterCap是一个基于ARP地址欺骗方式的网络嗅探工具。它具有动态连接嗅探、动态内容过滤和许多其他有趣的技巧。它支持对许多协议的主动和被动分析,并包含许多用于网络和主机分析的特性。
    • kali 2.0内置有ettercap,可用过ettercap -v查看版本信息
    • 图形化界面:ettercap -G
    • 选择sniffer模式
    • 网卡选择默认eth0,点击确认可开始嗅探
    • 菜单处Hosts-Hosts List可查看嗅探到的主机ip地址、mac地址
    • 菜单处Mitm可选择攻击方式,包括arp 欺骗、DHCP洪泛攻击等
    • 菜单出view中可查看嗅探到的通信信息
    • 更多可参考Kali 2.0 下Ettercap 使用教程+DNS欺骗攻击

返回目录


实验步骤

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

  • 使用sudo vi /etc/apache2/ports.conf命令修改Apache的端口文件,将端口改为http对应的80号端口

    修改后esc键-:wq保存退出
  • 使用netstat -tupln |grep 80查看80端口是否被占用。如果有,使用kill+进程号杀死该进程或使用kill -s 9 进程号强制杀死进程

    上图显示为未被占用
  • 开启Apache服务:systemctl start apache2
  • 开启SET工具:setoolkit
  • 选择1Social-Engineering Attacks(社会工程学攻击)
  • 选择2Website Attack Vectors(钓鱼网站攻击向量)
  • 选择3::Credential Harvester Attack Method`(即登录密码截取攻击)
  • 选择2Site Cloner克隆网站
  • 输入攻击机kali的IP地址:192.168.43.4(我们可使用网址缩短改变网址来迷惑靶机)
  • 我们输入一个有需要登陆的url(即被克隆的url)
  • 提示Do you want to attempt to disable Apache?时选择y
  • 在靶机浏览器地址栏中输入攻击机kali的IP地址访问,攻击机这边即收到连接提示
  • 在靶机输入(可能是错误的)用户名和密码,攻击机可全部获取

ettercap DNS spoof

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

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

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

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

  • 综合使用以上两种技术
  • 首先按照实验一的步骤克隆一个登录页面,跳转成功

  • 通过实验二实施DNS欺骗,此时在靶机输入网址www.mosoteach.cn可以发现成功访问我们的冒名网站
  • 之后我们重新开启setoolkit停在正在捕获处(注意检查80端口是否被占用),重新打开ettercap开始DNS欺骗,靶机中输入网址www.mosoteach.cn可以发现捕获到记录

返回目录


实验中遇到的问题

  • 在使用setoolkit克隆网站时出现Address already in use

    解决办法: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了!


实验总结与体会

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

参考资料

2018-2019-2 20165330《网络对抗技术》Exp7 网络欺诈防范的更多相关文章

  1. 20145226夏艺华 网络对抗技术 EXP7 网络欺诈技术防范

    20145226夏艺华 网络对抗技术 EXP7 网络欺诈技术防范 实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. · 简单应用SET工具建立冒名网站 · ett ...

  2. 2018-2019-2 20165205 网络对抗技术 Exp7 网络欺诈防范

    2018-2019-2 20165205 网络对抗技术 Exp7 网络欺诈防范 实验内容 本次实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET ...

  3. 20145236《网络对抗》Exp7 网络欺诈技术防范

    20145236<网络对抗>Exp7 网络欺诈技术防范 一.基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 随便连接没有设置密码的wifi的情况下比较容易受攻击,因为这样就 ...

  4. 20145215《网络对抗》Exp7 网络欺诈技术防范

    20145215<网络对抗>Exp7 网络欺诈技术防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 在同一局域网下比较容易受到DNS spoof攻击,攻击者可以冒充域名 ...

  5. 20145208 蔡野 《网络对抗》Exp7 网络欺诈技术防范

    20145208 蔡野 <网络对抗>Exp7 网络欺诈技术防范 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体有(1)简单应用SET工具建立冒名网站(2) ...

  6. 20155304《网络对抗》Exp7 网络欺诈技术防范

    20155304<网络对抗>Exp7 网络欺诈技术防范 实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET工具建立冒名网 ...

  7. 20145316许心远《网络对抗》EXP7网络欺诈技术防范

    20145316许心远<网络对抗>EXP7网络欺诈技术防范 实验后回答问题 通常在什么场景下容易受到DNS spoof攻击 公共共享网络里,同一网段可以ping通的网络非常容易被攻击 在日 ...

  8. 20145220韩旭飞《网络对抗》Exp7 网络欺诈技术防范

    20145220韩旭飞<网络对抗>Exp7 网络欺诈技术防范 应用SET工具建立冒名网站 要让冒名网站在别的主机上也能看到,需要开启本机的Apache服务,并且要将Apache服务的默认端 ...

  9. 20145307陈俊达《网络对抗》Exp7 网络欺诈技术防范

    20145307陈俊达<网络对抗>Exp7 网络欺诈技术防范 基础问题回答 什么是dns欺骗攻击! 利用dns spoof运行DNS欺骗,如果是请求解析某个域名,dnsspoof会让该域名 ...

  10. 20145317彭垚《网络对抗》Exp7 网络欺诈技术防范

    20145317彭垚<网络对抗>Exp7 网络欺诈技术防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 在同一局域网下比较容易受到DNS spoof攻击,攻击者可以冒充 ...

随机推荐

  1. 公共的强制保留两位小数的js方法

    强制保留两位小数的js方法 //写一个公共的强制保留两位小数的js方法 function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f)) { ...

  2. IOC之MEF学习

    MEF原理上很简单,找出有共同接口的导入.导出.然后找到把导出的实例化,赋给导入.说到底MEF就是找到合适的类实例化,把它交给导入.Export 特性可修饰类.字段.属性或方法,而 Import 特性 ...

  3. Qt之QTableWidget

    学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研究人一样一样的),因为QTableWidget继承于类QTableView. 两者主要区别是QTableV ...

  4. Linux更新程序脚本

    DATE=$(date +%Y%m%d_%H%M%S) cd /opt/anystreaming/transcoder/ mv dll/libmonitor_service.so "dll/ ...

  5. fetch---基本使用

    一.fetch fetch是一种XMLHttpRequest的一种替代方案,在工作当中除了用ajax获取后台数据外我们还可以使用fetch.axios来替代ajax 二.安装 执行npm instal ...

  6. C++ STL 之 map

    #include <iostream> #include <map> using namespace std; // map构造函数 // map<T1, T2> ...

  7. insmod: can't insert 'xxx.ko': unknown symbol in module, or unknown parameter

    手动加载内核模块时候,报如下错误信息 insmod: can't insert 'xxx.ko': unknown symbol in module, or unknown parameter 问题原 ...

  8. 2.01_Python网络爬虫概述

    一:什么是网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取网络信息的程序或者脚本: 二:为什么要做网络爬虫? 大数据时代 ...

  9. java_变量和常量

    一.变量(可以改变的量) 1.命名规则: a.遵循标识符命名规则: 1.关键字是不能用作标识符的 2.区分大小写 3.可以包含数字.字母.下划线.美元符号$,但是不能以数字作为开头 b.尽量使用有意义 ...

  10. LNMP安装与配置之Nginx

    Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramb ...