当前位置: 首页 > news >正文

vf建设银行网站wordpress插件实现图片放大

vf建设银行网站,wordpress插件实现图片放大,公司网站建设多少钱,网站建设著作权NTLM#xff08;New Technology LAN Manager#xff09;身份验证协议是微软用于Windows身份验证的主要协议之一。早起SMB协议以明文口令的形式在网络上传输#xff0c;因此产生了安全性问题。后来出现了LM#xff08;LAN Manager#xff09;身份验证协议#xff0c;它非常…NTLMNew Technology LAN Manager身份验证协议是微软用于Windows身份验证的主要协议之一。早起SMB协议以明文口令的形式在网络上传输因此产生了安全性问题。后来出现了LMLAN Manager身份验证协议它非常简单以至于很容易就被破解。后来微软提出了NTLM身份验证协议以及更新的NTLM V2版本。NTLM协议既可以为工作组中的机器提供身份验证也可以用于域环境身份验证。NTLM协议可以为SMB、HTTP、LDAP、SMTP等上层微软应用提供身份认证。 SSP和SSPI概念 1、SSPI SSPI(Security Service Provider Interface 或 Security Support Provider Interface安全服务提供接口) 是Windows定义的一套接口该接口定义了与安全有关的功能函数包括但不限于 身份认证机制为其他协议提供的Session security机制。Session security指的是会话安全即为通讯提供数据完整性校验以及数据的加解密功能 SSPI接口定义了与安全有关的功能函数用来获取验证、信息完整性、信息隐私等安全功能该接口知识定义了一套接口函数但是并没有实现具体的内容。 2、SSP SSP(Security Service Provider安全服务提供者) 是SSPI的实现者微软自己实现了如下的SSP用于提供安全功能包括但不限于 NTLM SSPWindows NT 3.51中引入msv1_0.dll为Windows 2000之前的客户端-服务器域和非域身份验证SMB/CIFS提供NTLM质询/响应身份验证。Kerberos SSPWindows 2000中引入Windows vista中更新为支持AESkerberos.dllWindows 2000及更高版本中首选的客户端-服务器域相互身份验证。Digest SSPWindows XP中引入wdigest.dll在Windows与kerberos不可用的非Windows系统间提供基于HTTP和SASL身份验证的质询/响应。Negotiate SSP:Windows 2000 中引入(secur32.dll) 默认选择 Kerberos如果不可用则选择 NTLM 协议。Negotiate SSP 提供单点登录 能力有时称为集成 Windows 身份验证(尤其是用于 IIS 时)。在 Windows 7 及更高版本中NEGOExts 引入了协商使用客户端和服务器上 支持的已安装定制 SSP 进行身份验证。Cred SSP:Windows Vista 中引入Windows XP SP3 上也可用 (credssp.dll)为远程桌面连接提供单点登录(SSO)和网络级身份验证。Schannel SSP:Windows 2000 中引入(Schannel.dll)Windows Vista 中 更新为支持更强的 AES 加密和 ECC[6]该提供者使用 SSL/TLS 记录来加密 数据有效载荷。PKU2U SSP:Windows 7 中引入(pku2u.dll) 在不隶属域的系统之间提 供使用数字证书的对等身份验证。 因为SSPI中定义了与Session Security有关的API。所以上层应用利用任何SSP与远程的服务进行了身份验证后此SSP都会为本次连接生成一个随机Key。这个随机Key被称为Session Key。上层应用经过身份验证后可以选择性的使用这个Key对之后发往客户端或接受自服务端的数据进行签名或加密。在系统层面SSP就是一个dll用来实现身份验证登安全功能。不同的SSP实现的身份验证机制是不一样的。比如NTLM SSP实现的就是一种基于质询/响应身份验证机制而Kerberos SSP实现的就是基于Ticket票据的身份验证机制。可以自定义编写SSP然后注册到操作系统中让操作系统支持自定义的身份验证方法。 LM Hash加密算法 LMLAN Manager身份认证是微软推出的一个身份认证协议其使用的机密算法是LM Hash加密算法。LM Hash本质是DES加密尽管LM Hash较容易被破解但为了保证系统的兼容性Windows只是将LM Hash禁用了Windows Vista和Windows Server 2008开始Windows默认禁用了LM Hash。LM Hash明文密码被限定在14位以内也就是说如果要停止使用LM Hash将用户的密码设为14位以上即可。 LM Hash的值为aad3b435b51404eeaad3b435b51404ee说明LM Hash为空值或者被禁用了。 LM Hash加密流程 将用户的明文口令转换为大写并转换为16进制字符串。如果转换后的16进制字符串的长度不足14字节长度28用0补全。将14字节分为两组每组7字节转换为二进制数据每组二进制数据长度为56比特位。将每组二进制数据按7比特位为一组分为8组每组末尾加0在转换成16进制这样每组也就成了8字节长的16进制数据。将上面生成的16进制数据分别作为DES加密秘钥对字符串“KGS!#$%”进行加密然后将加密后的两组密文进行拼接得到最终的LM Hash值 加密实现代码 # codingutf-8 import base64 import binascii from pyDes import * import hashlib,binascii import md5def DesEncrypt(str, Des_Key):k des(Des_Key, ECB, padNone)EncryptStr k.encrypt(str)return binascii.b2a_hex(EncryptStr)def Zero_padding(str):b []l len(str)num 0for n in range(l):if (num 8) and n % 7 0:b.append(str[n:n 7] 0)num num 1return .join(b)if __name__ __main__:test_str raw_input(please input a string: )# 用户的密码转换为大写test_str test_str.upper()print(\033[91m转换为大写:\033[0m)print(test_str)#转换为16进制字符串test_str test_str.encode(hex)print(\033[91m转换为16进制字符串:\033[0m)print(test_str)str_len len(test_str)# 密码不足14字节将会用0来补全if str_len 28:test_str test_str.ljust(28, 0)print(\033[91m不足14字节(长度28)用0来补全:\033[0m)print(test_str)# 固定长度的密码被分成两个7byte部分t_1 test_str[0:len(test_str) / 2]t_2 test_str[len(test_str) / 2:]print(\033[91m将14字节分为两组每组7字节\033[0m)print(t_1)print(t_2)# 每部分转换成比特流并且长度位56bit长度不足使用0在左边补齐长度t_1 bin(int(t_1, 16)).lstrip(0b).rjust(56, 0)t_2 bin(int(t_2, 16)).lstrip(0b).rjust(56, 0)print(\033[91m转换为二进制数据每组二进制数据长度为56比特位\033[0m)print(t_1)print(t_2)# 再分7bit为一组末尾加0组成新的编码t_1 Zero_padding(t_1)t_2 Zero_padding(t_2)print(\033[91m将每组二进制数据按7比特位为一组分为8组每组末尾加0\033[0m)print(t_1)print(t_2)# print t_1t_1 hex(int(t_1, 2))t_2 hex(int(t_2, 2))t_1 t_1[2:].rstrip(L)t_2 t_2[2:].rstrip(L)print(\033[91m两组分别转换为16进制字符串\033[0m)print(t_1)print(t_2)if 0 t_2:t_2 0000000000000000t_1 binascii.a2b_hex(t_1)t_2 binascii.a2b_hex(t_2)# 上步骤得到的8byte二组分别作为DES key为KGS!#$%进行加密。LM_1 DesEncrypt(KGS!#$%, t_1)LM_2 DesEncrypt(KGS!#$%, t_2)print(\033[91m上步骤得到的8byte二组分别作为DES key为\KGS!#$%\进行加密\033[0m)print(LM_1:LM_1)print(LM_1:LM_2)# 将二组DES加密后的编码拼接得到最终LM HASH值。print(\033[91m将二组DES加密后的编码拼接得到最终LM HASH值\033[0m)LM_Hash LM_1 LM_2print (LM_Hash:LM_Hash)NTLM Hash加密算法 为了解决LM Hash加密和身份验证方案中的安全弱点微软与1993年在Windows NT 3.1中首次引入了NTLM Hash。微软从Windows Vista和Windows 2008开始默认禁用了LM Hash只存储NTLM Hash而LM Hash的位置则为空。 NTLM Hash算法是微软为了在提高安全性的同时保证兼容性而设计的散列加密算法。NTLM Hash是基于MD4加密算法进行加密的。 1、NTLM加密流程 NTLM Hash是由明文密码经过三步加密而成 NTLM Hash md4(unicode(hex(password))) NTLM Hash的加密流程分为三步具体如下 先将用户密码转换为16进制格式再将16进制格式的字符串进行ASCII转Unicode编码最后对Unicode编码的16进制字符串进行标准MD4单向哈希加密 实现代码 # codingutf-8 from Cryptodome.Hash import MD4 import binascii from cprint import cprint#转为16进制格式 def str_to_hex(string):return .join([hex(ord(t)).replace(0x, ) for t in string])#再将16进制格式的字符串进行ASCII转Unicode编码 def hex_to_unicode(string):return string.replace( ,00)00#最后对Unicode编码的16进制字符串进行标准MD4单向哈希加密 def unicode_to_md4(string):m MD4.new()m.update(binascii.a2b_hex(string))return m.hexdigest()if __name__ __main__:string input(please input a string: )HEX str_to_hex(string)cprint.err(HEX编码:)print(HEX)Unicode hex_to_unicode(HEX)cprint.err(ASCII转Unicode编码)print(Unicode)NTLm_Hash unicode_to_md4(Unicode)cprint.err(对Unicode编码的16进制字符串进行标准MD4单向哈希加密得到NTLM Hash)print(NTLm_Hash)或者使用Python命令进行加密 python3 -c import hashlib,binascii; print(NTLM_Hash:binascii.hexlify(hashlib.new (md4, 123456.encode(utf-16le)).digest()).decode(utf-8))2、Windows系统存储的NTLM Hash 用户密码经过NTLM Hash机密后存储在 %SystemRoot%\system32\config\SAM 文件里。 当用户输入密码进行本地认证的过程中所有的操作都是在本地进行的。系统将用户输入的密码转换为NTLM Hash然后与SAM文件中的NTLM Hash进行比较相同说明密码正确反之错误。当用户注销、重启、锁屏后操作系统会让winlogon.exe显示登录界面也就是输入框。当winlogon.exe接收收入后将密码交给lsass.exe进程lsass.exe进程中会存一份明文密码将明文密码加密成NTLM Hash与SAM数据库进行比较认证。使用mimikatz就是从lsass.exe进程中抓取明文密码或密码Hash。 一般抓取到的密码格式第一部分是用户名第二部分是用户的SID值第三部分是LM Hash第四部分是NTLM Hash其余部分为空。 NTLM协议认证 NTLM身份认证协议是一种基于Challenge/Response质询响应验证机制由三种类型消息组成。 type 1协商Negotiatetype 2质询Challengetype 3认证Auth NTLM身份认证协议有NTLM v1和NTLM v2两个版本目前使用最多的是NTLM v2版本。他们之间最显著的区别就是Challenge质询值与加密算法不同共同之处就是都是使用NTLM Hash进行加密。 1、工作组环境下的NTLM认证 工作组环境下NTLM认证流程可以分为4个步骤 当客户端需要访问服务器的某个服务时就需要进行身份认证。于是当客户端输入服务器的用户名和密码进行验证的时候客户端就会缓存服务器密码的NTLM Hash值。然后客户端会向服务端发送一个请求该请求利用NTLM SSP生成NTLMSSP_NEGOTIATE消息被称为Type 1 NEGOTIATE协商消息服务端接收到客户端发送过来的Type 1消息后会读取其中的内容并从中选择出自己所能接收的服务内容加密等级安全服务等。然后传入NTLMSSP得到NTLMSSP_CHALLENGE消息被称为Type 2 Challenge质询消息并将此Type 2 消息发回客户端。此Type 2消息中包含了一个由服务端生成的16位随机值此随机值被称为Challenge质询值服务端会将该Challenge质询值缓存起来。客户端收到服务端返回的 Type 2 消息后读取出服务端所支持的内容并取 出其中的 Challenge 质询值用缓存的服务器密码的 NTLM Hash 对其进行加密得 到 Response 消息。最后将 Response 和一些其他信息封装到 NTLMSSP_AUTH 认证消息中(被称为 Type 3 Authenticate 认证消息)发往服务端。服务端在收到 Authenticate 认证消息后从中取出 Net-NTLM Hash。然后 用自己密码的 NTLM Hash 对 Challenge 质询值进行一系列加密运算得到自己 计算的 Net-NTLM Hash。并比较自己计算出的 Net-NTLM Hash 和客户端发送 的 Net-NTLM Hash 是否相等。如果相等则证明客户端输入的密码正确从而 认证成功反之则认证失败。 2、域环境下的NTLM认证 域环境下的NTLM认证流程可以分为6个步骤 客户端想要访问服务器的某个服务需要进行身份认证。于是在客户端输入 服务器的用户名和密码进行验证之后客户端会缓存服务器密码的 NTLM Hash 值。然后客户端会向服务端发送一个请求该请求利用 NTLM SSP 生成 NTLMSSP_NEGOTIATE 消息(被称为 Type 1 NEGOTIATE 协商消息)服务端接收到客户端发送过来的 Type 1 消息会读取其中的内容并从中选 择出自己所能接受的服务内容加密等级安全服务等。然后传入 NTLM SSP 得到 NTLMSSP_CHALLENGE 消息(被称为 Type 2 Challenge 质询消息)并 将此 Type 2 消息发回给客户端。此 Type 2 消息中包含了一个由服务端生成的 16 位随机值此随机值被称为 Challenge 质询值服务端将该 Challenge 值缓存起来。客户端收到服务端返回的 Type 2 消息读取出服务端所支持的内容并取出 其中的 Challenge 质询值用缓存的服务器密码的 NTLM Hash 对其进行加密得到 Response 消息Response 消息中可以提取出 Net-NTLM Hash。最后将Response 和一些其他信息封装到 NTLMSSP_AUTH 消息中(被称为 Type 3 Authenticate 认证消息)发往服务端。服务端接收到客户端发送来的 NTLMSSP_AUTH 认证消息后通过 Netlogon 协议与域控建立一个安全通道将验证消息发给域控。域控收到服务端发来的验证消息后从中取出 Net-NTLM Hash。然后从数据 库中找到该用户的 NTLM Hash对 Challenge 进行一系列加密运算得到自己计 算的 Net-NTLM Hash。并比较自己计算出的 Net-NTLM Hash 和服务端发送的 Net-NTLM Hash 是否相等如果相等则证明客户端输入的密码正确认证成 功反之认证失败域控将验证结果发给服务端。服务端根据 DC 返回的结果对客户端进行回复。 3、NTLM v1和NTLM v2的区别 NTLM v1 身份认证协议和 NTLM v2 身份认证协议是 NTLM 身份认证协议的不同版本。目前使用最多的是 NTLM v2 版本。NTLM v1 与 NTLM v2 最显著的区别就 是 Challenge 质询值与加密算法不同共同之处就是都是使用的 NTLM Hash 进 行加密。 Challenge质询值 NTLM v1 8字节NTLM v2 16字节 Net-NTLM Hash使用的加密算法 NTLM v1DES加密算法NTLM v2HMAC-MD5加密算法 4、LmCompatibilityLevel LmCompatibilityLevel 值用来确定网络登录使用的质询/响应身份验证协议。此选 项会影响客户端使用的身份验证协议的等级、协商的会话安全的等级以及服务器接 受的身份验证的等级如下是 LmCompatibilityLevel 为不同值的含义: 值含义0客户端使用 LM 和 NTLM 身份验证但从不使用 NTLM v2 会话安全性。域控制器接受 LM、NTLM 和 NTLM v2身份验证。1客户端使用 LM 和 NTLM 身份验证如果服务器支持 NTLM v2 会话安全性则使用 NTLM v2 会话安全性。域控制器接受 LM、NTLM 和 NTLM v2 身份验证。2客户端仅使用 NTLM 身份验证如果服务器支持 NTLM v2 会话安全性则使用 NTLM v2 会话安全性。域控制器接受 LM、NTLM 和 NTLM v2 身份验证。3客户端仅使用 NTLM v2 身份验证如果服务器支持 NTLM v2 会话安全性则使用 NTLM v2 会话安全性。域控制器接受 LM、NTLM 和 NTLM v2 身份验证。4客户端仅使用 NTLM v2 身份验证如果服务器支持 NTLM v2 会话安全性则使用 NTLM v2 会话安全性。域控制器拒绝 LM 身份验证但接受 NTLM 和 NTLM v2 身份验证。5客户端仅使用 NTLM v2 身份验证如果服务器支持 NTLM v2 会话安全性则使用 NTLM v2 会话安全性。域控制器拒绝 LM 和 NTLM 身份验证但接受 NTLM v2 身份验证。 如何手动进行修改 打开本地安全策略–》安全设置–》本地策略–》安全选项–》网络安全:LAN管理器身份验证级别默认其值是没有定义的使用默认值 NTLM协议的安全问题 从上面 NTLM 认证的流程中我们可以看到在 Type 3 Auth 认证消息中是使用用户密码的 Hash 计算的。因此当我们没有拿到用户密码的明文而只拿到 Hash 的情况下我们可以进行 **Pass The Hash(PTH)攻击也就是哈希传递攻击。同样还是在 Type3 消息中存在 Net-NTLM Hash当攻击者获得了 Net- NTLM Hash 后可以进行中间人攻击重放 Net-NTLM Hash这种攻击手法也就是NTLM Relay(NTLM 中继)**攻击。并且由于 NTLM v1 版本协议加 密过程存在天然缺陷可以对 Net-NTLM v1 Hash 进行爆破得到 NTLM Hash。拿到 NTLM Hash 后即可进行横向移动。 1、Pass The Hash Pass The Hash(PTH)哈希传递攻击是内网横向移动的一种方式。主要原因是 NTLM 认证过程中使用的是用户密码的 NTLM Hash 来进行加密。因此当我们获取到了用户密码的 NTLM Hash 而没有解出明文时我们可以利用该 NTLM Hash 进行哈希传递攻击对内网其他机器进行 Hash 碰撞碰撞到使用相同密码的机器。然后通过 135 或 445 端口横向移动到使用该密码的其他机器。 2、NTML Relay NTLM Relay 其实严格意义上并不能叫 NTLM Relay而是应该叫 Net-NTLM Relay。它是发生在 NTLM 认证的第三步在 Response 消息中存在 Net-NTLM Hash当攻击者获得了 Net-NTLM Hash 后可以进行中间人攻击重放 Net- NTLM Hash这种攻击手法也就是 NTLM Relay(NTLM 中继)攻击。 3、Net-NTLM v1 Hash破解 由于 NTLM v1 身份认证协议加密过程存在天然缺陷只要获取到 Net-NTLM v1 Hash都能破解为 NTLM hash这与密码强度无关。在域环境中这更有效因为域中使用 hash 即可远程连接目标机器。如果域控允许发送 NTLM v1 响应的话 我们就可以通过与域控机器进行 NTLM 认证然后抓取域控的 Net-NTLM v1 Hash破解为 NTLM Hash。使用域控的机器账号和哈希即可导出域内所有用户哈希。
http://www.pierceye.com/news/834304/

