实验目的:通过构建虚拟场景,了解中间人攻击和钓鱼网站攻击的执行流程,熟练使用Cain &
Abel工具实现攻击,并掌握识别和防御此类攻击的技术原理和方法。
一、场景简介
甄某为犯罪嫌疑人,警察想获得甄某在其单位网站的用户名和密码,以便查清是否存在犯罪证据。调查后发现,甄某将窃取的部分机密文件存放在某秘密场所的一台主机上,一般通过Windows远程访问的方式连接到秘密主机。警察想截获甄某远程访问的用户名与密码。
假设:嫌疑人和警察的电脑在同一局域网内,计划采用ARP欺骗、DNS欺骗、钓鱼网站相结合的方式获取信息;警察已有嫌疑人单位的钓鱼网站。
二、场景目的
- 获取甄某单位网站的用户名和密码。
- 获取甄某Windows远程连接的用户名和口令,并破解加密口令。
三、实验环境
说明:实验是分几次完成的,截图里的IP地址有变动,大家理解就好。
- 目标靶机:Windows 7 SP1 旗舰版,IP地址
- 攻击者:Windows XP v2003 SP2,IP地址
- 工具软件:Cain & Abel v4
- 网关IP
四、实验原理
- 中间人攻击
中间人攻击的主要任务是截获通信双方的数据,然后进行篡改数据供给,主要的数据截获方式有ARP欺骗、DNS欺骗和web欺骗。 - ARP协议:ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。
- ARP协议的基本功能:通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。
- ARP欺骗攻击原理
通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包,就能造成网络中断,或者更改目标主机ARP缓存中的IP-MAC条目,进而实现双方通信数据的截获攻击。 - ARP欺骗常用攻击方法
同时对局域网内的一台主机和网关进行ARP欺骗,更改这台主机和网关的ARP缓存表。如下图(PC2是攻击主机,PC1是被攻击主机)所示:
- SAM文件
SAM(安全账号管理器(Security Account Manager,SAM)是Windows的用户账户数据库,所有系统用户的账户名称和对应的密码等相关信息都保存在这个文件中。
(1)存放位置
用户名和口令经过Hash变换后以Hash列表形式保存在%SystemRoot\system32\config
文件夹下的SAM文件中。SAM文件的数据保存在注册表的HKEY_LOCAL_MACHINE\SAM\SAM
和HKEY_LOCAL_MACHINE\Security\SAM
分支下,默认情况下被隐藏。
(2)文件备份
系统默认对SAM文件进行备份,Windows Vista之前的系统,SAM备份文件存放在%SystemRoot%\repair
文件夹下。Windows Vista及其之后的系统,SAM备份文件存在%SystemRoot%\system32\config\RegBack
文件夹下。由于SAM文件十分重要性,系统默认会对SAM文件进行备份。
(3)文件获取
正常启动时:SAM文件开始被系统调用而无法直接复制,但可以通过以下两种方式获取:
1)复制SAM的备份文件
2)使用reg save hklm\sam sam.hive
命令将SAM文件备份出来
3)使用Cain工具等破解SAM文件内容
**重置密码:在遗忘或丢失密码时,先进入Windows安全模式或借助Windows PE工具进入系统,然后删除系统盘目录下的SAM文件,再重新启动系统时可重置Windows的登录密码。
五、实验步骤
实验1:APR欺骗获取嫌疑人单位网站登录账号和密码
- 在攻击机上安装Cain,安装包在这里 提取码:qbwl,扫描当前局域网中所有在线主机,寻找目标靶机位置。
- 运行Cain工具,配置顶部的“Sniffer”选项。
- 选取嗅探的协议类型和端口号,可以选择全选。
- 选择Scan MAC Addresses进行扫描,得到局域网内在线主机的IP地址和MAC地址信息。
- 在进行欺骗前,可以登录目标靶机,打开终端,输入
arp -a
命令,查看当前IP和MAC的映射关系。可以观察到,此时的映射关系中不存在多个IP映射到同一个MAC地址的情况。 - 返回到攻击机的Cain工具主界面,从底部选项卡列表中选中ARP选项卡,进入ARP欺骗的攻击界面。
- 单击工具栏的“+”按钮,在弹出的对话框中新建一条ARP欺骗路由。界面中左右两个列表表示可选的欺骗目标,左侧列表只能选择一项,右边列表可以选择多项,表示Cain会拦截左边目标与所有的右边目标之间的双向通信内容。在实验中,左侧列表选择网关,右侧列表选择目标靶机,Cain将截获目标靶机和网关之间的所有通信数据。
- 单击工具栏中的start ARP按钮,开始实施对目标靶机的ARP欺骗。
- 验证ARP欺骗是否成功。登录目标靶机,输入
arp -a
命令查看IP和MAC的映射关系,发现在ARP缓存中,网关(192.168.57.2)对应的MAC地址已经变为攻击机(192.168.57.130)的MAC地址,表示ARP欺骗攻击成功,现在攻击者可以截获目标靶机和网关之间的通信数据。 - 检查ARP欺骗的效果。在目标靶机上访问单位网站,输入账号和密码口令登录。同时在攻击机上打开Cain的监听界面,发现可以直接监听并实时显示截获的账号和口令信息,至此,ARP欺骗攻击实验结束。
实验2:DNS欺骗获取嫌疑人单位网站登录账号和密码
- 打开Cain主界面,选择ARP攻击,在界面左侧列表框中选中ARP-DNS项,在弹出的DNS欺骗映射列表窗口中新增一条虚假的DNS域名(www.xxxx.com)和IP(202.101.194.200)映射。
- 检查目标靶机是否会得到虚假的DNS应答。在目标靶机上打开终端,输入
ping www.xxx.com
命令,检查返回结果。可以看到在返回的信息中,目标主机得到了虚假映射IP(202.101.194.200)的回应。 - 警察将钓鱼网站绑定到
202.101.194.200
上。 - 在目标主机上打开浏览器,访问www.xxx.com,发现返回的页面是
202.101.194.200
的钓鱼网站,证明DNS欺骗成功。 - 嫌疑人在目标主机上访问单位网站,输入账号和密码口令登录。警察即可获得嫌疑人的用户名与密码。
实验3:Cain监听并破解Windows远程连接口令
-
打开Cain主界面,顶部的“start Sniffer”选项,开启网络监听模式,然后点击Sniffer选项。
-
选择下方“Hosts”标签,可以查看监听到的所有主机的信息。点击“Password”标签,准备进行口令截取。在远程访问未开始前,截获的各类协议报文数量都为0。
-
根据实验一的步骤,开启ARP欺骗攻击。
-
嫌疑人在目标靶机上使用
Win+R
组合键打开运行窗口,输入秘密主机的IP地址,在弹出的对话框中输入账号和口令发起远程连接请求。 -
远程连接成功后,在Cain监听界面发现截获到了一个SMB协议的报文。因为Windows网络访问使用的是Server Message Block(SMB)协议。在监听界面可以查看报文截获的时间、客户端与服务器的IP地址、账号的明文信息以及口令的加密信息。
-
破解SMB文件内容,获取密码原文。选中这条SMB报文,右键选择“Send to Cracker”命令,将SMB报文发送到Cain的破解模块进行密码破解。点击Cain主界面顶部的Cracker标签,进入破解界面。
-
从左侧的加密类型列表中,可以看到该口令的加密信息属于NTLMv2 Hashes加密类型。在右侧的列表中选择这条口令,右键选择“暴力破解”。暴力破解需要设置口令的字符集模式和长度范围,本次实验中设置的密码为纯数字,长度为1-6位。
-
单击Start按钮开始密码破解,得到明文口令位123456,至此成功获取嫌疑人远程连接的账号和口令,实验成功。
六、防御机制
- 客户端静态绑定所在局域网网关的MAC地址。
- 对设备设置端口与MAC的静态绑定。
- 限制每个端口荀彧学习的最大地址数。
- 定期检测自身的ARP缓存是否有MAC地址相同的不同表项。
- 使用防火墙持续监控ARP缓存。