ARP欺骗+DNS欺骗

一、共享网络与交换网络的区别

1、共享网络

在共享网络中,由于HUB属于一层设备,对于到达本身的数据报文,HUB会对报文进行广播(除了收到报文的那个接口),因此接在同HUB的所有PC都能收到该报文。前提PC开启了混杂模式

注:

通常情况下,网卡都是工作在非混杂模式,也就是说即使收到数据报文,网卡会判断目的MAC是否和自己的一样,不一样的话代表数据包不是给自己的,因此会丢弃,只接收那些目的MAC和自己一样的数据报文。在嗅探时必须开启混杂模式,在该模式下,网卡不对数据报文进行判断,一锅端!

2、交换网络

交换网络中交换机会根据MAC-端口对应表进行传输,也就是说除了网关,其他同交换机下的PC机无法收到数据报文(没出现攻击的情况下)。

二、ARP欺骗

1、ARP

ARP(地址解析协议)是在仅知道主机的IP地址时确定其物理地址的一种协议,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDI IP网络中使用。

2、ARP通讯过程

由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输、计算机是根据mac来识别一台机器。每台主机都会存在一个ARP高速缓存表,里面记录了局域网内所有主机的Mac地址,当它需要与另一个主机通信时会先查询本地ARP表,通过对方Mac地址来封装数据包,如果本地ARP表中没有对应的Mac地址,它会向局域网发出广播“我的ip是…我的Mac地址是…请问ip为…的Mac地址”,当对应主机收到广播核对ip然后通过单点传输的方式告诉它自己的Mac地址,然后双方ARP表中就多了彼此的Mac地址。

3、ARP欺骗
1、单项欺骗

A、B、C三个人,A与C正常通信,B想知道A给C发的内容,就伪造ARP响应包,更改A的ARP表,所以A发送给C的信息会先传送到B,B可以丢弃数据包,这样C就收不到A发的数据了,但是C还是可以正常给A发送数据的,这就是单项欺骗

2.双向欺骗

同样是A、B、C三个人,B同时给A、C发送响应包B告诉A它的ip是C的ip,Mac地址还是B的,告诉C它的ip是自己的,Mac地址是A的,这样A、C的通信就都会经过B,这就叫双向欺骗

3.区别
单向欺骗:是指欺骗网关
双向欺骗:是欺骗网关跟被攻击的两个机器
4.检测被欺骗的主机
  • 可以利用ARPkiller的”Sniffer杀手”扫描整个局域网IP段,然后查找处在”混杂”模式下的计算机,就可以发现对方了.(绿帽子图标是正常模式,红帽子是混杂模式用户)
  • 使用tracert命令在任意一台受影响的主机上,在DOS命令窗口下运行如下命令:tracert 外网ip。
    原理:
    中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。
    通俗讲tracert命令是看ping这个外网时进过了哪些ip,如果主机被ARP欺骗,使用这个命令就会暴露攻击者ip,因为我们访问外网时攻击者电脑成了中间人所以下一跳就是它的ip
5.防御
双绑定, 本地跟路由都做了绑定(注:mac地址绑定)
采用ARP防火墙
6.ARP病毒攻击症状
打开网页速度非常慢,甚至打不开
提示IP地址冲突
甚至导致校园网瘫痪断网
一般会绑定木马病毒,窃取用户账号密码
7.ARP攻击实例

win下使用cain:

  1. 选择嗅探器
  2. 点击左上角开始/停止嗅探的图标
    这里写图片描述
  3. 点击空白处,右键选择扫描mac;会出现下图
    这里写图片描述
    选择第一个子网中全部主机;ok
  4. 选择下方的ARP
    这里写图片描述
    点击左上角的加号
    这里写图片描述
    左边选择攻击目标的ip;右边选网关;然后开始欺骗
    这里写图片描述
    如果对方开始登陆某网站,可以通过下方的passWord可以看到明文密码
    这里写图片描述
    cain还有其他的功能在左边;具体使用,见后面的博客cain的具体使用

Linux下实现断网攻击、流量劫持、抓取https的账号密码:

1.nmap扫描存活主机
nmap -sP 扫描ip(可以是网段;如下图)
这里写图片描述
-sP:选项告诉Nmap仅仅进行ping扫描。
2.断网攻击

arpspoof -i 网卡 -t 目标IP 网关
   //默认是不转发的,也就是说执行这条命令,目标机就无法联网了

3.流量劫持

echo 1 >/proc/sys/net/ipv4/ip_forward
如:arpspoof -i eth0 -t 192.168.100.15 192.168.1.11写入这个文件就可以流量劫持了,同时目标机就能联网了,默认为0,要是还要执行断网操作,还可以将其改为0
即:echo 1 >/proc/sys/net/ipv4/ip_forward

4.抓取http、https的账号密码
http:

echo 1 >/proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 目标ip
网关 ettercap -Tq -i eth0 
  //-T文本模式启动 -q安静模式

https:

先编辑下/etc/ettercap/etter.conf
找到:
# if you use iptables:
          #redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
          #redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
将后面两行的#去掉
然后运行sslstrip -a -f -k 实现https转换成http以获取帐号密码
echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 目标ip
ettercap -Tq -i eth0
    //-T文本模式启动 -q安静模式
