内网横向移动—ARP攻击,图片捕捉,数据劫持,DNS劫持
suiw9 2024-11-17 01:39 33 浏览 0 评论
1. ARP
??这里可以通过ARP攻击对目标进行断网、数据劫持、监听等。
1.1. APR介绍
??ARP(Address Resolution Protocol)是一种TCP/IP协议,用于根据IP地址获取物理地址。在计算机发送信息时,如果需要知道目标IP地址的物理地址,就会使用ARP协议。该协议会通过将目标IP地址广播到局域网上的所有主机,并接收返回的消息来获取目标物理地址。一旦收到返回的消息,计算机就会将该IP地址和物理地址存入本机ARP缓存中,以便下次请求时直接查询,从而节约资源。
1.1.1. ARP工作原理
??每台主机都会在自己的ARP缓冲区中建立一个ARP列表(地址转换表),以表示IP地址和MAC地址的对应关系。
??当源主机需要将一个数据包发送到目的主机时,会首先检查自己的ARP列表中是否存在该IP地址对应的MAC地址。如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。这个ARP请求数据包里包括源主机的IP地址、硬件地址,以及目的主机的IP地址。
??网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
1.1.2. APR欺骗工作原理
??由于地址解析是建立在网络中各个主机互相信任的情况下,在局域网中主机可以自行的发布ARP的应答信息,简单来说,如果网络中有其他主机需要自己的mac地址,那么这台主机会主动将自己的mac地址发布出去,而需求主机并不会对该数据报文的真实性进行校验,而是会直接存入自己的ARP缓存中,而这样的情况下就会导致攻击者就可以对某一台主机的ARP应答报进行伪造,从而导致这台主机在进行访问的时候出现报错或者无法通信的情况。
1.2. 环境准备
??这里一定要注意哦,后续使用到kali,一定要使用桥接,简单来说,只要是虚拟机测试,一定都使用桥接,确实所有设备都处于一个局域网中。
1.3. 适用场景
??如果你在宿舍,你的舍友大半夜打游戏,很吵,别想,直接使用ARP断网攻击。
??如果你在宿舍,你的舍友大半夜手机发出奇怪声响,你找他要网址,他不说,别想,直接使用ARP数据劫持。
??如果你在宿舍,你的舍友大半夜看女友照片,你也想看,他不给,别想,直接使用图片捕捉。
??如果你在宿舍,你的舍友大半夜偷偷上网课,你想拖他一起打游戏,别想,直接使用DNS劫持。
2. ARP断网攻击演示
??这里我准备了虚拟机以及手机来进行测试,由于家里确实没有第二台电脑了,只能使用这种方式了。
2.1. 使用kali进行演示
??这里使用kali进行演示。
2.1.1. nmap判断存活
??使用nmap判断局域网内存活IP,当然判断局域网中存活IP方式有很多,这个没什么好说的,好家伙IPhone搜不到?????什么鬼,
2.1.2. 安装工具
??在kali中是自带aprsoof的,但是我发现好像还是需要自己重新安装,并不是纯正自带的那种。
sudo apt-get install dsniff
2.1.3. 攻击Windows 10虚拟机
??这里我就攻击Windows 10 虚拟机,这里还需要看一下你的kali配置的局域网地址是在哪个网卡上。
arpspoof -i eth0 -t 192.168.2.20(目标IP) 192.168.2.1(网关IP)
2.1.3.1. 查看效果
??可以看到,我在测试开始的时候去ping百度还是ok的,但是开启攻击后,再去ping百度就无法访问了。
2.1.4. 攻击IPhone
??这里也是同样的手法。
arpspoof -i eth0 -t 192.168.2.20(目标IP) 192.168.2.1(网关IP)
2.1.4.1. 查看效果
??可以看到开始攻击后,访问百度就无法通信了。
??结束攻击后,手机恢复访问。
2.2. 使用Windows进行演示
??这里使用Windows进行演示,前置存活判断,什么的就不操作了,不过这里还是要说一下,测试完发现,好像Windows版的并不能生效,也有可能是我使用的方式不对,所以这里,我就使用科来。
2.2.1. 工具获取
??在Windows中也是有这个工具的,可以直接去github上下载,我建议直接使用克科来吧,方便。
??arpspoof:https://github.com/alandau/arpspoof/releases/tag/v0.2
??科莱:https://www.colasoft.com.cn/download/capsa.php
2.2.2. 科来工具
??这里打开科来后,就是这样的,然后开始抓包。
2.2.3. 抓包过程
??这里我们进行抓包,为什么要抓包,是由于好像新版的数据包生成器缺少一些数据,导致无法进行ARP攻击,这里抓包抓一会,看看有没有ARP协议的数据包,我们就基于这个数据包进行数据修改,如果没有直接ping就会出现数据包,这里我们点开双击我箭头的数据包。
2.2.3.1. 导入数据
??这里我们双击后就能够看到一个数据包的窗口,随便选择一条ARP数据包选择导入数据包生成器中。
2.2.3.2. 修改数据
??这里我们需要修改里面的数据,不会有人还不知道怎么查电脑上的ARP信息吧,通过ARP信息可以获取到我们要攻击的MAC地址以及IP地址,诶,这里我就不说ARP信息怎么查。在本地cmd输入arp -a即可,找到你目标主机的MAC地址与IP地址即可。
以太网-||
目的地址:00:bb:60:7b:a1:92 ##被攻击者MAC地址,这里默认中间是-要替换为:
源地址:随便设置 ##如果设置自己的容易被抓。
地址解析协议
发送者MAC地址:随便设置 ##要和上面的源地址相同。
发送者IP地址:写网关
目标MAC地址:00:bb:60:7b:a1:92 ##被攻击者MAC地址,这里默认中间是-要替换为:
目标地址:192.168.2.20 ##被攻击者的IP地址
2.2.3.3. 发送数据
??点击发送,然后选择网卡,都勾选上,设置0次,也就是无限循环。
2.2.3.4. 查看效果
??可以看到目标无法上网了,但是这里好像有点小问题哦,就是我结束攻击后,好像网络还是无法恢复,需要重启才能解决。
3. ARP数据劫持
??ARP数据劫持,简单来说就是监听目标主机访问了那些网站,这里还有一个问题就是IPhone的数据获取起来比较麻烦,而且基本上获取不到,不知道其他手机是不是这样的,但是电脑都能够成功获取到。
3.1. 使用kali进行演示
??这里同样使用kali进行演示。
3.1.1. 开启转发
??由于我们需要的是获取目标主机访问的数据,而不是让他无法上网,使用这里我们需要将kali上的端口转发开启。编辑 Kali Linux 虚拟机/etc/sysctl.conf 配置文件,将net.ipv4.ip_forward配置项取消掉“#”注释符号,并将其值由 0 改为 1 即可开启端口转发。当然也可以使用命令:
echo 1 >> /proc/sys/net/ipv4/ip_forward
3.1.2. 测试是否正常
??这里还是使用工具进行攻击,查看目标主机是否能够正常上网,若能够正常上网,那么设置就是成功的,不过这里需要注意,前后的位置需要调换一下。
arpspoof -i eth0 -t 192.168.2.1(网关IP) 192.168.2.20(目标IP)
3.1.3. 攻击Windows 10虚拟机
??这里我们使用WireShark进行监听,由于没有kali版的科来,所以就使用WireShark来操作吧。
3.1.3.1. 默认数据
??首先将之前测试的攻击暂停,我们来看一下,默认情况下WireShark抓Windows 10虚拟机是那些数据,可以看到默认情况下,是抓不到数据的,我这个图是我使用ping进行测试的。
ip.addr==192.168.2.20
3.1.3.2. 开启数据转发
??这里我们将攻击开启,再来看看WireShark抓取到的是那些数据,可以看到抓取到了很多数据,其实这个就是通过端口转发来进行抓取,目标主机再访问过程中,丝毫无感,但是所有的数据都从你电脑上经过,相当于你是一个中间件,对数据进行捕捉,只不过使用WireShark抓取到的数据确实,有点看的麻烦。
3.2. 使用Windows进行演示
??这里我们使用科来进行分析查看,因为科来更加的直观,不过提前说,我的思路有不同的变化,这里应该使用Windows就能够实现的,但是可能由于IPhone的原因,导致未成功实现该操作,但是也抓取到数据了,只是无法转发。
??整体思路,使用Windows工具,无法通行,切换到kali上操作,和上面的操作是一样的,由于转发数据就要出去,而kali安装在我物理机上,就可以实现我直接抓数据就可以了,数据的IP依旧是IPhone的地址,因为kail将数据转发了,所以我才能抓取到。
??可能有点绕,还需要慢慢理解。
3.2.1. 攻击IPhone
??这里我们选择IPhone来进行操作,由于是虚拟机的问题,导致如果使用Windows 10虚拟机的话,所有的流量默认都是走我网卡出去的,所以都能监听到,所以就使用IPhone来操作,这里的默认操作我就不演示了,直接看效果吧。
3.2.1.1. 开启攻击
??这里和可惜的是,我没第二台电脑,但是IPhone又无法欺骗…准确说,直接ping不通,但是不知道为什么linux上能够实现,严重怀疑Windows版的这个工具,是先进行连通性测试,然后在进行攻击,而kali中可能是直接开启攻击,所以导致Linux可以,Windows不可以的情况。这里我就替换一下linux吧,然后抓kail的数据包,来看看能不能获取到。
3.2.1.2. 查看效果
??可以看到成功获取到数据了,唯一的问题就是好像数据不转发了。
3.3. 图片捕捉
??由于前面我们都是获取的是数据,而且数据中的图片是无法获取的,那么这里就使用工具对目标主机访问的网站的图片进行获取。
3.3.1. 安装工具
??这里依旧是使用kali来实现,Windows上好像是没有这样的工具的,kali老版本这些工具都有,但是新的版本好像都需要自己下载,也不知道是不是我没更新包导致的。
sudo apt install driftnet
3.3.2. 工具语法
driftnet [options] [filter code]
-b 捕获到新的图片时发出嘟嘟声
-i interface 选择监听接口
-f file 读取一个指定pcap数据包中的图片
-p 不让所监听的接口使用混杂模式
-a 后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)
-m number 指定保存图片数的数目
-d directory 指定保存图片的路径
-x prefix 指定保存图片的前缀名
3.3.3. 开启演示
??这里我们来获取Windows 10上的图片,看看是否能够获取到。
3.3.3.1. 开启数据转发
??这里同样进行数据转发。
arpspoof -i eth0 -t 192.168.2.1(网关IP) 192.168.2.20(目标IP)
3.3.3.2. 开启捕捉图片
driftnet -i eth0 -a -d /root/heihei
3.3.3.3. 查看效果
??可以看到在kali的文件夹下,出现了很多的图片,这写就是在访问的时候出现的一些图片。
3.4. 密码捕捉
??这里的前置都不操作了,都是一样的,这里为了方便,找一个小网站来测试。
3.4.1. 安装工具
sudo apt install ettercap-graphical
3.4.2. 工具语法
??语法不一定全,可自行百度搜索,或者使用工具的帮助手册。
-l 显示可用网卡接口设备
-i 选择接口
-t 协议选择,tcp/udp/all,默认为all
-p 不进行毒化攻击,用于嗅探本地数据包
-L 载入过滤器文件
-V text 将数据包以文本形式显示在屏幕上
-L filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)
3.4.3. 开启演示
??由于我这里并未测试成功,所以这里说一下整体思路,首先开启数据包的转发,然后再开启工具的捕捉,再目标机器上找一个网站进行登陆,需要注意的是,一定要是账号密码登陆,如果验证码登陆你还是无法登陆的,我们要获取的是账号密码。
??这里我放一张别人的图片吧。
??其实主要原因是,我电脑蓝屏了,可能开的虚拟机太多了,然后攻击的太频繁了,把我电脑干趴了,尴尬…
ettercap -Tq -i eth0
4. DNS劫持攻击
??由于DNS在查询的时候是一个很复杂的流程,所以这里简单说说吧,想了解的,可以自行百度搜索。
??例如我们去访问百度的时候,浏览器首先会检查浏览器自身中的缓存记录中是否存在该域名的dns解析记录指向,如果没有,那么就会去查询操作系统中的DNS解析记录,如果还是没有,就会去本地是HOST文件去查询,倘若寻找了一圈均没有记录,那么浏览器会向电脑中的网卡上设置的DNS服务器去发送域名解析的请求,如果还是没有查询到,那么本地的DNS服务器会代替我们本地的浏览器向全球13个根域名服务器去发送查询请求。
??这就是一个完整的流程,至于13个根域名服务器如何去查询,那我就不知道了,而且也没统一的资料查询。
4.1. 查询DNS缓存
??浏览器中的缓存的查询方式都不一样,建议可以直接百度搜索,操作系统的缓存可以通过命令来查询。
ipconfig /displaydns ##查询DNS缓存
ipconfig /flushdns ##刷新DNS缓存
4.2. DNS劫持攻击过程
??这里就开始演示DNS劫持攻击过程,依旧是使用上述的靶机,倒霉蛋依旧是我们的Windows 10虚拟机。
4.2.1. 修改配置文件
??这里我们要修改一下kali中 ettercap工具的DNS解析,确实也就是将流量转发到这个你设定的假网站上。
vim /etc/ettercap/etter.dns ##配置文件地址
修改内容:
* A 192.168.2.10 ##星号就代表匹配所有,A就是A记录,192.168.2.10就是kali攻击机的地址,当然你也可以使用公网IP。
其他类型: ##以下均可以配置,这个是针对性的
vim /etc/ettercap/etter.dns ##配置文件地址
修改内容:
* A 192.168.2.10 ##星号就代表匹配所有,A就是A记录,192.168.2.10就是kali攻击机的地址,当然你也可以使用公网IP。
其他类型: ##以下均可以配置,这个是针对性的
www.*.com A 192.168.2.10
*.baidu.com A 192.168.2.10
*.*.com A 192.168.2.10
4.2.2. 启动网站
??这里我是做演示的,直接使用kail自动的本地网页测试即可,这里我也不修改了,直接使用默认,如果你想钓鱼等等,那么就可以对一些网站进行克隆部署即可。
service apache2 start
4.2.3. 工具配置
??到这里就开始对这个ettercap工具进行配置了,由于工具是界面的,所以需要去kali机器上去运行。
4.2.3.1. 选择网卡
??这里我们默认即可,如果不对修改一些,如何确定即可。
4.2.3.2. 扫描主机
??这里扫描一下存活主机,让其在列表中显示出来,由于新版的工具,操作相对来说没那么负载。
4.2.3.3. 添加目标
??这里将网关添加到Target1,目标主机添加到Target2。
4.2.3.4. 选择ARP攻击
??这里要选择ARP攻击,然后勾选远程攻击。
4.2.3.5. 选择攻击插件
??这里点三个小点子,选择Plugins》Manage~》勾选dns_spoof,然后在扫描主机左边有一个实体方框,那个就是开始攻击或关闭攻击的,开启就是实体方框,暂停就是一个播放的图标,可以看到我目前是开启状态,默认都是实时开启的。
4.2.3.6. 查看效果
??可以看到,我们去访问百度,但是以及直接跳转到,我们设定的网站上了,
5. 安全防范
??简单介绍一下防范。
5.1. APR攻击防范
??由于ARP攻击基本上目标主机是无察觉的,主要你想,你正常能够上网,你可能会去排查ARP攻击什么的么,甚至可能部分人都不知道怎么查询ARP,所以关于ARP的攻击只能说,平时自己注意一点,提高警觉。例如:
- 定期删除ARP缓存信息,使用arp -d清除缓存。
- 有条件的绑定ARP信息。
- 安装防火墙,部分防火墙或者杀毒软件能够再一定程度上拦截ARP攻击。
- 最重要的是不要随便连接公开wifi。
5.2. DNS劫持防范
?? 其实这里不单单是DNS劫持,关于DNS的攻击还有,DNS污染、DNS重绑攻击、DNS反射放大攻击等等,后续有空在添加一些。
- 本地HOST文件配置,这里可以查一下本地的HOST文件有没有被修改,一些木马攻击后都会修改HOST文件,所有可以排查一些本地的HOST文件的配置。查询地址:C:\Windows\System32\drivers\etc\HOSTS
- 网卡的DNS服务器地址有没有被篡改。
- WiFi路由器的DNS服务器有没有被篡改,部分木马会对WiFi路由器进行攻击,例如弱口令爆破,如果WiFi路由器的密码简单,那么可能就会被修改,同时批量修改DNS就会导致解析出现问题。
- 还有就是运营商DNS,默认情况下运营商会将你访问的地址强制跳转到某个DNS上进行解析,确保你的访问正常,同时屏蔽一些恶意网址。
- 安装杀毒软件,也可以降低一些DNS劫持的风险,部分杀毒软件是有专门对DNS修改进行检测的。
相关推荐
- 俄罗斯的 HTTPS 也要被废了?(俄罗斯网站关闭)
-
发布该推文的ScottHelme是一名黑客,SecurityHeaders和ReportUri的创始人、Pluralsight作者、BBC常驻黑客。他表示,CAs现在似乎正在停止为俄罗斯域名颁发...
- 如何强制所有流量使用 HTTPS一网上用户
-
如何强制所有流量使用HTTPS一网上用户使用.htaccess强制流量到https的最常见方法可能是使用.htaccess重定向请求。.htaccess是一个简单的文本文件,简称为“.h...
- https和http的区别(https和http有何区别)
-
“HTTPS和HTTP都是数据传输的应用层协议,区别在于HTTPS比HTTP安全”。区别在哪里,我们接着往下看:...
- 快码住!带你十分钟搞懂HTTP与HTTPS协议及请求的区别
-
什么是协议?网络协议是计算机之间为了实现网络通信从而达成的一种“约定”或“规则”,正是因为这个“规则”的存在,不同厂商的生产设备、及不同操作系统组成的计算机之间,才可以实现通信。简单来说,计算机与网络...
- 简述HTTPS工作原理(简述https原理,以及与http的区别)
-
https是在http协议的基础上加了一层SSL(由网景公司开发),加密由ssl实现,它的目的是为用户提供对网站服务器的身份认证(需要CA),以至于保护交换数据的隐私和完整性,原理如图示。1、客户端发...
- 21、HTTPS 有几次握手和挥手?HTTPS 的原理什么是(高薪 常问)
-
HTTPS是3次握手和4次挥手,和HTTP是一样的。HTTPS的原理...
- 一次安全可靠的通信——HTTPS原理
-
为什么HTTPS协议就比HTTP安全呢?一次安全可靠的通信应该包含什么东西呢,这篇文章我会尝试讲清楚这些细节。Alice与Bob的通信...
- 为什么有的网站没有使用https(为什么有的网站点不开)
-
有的网站没有使用HTTPS的原因可能涉及多个方面,以下是.com、.top域名的一些见解:服务器性能限制:HTTPS使用公钥加密和私钥解密技术,这要求服务器具备足够的计算能力来处理加解密操作。如果服务...
- HTTPS是什么?加密原理和证书。SSL/TLS握手过程
-
秘钥的产生过程非对称加密...
- 图解HTTPS「转」(图解http 完整版 彩色版 pdf)
-
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。...
- HTTP 和 HTTPS 有何不同?一文带你全面了解
-
随着互联网时代的高速发展,Web服务器和客户端之间的安全通信需求也越来越高。HTTP和HTTPS是两种广泛使用的Web通信协议。本文将介绍HTTP和HTTPS的区别,并探讨为什么HTTPS已成为We...
- HTTP与HTTPS的区别,详细介绍(http与https有什么区别)
-
HTTP与HTTPS介绍超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的...
- 一文让你轻松掌握 HTTPS(https详解)
-
一文让你轻松掌握HTTPS原文作者:UC国际研发泽原写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。...
- 如何在Spring Boot应用程序上启用HTTPS?
-
HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方...
- 一文彻底搞明白Http以及Https(http0)
-
早期以信息发布为主的Web1.0时代,HTTP已可以满足绝大部分需要。证书费用、服务器的计算资源都比较昂贵,作为HTTP安全扩展的HTTPS,通常只应用在登录、交易等少数环境中。但随着越来越多的重要...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
tinymce 号称富文本编辑器世界第一,大家同意么?
-
- 最近发表
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)