中间人攻击

ARP缓存攻击

ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。简单来说,就是根据TCP/IP层的要求,在物理层和数据链路层通信使用的都是MAC地址,而三层及以上,信息交换的主要用到的是IP地址。ARP协议就是处理MAC地址和IP地址之间的转换问题。

比如我在内网中问,询问谁是192.168.1.1,我是192.168.1.2这个询问会以广播的形式传出,此时当IP地址为192.168.1.1的主机就会应答,告诉192.168.1.2,我是你要找的主机,我的MAC地址是XXX。

在这个过程中,就存在ARP欺骗攻击行为的潜在威胁,因为任何一个主机,都可以伪装自己,说你好我是你要找的主机,然后将自己的MAC地址告诉受骗主机。

以下是ARP报文,以广播的形式进行传递。

在本次博客中,我们尝试使用arpspoof来进行arp欺骗,这是一款简单易用的ARP缓存攻击工具,

实验环境:

1.Windows7靶机一台

2.Linux靶机一台

3.Kali攻击机一台

实验目标,通过Arp缓存攻击,完成中间人欺骗行为。

步骤1:内网存活主机探测:

nmap -sS 192.168.202.1-255

探测到两台受害靶机的IP,通过ARP缓存表可以看到他们的主机情况 。

此时分别查看Win7受害机和Linux靶机的正常的ARP解析情况。

获得信息如下:

Win7:192.168.202.148
Linux:192.168.202.133

步骤2:Kali攻击机开启IP转发功能,只有这样传递到Kali的数据才能够转发到原有的接收方,如果不开启IP转发,数据包无法正常传递可能会造成拒绝服务的效果,执行命令如下:

root@kali:echo 1 >/proc/sys/net/ipv4/ip_forward

步骤3:ARP进行缓存攻击:

攻击①:进行Win7和Linux中间人攻击,此时已经知道Win7和Linux的MAC地址,所以执行命令如下:

arpspoof -i eth0 -t 192.168.202.133 192.168.202.148
arpspoof -i eth0 -t 192.168.202.148 192.168.202.133

命令解释:-i eth0 代表着设置使用网卡eth0,-t 后跟着两个IP地址,分别为目标IP和伪装IP,意思是KALI进行IP伪装,告诉目标IP我就是你要找的人。这个命令执行两次,前后IP调换,就达到了成为中间人的效果。

此时查看Win7 ARP缓存表,发现指向Linux靶机的MAC地址已经修改,ARP欺骗成功,同时Ping Linux靶机,并且在攻击机中进行抓包,可以看到中间人redirect行为

攻击②:伪造成为默认网关进行欺骗

与攻击行为①在命令上没有什么不同,只是将网关IP设置成为了目标IP,一共有两个Target,前后调换即可。

arpspoof -i eth0 -t 192.168.202.1 192.168.202.148
arpspoof -i eth0 -t 192.168.202.148 192.168.202.1

攻击③:图形化ARP欺骗

首先在命令行中输入如下命令,打开图形化ettercap:

ettercap -G

然后点击sniff,使用eth0网卡进行嗅探IP,然后分别将192.168.202.133和192.168.202.148 添加到不同的target.分别为target1和target2.

然后点击Mitem--->Arp poisoning,勾选Sniffing remote connectings.

继而再次点击Start--->Start sniffing.可以达到与攻击①同样效果的ARP欺骗。

DNS缓存攻击

DNS缓存攻击和ARP缓存攻击大致相同,是将DNS域名指向错误的IP地址。

首先开启Apache服务器使其处于运行状态。

service apache2 start

创建一个伪造的host.txt文件,文件名可以随意命名,可以尝试写入如下内容:

192.168.202.144 www.baidu.com

然后可以进行DNS缓存攻击,命令如下

dnsspoof -i eth0 -f host.txt

此时再次访问www.baidu.com,访问的内容就会变成Kali /var/www/index.html的内容 .

..

