局域网DNS劫持实战.docx
- 文档编号:9358868
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:7
- 大小:20KB
局域网DNS劫持实战.docx
《局域网DNS劫持实战.docx》由会员分享,可在线阅读,更多相关《局域网DNS劫持实战.docx(7页珍藏版)》请在冰豆网上搜索。
局域网DNS劫持实战
局域XXDNS劫持实战
局域XX(LoclreNetwork,LN)是指在某一区域内由多XX计算机互联成的计算机组。
一般是方圆几千米以内。
局域XX可以实现文件治理、应用软件共享、打印机共享、工作组内的日程支配、电子邮件和传真通信服务等功能。
局域XX是封闭型的,可以由办公室内的两XX计算机组成,也可以由一个公司内的上千XX计算机组成。
下面是收集整理的局域XXDNS劫持实战范文,欢迎借鉴参考。
局域XXDNS劫持实战
(一)
DNS确定的是我们的域名将解析到哪一个IP地址的记录,是基于UDP协议的一种应用层协议
这个攻击的前提是攻击者掌控了你的XX关(可以是路由器,交换机,或者运营商),一般来说,在一个WLN下面,使用RP劫持就可以到达此效果。
你在访问一个XX站的过程中,经受了如下几个阶段:
以访问freebuf的主页为例:
1、地址栏输入freebuf
2、访问本机的hosts文件,查找freebuf所对应的IP,若找到,则访问该IP
3、若未找到,则进行这一步,去(远程的)DNS服务器上面找freebuf的IP,访问该IP
可以通过Wireshrk抓包来看一下这个过程
这是一个发向bidu的DNS请求
中间人劫持就发生在第三步:
由于恶意攻击者操纵了你的XX关,当你发送了一个查找freebuf的IP的请求的时候,中间人拦截住,并返回给你一个恶意XX址的IP,你的扫瞄器就会把这个IP当做你想要访问的域名的IP!
!
这个IP是攻击者搭建的一个仿照了目标XX站前端界面的界面,当你在该界面输入用户名密码或者付款操作的时候,就会中招。
由于DNS劫持导向的界面的URL是完全正确的,因此
这类攻击一般极难辨别!
攻击者可以将XX页的前端做的极为完善!
几乎和原XX页一模一样,各种链接,也都指向正确的地方,只有这个登陆框是有问题的,一旦输入用户名密码就会被攻击者所接受到。
2、防范
一般来说,这种攻击的防范是很难的!
因为URL和页面都是正常的,不是对web技术有很深了解的人根本无从下手(假如攻击者的页面复原的足够真实的话,但是我们还是有一些方法来进行防范的
1、使用SSL(XXS)进行登录,攻击者可以得到公钥,但是并不能够得到服务器的私钥
2、当扫瞄器提示出现证书问题的时候,慎重,再慎重!
确定你所在的XX络环境是安全的,该XX站是可信的再去访问。
3、不在连接公共wifi的时候随便进行登陆操作
一般来说,只有一些公司和学校的内XX,一些个人站,和(12306),会遭受证书配置的问题。
其他的正常大型站点,尤其是我们常常使用的一些XX站,不会出现此类问题,而需要登录的,常常遭受钓鱼的,正是这些站点。
因此,遭受这种状况的时候,肯定不要轻易的填写用户名和密码。
这种攻击的影响的范围一般是很小的,只局限鱼一个内XX的范围,总体来说还是不必担忧过多,当然,假如是运营商劫持,那就另当别论,不过运营商劫持一般也只是插入广告,不会大胆的直接用这种方式进行钓鱼攻击。
3、攻击者的目的
钓鱼攻击盗取密码
诱导用户进行填写登录表单的操作,将POST的地址改为自己的服务器地址,以猎取受害者的用户名和密码
特别留意:
有一种这样的状况,用户在填入表单之后,用户迟疑了,并未点击提交/登录之类的按钮以发送提交表单,但是此时,输入的内容已经通过jx的方式发送了出去。
一般来说,这样的submit函数应当是在按钮被点击之后执行,但是攻击者可以可以在用户每一次输入的动作之后使用on事件来执行这个函数,可以使得用户不点击就发送。
钓鱼攻击劫持支付
在支付的界面进行劫持使得用户的支付宝,或者银行卡支付,使得支付到攻击者的账户中。
植入广告
这种方式的DNS劫持一般是运营商所为的,大面积的劫持
4、攻击复现
我们可以对这种攻击方式进行复现,
在一个路由器下面的多XX机器,使用一XX进行劫持,另一XX进行模拟受害者进行测试
预备工作
进行劫持的机器:
最好使用klilinux
在本地或者远程撘一个XX服务器,作为钓鱼XX站,用于假装目标XX站
最好安装一个大功率的无线XX卡
安装劫持工具ettercp(kli自带)
测试机器安装扫瞄器(废话,是XX电脑都有,纯指令行linux用lynx也可以)
两XX电脑接入同一个无线路由器或者集线器(最好不要使用交换机,因为必需要取得交换机本身的操纵才可以进行,而路由器只需要进行欺骗就可以)
操作指南
首先,在ettercp的配置文件里面配置你要进行劫持的DNS
有关于ettercpdnS的配置文件的木库在/etc/ettercp/etter.dns
打开这个文件,我们可以看到,已经内置了一些例子
局域XXDNS劫持实战
(二)
01
Ettercp是什么?
我们在对WEB安全检测的时候都会用到Cin和netfuke这两款工具,功能信任用过的伴侣多多少少都知道,但这两款工具是在windows下运行的。
而ettercp是在linux下运行的。
其实功能都是差不多的,我称呼它为嗅探工具,RP欺骗,DNS,劫持,中间人攻击等等。
总之这是一款强大的安全测试工具。
02
DNS是什么?
1、DNS是什么:
DominNmeSystem(域名系统简称:
DNS)
2、DNS欺骗是什么:
攻击者(黑客)冒充域名服务器进行欺骗的一种行为。
3、DNS原理原理:
假如可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上XX就只能看到攻击者的主页,而不是用户想要取得的XX站的主页了,这就是DNS欺骗的基本原理。
DNS欺骗其实并不是真的"黑掉'了对方的XX站,而是冒名顶替、招摇撞骗罢了。
03
DNS欺骗实战
故事纯属虚构,请勿当真!
】:
那是一个夜黑风高的夜晚,又是刮风,有事闪电的,本想在撸几盘撸啊撸,搞的我心情一点都不好,于是关掉电脑预备睡觉了,然而突然啊的一声!
瞬间把我从困意中拉了回来,在认真一听~~~
在发觉是隔壁宾馆在做爱爱,尼玛~~~搞这么大声做什么?
让我怎么睡觉啊?
尼玛的,确定展开一次入侵隔壁电脑。
。
。
预备工作:
隔壁电脑:
192.168.1.12(宾馆一般都装有还原精灵所以电脑是裸奔(多数没装防火墙))//受害者机器
自带笔记本:
192.168.1.11(klilinux系统接上宾馆自己那间房的XX线)//入侵者机器
XX关IP:
192.168.1.1
踩点:
怎么知道隔壁的电脑IP地址?
先看自己的房间号,比方是5-11(假如表示5楼11间房),在来到自己房间看自己电脑的IP地址,一般是192.168.1.11
那么隔壁的自己出门去看门牌就知道了,(假如是5-12),那么隔壁的IP地址就是192.168.1.12最终在ping一下通了说明电脑开着,不同,说明电脑关着,或者防火墙什么的。
。
。
这个方法比较死?
当然其它方法也有,依据自己阅历而定。
。
。
首先先打开ettercp的DNS文件进行编辑,在klilinux2.0下的文件路径为/etc/ettercp/etter.dns
在对应的位置添加对应的标识和IP地址*代表全部域名后边就是你要欺骗为的IP地址,这里是当然是我自己的主机IP地址啦
然后记得保存。
再来编辑/vr//html/index.html文件改成你定义页面这里我简洁的改了下,因为后边我们要启动pche2也就是XX页服务器这是主页文件,说白了目的是为了DNS欺骗胜利后,当受害者(隔壁宾馆两口)访问域名访问XX站后,打开的页面就是我们这里的这个主页文件里边的内容。
。
。
。
编辑好了---记得保存!
如今我们在到终端输入指令/etc/init.d/pche2strt来启动pche2服务器(把本机作为一个服务器)。
在输入指令ettercp-G来进入ettercp的图形界面。
我喜爱用图形界面,或许也windows玩多的缘由吧,不喜爱linux下的指令行ps:
虽然看起来很帅的样子.....--!
选择XX卡Unfiedsniffing---配置
XX卡选择eth0(依据自己的计算机XX卡而定)
再来扫描XX关下的所以在线的计算机主机,来到hosts选项下的scnforhosts
继续选着Hostslist列出扫到的主机
可以观察列出了全部机器,先在列表里选择XX关进行添加,我这里的XX关是192.18.1.1。
点击ddtotrget1
局域XXDNS劫持实战(三)
DNS是DominNmeSystem(域名系统)的缩写,简洁来说就是负责域名与IP地址之间的转换,平常我们用到的大部分是域名转IP,当然也支持IP转域名的反向解析。
在方方面面都会有DNS的身影,在负载均衡方面也可以借助DNS来实现,还有就是黑产们喜爱坚持广大用户的DNS来猎取利益,可以说DNS是互联XX最重要的协议之一。
001起因
互联XX上的DNS服务器特别特别的多,有公共的DNS也有公司自己内部使用的DNS也有用于负载均衡的,我们公司呢也要建一个DNS服务器,搭建DNS我是不擅长,但是搭建完之后需要做一下压力测试这我就比较喜爱了,毕竟这个压力测试说好听叫压力测试,说不好点那就是DOS攻击,接下来我就说说我进行压力测试的过程吧。
002DNS协议基础
想要进行压力测试,至少要能模拟出正常用户的DNS请求才行,所以构造DNS请求报文我们需要先了解DNS协议的报文格式。
DNS是应用层的协议,使用TCP和UDP的53端口,不过一般状况下是使用UDP53端口的,所以呢今日我们构造的DNS也是基于UDP的。
DNS协议的报文首部是定长的12字节,分别是标识(16bit)、标志(16bit)、问题记录数(16bit)、回答记录数(16bit)、授权记录数(16bit)、附加信息记录数(16bit)。
标识字段是用来匹配请求和响应的,有点类似ip协议的ID字段,应答报文的标识字段应当和请求报文的相同。
标志是由多个字段组成的
QR字段长度是1bit,用来表示这个DNS报文是请求还是响应,因为DNS的请求和响应的报文首部格式相同,0表示请求,1表示响应。
OPcode字段呢长度是4bit,表示操作类型,0表示正向解析,1表示反向解析,2表示服务器状态请求。
字段长度为1bit,是授权回答标志位,0表示回答是非权威的,1则表示回答的服务器是授权服务器。
TC字段长度也是1bit,是截断标志位,1表示报文长度超过了512字节,并且被截断成了512字节,不过我在抓包的时候抓到许多超过512字节的
也并没有被截断。
RD字段长度为1bit,表示盼望递归的标志,1表示请求服务器进行递归解析,0表示盼望反复查询,但这个怎么查询还是服务器说了算。
R字段只在服务器响应中有效,1表示服务器支持递归,0表示不支持递归。
R后面的是保存字段,长度为3bit,必需置0。
rCode字段是用来表示错误状态的,长度为4bit,0表示没有错误,1表示格式错误,2表示服务器故障,3表示查询域名不存在,4表示不知道的解析类型,5表示治理上禁止。
问题记录数的16bit表示问题部分所包含的域名解析查询的个数,理论上最大是65535.
回答记录数也是16bit,相应的也是表示响应报文中回答记录的个数。
授权记录数也是16bit,表示授权部分所包含的授权记录的个数,请求报文中置0。
附加信息记录数长度是16bit,表示附加信息部分所包含的附加信息记录的个数。
以上的这12字节就是DNS包文的首部,我们做压力测试的话,只需要构造请求报文,所以一般状况下回答记录数、授权记录数、附加信息记录数都会置0.
接下来就是DNS的变长部分了,分别是问题部分、回答部分、授权部分、附加信息部分,我们要做只需要问题部分就可以了。
这其中查询名就是我们要查询的域名,他是变长的。
查询类型和查询类是定长的,都是16bit,这两个要写在整个报文的结尾。
查询类比较简洁,1表示ip协议,符号为IN。
其他协议的表示是什么其实我也不知道
查询类型字段选择就比较多了,常用的如下列图:
查询名就是我们常说的域名,比方.freebuf,但是在报文中不能直接这么写,而是要改成37freebuf3com0这种形式,字段之间不再以.分割,而是以字符串前的数字表示这个字符串的长度,最终以0结束。
003构造报文
编程语言:
C
运行环境:
kli/ubuntulinux
编译器:
gccversion6.1.1
在linux中已经构造好了ip和udp的结构体分别在ip.h和udp.h两个头文件中,linux中应当也定义好了DNS协议的结构,不过我没找到所以咱就自己构造一个也是一样的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 DNS 劫持 实战