中间人攻击

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的内容 .

..

最新文章

  1. Cheatsheet: 2016 05.01 ~ 05.31
  2. ubuntu 安装pyqt4 eric
  3. new-nav-html
  4. C#生成不重复随机数列表
  5. 用JSON数据向已定义列的表格添加数据行
  6. RotatingDoughnut
  7. 复旦大学EWP菁英女性课程(复旦卓越女性课程改版后第一期) _复旦大学、女性课程、高级研修班、心理学、EWP_培训通课程
  8. do-while、while、for做循环算5的阶乘
  9. JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
  10. java 一款可以与ssm框架完美整合的web报表控件
  11. Group(), Groups(),& Groupdict()
  12. 【Spring系列】Spring mvc整合druid
  13. 缓存与数据库一致性之三:缓存穿透、缓存雪崩、key重建方案
  14. 大数据入门到精通13--为后续和MySQL数据库准备
  15. 课程信息管理系统(javabean + Servlet + jsp)
  16. 阿里云代金券 - 双12疯了~~~ 4核8G 3M带宽只要1890元/3年
  17. Python在线dlib库地址
  18. hdu1331&&hdu1579记忆化搜索(DP+DFS)
  19. 关于Cocos2d-x中数据的存储提取和类型转换
  20. [BZOJ5252][八省联考2018]林克卡特树lct

热门文章

  1. Mysql的5种索引添加类型
  2. gitlab 设置分支保护功能及取消分支保护
  3. 40、如何获取yum安装时的rpm包
  4. CRM系统个性化定制的对企业的优势作用
  5. sonarqube 8.9版本配置发信邮箱
  6. Maven安装、配置及基础
  7. Collections中的实用方法
  8. Raspberry Pi:树莓派开发板配置USB启动系统
  9. mybatis源码简单分析
  10. PL/SQL语法