Arp欺骗和DNS投毒的更多相关文章

  1. Arp欺骗和DNS投毒的实验性分析

    1.中间人攻击之Arp欺骗/毒化 本文涉及网络安全攻击知识,随时可能被永久删除.请Star我的GitHub仓库 实现原理: 这种攻击手段也叫做中间人攻击MITM(Man-in-the-Middle) ...

  2. Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持

    Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...

  3. 同一局域网环境下的arp欺骗和中间人攻击(mac)

    最近读了一篇有关arp欺骗和中间人攻击的文章,于是乎就想着自己实现一下,顺便验证下微信在回话劫持后的安全性. 1.本机环境 Macbook Air:OS X 10.11 El Captain 2.推荐 ...

  4. kali Linux 渗透测试 | ettercap图形界面(ARP 欺骗 + DNS欺骗)

    上次我们使用 arpspoof 工具在命令行中完成了 arp 欺骗实验,今天我们用另一种工具 ettercap 工具来实现.ettercap支持图形化操作,对新手非常友好,并且操作非常简单, ette ...

  5. 局域网下ARP欺骗、嗅探,以及DNS欺骗

    准备:kali.xp kali ip:192.168.14.157 目标ip:192.168.14.158 目标网关:192.168.14.2 ARP欺骗:arpspoof -t 目标ip -r 目标 ...

  6. 中间人攻击之arp欺骗 科普ARP欺骗

    中间人攻击之arp欺骗 科普ARP欺骗 A <-> B A中有个ARP Table,每次发包都会在此Table中查找,若找不到,发APR Request包询问.此时若hacker冒充B的M ...

  7. Python黑帽编程 3.1 ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  8. Python黑客编程ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  9. ARP欺骗与中间人攻击

    前言: 上一篇WPA/WAP2wifi 密码破解笔记说到如何探测附近开放的AP并且破解进入,那么进入别人据局域网我们能干些什么呢?换句话说如果别人进入了我们内部网络,会有什么影响?本文简要介绍了ARP ...

随机推荐

  1. Spring学习日记03_IOC_属性注入_集合类型属性

    Ioc操作Bean管理(xml注入集合属性) 注入数组类型属性 注入List集合类型属性 注入Map集合类型属性 Stu类 public class Stu { //1. 数组类型属性 private ...

  2. Binding(四):数据校验

    ​    除了上一节讲的类型转换器,Binding还自带数据校验功能,这节主要来讲一下. 跟类型转换器一样,数据校验需要我们继承ValidationRule类,实现其中的Validate方法,并写入我 ...

  3. flyway实现java 自动升级SQL脚本

    flyway实现java 自动升级SQL脚本 为什么要用Flyway 在日常开发中,我们经常会遇到下面的问题: 自己写的SQL忘了在所有环境执行: 别人写的SQL我们不能确定是否都在所有环境执行过了: ...

  4. webpack(1)安装环境与解决环境问题

    前言 如果我们需要使用webpack,就需要依赖node环境 nvm node npm webpack@cli webpack nvm安装 nvm是一个用来管理node版本的工具.我们之所以需要使用n ...

  5. RNA

    原始地球 你会想,我们每一个细胞中都有一个遗传分子叫做DNA?那么,DNA之前有没有什么遗传分子呢?我的答案是:"有".在远古地球,那个海底有无数火山,喷发的火山口两侧都是喷涌出的 ...

  6. 为什么使用 LSTM 训练速度远大于 SimpleRNN?

    今天试验 TensorFlow 2.x , Keras 的 SimpleRNN 和 LSTM,发现同样的输入.同样的超参数设置.同样的参数规模,LSTM 的训练时长竟然远少于 SimpleRNN. 模 ...

  7. Luogu P4313 文理分科

    link 最小割 双倍经验 这道题运用了最小割最常用的一种用法:集合划分. 因为源汇最小割即就是将源汇划分到不同的集合,那么最简单的应用就是最小代价划分集合了. 本题中,题意是将 \(n\cdot m ...

  8. 【路径规划】 Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame (附python代码实例)

    参考与前言 2010年,论文 Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame 地址:https ...

  9. Leetcode 春季打卡活动 第一题:225. 用队列实现栈

    Leetcode 春季打卡活动 第一题:225. 用队列实现栈 Leetcode 春季打卡活动 第一题:225. 用队列实现栈 解题思路 这里用了非常简单的思路,就是在push函数上做点操作,让队头总 ...

  10. Oracle19c 如何用rman duplicate 克隆一个数据库。(Backup-Based, no achive log)

    Oracle19c 如何用rman duplicate 克隆一个数据库. 首先克隆有两种方法,一种是Backup-Based,一种是Active方式.官网文档链接https://docs.oracle ...