局域网DNS劫持实战
局域网(Local Area Network LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、 电子邮件和传真通信服务等功能。局域网是封闭型的可以由办公室内的两台计算机组成也可以由一个公司内的上千台计算机组成。下面是小编收集整理的局域网DNS劫持实战范文欢迎借鉴参考。
局域网DNS劫持实战(一)
DNS决定的是我们的域名将解析到哪一个IP地址的记录是基于UDP协议的一种应用层协议
这个攻击的前提是攻击者掌控了你的网关(可以是路由器交换机或者运营商)一般来说在一个WLAN下面使用ARP劫持就可以达到此效果。
你在访问一个网站的过程中,经历了如下几个阶段
以访问fre e b uf的主页为例
1 、地址栏输入fre e b u f.co m
2、访问本机的hosts文件查找free b uf.co m所对应的IP若找到则访问该IP
3、若未找到则进行这一步去(远程的)D NS服务器上面找freebuf.co m的IP访问该IP
可以通过Wireshark抓包来看一下这个过程
这是一个发向baidu.com的DNS请求
中间人劫持就发生在第三步 由于恶意攻击者控制了你的网关 当你发送了一个查找fre e b u f.co m的I P的请求的时候 中间人拦截住并返回给你一个恶意网址的I P,你的浏览器就会把这个IP当做你想要访问的域名的IP! !这个IP是攻击者搭建的一个模仿了目标网站前端界面的界面 当你在该界面输入用户名密码或者付款操作的时候就会中招。
由于DNS劫持导向的界面的URL是完全正确的 因此
这类攻击一般极难分辨!
攻击者可以将网页的前端做的极为完善!几乎和原网页一模一样各种链接也都指向正确的地方只有这个登陆框是有问题的一旦输入用户名密码就会被攻击者所接受到。
2、防范
一般来说这种攻击的防范是很难的!因为U RL和页面都是正常的不是对we b技术有很深了解的人根本无从下手(如果攻击者的页面复原的足够真实的话但是我们还是有一些方法来进行防范的
1 、使用SSL(HTTPS)进行登录攻击者可以得到公钥但是并不能够得到服务器的私钥
2、当浏览器提示出现证书问题的时候谨慎再谨慎!确定你所在的网络环境是安全的该网站是可信的再去访问。
3、不在连接公共wi fi的时候随意进行登陆操作
一般来说只有一些公司和学校的内网一些个人站和(12306) 会遭遇证书配置的问题。其他的正常大型站点尤其是我们经常使用的一些网站不会出现此类问题而需要登录的经常遭遇钓鱼的正是这些站点。因此遭遇这种情况的时候一定不要轻易的填写用户名和密码。
这种攻击的影响的范围一般是很小的只局限鱼一个内网的范围总体来说还是不必担心过多 当然如果是运营商劫持那就另当别论不过运营商劫持一般也只是插入广告不会大胆的直接用这种方式进行钓鱼攻击。
3、攻击者的目的
钓鱼攻击盗取密码
诱导用户进行填写登录表单的操作将POST的地址改为自己的服务器地址 以获取受害者的用户名和密码
特别注意
有一种这样的情况用户在填入表单之后用户犹豫了并未点击提交/登录之类的按钮以发送提交表单但是此时输入的内容已经通过aj a x的方式发送了出去。
一般来说这样的submit函数应该是在按钮被点击之后执行但是攻击者可以可以在用户每一次输入的动作之后使用on事件来执行这个函数可以使得用户不点击就发送。
钓鱼攻击劫持支付
在支付的界面进行劫持使得用户的支付宝或者银行卡支付使得支付到攻击者的账户中。
植入广告
这种方式的DNS劫持一般是运营商所为的大面积的劫持
4、攻击复现
我们可以对这种攻击方式进行复现
在一个路由器下面的多台机器使用一台进行劫持另一台进行模拟受害者进行测试
准备工作
进行劫持的机器
最好使用kal i l inux
在本地或者远程撘一个HTTP服务器作为钓鱼网站用于伪装目标网站
最好安装一个大功率的无线网卡
安装劫持工具ettercap(kal i自带)
测试机器安装浏览器(废话是台电脑都有纯命令行l i nux用lynx也可以)
两台电脑接入同一个无线路由器或者集线器(最好不要使用交换机 因为必须要取得交换机本身的控制才可以进行而路由器只需要进行欺骗就可以)
操作指南
首先在etterca p的配置文件里面配置你要进行劫持的D NS
有关于ettercap d nS的配置文件的木库在/e tc/ettercap/etter.d ns
打开这个文件我们可以看到作者已经内置了一些例子
局域网DNS劫持实战(二)
01
E tte rca p是什么?
我们在对WEB安全检测的时候都会用到Cain和netfuke这两款工具功能相信用过的朋友多多少少都知道但这两款工具是在wi nd o ws下运行的。
而ettercap是在l inux下运行的。其实功能都是差不多的我称呼它为嗅探工具ARP欺骗 DNS劫持 中间人攻击等等。总之这是一款强大的安全测试工具。
02
DNS是什么?
1 、 DNS是什么 Domain Name System(域名系统简称 DNS)
2、 DNS欺骗是什么攻击者(黑客)冒充域名服务器进行欺骗的一种行为。
3、 DNS原理原理如果可以冒充域名服务器然后把查询的IP地址设为攻击者的IP地址这样的话用户上网就只能看到攻击者的主页而不是用户想要取得的网站的主页了这就是DNS欺骗的基本原理。 DNS欺骗其实并不是真的“黑掉”了对方的网站而是冒名顶替、招摇撞骗罢了。
03
DNS欺骗实战
【故事纯属虚构请勿当真!】
那是一个夜黑风高的夜晚又是刮风有事闪电的本想在撸几盘撸啊撸搞的我心情一点都不好于是关掉电脑准备睡觉了然而突然啊的一声!瞬间把我从困意中拉了回来在仔细一听~~~
在发现是隔壁宾馆在做爱爱尼玛~~~搞这么大声做什么?让我怎么睡觉啊?尼玛的决定展开一次入侵隔壁电脑。 。 。
准备工作
隔壁电脑 192.168.1 .12(宾馆一般都装有还原精灵所以电脑是裸奔(多数没装防火墙) ) //受害者机器
自带笔记本 192.168.1 .1 1 (kal i l inux系统接上宾馆自己那间房的网线) //入侵者机器
网关IP:192.168.1 .1
踩点
怎么知道隔壁的电脑IP地址?
先看自己的房间号 比如是5-1 1(假如表示5楼1 1间房)在来到自己房间看自己电脑的IP地址一般是192.168.1 .1 1
那么隔壁的自己出门去看门牌就知道了 (假如是5-12)那么隔壁的IP地址就是
192.168.1 .12最后在pi ng一下通了说明电脑开着不同说明电脑关着或者防火墙什么的。 。 。
这个方法比较死?当然其它方法也有根据自己经验而定。 。 。
首先先打开ettercap的DNS文件进行编辑在kal i l inux2.0下的文件路径为/etc/e tterca p/ette r.d ns
在对应的位置添加对应的标识和IP地址*代表所有域名后边就是你要欺骗为的IP地址这里是当然是我自己的主机IP地址啦
然后记得保存。
再来编辑/va r/www/html/index.html文件改成你定义页面这里我简单的改了下因为后边我们要启动apache2也就是网页服务器这是主页文件说白了目的是为了DNS欺骗成功后 当受害者(隔壁宾馆两口)访问域名访问网站后打开的页面就是我们这里的这个主页文件里边的内容。 。 。 。编辑好了---记得保存!
现在我们在到终端输入命令/etc/i nit.d/apache2 start来启动apache2服务器(把本机作为一个服务器) 。
在输入命令ette rca p-G来进入ette rca p的图形界面。我喜欢用图形界面也许也wi ndows玩多的原因吧不喜欢l i n ux下的命令行ps:虽然看起来很帅的样子. . . . . - -!
选择网卡U nfied s niffi ng---配置
网卡选择eth0(根据自己的计算机网卡而定)
再来扫描网关下的所以在线的计算机主机来到hosts选项下的sca n for hosts
继续选着Hosts l ist列出扫到的主机
可以看见列出了所有机器先在列表里选择网关进行添加我这里的网关是
192.18.1 .1 。点击Add to target 1
局域网DNS劫持实战(三)
DNS是DomainNameSystem(域名系统)的缩写简单来说就是负责域名与IP地址之间的转换平时我们用到的大部分是域名转IP 当然也支持IP转域名的反向解析。在方方面面都会有DNS的身影在负载均衡方面也可以借助DNS来实现还有就是黑产们喜欢坚持广大用户的DNS来获取利益可以说DNS是互联网最重要的协议之一。
0×01起因
互联网上的DNS服务器非常非常的多有公共的DNS也有公司自己内部使用的DNS也有用于负载均衡的我们公司呢也要建一个DNS服务器搭建DNS我是不擅长但是搭建完之后需要做一下压力测试这我就比较喜欢了毕竟这个压力测试说好听叫压力测试说不好点那就是DOS攻击接下来我就说说我进行压力测试的过程吧。
0×02DNS协议基础
想要进行压力测试至少要能模拟出正常用户的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表示服务器状态请求。
AA字段长度为1 bit是授权回答标志位 0表示回答是非权威的 1则表示回答的服务器是授权服务器。
TC字段长度也是1bit是截断标志位 1表示报文长度超过了512字节并且被截断成了512字节不过我在抓包的时候抓到很多超过512字节的
也并没有被截断。
RD字段长度为1bit表示希望递归的标志 1表示请求服务器进行递归解析 0表示希望反复查询但这个怎么查询还是服务器说了算。
RA字段只在服务器响应中有效 1表示服务器支持递归 0表示不支持递归。
RA后面的是保留字段长度为3bit必须置0。rCode字段是用来表示错误状态的长度为4bit 0表示没有错误 1表示格式错误 2表示服务器故障 3表示查询域名不存在 4表示不知道的解析类型 5表示管理上禁止。
问题记录数的16bit表示问题部分所包含的域名解析查询的个数理论上最大是
65535.
回答记录数也是16bit相应的也是表示响应报文中回答记录的个数。
授权记录数也是16bit表示授权部分所包含的授权记录的个数请求报文中置0。
附加信息记录数长度是16bit表示附加信息部分所包含的附加信息记录的个数。
以上的这12字节就是DNS包文的首部我们做压力测试的话只需要构造请求报文所以一般情况下回答记录数、授权记录数、附加信息记录数都会置0.
接下来就是DNS的变长部分了分别是问题部分、回答部分、授权部分、附加信息部分我们要做只需要问题部分就可以了。
这其中查询名就是我们要查询的域名他是变长的。查询类型和查询类是定长的都是16bit这两个要写在整个报文的结尾。
查询类比较简单 1表示ip协议符号为IN。其他协议的表示是什么其实我也不知道…
查询类型字段选择就比较多了常用的如下图
查询名就是我们常说的域名 比如www.fre e b uf.co m,但是在报文中不能直接这么写而是要改成3www7freebuf3com0这种形式字段之间不再以.分割而是以字符串前的数字表示这个字符串的长度最后以0结束。
0×03构造报文
编程语言 C
运行环境 kal i/ubuntu l inux
编译器 gccversion6.1 .1
在l inux中已经构造好了ip和udp的结构体分别在ip.h和udp.h两个头文件中l inux中应该也定义好了DNS协议的结构不过我没找到…所以咱就自己构造一个也是一样的。
TNAHosting是一家成立于2012年的国外主机商,提供VPS主机及独立服务器租用等业务,其中VPS主机基于OpenVZ和KVM架构,数据中心在美国芝加哥机房。目前,商家在LET推出芝加哥机房大硬盘高配VPS套餐,再次刷新了价格底线,基于OpenVZ架构,12GB内存,500GB大硬盘,支持月付仅5美元起。下面列出这款VPS主机配置信息。CPU:4 cores内存:12GB硬盘:500GB月流...
官方网站:点击访问白丝云官网活动方案:一、KVM虚拟化套餐A1核心 512MB内存 10G SSD硬盘 800G流量 2560Mbps带宽159.99一年 26一月套餐B1核心 512MB内存 10G SSD硬盘 2000G流量 2560Mbps带宽299.99一年 52一月套餐...
哪里购买香港云服务器便宜?众所周知,国内购买云服务器大多数用户会选择阿里云或腾讯云,但是阿里云香港云服务器不仅平时没有优惠,就连双十一、618、开年采购节这些活动也很少给出优惠。那么,腾讯云虽然海外云有优惠活动,但仅限新用户,购买过腾讯云服务器的用户就不会有优惠了。那么,我们如果想买香港云服务器,怎么样购买香港云服务器便宜和优惠呢?下面,云服务器网(yuntue.com)小编就介绍一下!我们都知道...