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

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

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

windows中对用户帐户的安全管理使用了安全账号管理器(Security Account Manager)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安全标识也同时被删除。安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识都是完全不同的。

安全账号管理器的具体表现就是%SystemRoot%system32configsam文件。sam文件是Windows的用户帐户数据库,所有用户的登录名及口令等相关信息都会保存在这个文件中。

如果我们用编辑器打开这些sam文件,除了乱码什么也看不到。因为NT系统中将这些资料全部进行了加密处理,一般的编辑器是无法直接读取这些信息的。

SAM文件的位置:

第一个:C:WINDOWSrepairSAM

第二个:C:WINDOWSsystem32configSAM

第一个位置的SAM是账户数据库的备份文件,第二个是系统正在使用的账户数据库文件。

SAM是构成windows注册表里的五大分支之一,具体内容保存在%SystemRoot%system32configsam里;在windows域控制器上,账户和口令字谜文保存在活动目录(Active Directory,AD)里,对应文件是:%SystemRoot%ntdsntds.dit这里面包含不止是Username和HASH,还有OU、Group等等。破解方式:

(1)Sam文件存储在C:WINDOWSsystem32config文件夹内,指直接复制粘贴不可行。

(2)使用hWinHax,将目录下的SAM文件和system文件导出。或使用samcopyer直接复制导出SAM文件。

(3)使用ophcrack进行彩虹表破解:运行ophcrack点击load->encrypted sam->再选择刚才准备好的sam文件,加载彩虹表后点击crack,即可。

--LSA(本地安全认证)注入:

本地安全认证(Local Security Authority)作用:调用所有的认证包,检查注册表;重新找回本地组的SIDs和用户权限;创建用户的访问令牌;管理本地安装的服务所使用的服务账号;储存和映射用户权限;管理审核的策略和设置;管理信任关系……

破解方式:

WinPswLogger2:windows的身份验证一般最终都是lsass进程,默认模块是msv1_0.dll,而关键在其导出函数LsaApLogonUserEx2。本程序通过注入代码到lsass进程hook LsaApLogonUserEx2,截取密码。在cmd中加载相应dll文件即可。

--Netlogon Service(NTLM认证):

早期SMB协议在网络上传输明文口令。后来出现了LAN Manager Challenge/Response 验证机制,简称LM,它是如此简单以至于很容易被破解。微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系(保存的加密后的散列称为hash,一般翻译作"散列",也有直接译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,输出的就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出。所以不可能从散列值来唯一地确定输入值。)NTLM是windows早期的安全协议,因向后兼容性而保留下来。NTLM是NT LAN Manager的缩写,即NT LAN管理器。

NTLM的适用场景:

在网络环境中,NTLM用作身份验证协议以处理两台计算机(其中至少有一台计算机运行windows NT 4.0或更早版本)之间的事务。例如,以下列举了两种配置将使用NTLM作为身份验证机制:

Windows或Windows xp professional 客户端向 Windows NT 4.0 的域控制器验证身份。

Windows NT 4.0 WorkStation 客户端向Windows 或Windows Server 2003 域控制器验证身份。

NTLM原理解析:

解析之前先看NTLM传输的例子TELNET

通过[开始]--[网络工具]--[服务] (或运行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存取):

(编辑:核心网)

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

热点阅读