《Python黑帽子》第五章
《网络攻防技术》第五、六章总结
第五章 TCP/IP网络协议攻击
一、TCP/IP协议栈
1、网络协议栈面临的攻击
2、协议攻击工具:Netwag、Netwox
3、网络安全属性
从安全属性来看,机密性(confidentiality)、完整性(intergrity)和可用性(availability)构成了网络安全的三个基本属性,也被称为安全金三角模型(CIA)。国际电信联盟(ITU)在X.800安全体系标准中还定义了网络安全的其他两个属性,包括真实性(authentication)和不可抵赖性(Non-Repudiation)。
- 机密性:指网络中的信息不被非授权实体获取和使用,通常基于加密算法进行保障。
- 完整性:是指信息未经授权不能改变的特性,即信息在存储和传输过程中保持不被修改、不被破坏和丢失的特性。
- 可用性:是指被授权实体访问并按需求使用的特性,即当需要时能够正常地存取和访问所需信息的服务。
- 真实性:是指确保通信双方是它所声称的真是实体,而非假冒实体。
- 不可抵赖性:是指在通信中确保任何一方无法抵赖自己曾经做过的操作的安全特性,包括对自己行为的不可抵赖及对行为发生时间的不可抵赖,有时也被称为不可否认性和可审查性。
4、网络攻击基本模式
网络攻击的基本模式有以下四种:截获、中断、篡改、伪造。其中截获属于被动攻击模式,具体攻击技术为嗅探和监听;中断属于主动攻击,具体攻击技术为拒绝服务;伪造具体攻击技术为欺骗;篡改一般需结合身份欺骗进行中间人攻击。
二、网络层协议攻击
1、IP源地址欺骗:攻击者伪造具有虚假地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。
最主要用在拒绝服务攻击中,攻击机向目标主机发送大量构造的虚假IP地址,攻击者不需要获取到来自目标主机的返回的数据包,因为这样会攻击者的网络资源,采用虚假IP地址的拒绝服务供给也会起到隐藏真正发起攻击的网络位置;
-
拒绝服务攻击范例:利用中间人攻击技术嗅探到通信双方的通信过程,抓取通信双方在三次握手建立连接
-
防范措施:使用随机化的初始序列号,是的远程攻击者无法猜测道通过源地址欺骗伪装建立TCP;连接所需的序列号;使用IPsec,对传输的数据包进行加密,避免泄露信息;在局域网网关上启动入展过滤机制,阻断来自外部单源IP地址却属于内部网络的数据包。
2、ARP欺骗:攻击者在有线以太网或是无线网络上发送伪造的ARP消息,对特定IP所对应MAC地址进行欺骗,使局域网内主机记录的MAC-IP地址映射表中被攻击者的条目的MAC地址修改为攻击者指定的MAC地址,这样局域网内发送给被攻击者的数据包就会发送给修改后的MAC地址主机。 -
应用场景:ARP欺骗技术实现网络嗅探;ARP欺骗技术实现中间人攻击;
-
防范措施:采用静态的IP地址-MAC地址绑定
3、ICMP重定向攻击:攻击者伪装成路由器(IP地址欺骗:冒充为网关)发送虚假的ICMP重定向路由路径控制报文,使得受害主机选择攻击者指定的路径,从而实现嗅探或假冒攻击。这里存在一个现象:再转发的过程中,攻击节点协议栈可能会向被攻击者发送ICMP重定向报文,说明直接发送给真实的网关比发送给攻击机少一跳,这个报文将会是欺骗路径更改至原路径。 -
应用场景:中间人攻击、网络嗅探
-
防范措施:设置防火墙过滤,对于ICMP重定向报文判断是不是来自本地路由器
三、传输层协议攻击
1、TCP RST 攻击:伪造TCP重置报文攻击,是一种假冒干扰TCP通信连接的技术方法。攻击者通过嗅探的方式来监视通信双方,在获得源、目的IP地址即端口,以及序号之后就可以结合IP地址欺骗技术伪装成通信一方,在确保端口号一致和序列号落入TCP窗口之内的情况下,发送TCP重置报文给通信另一方,就可以中断双方正常的网络通信,达到拒绝服务的目的。
- 应用场景:中断TCP连接。
2、TCP会话劫持:攻击者通过实施中间人攻击,嗅探到建立连接的通信双方的序列号,通过假冒用户的IP地址向Telnet服务器发送数据包,宣称自己就是用户。而攻击者发送的数据包中的序列号必须满足SVR_ACK<=序列号<=SVR_ACK+SVR_WND,其中的SVR_END为Telnet服务器的接收窗口,Telnet服务器才会接收该数据包。
中间人攻击技术选取:ICMP路由重定向攻击、ARP欺骗攻击,大多数路由设备都禁用ICMP路由重定向,所以目前比较普遍的方法是ARP欺骗技术来进行TCP会话劫持。
-
防范措施:采用静态IP-MAC绑定。避免中间人攻击。
3、TCP SYN Flood:又称为SYN洪泛攻击模式拒绝服务攻击的一种,利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。 -
防范措施:SYN-Cookie技术,该技术改变的资源分配策略:当服务器收到一个SYN报文后,不立即分配缓冲区,而是将连接信息生成一个cookie,并将这个Cookie作为将要返回的SYN+ACK报文的初始序列号。单客户端返回一个ACK报文是,根据报头信息计算cookie,与返回的确认号(初始的序列号+1)的前24位进行比较,如果相同,那么是一个正常连接,分配资源,建立连接。
4、UDP Flood拒接服务攻击:通过向目标主机和网络发送大量的UDP报文,造成目标主机显著的计算负载提升,或者目标网络拥塞,从而使得目标主机和网络陷入不可用状态,造成拒绝服务攻击。 -
防范措施:防火墙和代理机制来过滤掉一些非预期的网络流量。
第六章 网络安全防范技术
本章从安全模型开始介绍,网络安全技术分为网络防御技术、网络监测技术和网络安全事件响应技术。
1、防火墙技术提供了一套在网络边界位置的基本访问控制机制,来阻断未经授权的网络访问,Linux系统中提供了开源的netfilter/iptables解决方案,可以帮助网络管理员在自己的网络中快速实施防火墙边界保护。具体提供:
- (1)检查控制进出网络的网络流量
- (2)防止脆弱或不安全的协议和服务
- (3)防止内部网络信息的外泄
- (4)对网络存取和访问进行监控审计
- (5)防火墙可以强化网络安全策略并集成其他安全防御机制。
而防火墙也有不足,由于它的先天而无法防范的有: - (1)来自网络内部的安全威胁
- (2)通过非法外联的网络攻击
- (3)计算机病毒传播。
由于技术瓶颈技术而无法防范的有: - (1)针对开放服务安全漏洞的渗透攻击
- (2)针对网络客户端程序的渗透攻击
- (3)基于隐蔽通道进行通信的特洛伊木马或僵尸网络。
2、入侵检测技术则支持在网络与系统上对攻击行为进行发现和报警,帮助管理员快速地对攻击进行响应,开源的snort软件为管理员提供了一个非常有力的入侵检测方案选择,用c语言编写,具有强大的功能:数据包嗅探、数据包记录和分析以及各种入侵检测功能。Snort当中的4个主要部件是:数据包嗅探与解码器、预处理器与插件、检测引擎与插件、输出模块与插件。入侵检测系统可分为基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS),这两者可以互相补充成为分布式入侵检测系统(DIDS)。入侵检测系统的体系结构分为集中式、层级式和协作式。
3、为有效应对网络攻击,管理员还需建立一套有效的安全事件响应机制,并掌握一些基础的响应技术,包括计算机取证、攻击追溯与归因、备份恢复与灾难恢复等。计算机安全事件响应小组(CSIRT)是进行网络安全事件应急响应和处理的专业团队。安全事件响应可分为6个阶段:准备、检测、抑制、根除、回复和跟踪。
课后实践练习
课上已完成。
Kali Security
Kali密码攻击之在线攻击工具
-
cewl
可以通过爬行网站获取关键信息创建密码字典。
-
CAT(Cisco-Auditing-tool)
一个很小的安全审计工具,扫描Cisco路由器的一般性漏洞。
-
Findmyhash
在线哈希破解工具,借助在线破解哈希网站的接口制作的工具。
-
Hydra
老牌破解工具,支持对各种服务的破解。
-
Medusa
类似于Hydra的一款工具,使用方法类似 。
-
NCrack
相似的功能基本类似,但突出了RDP(3389)爆破功能。
-
ONesixtyone
是一个snmp扫描工具,用于找出设备上的SNMP Community字串,扫描速度非常快。
-
Patator
一款Python编写的多服务破解工具。
Kali密码攻击之离线攻击工具
-
Creddump套件
Kali Linux下离线攻击工具中的Cache-dump、lsadump与pwdump均为creddump套件的一部分,基于python的哈希抓取工具。
-
Crunch
实用的密码字典生成工具,可以指定位数生成暴力枚举字典。
-
Fcrackzip
一款 zip压缩包密码破解工具。
-
Hashcat
Hashcat系列软件是比较强大的密码破解软件,系列软件包括Hashcat、oclHashcat;还有一个单独新出的oclRausscrack。其区别为Hashcat只支持cpu破解;oclHashcat和oclGausscrack则支持gpu加速,oclHashcat则分为AMD版和NVIDA版。
-
hashid
一款简单易用的哈希分析工具,可以判断哈希或哈希文件是何种哈希算法加密的。
-
hash-identifier
一款与HashID类似的一款工具。
-
John the ripper
试图破解某个特定的密码散列,常用于Linux shadow 中账户的密码破解。
-
Ophcrack
利用彩虹表来破解 Windows密码的工具,对应有命令行版的ophcrack-cli。主要有Load、Delete、Save、Table、Crack、Help 和 Exit 七大主要模块。
-
Pyrit
Pyrit是一款无线网络密码破解工具,借助GPU加速,可以让WAP2密码破解更效率。
-
Rcrack
彩虹表密码哈希工具,使用第一代彩虹表,当然首先,要有足够容量的彩虹表。
-
Rsmangler
字典处理工具,可以生成几个字串的所有可能组合形式,在生成社工字典时亦可用到,可以有选择的关闭某些选项。
-
Truecrack
一款针对TrueCrypt加密文件的密码破解工具。
Kali密码攻击之哈希传递
- Keimpx
一款Python编写的哈希传递工具,可以通过已有的hash信息get一个后门shell。本Kali版本上需要先安装PI库。
Kali无线安全分析工具
-
Aircrack-ng
是一个与802.11标准的无线网络分析有关的安全软件,主要功能:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解,Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows上,Linux版本已经被移植到了Zaurus和Maemo平台上。
-
Cowpatty
wpa-psk握手包密码破解工具。
-
eapmd5pass
针对EAP-MD5的密码破解工具。
-
Fern Wifi Cracker
用Python,QT编写。图形化界面如下所示:
-
MDK3
无线DOS攻击测试工具,能发起攻击,也具有针对隐藏ESSID的暴力探测模式、802.1x渗透测试、WIDS干扰等功能。
-
wifite
Python编写的自动化的无线网审计工具,完成自动化破解。
-
Reaver
对开启WPS的路由器PIN码进行破解。