8. ARP欺骗与嗅探的区别
  1. 嗅探一般存在于共享网络中,在共享网络中一般使用HUB作为接入层,经过HUB的数据报文不管长得什么样,因为HUB工作在第一层,看不懂二层以上的报文是啥样子的,所以一律以广播处理,在同一网段的计算机只要将网卡设置成混杂模式即可。
  2. 嗅探在交换网络中不适用,因为交换机是通过MAC-端口对应表来转发数据报文的,所以在交换网络中如果只将网卡设置成混杂模式,而不进行ARP欺骗,其结果只能接受到网络中的广播包。
  3. 共享网络中适用ARP欺骗,那是多此一举,适用ARP欺骗的方式会对影响网络流量,对网络造成很大的影响,另外适用ARP欺骗会产生大量的ARP报文,很容易被发现。而嗅探对整个网络几乎没有影响,因为嗅探只是做监听,而不会产生多余的数据报文。

三、DNS欺骗

1、DNS

DNS即Domain Name System 的缩写,域名系统以分布式数据库的形式将域名和IP地址相互映射。DNS协议即域名解析协议,简单的说:DNS是用来将域名解析成对应ip地址的协议。

2、工作原理
  1. 访问 www.baidu.com ,首先要向本地DNS服务器发出DNS请求,查询 www.baidu.com 的IP地址,如果本地DNS服务器没有在自己的DNS缓存表中发现该网址的记录,就会向根服务器发起查询,根服务器收到请求后,将com域服务器的地址返回给本地DNS服务器,本地DNS服务器则继续向com域发出查询请求,域服务器将 baidu.com 授权域名服务器的地址返回给本地DNS服务器,本地DNS服务器继续向 baidu.com 发起查询,得到 www.baidu.com 的IP地址。
  2. 本地DNS服务器得到 www.baidu.com 对应的IP地址后以dns应答包的方式传递给用户,并且在本地建立DNS缓存表。
  3. Windows下查看和刷清空DNS缓存表的命令
 ipconfig /displaydns    ipconfig /flushdns
3、DNS欺骗

首先欺骗者向目标机器发送构造好的ARP应答数据包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。

4、DNS欺骗实例

使用工具是Linux下的ettercap:

1、配置etterca的配置文件

这里写图片描述
上面两个192.168.1.181是攻击者的ip

2、开启Apache,并在根目录下创建一个html文件给被害者看

这里写图片描述

3、打开ettercap图形化界面
ettercap -G

这里写图片描述
1. 点击sniff下的unified sniffing
这里写图片描述
2. 选择网卡
这里写图片描述
3. 选择host下的扫描主机
这里写图片描述
4. 查看扫描结果
这里写图片描述
5. 将目标ip发送到target1;网关发送到target2
这里写图片描述
6. 点击mitm下的ARP欺骗
这里写图片描述
7. 选择第一个
这里写图片描述
8. 点击plugins下的mangge the plugins
这里写图片描述
9. 双击dns_spoof然后开始欺骗
这里写图片描述
OK

4、防护

1.因为DNS欺骗前提也需要ARP欺骗成功。所以首先做好对ARP欺骗攻击的防范
2.不要依赖于DNS,尽管这样会很不方便,可以使用hosts文件来实现相同的功能;

Hosts文件位置:
windows xp/2003/vista/2008/7系统的HOSTS文件位置             c:\windows\system32\drivers\etc 用记事本打开即可进行修改。

3.使用安全检测软件定期检查系统是否遭受攻击
4.使用DNSSEC:DNS安全扩展,是由IETF提供的一系列DNS安全认证的机制(可参考RFC2535)。它提供了一种来源鉴定和数据完整性的扩展,但不去保障可用性、加密性和证实域名不存在。开发 DNSSEC 技术的目的之一是通过对数据进行数字“签名”来抵御此类攻击

  • 20
    点赞
  • 149
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ARP欺骗(Address Resolution Protocol Spoofing)和DNS欺骗(Domain Name System Spoofing)都是网络安全领域中的攻击手段。 1. ARP欺骗ARP是一种用于将IP地址映射到物理MAC地址的协议。ARP欺骗是指攻击者通过发送伪造的ARP响应包来欺骗网络中的其他设备,使其将数据发送到错误的目标设备上。攻击者可以通过ARP欺骗来进行中间人攻击,窃取网络通信数据或者进行其他恶意行为。 解决ARP欺骗的方法包括: - 使用静态ARP表:手动配置每个设备的IP地址和对应的MAC地址,这样可以防止ARP欺骗攻击。 - 使用ARP防火墙:在网络中设置ARP防火墙,检测并阻止异常的ARP请求和响应。 - 使用网络流量监测工具:监测网络流量,及时发现并阻止异常的ARP请求和响应。 2. DNS欺骗DNS是将域名解析为IP地址的协议。DNS欺骗是指攻击者通过篡改DNS响应包来欺骗用户设备将域名解析到错误的IP地址上。攻击者可以通过DNS欺骗来进行钓鱼攻击、重定向用户流量或者进行其他恶意行为。 解决DNS欺骗的方法包括: - 使用可信的DNS服务器:使用经过验证的、可信任的DNS服务器,避免受到DNS欺骗攻击。 - 使用DNSSEC(DNS Security Extensions):DNSSEC是一种对DNS进行数字签名的安全扩展,可以防止DNS响应被篡改。 - 定期更新操作系统和应用程序:及时更新操作系统和应用程序,修复可能存在的漏洞,减少受到DNS欺骗攻击的风险。 希望以上信息对您有所帮助。如果您有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值