前言
无论什么样的漏洞渗透模块,在网络中都是以数据包的形式传输的,因此如果我们能够对网络中的数据包进行分析,就可以掌握渗透的原理。另外,很多网络攻击的方法也都是发送精心构造的数据包来完成的,比如常见的ARP欺骗。利用这种欺骗方式,黑客可以截获受害计算机与外部通信的全部数据,如受害者登录使用的用户名与密码、发送的邮件等。
在Kali Linux2的启动界面中,就清晰地展示了一条忠告“The quieter you are the more you are able to hear”(你越安静,你能听到的就更多)。设想一个场景,一个黑客静静的“潜伏”在你的身边,他手中的计算机将每一个流经你计算机的网络数据都复制了一份。互联网中的大部分数据都没有采用加密的方式传输,这也就意味着,你在网络上的一举一动都在别人的监视下。如使用HTTP、FTP或者Telnet等协议所传输的数据都是明文传输的,一旦数据包被监听,里面的信息就会被泄露。而这一切并不难做到,任何一个有经验的黑客都可以轻而易举的使用抓包工具来捕获这些信息,从而突破网络,窃取网络中的“秘密”。网络中最为著名的一种欺骗攻击被称为“中间人攻击”。在这攻击方式中,攻击者会同时欺骗计算机A和计算机B,攻击者会设法让计算机A误认为攻击者的计算机是计算机B,同时还会设法让计算机B误认为攻击者的计算机是计算机A,从而计算机A和计算机B之间的通信都会经过攻击者的计算机。
除了黑客会使用这些抓包工具以外,渗透测试人员也会使用这些抓包工具,利用这些工具也可以发现黑客的步伐入侵行为。
在本文中,我将就会如下两个技术进行讨论。
- 网络数据的嗅探:在Kali Linux2中提供了很多可以用来实现网络数据嗅探的工具,其实这些工具都是基于相同的原理。所有通过你的网卡的网络数据都是可以被读取的。这些网络数据按照各种各样的不同的协议组织到了一起,座椅我们只要掌握了各种协议的格式,就可以分析出这些数据所表示的意义。当然,目前互联网上所使用的协议数目众多,而且还在不断增长(也许将来有一天,互联网中所使用的某种协议就是有你设计的),我们在学习的时候,只需要掌握这些协议中最为重要的部分即可。
- 网络数据的欺骗:在互联网创建之初,提供的服务和使用的人员都很少,也无须考虑安全方面的问题,所以作为互联网协议基础的几个重要协议都没有使用安全措施。随着互联网的规模越来越大,使用者也越来越多。一些包有其他想法的人也开始使用互联网了。他们开始利用互联网的缺陷纂改网络数据来实现自己的谜底,这些人一开始可能只是出于恶作剧或者炫耀的目的,但渐渐发展成了一种破坏甚至敛财的手段。如我们十分了解的ICMP,也就是当主机A向主机B发送一个ICMP请求的时候,主机B会向主机A回复一个ICMP回应。如果我们伪造一个由主机A回复一个ICMP回应。此时主机A就不得不使用大量的资源来处理这些回应。
如果你想要彻底了解一个网络,最好的办法就是对网络中的流量进行嗅探。在本文中,我将会介绍几个抓包工具,这些抓包工具可以用来窃取网络中明文传输的密码,监视网路中的数据流向,甚至可以收集远程登录所使用的NTLM数据包(这个数据包中包含登录用的用户名和使用Hash加密的密码)。
一、使用TcpDump分析网络数据
TcpDump是一款“资深”网络工作人员必备的工具,这款工具极为强大。在戴维·马兰(David J.Malan)主讲的哈佛大学公开课计算机科学CS50中,她就在上课时使用TcpDump捕获了教室中的网络流量。
和Kali Linux2中的大多数工具一样,TcpDump是一款小巧的、工作在纯命令行上的工具。也正因为他的体积小,所以这款工具可以完美的运作在大多数路由器、防护墙以及Linux操作系统中。不过现在这款工具也有了可以在Windows 操作系统上的版本。TcpDump 可以及时的现实捕获到的数据。
1、启动TcpDump工具
这里使用命令行启动TcpDump
tcpdump
2、捕获网络中的数据但不存储数据
tcpdump -v -i eth0
这里的 -i 用来指定TcpDump进行进厅所使用的网卡,-v 表示以verbose mode 显示。当我们按enter键之后,TcpDump就会开始工作,所有被捕获到的数据都会显示在屏幕上。当需要停止数据捕获时,按Ctrl+C组合键即可。
在这种情况下,数据显示的数度非常快,如果是在一个大型网络中,我们根本无法看清楚屏幕上显示的内容。这是我么可以将这些户或道德数据包从在一个文件中,命令如下:
sudo tcpdump -v -i eth0 -w cap-20200319.pcap
二、使用winreshark进行网络分析
1、启动wireshark工具的方法
命令提示行
菜单启动
2、wireshark工具的环境配置
(1)主机上有多块网卡,可以指定一块网卡,屏蔽其他网卡的进出流量:打开菜单Capture(捕获) / Options(选项),在“Capture Interfaes”窗口中选择需要的网卡
(2)工作面板从上到下分三部分:结果截图并作必要的说明。
3、wireshark的显示过滤器使用
案例1:只显示icmp协议的数据包。
案例2:只显示arp协议的数据包。
案例3:只显示所有源地址(我这里的IP为192.168.120.131)
案例4:只显示所有源端口不为80的数据包。
三、使用arpspoof进行网络欺骗
0、安装arpsoof
1、arpspoof使用格式
2、伪装为网关截获所有数据
1.实验所涉及的主机
攻击者IP:192.168.120.129
被欺骗的的主机IP:192.168.120.131
默认网关:192.168.120.2
2.使用arpspoof完成一次网络欺骗
3.验证:在被欺骗的主机上查看arp表,攻击者的网关的mac地址 相同
4.在攻击者主机上开启转发功能,将截获的数据包在转发出去,不影响被欺骗主机上网
四、使用Ettercap进行网络嗅探
实验所涉及的主机:
攻击者IP:192.168.120.129
被欺骗的主机IP:192.168.120.131
默认网关:192.168.120.2
1、启动图形化Ettercap工具的方法
1、菜单栏启动
2、命令行启动
2、Ettercap工具的环境配置
1.选择中间人运行模式(默认不勾选Bridged sniffing)
2、选择网卡类型:
本地有线网卡:eth0
无线网卡:vlan0
3、查看网络中可以欺骗的主机
4、在“Hosts list”中选择目标主机
选择IP 192.168.120.2 主机(网关)作为目标1(单击Add to Target 1按钮)
选择IP 192.168.120.131 主机(被欺骗主机)作为目标2(单击Add to Target 2按钮)
查看设置好的目标