相关文章:

  • 做网站导航的wordpress自由度
  • 怎样建外贸网站步骤的英文
  • 网站网上商城建设网站上线详细步骤
  • 有那些网站可以做推广长沙公司排名
  • 怎样申请做p2p融资网站北京做网站一般多少钱
  • 建筑公司网站作用ASP.NET实用网站开发答案
  • 网站建设如何获取客户东莞网络营销销售
  • 郑州平台类网站自建房平面图设计软件
  • 昆明网站运营公司有哪些网页版微信登录二维码
  • 中国最权威的网站排名网上商店系统设计与开发
  • 自己做装修网站需要多少钱太仓建设网站
  • 湘潭做网站电话磐石网络龙岩kk社区
  • 重庆孝爱之家网站建设哪里可以做期货网站平台
  • 建设网站价位视频网站开发防止盗链
  • 制作网站的难度如何提网站建设需求
  • 做网上竞彩网站合法吗找工作用什么平台最好
  • 石家庄模板网站建网站要钱吗 优帮云
  • wap 网站 源码制作手游需要学什么软件
  • 自己做网站怎样挣钱个人网站模板 php
  • 新加坡建设局网站网站建设资料清单
  • 做网站用什么语言制作最安全?网站设计酷站
  • 河南省做网站的公司个人网站可以做电商吗
  • 专门做家教的网站网站开发大学
  • 资源专业网站优化排名wordpress 调用 置顶
  • 网站的建设维护网站换空间有影响吗
  • 兰州网站建设公南昌做网站的
  • 网站菜单样式襄樊公司网站建设
  • 学校网站建设平台wordpress 4.9.2
  • 开o2o网站需要什么手续企业微信开放平台
  • 网站开发 外文文献移动网站制作价格