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

实验目的

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

实验内容

(1)简单应用SET工具建立冒名网站 (1分)

(2)ettercap DNS spoof (1分)

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

(4)请勿使用外部网站做实验

基础知识问答

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

自我感觉在同一局域网下、在同一网段下或在公共网络下,攻击者修改DNS缓存表达到DNS欺骗的目的

  1. 在日常生活中如何防范以上两种攻击方法?
  • 不要乱连不明的Wifi,不乱点开不明的链接
  • 或者说,及时给DNS服务器软件打补丁,避免被不法分子用DNS欺骗攻击。

知识储备

DNS

  • DNS即Domain Name System,,域名系统以分布数据库的形式将域名和IP地址相互转换。
  • DNS协议即域名解析协议,是用来解析域名的。有了DNS我们就不需要再记住烦人的IP地址,用相对好记的域名就可以对服务器进行访问,即使服务器更换地址,我们依旧可以通过域名访问该服务器,这样能够使我们更方便地访问互联网。

DNS spoof(DNS欺骗)

  • 原理:DNS欺骗是一种以中间人攻击的形式,它是攻击者冒充域名服务器的一种欺骗行为。攻击者通常冒充服务器,把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页了,而不是用户想要看到的网页。

  • 防范:DNS欺骗攻击是很难防御的,因为这种攻击大多数本质都是被动的。通常情况下,除非发生欺骗攻击,否则你不可能知道你的DNS已经被欺骗,只是你打开的网页与你想要看到的网页有所不同。在很多针对性的攻击中,用户都无法知道自己已经将网上银行帐号信息输入到错误的网址,直到接到银行的电话告知其帐号已购买某某高价商品时用户才会知道。也就是说,在抵御这种类型攻击方面还是有迹可循:
    • 保护内部设备: 像这样的攻击大多数都是从网络内部执行攻击的,如果你的网络设备很安全,那么那些感染的主机就很难向你的设备发动欺骗攻击。
    • 不要依赖DNS:在高度敏感和安全的系统,你通常不会在这些系统上浏览网页,最后不要使用DNS。如果你有软件依赖于主机名来运行,那么可以在设备主机文件里手动指定。
    • 使用入侵检测系统: 只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。
    • 使用DNSSEC: DNSSEC是替代DNS的更好选择,它使用的是数字前面DNS记录来确保查询响应的有效性,DNSSEC现在还没有广泛运用,但是已被公认为是DNS的未来方向,也正是如此,美国国防部已经要求所有MIL和GOV域名都必须开始使用DNSSEC。

Set工具

  • 定义:set(社会工程学工具包)是一个开源的、Python驱动的社会工程学渗透测试工具。利用人们的好奇心、信任、贪婪及一些愚蠢的错误,攻击人们自身存在的弱点。
  • 功能:传递攻击载荷到目标系统,收集目标系统数据,创建持久后门,进行中间人攻击等。
  • 简单使用过程在实践过程记录中有具体体现

实践过程记录

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

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

