一.原理与实践说明

1.实践目标

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

2.实践内容概述

简单应用SET工具建立冒名网站 (1分)
ettercap DNS spoof (1分)
结合应用两种技术,用DNS spoof引导特定访问到冒名网站(1.5分)

3.基础问题回答
•问:通常在什么场景下容易受到DNS spoof攻击? ◦答:同一局域网下,以及各种公共网络。

•问:在日常生活工作中如何防范以上两攻击方法? ◦答:DNS欺骗攻击是很难防御的,因为这种攻击大多数本质都是被动的。通常情况下,除非发生欺骗攻击,否则你不可能知道你的DNS已经被欺骗,只是你打开的网页与你想要看到的网页有所不同。
◦使用最新版本的DNS服务器软件,并及时安装补丁;
◦关闭DNS服务器的递归功能。DNS服务器利用缓存中的记录信息回答查询请求或是DNS服务器通过查询其他服务获得查询信息并将它发送给客户机,这两种查询成为递归查询,这种查询方式容易导致DNS欺骗。
◦不要依赖DNS:不要在高度敏感和保密要求高的系统上浏览网页,最好不要使用DNS。如果有软件依赖于主机名来运行,那么可以在设备主机文件里手动指定。
使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。

二.实践过程记录

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

1.由于要将钓鱼网站挂在本机的http服务下,所以需要将SET工具的访问端口改为默认的80端口。使用sudo vi /etc/apache2/ports.conf命令修改Apache的端口文件,将端口改为80,如下图所示:

2、在kali中使用netstat -tupln |grep 80命令查看80端口是否被占用。如果有,使用kill+进程号杀死该进程。如下图所示,无其他占用:

3、使用apachectl start开启Apache服务:

4、输入setoolkit打开SET工具:


选择1进行社会工程学攻击:

选择2即钓鱼网站攻击向量:

选择3即登录密码截取攻击:

选择2进行克隆网站:

接着输入攻击机的IP地址,也就是kali的IP地址,输入被克隆的url:

5.在靶机浏览器地址栏输入这个地址,按下回车,攻击机这边即收到连接提示:

6.在靶机输入(可能是错误的)用户名和密码,攻击机可全部获取:

2.ettercap DNS spoof

1.使用指令ifconfig eth0 promisc将kali网卡改为混杂模式;

2.输入命令vi /etc/ettercap/etter.dns对DNS缓存表进行修改,如图所示,可以添加几条对网站和IP的DNS记录,图中的IP地址是我的kali主机的IP:

3.输入ettercap -G指令,开启ettercap,会自动弹出来一个ettercap的可视化界面,点击工具栏中的Sniff——>unified sniffing,然后在弹出的界面中选择eth0->ok,即监听eth0网卡:

4.在工具栏中的Hosts下先点击Scan for hosts扫描子网,再点击Hosts list查看存活主机,将kali网关的IP添加到target1,靶机IP添加到target2


5.选择Plugins—>Manage the plugins,双击dns_spoof选择DNS欺骗的插件:

6.然后点击左上角的start选项开始嗅探,此时在靶机中用命令行ping www.mosoteach.cn会发现解析的地址是攻击机的IP地址:

此时在ettercap上也成功捕获一条访问记录:

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

综合使用以上两种技术,首先按照实验一的步骤克隆一个登录页面,在通过实验二实施DNS欺骗,此时在靶机输入网址www.mosoteach.cn可以发现成功访问我们的冒名网站:

为了与任务一区分,使用另一个用户名和密码尝试登录,攻击机亦可获取:

三.实验心得与体会

•这次试验整体难度不大,但是还是很有意思的,虽然我们这次做得比较简单,但是也让我意识到平时要注意到网络使用,因为钓鱼网站获取你的登录信息远比你想象的要简单得多。

最新文章

  1. 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)
  2. mmap和shm共享内存的区别和联系
  3. 日暮·第一章·决斗
  4. 08Mybatis_入门程序——增加用户的操作以及返回自增主键的功能以及返回非自增主键的功能
  5. Module模式 - 深入了解Javascript
  6. 一个简单的makefile,一次性编译本文件夹下所有的cpp文件
  7. poj 1106 Transmitters (枚举+叉积运用)
  8. 数据库--PHP环境搭建
  9. T - stl 的mapⅡ
  10. mipi 调试经验(转)
  11. Archlinux 升级 pacman 时遇到的问题及其解决
  12. String源码解析(二)
  13. 自学Python5.4-内置模块(2)
  14. 【Javaweb】poi实现通过上传excel表格批量导入数据到数据库
  15. SQL Server(2000,2005,2008):恢复/回滚时间比预期长(译)
  16. 2015-10-05 js3
  17. Python进行MySQL数据库操作
  18. Java 8 StampedLock解决同步问题
  19. Ubuntu 14.04 配置OpenCv 2.4.9
  20. 通过html文件生成PDF文件

热门文章

  1. Network基础(一):配置计算机名及工作组、TCP/IP地址配置、网络连通性测试
  2. pycharm 代码无法自动补全(自动顺带)的解决方法
  3. ios 最全的常用字符串操作
  4. python 使用yaml模块
  5. Oracle10gr2 开机自启动脚本
  6. 怎么知道dll文件是哪个net版本
  7. JVM内存图
  8. Rust <5>:测试
  9. Leetcode_415字符串相加
  10. Lucence使用入门