1.ARP
在这里,ARP攻击可用于断开目标与互联网的连接,劫持数据并进行监控。
1.1. APR 简介
ARP()是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的方法有很多,这个就不多说了,好家伙找不到啊??????什么鬼啊,
2.1.2. 安装工具
它是Kali自带的,但是我发现还是需要自己重新安装,而且并不是纯内置的。
sudo apt-get install dsniff
2.1.3. 攻击10台虚拟机
这里我会攻击10台虚拟机。你还需要看看你的Kali配置的LAN地址是在哪个网卡上。
arpspoof -i eth0 -t 192.168.2.20(目标IP) 192.168.2.1(网关IP)
2.1.3.1. 检查效果
可以看到,当我开始测试的时候,可以ping通百度,但是攻击开始之后,我就无法再访问百度了。
2.1.4. 攻击
这里使用了相同的技术。
arpspoof -i eth0 -t 192.168.2.20(目标IP) 192.168.2.1(网关IP)
2.1.4.1. 检查效果
可以看出,攻击开始后,已经无法与百度进行通信。
攻击结束后,手机恢复访问。
2.2. 使用演示
这里就拿来演示,就不去操作生存前的判断什么的了,不过还是要说一句,测试了一下发现好像版本不行,也有可能是我使用方法不对,所以这里就用柯莱吧。
2.2.1. 工具获取
这个工具在 也有,直接下载就可以,建议直接用keke,方便。
:
夹头:
2.2.2. Colai 工具
打开Kelai之后,然后开始抓包,是这样的。
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数据劫持,简单来说就是监听目标主机访问了哪些网站。这里也有一个问题就是数据很难获取,基本不可能获取到。不知道其他手机是不是这样,但是电脑可以成功获取到数据。
3.1. 使用 Kali 进行演示
这里也使用 Kali 进行演示。
3.1.1. 启用转发
由于我们需要获取目标主机访问的数据,而不是阻止其访问互联网,因此需要在 Kali 上启用端口转发。编辑 Kali Linux 虚拟机的 /etc/.conf 配置文件,将 net.ipv4 配置项中的“#”注释符号去掉,并将其值由 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. 攻击10台虚拟机
这里我们使用监控,由于没有Kali版本的凯来,所以我们就用它来操作吧。
3.1.3.1. 默认数据
首先暂停之前测试的攻击,看一下默认抓取的10台虚拟机的数据,可以看到默认抓取不到任何数据,这个图表是使用ping测试的结果。
ip.addr==192.168.2.20
3.1.3.2. 启用数据转发
这里我们开始攻击,看一下捕获的数据,可以看到捕获了不少数据,其实这个是通过端口转发捕获的,访问过程中目标主机是感觉不到什么的,但是所有的数据都经过了你的电脑,相当于你当了一个中间件去捕获数据,只不过捕获的数据读取起来确实有点麻烦。
3.2. 使用演示
这里我们用ke来分析查看,因为ke比较直观,不过提前说一句,我的想法变了,这里应该可以实现,但是因为一些原因,操作没有成功实现,不过数据抓到了,但是无法转发。
整体思路就是用工具,但是不行,换到kali上操作一下,操作跟上面一样,由于转发的数据是需要出去的,而且我的物理机上安装了kali,所以我直接抓包就可以了,数据的IP地址还是那个地址,因为kail会转发数据,所以抓包就可以了。
可能有点混乱,需要慢慢去理解。
3.2.1. 攻击
这里我们选择进行操作,由于是虚拟机的问题,如果用10台虚拟机的话,默认所有流量都是通过我的网卡出去的,所以是可以监控到的,所以我们就用它来操作,这里就不演示默认的操作了,直接看效果就行。
3.2.1.1. 开始攻击
可惜我没有第二台电脑,不过也不能作弊……准确的说是ping不通,不过不知道为什么在Linux上可以。严重怀疑工具是先测试连通性再攻击,而Kali可能直接启动攻击,所以Linux能做到却做不到。这里我就换成Linux,抓取Kali的数据包,看看能不能拿到。
3.2.1.2. 检查效果
可以看到数据已经成功获取,唯一的问题是数据好像没有被转发。
3.3. 图像捕捉
由于之前我们获取到的是数据,而数据里面的图片是无法获取的,所以这里我们要借助工具来获取目标主机访问的网站的图片。
3.3.1. 安装工具
这里还是用kali来实现,网上好像没有这个工具,老版本的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. 启动演示
这里我们获取 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劫持攻击过程,依然使用上面提到的目标机器,而且那个倒霉的家伙依然是我们的10台虚拟机。
4.2.1. 修改配置文件
这里我们需要修改Kali中该工具的DNS解析,确实是将流量转发到你设置的假冒网站。
vim /etc//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. 工具配置
现在我们开始配置该工具。由于该工具是一个界面,我们需要在 Kali 机器上运行它。
4.2.3.1. 选择网卡
这里我们就使用默认就可以了,如果不做任何修改的话,直接确认就可以了。
4.2.3.2. 扫描主机
这里我们扫描存活的主机,并展示在列表中,由于是新版本的工具,操作比较简单。
4.2.3.3. 添加目标
这里将网关和目标主机添加到。
4.2.3.4. 选择ARP攻击
这里需要选择ARP攻击,然后勾选远程攻击。
4.2.3.5. 选择攻击插件
点击这里的三个小点,选择》~》然后勾选。然后在扫描主机的左边有一个实心的框。就是启动或者关闭攻击。启动是实心的框,暂停是播放的图标。可以看到我目前是开启状态的。默认是实时开启的。
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:\\\\etc\HOSTS 网卡DNS服务器地址是否被篡改。WiFi路由器的DNS服务器是否被篡改,有些木马病毒会对WiFi路由器进行攻击,比如弱密码爆破,如果WiFi路由器的密码比较简单的话,就有可能会被修改。同时批量修改DNS会导致解析问题。还有就是运营商DNS,运营商默认会强制你访问的地址跳转到某个DNS进行解析,以确保你访问正常以及拦截一些恶意网站。安装杀毒软件也可以降低DNS劫持的风险,有些杀毒软件是专门对DNS修改进行检测的。
扫一扫在手机端查看
- 上一篇:域名流程注册公司有哪些_为品牌投资!这两家企业斥资千万元买入顶级域名
- 下一篇:php中mysql query_Mysql应用借助PHP的mysql_query()函数来创建MySQL数据库的教程
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。