渗透测试常用工具-网络嗅探

arpspoof

arp欺骗的原理,我们的局域网是通过mac地址来进行传输的,路由器有IP对应mac的mac表,我们本地也有arp缓存表,当路由器不知道某个ip对应的mac地址时arp协议就派上了用场。
看似无懈可击,本地和网关的mac表都记录了对方的mac,但arp协议是基于“传闻”的协议,别人说什么就信什么,这就为攻击者提供了可乘之机,攻击者对网关说:我就是XXX,又对被攻击者XXX说:我就是网关。这就形成了一个双向欺骗的机制,这句话会被被攻击者和网关缓存在自己的mac表里,导致传输流量都会流经攻击者,此时如果攻击者进行转发流量(把来自于网关发向被攻击者,以及被攻击者发向网关的流量进行转发),并本地抓包,被攻击者与网关通信流量数据将会被攻击者所掌控。
arpspoof功能及原理分析:arpspoof将局域网内的目标主机或者是所有主机的发送数据包通过ARP欺骗来重指向,在使用交换机的局域网环境下是一个非常有效的方法来嗅探数据。

关于协议分析:

arp协议分析

icmp协议分析

arpspoof的基本使用方法:
arpspoof [-i interface] [-t target] host
-i 用来指示要使用的网卡接口,一般是eth0,
-t 用来指示要欺骗的目标主机,如果不表明则默认为局域网内部的所有主机
host 你要截取数据包的主机,通常是网关

端口转发

利用Linux主机的路由功能
ip_forword状态为1时为打开状态,为0时为关闭状态。所以首先将“1”写入ip_forword,
然后查看其文本状态。
linux上开启IP_forward命令: echo 1 >> /proc/sys/net/ipv4/ip_forward
注意:当机器网络重新启动,这个数字会恢复default=0,要修改的话,可以修改
/etc/sysctl.conf文件,永久生效。

在这里插入图片描述
在这里插入图片描述

靶机arp缓存表

在这里插入图片描述

测试arp毒化

在这里插入图片描述

在这里插入图片描述

停止攻击后arp正常

在这里插入图片描述

arp响应包

在这里插入图片描述

dsniff

网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。网络嗅探是网络监控系统的实现基础。
Dsniff是一个著名的网络嗅探工具包。其开发者DugSong早在1999年12月,以密歇根大学CITI研究室的研究成果为基础,开发了这个后来具有很大影响力的网络安全工具包。DugSong开发Dsniff的本意是揭示网络通信的不安全性,借助这个工具包,网络管理员可以对自己的网络进行审计,也包括渗透测试。但万事总有其两面性,Dsniff所带来的负面作用也是“巨大”的,首先它是可以自由获取的,任何拥有这个工具包的人都可能做“非正当”的事。其次,Dsniff里面的某些工具,充分揭示了一些安全协议的“不安全性”,例如针对SSH1和SSL的MITM(Man-In-The-Middle)攻击工具—SSHmitm和Webmitm。SSH1和SSL都是建立网络通信加密通道的机制,向来被认为是很安全的,但人们在具体使用时,往往因为方便性上的考虑而忽视了某些环节,造成实事上的不安全。所以说,最大的不安全性,往往并不在于对安全的一无所知,而在于过于相信自己的安全。

实验测试

在这里插入图片描述
-c 打开半双工tcp流,允许在使用arpspoof时进行正确的嗅探操作;
-d 启动调试模式;
-f 以/etc/service格式从文件中加载触发器(也就是口令嗅探的服务类型);
-I 使用特定的网络接口;
-m 使用dsniff.magic文件通过在magic文件中定义的特征尝试自动判断协议;
-n 不执行主机查找;
-r 从前面保存的会话中读取被嗅探的数据;
-s 最多对报文的前个字节进行嗅探,如果用户名和口令信息包含在随后的默认1024
字节界限中;
-t 使用格式port /proto =service;来加载一个以逗号界定的触发器集;

流量转发与劫持

在这里插入图片描述
在这里插入图片描述
直接使用dsniff

在这里插入图片描述

靶机访问百度测试