修改后按esc键 -> :wq保存退出

  • 使用netstat -tupln |grep 80查看80端口是否被占用。查看了一下,有一个pid=1807的进程占用了80端口。于是,我使用kill 1807杀死该进程或kill -s 9 1807强制杀死进程。

  • 开启Apache服务:输入systemctl start apache2

  • 输入setoolkit开启SET工具。

  • 选择1)Social-Engineering Attacks(社会工程学攻击)

  • 选择2) Website Attack Vectors(钓鱼网站攻击向量)

  • 选择3) Credential Harvester Attack Method(登录密码截取攻击)

  • 选择2) Site Cloner(克隆网站)

  • 输入攻击机Kali的IP地址:192.168.154.156(可以使用网址缩短改变网址来迷惑靶机

  • 输入一个有需要登录的url(被克隆的url)

  • 出现提示Do you want to attempt to disable Apache?时,选择y

  • 在靶机浏览器地址栏中输入攻击机Kali的IP地址(192.168.154.156)访问,攻击机这边收到连接提示,如图所示

  • 在靶机输入(可能有误的)用户名和密码,攻击机这边可全部获取,是不是很可怕呢?设想如果是银行卡和密码的话,细思极恐。

  • 为了达到更好的隐蔽的效果,我们可以利用网址缩短地址来进行缩短,如图所示,在空白栏中输入所要缩短的地址,点击生成就OK。

ettercap DNS spoof

  • 输入ifconfig eth0 promisc将Kali网卡改为混杂模式
  • 输入vi /etc/ettercap/etter.dns将DNS缓存表进行修改,按i键添加几条对网站和IP的DNS记录,也就是构造虚假的域名和IP的对应关系。

  • 开启ettercap:输入ettercap -G自动弹出ettercap的可视化界面

  • 点击工具栏中的Sniff -> unified sniffing(嗅探所有),在弹出的界面中选择eth0后点击确定(即监听eth0网卡)

  • 点击工具栏中的Hosts -> Scan for hosts扫描子网,再点击Hosts list查看存活主机,将网关IP添加到target 1靶机IP添加到target2

  • 点击工具栏中的Flugins -> Manage the plugins,双击dns_spoof,选择DNS欺骗的插件。

  • 点击左上角的Start开始嗅探,此时在靶机中用命令行ping www.mosoteach.cnping www.cnblogs.com会发现解析地址是攻击机kali的IP地址

  • 此时在ettercap上也成功捕获到访问记录

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

  • 首先,按照任务一的步骤克隆一个登陆页面,跳转成功

  • 通过任务二实施DNS欺骗,此时在靶机输入网址www.mosoteach.cn可以成功访问我们的冒名网站

  • 之后,重新开启setoolkit停在正在捕获处(注意检查80端口是否被占用),重新打开ettercap开始DNS欺骗,靶机中输入网址www.mosoteach.cn可以发现捕获到记录。

实验中遇到的问题及解决方法

Q1:在任务一中等待收到的连接提示时,发现一直卡在某处不动。

A1:后来发现,自己没有输入systemctl start apache2打开apache。

Q2:在任务二中,使用ettercap进行DNS欺骗时,发现靶机ping之后并没有变化。

A2:后来发现,自己的Kali攻击机的网关地址为192.168.154.2,把该地址填入target 1,大家可以参考如何在Linux中查看网关IP来查询网关。

实验感想

本次实验相对简单,但是也让我了解到原来在DNS欺骗中不法分子获取账号密码是非常容易的,这也让我认识到了生活中信息安全的重要性,今后要多多加强信息安全防范意识。

2018-2019 2 20165203 《网络对抗技术》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. sourcetree for mac 使用

    1.sourceTree clone 仓库 打开sourceTree, 点击 新仓库(1) -> 从url克隆(2), 如下图 如下图所示, 粘贴源url路径, 自动补全或者手动选择目标路径和名 ...

  2. HTML表格<tr>行距调整

    CSS文件中: .myTable tr{     display:block; /*将tr设置为块体元素*/     margin-bottom:5px;}

  3. 20190818 On Java8 第八章 复用

    第八章 复用 组合语法 初始化引用有四种方法: 当对象被定义时.这意味着它们总是在调用构造函数之前初始化. 在该类的构造函数中. 在实际使用对象之前.这通常称为延迟初始化.在对象创建开销大且不需要每次 ...

  4. java_第一年_JavaWeb(4)

    HttpServletResponse对象 向客户端发送数据的方法: 通过getOutputStream()方法得到OutputStream对象,再通过write发送 通过getWriter()方法得 ...

  5. Go语言_流程控制语句:for、if、else、switch 和 defer

    流程控制语句:for.if.else.switch 和 defer 学习如何使用条件.循环.分支和推迟语句来控制代码的流程. Go 作者组编写,Go-zh 小组翻译. https://go-zh.or ...

  6. 【学习总结】Python-3-字符串运算符与字符串格式化

    参考: 本教程的评论区:菜鸟教程-Python3-Python数字 字符串运算符: 实例变量a值为字符串 "Hello",b变量值为 "Python": 字符串 ...

  7. 如何处理HTML5新标签的浏览器兼容性问题?

    ① IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签 ② 也可以使用成熟的框架 ex:html5shim &l ...

  8. HTML基础 用div布局实现一个简单网页

    div布局如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...

  9. java定义类

    package java04; /* * 定义一个类,用来模拟“学生”,其中包含量两个组合部分 * * 格式: * public class ClassName{ * //成员变量 * //成员方法 ...

  10. No enclosing instance of type TestGson is accessible. Must qualify the allocation with an enclosing instance of type TestGson (e.g. x.new A() where x is an instance of TestGson).

    main方法中实例化内部类报错: public class TestGson { public static void main(String[] args) { Gson gson=new Gson ...