IKE协议是IPSec的一部分,网络层数据加密传输,常用的VPN隧道通信或者传输通信技术
kali之ike scan :vpn安全检测
IPSec相关攻击:
当谈论VPN技术时,人们通常会自动认为它是基于IPSec的。这在某种程度上是真的,因为基于IPSec的VPN为旁路流量提供了最高等级的保护,而且发现和报告的漏洞数量最少。
当查找支持IPSec的设备时,你要寻找主机上开放的UDP 500或4500端口以及对49号(认证头)或50号(安全载荷封装)协议的支持。你可以使用我们一直很喜欢用的Nmap扫描开放端口的范围,并利用-sO选项检查协议支持。不过,正如你可能知道的那样,UDP端口扫描不如你希望的那样可靠,ICMP type 3 code 2通常会被中间路由器阻塞。列举这种主机的方式之一是发送合法的IPSec请求。
一种有用的工具是NTA Monitor公司开发的ike-scan,可以从http://www.nta-monitor.com/tools/ike-scan/下载。如果你仔细研究此工具,你会发现有非常多的选项可供使用,你可以创建IKE建议的任何类型并将它发送给服务器或网络中的多台主机。除了创建包之外,ike-scan还可以用于对主机进行指纹识别并判断它们运行的IPSec的类型。
配置为IKE使用DES/SHA1/MODP2,IPSec使用DES/SHA1/MODP2,我们能够以积极模式开始密钥交换。正如你可能以及知道的那样,PSK和积极交换模式组合是一种随时会爆发的大灾难。连接的PSK不仅能被破解,它还可能消耗节点过多的CPU周期,会产生DoS攻击。
一旦从服务器获得了成功应答,你就可以将这种信息保存下来,利用-Pfilename选项离线破解。接着启用psk-crack,它是ike-scan套件中的一部分。psk-crack默认运行字典攻击,如果字典攻击不成功,随后就进行纯粹的暴力破解。可以指定字典文件以及需要的字符集和口令长度。
配置为AMD XP 3000+的机器在暴力破解模式下花了不足2分钟就找到了PSK。为了提升破解进程的效率,工具的作者建议以下列方式编译套件:./configure -with-openssl。这样可以将暴力破解的速度提高大约2.5倍。显然,例子PSK只有5个字符长,而且字符集只包括0123456789abcdefghijklmnopqrstuvwxyz字符。常用的强口令规则表明:PSK越长、越复杂,对它进行暴力破解就越困难,甚至是不可行的,基于IOS的设备上的PSK的最大长度可以为128个字符。通过利用John the Ripper生成一个大字典文件,采用字符频度表在有限的时间内获得尽可能多的口令并运行psk-crack,可以进一步增加成功破解共享密钥的概率。
从管理员的角度看,从PSK模式转换到基于证书的节点认证是可能的,但在只有两个参与节点的站点到站点IPSec隧道中,这可能被认为太复杂了,不实用,因此你在渗透测试时更可能会遇到PSK认证的情况。坦率地说,没有理由要使用积极交换模式,避免使用这个模式带来的安全问题的一种好的解决方案是禁用积极模式,转成主模式交换。尽管我们知道在主模式交换中使用PSK也可能仍然存在危险,但攻击者的任务要困难得多,因为她需要执行中间人攻击,还要伪造DH公钥。
另一种(基于MS Windows)能用于确定有漏洞的IPSec主机的工具是ikeprobe.exe。它自动遍历各种试图迫使应答者转成积极模式的IKE变换。IKEProbe可以生成使用下列加密算法的提议:DES、3DES、AES-128和CAST。散列功能采用标准的MD5和SHA1,支持Diffie-Helman Group 1、2和5
另一种工具IKEProber.pl可以用于列举IPSec网络。你可以用它生成各种类型的提议,并观察服务器的应答。ikecrack-snarf是一种用于破解PSK的工具。气思路类似于前面提到的ike-scan,但为了成功地破解PSK,攻击者需要获得客户和服务器之间挑战模式IKE交换的信息转储。如果攻击者可以处于能够截获通信的路径上,他就可以利用tcpdump -nxq > logfile.dat 转储交换的信息,并执行:
czyinvicta / # perl ikecrack-snarf-1.00.pl .500
从信息转储文件取值,并开始暴力破解。
此外,还可以在工具中填充需要的字段,并将static_test设置为1。你也可以设置ikecrack-snarf的其他参数,如字符集。
1 IPSec协议简介
针对Internet安全需求,IETF(因特网工程任务组)于1998年11月颁发了IP层安全协议IPSec。它不是一个单独的协议,而是一组协议。
IPsec是ip安全协议标准,是在IP层为ip业务提供保护的安全协议标准,其基本目的就是把安全机制引入IP协议。
IPSec在IPv6中必需支持,在IPv4中则是可选的。
2 体系结构
2.1 SA(安全关联)
1)SA简介
SA是IPSec提供安全服务数据流的一个单向逻辑关系。因为SA是单向的,所以对于一个双向通信,需要两个SA。
SA是通信对等方之间对某些要素的一种协定,是通过密钥管理协议在通信对等方之间协商的。协商的要素有:协议操作模式、密码算法、秘药以及用于保护他们之间数据流的密钥的生存期等。
当一个SA协商完成后,两个对等方都会在其安全关联数据库SAD中存储该SA参数。
SA具有一定的生存期,当过期之后,要么终止该SA,要么用新的SA替换。终止的SA将从SAD中删除。
2)SA三个标识参数
安全参数索引SPI:一个用来作为唯一标识一个SA的32为整数。SPI被加载在AH和ESP的首部,使得接受系统能够选择SA来处理接受的数据包。
目标地址IP:可以终端用户系统的地址,或是防火墙或安全网关等网路设备的地址。
安全协议标识符:指出SA时用的协议类型(AH或ESP)。
3)两个相关数据库
安全策略数据库(SPD):指定了用于到达的、源自特定主机的或网络的数据流的策略。数据库中每个元组定义了要保护什么通信、怎么保护等。
安全关联数据库(SAD):包含有与当前活动SA相关的参数。
4)SAD的工作过程
对于输入或输出通信,将搜索各自的SAD来查找与数据包头域中解析出来的选择符相匹配的SPI、源或者目的地址以及IPSec协议。如果查到一个匹配的条目,则将该SA的参数与AH或ESP头中的适当域相匹配,如果一致就处理,不一致就丢弃。
在没有与SA相匹配条目的情况下,并且数据包是一个输入包,就将其丢弃。如果数据包数一个输出包,并将其存入输出SAD中。
2.2 认证报头——AH
1)AH简介
为IP包提供数据完整性、认证和抗重放保护服务。防止传输过程中对数据包内容的修改、防止地址欺骗攻击和消息重放攻击。
由于AH不能加密数据包所承载的内容,因而它不能提供机密性。
鉴别算法由SA指定
——鉴别范围:整个包
2)AH为IP数据包提供三种服务
数据完整性:通过哈希函数产生的校验来保证
数据源身份认证:通过在计算验证时加入的一个共享密钥来实现
防重攻击:AH报头中的序列号可以防止重放攻击
3)AH的两种模式
2.3 ESP封装安全载荷
1)ESP简介
提供保密功能,包括报文内容的机密性和有限的通信量,也可以提供鉴别(可选)。
将需要保密的用户数据进行加密之后在封装到一个新的IP包中。ESP只鉴别ESP头之后的信息。
加密算法和鉴别算法由SA指定。
2)功能
除了提供AH提供的三种功能外,还提供了两种服务:
数据包加密:对一个IP数据包进行加密,可以对整个数据包进行加密,也可以只加密ip的载荷部分,一般用户客户端计算机。
数据流加密:一般用于支持IPSec的路由器,源端路由器并不关心IP包的内容,对整个包进行加密后传输,目的端路由器将该包解密后继续转发。
加密是ESP的基本功能,而身份认证、数据完整性、防止重放攻击都是可选的。
3)AH和ESP可以单独使用,也可以嵌套使用。
2.4 IKE internet密钥交换
1)IKE简介
IKE是一个混合协议,使用到三个不同协议的相关部分:
-ISAKMP:安全关联和密钥管理协议,密钥交换框架
-Oakley:密钥交换协议,基于DH密钥交换算法
-SKEME:共享和密钥更新技术
2)密钥协商
第一阶段:协商创建一个通信信道,并对该通信信道进行验证。为双方进一步的IKE通行提供机密性、完整性和消息源验证服务。
第二阶段:使用已经建立的IKE SA建立IPSec SA。
3 IPSec的运行模式
1)传输模式
传输模式要保护的是IP包的载荷,通常情况下,只用于两台主机之间的安全通信。
2)隧道模式
隧道模式保护的是整个IP包。通常情况下,只要双方有一方是安全网关或路由器,就必需使用隧道模式。
4 总结IPSec的功能
1)作为一个隧道协议实现VPN通信
可以在IP层上建立一个安全隧道。
2)保证数据来源可靠
在IPSec通信之前通信双方需要使用IKE认证双方身份并协商密钥。只有IKE协商成功才可以进行通信。由于第三方不可能知道验证和加密的算法以及相关密钥,因此无法冒充发送方,即使冒充也会被接受方检测出。
3)保证数据完整性
4)保证数据机密性
IKE Scan参考:https://www.jianshu.com/p/f6149a72f8a7
IPSec参考:https://blog.csdn.net/tangyangyu123/article/details/80799742