在这里插入图片描述
在这里插入图片描述
Dsniff支持协议有:FTP、Telnet、SMTP、HTTP、POP、NNTP、IMAP、SNMP、LDAP、
Rlogin、RIP、OSPF、PPTP、MS-CHAP、NFS、VRRP、YP/NIS、SOCKS、X11、CVS、IRC、
AIM、ICQ、Napster、ostgreSQL、Meeting Maker、Citrix ICA、Symantec、pcAnywhere、
NAI Sniffer、Microsoft SMB、Oracle QL*Net、Sybase及Microsoft SQL认证信息。

ettercap

ettercap也是基于arp,icmp协议攻击的,不在介绍。
在这里插入图片描述

ettercap拥有图形化界面和命令行两种

在这里插入图片描述

方法

icmp重定向:icmp欺骗即基于重定向(redirect)的路由欺骗技术。其基本原理是欺骗其他的主机,将自身伪装为最近的路由,因此其他主机会将数据包发送进来,然后作为中间人的攻击者再重新将其转发到真正的路由器上。于是我们便可以对这些数据包进行监听。当然,icmp欺骗不适用于交换机的环境,若本机在交换机的环境下则最好选择arp毒化的方式来进行攻击。icmp欺骗方式的参数是真实路由器的MAC和IP,参数形式为(MAC/IP)。
【例如】#Ettercap -M icmp:00:11:22:33:44:55/192.168.0.1
仅仅是重定向而已

DHCP spoofing:DHCP欺骗的原理是将攻击者的本机伪装成DHCP服务器,代替真实的DHCP服务器给新接入网络的受害主机动态分配IP。这样的缺点是可能会与真实的DHCP服务器重复分配IP造成冲突,而且只能针对新接入网段的主机,难以影响到之前的主机。DHCP spoofing方式的参数是可以分配出去的IP地址池、子网掩码和DNS,参数形式为(ip_pool/netmask/dns)
【例如】#Ettercap -M dhcp:192.168.0.30,35,50-60/255.255.255.0/192.168.0.1
对应的含义是:将分配192.168.0.30,35,50-60之中的地址,子网掩码为255.255.255.0,DNS服务器为192.168.0.1。

tcpdump

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。TcpDump是
Linux中强大的网络数据采集分析工具之一。
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的
数据包进行截获的包分析工具。
作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个
高级的系统管理员分析网络,排查问题等所必备的工具之一。
tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有
用的工具。tcpdump存在于基本的 FreeBSD系统中,由于它需要将网络接口设置为混杂模式,普通用
户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。
基本上tcpdump的总的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

在这里插入图片描述

常用参数有

-i 指定网卡
在这里插入图片描述

src 来源协议 (进)
dst 出口协议(出)
host 指定目标机器
port 指定端口

测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

wireshark

个人用得最多的抓包软件
一、Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换
二、网络封包分析软件的功能可想像成 “电工技师使用电表来量测电流、电压、电阻” 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。

工作原理

以太网数据是以广播方式发送的,意即局域网内的每台主机都在监听网内传输的数据。以太网硬件将监听到的数据帧所包含的MAC地址与自己的MAC地址比较,如果相同,则接受该帧,否则忽略他,这个是以太网的过滤规则。但是,如果把以太网的硬件设置为“混杂模式”,那么它就可以接收网内的所有数据帧。WinPcap相当于是一个库为抓包工具提供相关的支持。嗅探器就是依据这种原理来监测网络中流动着的数据

在协议分析中,包相当多可以使用标记包快速找到位置
在这里插入图片描述

追每个包的流向

在这里插入图片描述
在这里插入图片描述

添加过滤器

###
tcp dst port 3128
显示目的TCP端口为3128的封包。
ip src host 10.1.1.1
显示来源IP地址为10.1.1.1的封包。
host 10.1.2.3
显示目的或来源IP地址为10.1.2.3的封包。
src portrange 2000-2500
显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。
not imcp
显示除了icmp以外的所有封包。(icmp通常被ping工具使用)
src host 10.7.2.12 and not dst net 10.200.0.0/16
显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。

snmp || dns || icmp
显示SNMP或DNS或ICMP封包。
ip.addr == 10.1.1.1
显示来源或目的IP地址为10.1.1.1的封包。
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;目的IP:任意
tcp.port == 25 显示来源或目的TCP端口号为25的封包。
tcp.dstport == 25 显示目的TCP端口号为25的封包。
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。

过滤报文等

在这里插入图片描述

发布了70 篇原创文章 · 获赞 17 · 访问量 6690

猜你喜欢

转载自blog.csdn.net/qq_38626043/article/details/104395687
今日推荐