2017-2018-2 20179216 《网络攻防与实践》第六周总结
学习内容总结
第五章 TCP/IP网络协议攻击
1. 网络安全属性与攻击模式
- 网络安全是指网络系统的硬件、软件及其系统受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄漏,系统连续可靠正常运行,网络服务不被中断。
- 网络安全的三个基本属性:机密性、完整性和可用性。国际电信联盟在X.800安全体系标准中还定义了网络安全的其他两个属性:真实性和不可抵赖性。
- 网络攻击基本模式:
- 截获:被动攻击模式,具体技术为嗅探和监听
- 中断:主动攻击,攻击技术为拒绝服务
- 篡改:主动攻击,对网络通信过程中的信息内容进行修改
- 伪造:主动攻击,假冒网络通信方的身份,攻击技术为欺骗
- 中间人攻击:攻击者能够拦截通信双方的全部通信。
2. TCP/IP网络协议栈安全缺陷与攻击技术
TCP/IP网络协议栈在设计时采用了分层模型,分为了网络接口层,互联层,传输层,应用层。
- 网络接口层:在以太网接口通过数据帧的MAC地址检测数据包,混杂模式下可直接被嗅探和被截获数据包;
- 互联层:基础协议是网联网协议IPv4,其它还包括ICMP,ARP,BGP等动态路由协议;
- 传输层:协议包括TCP和IP,TCP建立会话之后的连接过程中容易遭受伪造和欺骗攻击,可进行TCP RST攻击直接中断会话过程;
- 应用层:流行的协议有HTTP,FTP,POP3/SMTP,DNS,SMB大多采用明文传输存在被嗅探监听,欺骗与中间人攻击的风险;
3. 原始报文伪造技术及工具
一系列针对TCP/IP网络协议栈的攻击技术中,最流行的是欺骗技术。实现欺骗技术需要攻击者伪造出特制的网络数据报文,发送给目标主机,使其在处理这些伪造报文时遭受攻击。除了自己编程实现之外,也存在可以实施各种网络欺骗攻击的工具软件,Netwox是其中一个非常强大的开源工具包,可以创建任意的TCP/UDP/IP数据报文。
4. IP源地址欺骗
攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份,假冒其他计算机的目的。
- IP源地址欺骗原理:只是用数据包中的目标地址进行路由转发而不对源地址进行真实性验证。利用IP源地址欺骗进行IP假冒攻击。
- IP源地址欺骗技术的应用场景:普遍应用于拒绝服务中,或网络扫描时,基于IP地址的身份认证等。
5. ARP欺骗
ARP欺骗也被称为ARP下毒,是指攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。
- ARP协议工作原理:ARP协议用于将网络主机的IP地址解析成其MAC地址,然后在局域网内通过MAC地址进行通信。
- ARP协议的基本功能:对目标IP地址查询它的MAC地址,以便把数据包发送到目标主机。
- ARP欺骗攻击技术原理:ARP欺骗攻击的根源在于ARP协议在设计时认为局域网内部的所有用户都是可信的,是遵循协议设计规范的。
- ARP欺骗的防范措施:主要方法有静态绑定关键主机的IP地址与MAC地址映射关系、使用相应的ARP欺骗防范工具(ARP欺骗防火墙)、使用VLAN虚拟子网细分网络拓扑,并加密传输数据以降低ARP欺骗攻击的危害后果等。还可以使用一些工具软件查找ARP欺骗攻击源,如nbtscan和Anti ARP Sniffer。
6. 传输层协议攻击
-
TCP RST攻击
通过置TCP协议头标志位的“reset”比特位为1来直接切断TCP会话连接,从而达到拒绝服务攻击的目的。 -
TCP会话劫持攻击
劫持通信双方已建立的TCP会话连接,假冒一方与另一方进行进一步通信,其原因TCP会话建立并在应用层确认了身份之后的会话期间不再进行身份认证,可以通过重定向网络通信和网络嗅探获得序列号等信息。目前比较普遍的方法是结合ARP欺骗来进行TCP会话劫持。 -
防范TCP会话劫持攻击的措施:
- 禁用主机上的源路由;
- 静态绑定IP-MAC映射表避免ARP欺骗;
- 引用和过滤ICMP重定向报文;
- 采用网络层加密机制,即IPsec协议。
-
TCP SYN Flood拒绝服务攻击
即SYN洪泛攻击,是目前最有效和流行的一种拒绝服务攻击形式,利用了TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。 -
SYN Flood攻击防范措施:
- SYN-Cookie技术,避免了在连接信息未完全到达前进行资源分配;
- 防火墙地址状态监控技术,通过对网络中的TCP连接进行状态监控和处理,维护每个源IP地址到目标服务器的TCP状态,把伪造的源地址拉黑。
-
UDP Flood拒绝服务攻击
UDP是无状态、不可靠的,基于这种特性,只要向目标主机和网络发送大量UDP数据包,使目标主机计算负载显著提升或目标网络拥塞。因此,UDP Flood一般用于分布式拒绝服务攻击。
第6章 网络安全防范技术
1、安全模型
“信息安全金三角”的CIA安全属性,即机密性、完整性和可用性。在理论模型方面,先后出现了针对机密性的BLP多级安全策略模型、针对完整性保护的Biba模型和Clark-Wilson模型等。典型模型PDR模型以及在其基础上提出的模型等,PDR安全模型是一个基于时间的动态安全模型。基本描述为:网络安全=根据风险分析制定安全策略+执行安全防护策略+实时监测+实时响应。
2、网络安全防范技术与系统
网络安全防范技术对应P2DR中的“防护”环节,设立在被保护主机与外部网络中间。
-
防火墙技术概述:
防火墙指的是置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备。合理地部署和配置防火墙,首先必须将防火墙部署在不同网络安全域之间的唯一通道上;其次只有网络安全管理员根据安全需求合理地设计安全策略规则,才能充分发挥防火墙的功能,保护网络安全。 -
防火墙技术能够为网络管理员具体提供如下安全功能:
(1)检查控制进出网络的网络流量;
(2)防止脆弱或不安全的协议和服务;
(3)防止内部网络信息的外泄;
(4)对网络存取和访问进行监控和审计;
(5)防火墙可以强化网络安全策略并集成其他安全防御机制。 -
防火墙技术和产品:
- 防火墙技术:包过滤技术、基于状态监测的包过滤技术、代理技术。
- 防火墙产品:
(1)集成包过滤功能的路由器 (2)基于通用操作系统的防火墙软件产品 (3)基于安全操作系统的防火墙 (4)硬件防火墙设备。
3. 网络检测技术与系统
在PDR模型中,检测技术主要包括流动评估、入侵检测等。在网络攻防技术领域,一次入侵可被定义为任何尝试破坏信息资源的保密性、完整性或可用性的行为。入侵检测即为通过对计算机网络或计算机系统中若干关键点信息的收集和分析,从中发现入侵行为的一种安全技术。入侵检测系统则是实现入侵检测技术,专门用于入侵行为发现和处理的软件系统或硬件设备。入侵检测是防火墙之后的第二道安全屏障。
-
入侵检测技术概述
- 入侵检测技术评估指标,两个参数:检测率、误报率。
- 入侵检测技术最核心的任务是信息分析。
- 两个最基本的信息分析技术类型:误用检测和异常检测。
-
开源网络入侵检测系统:Snort
- Snort是开源网络入侵检测系统软件。
- Snort的特性与基本架构,主要由四个基本组成部分:数据包嗅探/解码器(最基本功能)、预处理器/插件、检测引擎/插件、输出模块/插件
- 预处理器:TCP/IP协议栈模拟,应用层协议解码,规范化,异常检测。
- Snort有三种使用模式:嗅探器、数据包记录仪、网络入侵检测系统。
实验:ARP欺骗
-
实验环境
靶机A:Linux Metasploitable(IP: 192.168.246.131),靶机B:Windows Metasploitable(IP:192.168.246.128),攻击机C:SEED(IP:192.168.246.130)。 -
实验过程
(1)靶机A ping靶机B,可以得到一个路由表,里面保存了IP地址与对应MAC之间的映射关系,而ARP欺骗就是改变这个表当中的映射关系。
(2)查看一下靶机A的MAC地址
(3)要欺骗A,需要在攻击机C当中执行以下命令
(4)查看A中arp缓存内容
(5)可发现B的MAC地址已改为攻击机的MAC地址,达到欺骗A的目的
实验:ICMP重定向攻击
-
原理
IP协议缺少差错和查询机制。ICMP报文类型,差错报告类和控制类。ICMP路由重定向主要用于网络故障是数据包处理,网络拓扑结构发生变化,出现故障时。利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听。 -
工具
netwox。嗅探网络中的数据包,每嗅探到一个符合要求的数据包,就向该IP地址发送一个ICMP定向爱你过报文,让该IP主机重定向至预先设定的IP地址。 -
防范措施
根据类型过滤一些ICMP数据包,设置防火墙过滤,对ICMP重定向报文判断是不是来自本地路由器的。 -
实验环境
靶机:Windows Metasploitable(IP:222.28.136.80),攻击机:kali(IP:222.28.136.27)。 -
实验过程
(1)查看攻击机的MAC地址
(2)查看靶机的路由表
(3)使用netwox的86号工具,对靶机进行icmp重定向攻击
(4)查看靶机的路由表,发现出现攻击机的IP地址,并查询攻击机的mac
(5)使用wireshark,过滤靶机的tcp、arp、icmp数据包
实验:SYN Flood攻击
SYN攻击是一种DoS(Denial of Service)攻击,在这种攻击中黑客向被攻击者的TCP端口发送很多SYN请求,但是黑客并不是想完成三次握手协议,而是使用伪造的IP地址或者只进行三次握手协议中的第一次握手。因为SYN数据包用来打开一个TCP链接,所以受害者的机器会向伪造的地址发送一个SYN/ACK数据包作为回应,并等待预期的ACK响应。每个处于等待状态,半开的链接队列都讲进入空间有限的待处理队列。由于伪造的源地址实际上并不存在,所以将那些等待队列中的记录删除并完成建立TCP连接所需的ACK响应用于不会到来,相反每个半开的连接一定会超时,这将花费一段比较长的时间。
只要攻击者使用伪造的SYN数据包继续泛洪受害者的系统,受害者的待处理队列将一直处于满员,这使得真正的SYN数据包几乎不可能到达系统并打开有效的TCP连接。
-
实验环境
靶机:Linux Metasploitable(IP: 192.168.246.132),攻击机:kali(IP:192.168.246.129),SEED(IP:192.168.246.130)。 -
实验过程
(1)正常远程连接情况
(2)通过命令netstat –na | grep tcp 命令查看当前的TCP相关端口的状态,发现23号端口处于联通状态
(3)攻击机使用netwox76号工具发动针对主机C23号端口的SYN攻击。
(4)此查看靶机telnet服务器23端口的待处理队列如下:
(5)出现非正常远程连接
TCP RST攻击
TCP RST攻击可以终止两个被攻击主机之间的TCP连接。
靶机A(IP:192.168.246.134)的Telnet客户端和靶机B(ip:192.168.246.132)的Telnet服务器之间建立了 Telnet连接,攻击机向Telnet客户端发送 TCP RST包,就可以终止两者之间的TCP连接。
构造一个 TCP TST包发送给Telnet服务器,这样Telnet 服务器就会断开连接:
- 实验过程
(1)两个靶机之间建立telnet连接
(2)使用netwox的78号工具,对靶机进行RST攻击
(3)可以发现连接异常
TCP会话劫持
-
TCP会话劫持的原理
TCP会话劫持攻击,是劫持通信双方已建立的TCP会话连接,假冒其中一方的身份与另一方进行进一步通信。通常一些网络服务会建立在TCP会话之后进行应用层的身份认证,客户端在通过身份认证之后,就可以通过TCP会话连接对服务器索取资源。且期间不用再次进行身份认证。而TCP会话劫持为 攻击者提供了一种绕过应用层身份认证的技术途径,因此得到较高水平攻击者的青睐。 -
防范措施
(1)禁用主机上的源路由
(2)采用静态绑定IP-MAC地址表以避免ARP欺骗
(3)引用和过滤ICMP重定向报文
(4)采用网络层加密机制,即IPsec协议。 -
实验环境
靶机A:Linux Metasploitable(IP: 192.168.246.132),靶机B:Windows Metasploitable(IP:192.168.246.128),攻击机C:SEED(IP:192.168.246.130)。 -
实验过程
(1)两个靶机之间建立远程连接
(2)使用hunt进行会话劫持
不知是哪里出了问题,探测不出在128网段有会话连接
参考博客:http://blog.csdn.net/the__apollo/article/details/70037511
kali视频(21-25)学习
Kali密码攻击之在线攻击工具
1. cewl
爬行网站获取关键信息创建密码字典。
2. cat
很小的安全审计工具,扫描Cisco路由器一般性漏洞,如默认密码,SNMP community字串和一些老的IOS bug(Cisco的操作系统)。
3. Findmyhash
在线哈希破解工具,借助在线哈希网站的接口制作的工具
4. hydra
老牌的破解工具,支持对各种服务的破解。
使用参数:
- 破解FTP服务hydra -L user.txt -P pass.txt -F ftp://127.0.0.1:21
- 破解SSH服务hydra -L user.txt -P pass.txt -F ssh://127.0.0.1:22
- 破解SMB服务hydra -L user.txt -P pass.txt -F smb://127.0.0.1
- 破解MSSQL账户密码:hydra -L user.txt -P pass.txt -F mssql://127.0.0.1:1433
若能猜解到用户名密码,可看到高亮显示,同时Hydra有图形界面版本。
由于本地没有密码字典,所以错误
hydra-gtk图形化界面
5. Medusa
与类似hydra
Medusa -h 目标ip地址 -u root -P //wordlists/rockyou.txt密码字典位置 -M ssh
如果选择服务只需要改变-M后面的参数
6. NCrack
突出了RDP(3389)爆破功能,如使用命令:ncrack -vv -U windows.user -P windows.pwd 192.168.1.101:3389 CL=1 -f
7. Onesixtyone
是一个snmp扫描工具,用于找出设备上的SNMP community字串,扫描速度非常快。
8. Patater
是Python编写的多服务破解工具,如枚举一个服务用户名密码:
patator ssh_login host=127.0.0.1 user=root passwd=FILE0 0=pass.txt -x ignore:mesg='Authentication failed.'
9. phrasen|drescher
多线程支持插件式的密码破解工具。
10. THC-PPTP-Bruter
针对PPTP VPN端点(TCP端口1723)的暴力破解程序。
Kali密码攻击之离线攻击工具(一)
1. Creddump
基于Python的哈希抓取工具,kali Linux离线攻击工具中的Cache-dump,lsadump与pwdump均为creddump套件的一部分。
2. Chntpw
用来修改Window SAM文件实现系统密码修改,亦可在kali作为启动盘时作删除密码的的用途。
3. Crunch
实用的密码字典生成工具,可以指定位数生成暴力枚举字典。
4. Dictstat
是一款字典分析工具,可以分析出一个现有字典分布情况,也可按照一定的过滤器提取字典。
5. Fcrackzip
kali下一款ZIP压缩包密码破解工具。
使用方法:fcrackzip -b -v -c a -l 1-4 -u 1.zip
6. Hashcat
强大的密码破解软件,系列软件包含Hashcat,oclHashcat,还有一个单独新出的oclRausscrack,其区别为Hashcat只支持CPU破解,oclGausscrack则支持gpu加速,oclHashcat则分为AMD版和NAVID版。
7. hashid
判断哈希或哈希文件是何种哈希算法加密的哈希分析工具。
8. hash-identifier
是一款Hashid类似的一款工具。输入哈希值,判断最有可能的哈希种类。
9. John the ripper
老牌密码破解工具,常用于Linux shadow中账户的密码破解,社区版也支持MD5-RAW等哈希的破解。
例如对本机系统哈希进行密码破解:
10. Johnny
对应于命令行版的John,Johnny将其图形化,更易使用与操作。
Kali密码攻击之离线攻击工具(二)
1. Ophcrack
彩虹表Windows密码哈希破解工具
图形界面:
对应有命令行版的ophcrack-cli:
2. Pyrit
无线网络密码破解工具,借助GPU加速,,让WPA2破解更有效率。
3. Rcrack
彩虹表密码哈希工具,用硬盘空间换破解时间。
4. rcracki_mt
彩虹表哈希破解工具,支持最新格式的彩虹表进行哈希破解。
5. Rsmangler
字典处理工具,可以生成几个字串的所有可能组合形式,在生成社工字典时亦可用到,可以有选择性的关闭某系选项。
6. Samdump2与BKhive
Linux下破解Windows下哈希的工具
首先获取win下的文件
SAM文件:C:\windows\sysytem32\config\SAM
system文件:C:\windows\system32\config\system
先用bkhive从system文件生成一个bootkey文件
bkhive system bootkey
在用bootkey和SAM文件通过samdump2生成一个密码哈希文件
samdump2 SAM bootkey > hashes
接着用John破解John hashes即可
7. SIPcrack
SIPCrack是针对SIP protocol协议数据包的破解工具,支持PCAP数据包与字典破解。
8. SUCrack
借助su命令进行本地root账户的密码破解。
9. Truecrack
一款针对TrueCrypt加密文件的密码破解工具
密码攻击之哈希传递攻击
在Windows系统中,系统通常不会存储用户登录密码,而是存储密码的哈希值,在我们远程登录系统的时候,实际上向远程传输的就是密码的hash,当攻击者获取了存储在计算机上的用户名和密码的hash值的时候,他虽然不知道密码值,但是仍然可以通过直连远程主机,通过传送密码的hash值来达到登陆的目的。
1. Passing the hash套件
要进行哈希传递攻击,首先我们要有目标主机的哈希信息,以Pwdump7抓取hash为例,pth套件每个工具都针对win下响应的exe文件,如使用pth-winexe可以借助哈希执行程序得到一个cmdshell。
2. Keimpx
一款Python编写的哈希传递工具,可以通过已有的哈希信息GET一个后门shell。
3. Metasploit
模块exploit/windows/smb/psexec亦可完成HAsh传递攻击。
Kali无线安全分析工具
Kali下有丰富的无线网络攻击套件:
1、RFID/NFC工具:与之相关的是IC卡的工具与破解,有时需要专业的分析硬件如Proxmark3.
2、软件定义无线电
3、蓝牙工具集
4、无线网络分析工具
1. Aircrack
是一个与801.11标准的无线网络分析有关的安全软件,主要功能:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows上,Linux版本已经被移植到了Zaurus和Maemo平台上。
套件内包含:
2. Cowpatty
一款知名的WPA-PSK握手包密码破解工具 。
3. EAPMD5PASS
针对EAP-MD5的密码破解工具
4. 图形化的Fern WiFi Cracker
无线网络分析中如果要使用虚拟机中的kali Linux,则需要外置无线网卡。
5. MDK3
是一款无线DOS攻击测试工具,另外还有其他针对隐藏ESSID的暴力探测模式,802.1x渗透测试,WIDS干扰等功能。
6. wifite
自动化的无线网审计工具,可以完成自动化破解,Python脚本编写,结合Aircrack-ng套件与Reaver工具。
7. Reaver
对开启WPS的路由器PIN码进行破解。