加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

一些Windows服务器系统登录安全与NTFS技巧

发布时间:2018-11-11 12:59:53 所属栏目:业界 来源:AD攻防工作室
导读:副标题#e# windows服务器系统登录安全与NTFS技巧 影响windows系统安全的要素很多:安全模型、文件系统、域和工作组、注册表、进程和用户等等。 [安全的五类服务:身份认证、访问控制、数据保密性、数据完整性、不可否认性。] 帐号安全策略设置: 账号介绍:

通过[开始]--[网络工具]--[服务] (或运行tlntsvr.exe程序)就可启动该服务。在客户端单击“开始”按钮,在弹出的菜单中选择“运行”命令,然后输入以下命令建立连接:

  1. telnet[Remote-system][Port-number] 

正常情况下,服务启动后,键入该命令后应该是远程计算机回送Login和Password信息,提示用户输入用户名和口令。

可是仔细看看上显示,根本没有给你输入用户名和密码的机会,直接断开连接,这是什么原因呢?

原来是win2000以后的telnet的一种验证身份方式所致:Windows NT LAN Manager(NTLM)

NTLM的工作流程:

(1)客户端首先在本地加密当前用户的密码称为密码散列;

(2)客户端向服务器发送自己的账号,这账号是没有经过加密的,明文传输;

(3)服务器产生一个16位的随机数字发送给客户端,作为一个challenge(挑战);

(4)客户端再用加密后的密码散列来加密这个challenge,然后把这个返回给服务器。作为response(响应)

(5)服务器把用户名、给客户端的challenge、客户端返回的response这三个东西,发送域控制器;

(6)域控制器用这个用户名在SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密challenge。

(7)域控制器比较两次加密的challenge,如果一样,那么认证成功。

从上面的过程中我们可以看出,NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你自己的账户和密码登录的,显然,你的登陆将会失败。

破解方式:

(1)在命令行使用pwdump7,获取NTLM散列;

(2)在ophcrack内load中选择single hash,复制需破解用户的NTLM散列;

(3)用彩虹表破解。

防范方法(禁止LMHASH存取):

法①:通过组策略实现。在“组策略”中,依次展开“计算机配置”--“Windows设置”--“安全设置”--“本地策略”--“安全选项”,启用“网络安全:不要再下次更改密码时存储LAN Manager的哈希值”。

法②:使用长度至少为15位字符的密码。这种情况下,Windows会存储无法用于验证用户身份的LM哈希值。

--Keberos:

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!