×

【安全课堂】细思极恐的恶作剧——DHCP劫持
  

Sangfor_闪电回_朱丽 15518

{{ttag.title}}
作者简介:甲鱼,千里目安全实验室成员





细思极恐的恶作剧——DHCP劫持


一.办公室恶作剧

小明平时用Linux系统办公,办公室内网都是自动获取IP地址,有一天小明早早完成当天的任务,就在网上看起了那些最爱的(哔~~)图片,于是发生了下面一幕:
  


莫名其妙断网也就算了,重启系统的 DHCP Client 看下详细信息竟然乱入了奇怪的字符串“’Hacked,hahhahaha’”,难道被人黑了自己电脑?作为一个技术宅,自己怎么可以这样任人摆布,简直叔可忍婶不可忍!

再仔细一看详细的输出信息,小明眼前一亮,发现了一个异常的IP地址:140.0.105.1,显示该主机为自己的系统分配了一个 192.168.2.23 的IP。小明很纳闷,自己的内网分明是 140 网段,怎么给分配了这么一个IP?而且内网的 DHCP 服务器 IP 不是 140.0.105.1 ,肯定是这台机器在搞鬼,DHCP 欺骗?
小明向网管咨询了一下 140.0.105.1 这个IP 是谁,才发现是 D 同学的机器,小明心里嘀咕着找到 D 同学问这是怎么回事儿,只见 D 同学一脸坏笑,小明这才发现自己被恶作剧耍了……小明怒不可遏,一股要炸掉地球的怒火吓得 D 同学赶紧求饶,不过小明同学更想知道这背后技术原理的细节,所以答应了 D 同学老实交代,坦白就会从宽。

到底怎么回事呢?重新请求分配 IP 地址就被黑掉,实在匪夷所思。D 同学耐心地为小明同学解释了一番……

二.DHCP欺骗

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种在局域网中使用的网络协议,它使网络管理员能够集中管理和自动分配IP网络地址,使网络环境中的主机动态获得IP地址、网关地址、DNS服务器地址等信息,并能够提升地址的使用率。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。

    原来 DHCP 协议有这样一个特性:同一局域网中可以同时存在多个 DHCP 服务器,当一个客户端向局域网内广播 DHCP 数据包来请求分配IP地址时,多个收到客户端请求的 DHCP 服务器都会向该客户端发出分配 IP 地址的响应;当客户端接收到多个 DHCP 服务器发来的响应时,一般会采纳第一个收到的 DHCP 响应包中的 IP 地址。

    经过 D 同学这么一点拨,小明立刻明白了怎么回事儿:原来 D 同学在局域网内把自己的 140.0.105.2 主机配置 DHCP 服务,作为一个“虚假 DHCP 服务器”与局域网内真实的 DHCP 服务器竞争;当小明的 DHCP 客户端启动时,会向局域网广播 DHCP 请求,D 同学的“虚假 DHCP 服务器”和局域网里真实的 DHCP 服务器都会收到小明的请求,并且都会向小明的 DHCP 客户端发送响应。如果 D 同学的 DHCP 响应最先到达小明那里,小明的 DHCP 客户端就会接受 D 同学的响应,按照 D 同学 DHCP 响应中的 IP 设置,设置自己的IP地址甚至 DNS 服务器地址。

    不过小明还是不明白为怎么做到在响应中发送了一个异常字符串“Hacked,hahhahaha”。D 同学一脸诡笑说,这里其实把 DHCP 欺骗和前阵子风靡全球的 Bash-ShellShock 漏洞结合起来了,小明的 Linux 系统 Bash 版本较低,存在 Shellshock 漏洞,而系统自带的 DHCP 客户端实现的时候调用了 Shell 接口,可通过 Shellshock 漏洞远程执行任意命令……

    听到这里小明同学惊出一身冷汗:“远程执行任意命令”。寻思幸亏 D 同学只是发了一串无害字符,如果被攻击者利用,后果不堪设想。

三.DHCP 中间人攻击

    至此,小明同学拍拍手说,那我回去把 Bash 升级一下,补上 ShellShock 漏洞不就没事儿了?
    D 同学诡异地微微一笑:“呵呵~骚年,图样图森破!”
    说着 D 同学给小明看了一下刚才恶作剧时抓的数据包:



小明呆呆地看了一下这个数据包,猛地一拍大腿,大喝一声“卧槽!”

原来红框1中的数据就是 D 同学的“虚假 DHCP 服务器”给小明分配的IP地址(虽然这个IP地址并不属于小明及其所在的网段,这应该是一个失误),红框2中的数据给小明指定了一个虚假的网关地址,就是 D 同学的140.0.105.1,红框3中的数据还给小明制定一个虚假的 DNS 服务器地址 192.168.2.20!而最后两个框里的内容,就是 D 同学结合 DHCP 欺骗对 Shellshock 漏洞利用的数据了。

小明舒了口气,定下神来仔细斟酌:如果 D 同学不搞这么明目张胆的恶作剧,而是分配一个有效的同网段 IP 地址给自己,再把虚假的网关地址和 DNS 服务器地址给自己操纵了,自己的流量就完全被 D同学神不知鬼不觉的控制了!如果D同学还同时欺骗了真正的网关,就会劫持自己的流量对自己发动“中间人攻击”;即使D同学只把自己的 DNS 服务器给设置成恶意的地址,把自己“钓鱼”一番,自己也是掉进坑里都浑然不觉,果然,即使自己机器没有 Shellshock 漏洞,也一样被 D 同学玩的团团转……

幸好这只是一场恶作剧,细思极恐的恶作剧!

朋友,您是否也有与小明类似的经历,欢迎分享!

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

大蒜头 发表于 2016-4-15 09:29
  
好绕啊,的慢慢看细细品。。
Sangfor_闪电回_朱丽 发表于 2016-4-15 09:32
  
恕我孤陋寡闻,在这之前,只知道ARP欺骗,原来还有DHCP欺骗!

又涨知识了!
18915079163 发表于 2016-4-15 17:39
  
有的,DHCP snooping就是用来解决DHCP欺骗的
老眼 发表于 2016-4-15 21:49
  
楼上正解
瞭望星空 发表于 2017-8-4 09:04
  
又涨知识了!
帅先森 发表于 2018-7-2 22:22
  
具体怎么操作可以某公司嘛?
帅先森 发表于 2018-7-3 08:38
  
就是那台电脑是怎么开启DHCP服务并和原来合法的DHCP服务器竞争。
多简单 发表于 2018-7-4 17:01
  
666  学到不少,长见识了#
ie5000 发表于 2018-7-5 14:42
  
慢慢学习,细细琢磨
发表新帖
热门标签
全部标签>
技术盲盒
西北区每日一问
安全效果
每日一问
干货满满
新版本体验
【 社区to talk】
技术笔记
功能体验
技术咨询
产品连连看
标准化排查
GIF动图学习
2023技术争霸赛专题
每周精选
信服课堂视频
通用技术
自助服务平台操作指引
秒懂零信任
技术晨报
安装部署配置
答题自测
原创分享
升级&主动服务
社区新周刊
POC测试案例
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高手请过招
高频问题集锦
全能先锋系列
云化安全能力

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人