Windows身份证验证方法包含NTLM身份证验证和Kerberos身份证验证。
1. Windows的主要身份证验证方法是什么?
Windows身份证验证方法包含NTLM身份证验证和Kerberos身份证验证。
同时,Windows Access Token纪录用户的SID,组Id,会话和管理权限,还饰演管理权限验证的人物角色。 其中,NTLM验证主要有两种方式:当地验证和网络认证。
在当地登陆时,用户的登陆密码存放在%SystemRoot%system32configsam文档中。当用户键入用以当地验证的登陆密码时,所有操作都会当地实行。他事实上将用户键入的登陆密码变换为NTLM Hash,并将其与SAM中的NTLM Hash进行比较。网络身份证验证来源于咨询/没有响应身份证验证措施的资格证书策略。
他的验证过程将在下面详尽探讨。 域环境中使用Kerberos身份证验证,这是一种来源于票证的身份证验证方法。
他的整个验证过程牵涉两方:用户,网络服务器和KDC(密匙派发中心局)。在Windows域环境中,Dc(域控制)用来KDC。 网络访问令牌是用以叙述程序或线程安全句意的对象。
令牌中含有的信息内容是与用户账号关系的程序或进程的标志和管理权限信息内容。当账号登录时,系统会添加网络访问令牌,随后以用户身分运作的所有程序都会拥有该令牌的秘境。
这也表述了用户建立程序而B用户没有该程序的管理权限。
2.什么叫NTLM验证工作流程? 第一类是当地身份证验证,即添加NTLM哈希的方式。 当用户销户,重新启动并锁定屏幕时,系统软件将让winlogon显视登陆界面,即文本框。当winlogon.exe接到键入时,它会将登陆密码传送给LSASS程序。再此过程中,存放明文密码,并将明文密码加锁到NTLM Hash中,并对SAM数据库查询进行比较和认证。
(winlogon.exe,Windows登陆程序,是一个管理账号登录和销户的Windows Nt账号登录系统软件。 LSASS用以Microsoft Windows系统的安全措施。
它用以当地安全和登陆对策。 ) 比如,当用户输入验证码123456时,系统软件将123456变换为十六进制。 Unicode变换后,MD4加密算法用以加锁。
加锁结果的十六进制值是NTLM Hash。
1 2 3 123456 - > 十六进制(十六进制编码) = 313233343536 313233343536 - > Unicode = 610064006d0069006e00 610064006d0069006e00 - > MD4 = 209c6174da490caeb422f3fa5a7ae634 在了解了当地验证的过程之后,我们一起来阐述网络认证的具体过程。
NTLM合同范本需要完成几条新消息:商议,咨询和身份证验证。 商议:主要用于核对合同范本版本号,加锁级別等。
挑戰:网络服务器接到手机客户端的商议新消息后,将加载内容并选择可接受的服务内容,加锁级別,安全服务等。
并添加随机数挑戰,随后添加挑戰新消息以回到到手机客户端。此新消息是咨询/没有响应验证措施的主要功能。
验证:认证主要是在完成挑戰后认证结果,是验证的最后几步。 详尽过程给出: 首先是输入验证码,随后LSASS将首先存放登陆密码的NTLM哈希值。 在其次中,手机客户端将登录名的纯文件发送给网络服务器。 在最后中,网络服务器将添加一个16位随机数,即挑戰,随后将其发送到回手机客户端。 第四步,当手机客户端接到咨询时,使用首先中存放的NTLM Hash进行加锁,随后将加锁的咨询发送给网络服务器,即没有响应。 在第五步中,网络服务器接到没有响应后,向手机客户端发送到认证恳求给Dc。
该恳求包含以下3个方面:手机客户端登录名,手机客户端NTLM哈希加锁挑戰和初始挑戰。 在第六步中,当Dc接受到3个值时,在登录名的账号数据库查询(ntds.dit)中找寻相关联于登录名的NTLM哈希,随后取下并传送哈希。比较挑戰值,一样成功,反之亦然。 以上是NTLM v1身份证验证方法。 NTLM v2和v1之间最更显的差别是Challenge与加密算法不同。常见的一点是加锁密匙是NTLM哈希。 NTLM v1的挑戰有8位,NTLM v2的挑戰是16位。 NTLM v1的主要加密算法是DES,NTLM v2的主要加密算法是HMAC-MD。
3. NTLM的主要姿式是什么? 我们通过转储哈希得到NTLM哈希时,我一般会试着直接在线解决困难。常见的破解网站: htpp://www.objectif-securite.ch/es/ophcrack.Python/ .com://www.cmd5.Com/ htpp://www.somd5.Com/ 当你不能确解它,试一下传送哈希。
哈希传送是使用与登录名相关联的NTLM哈希加锁网络服务器得出的挑戰,并添加没有响应以完成身份证验证。通过Hash可以完成一个不用登陆密码的NTLM合同范本验证过程,所以它不是一个Bug,这是一个小技巧。 常见的pth工具是: mimikatz(必选),wmiexec/psexec,exploit/windows/smb/psexec_psh,powershell启用上述小脚本。 当然,也可以使用pth。如果目标设备装上KB2871997,那么我们就不能pth了。随后我们有其它姿式:传送锁匙。
对于8.1/2010r2,使用补订kb2871997安裝Win 7/2009r2/8/2010,您可以使用AES密匙而不是NTLM Hash。
当mimikatz捕捉哈希值时,您可以将其捕捉。实际上,mimikatz自身的pth是ptk。
指令: Mimikatz“会员特权:校准”“sekurlsa: pth /用户: a/domain: test.local/aes256: f74b379b5b422819db694aaf78f49177ed21c98ddad6b0e246a7e17df6d19d5c” 除了这些之外,还有很多其他的姿式,比如修复管理人账号以抛出去pth,当打开Restricted Admin Mode时,win8.3和server12 R2默认设置支持pth,开始用了WDigest夺取winlogon fairy jump。
4.需要注意的Kerberos身份证验证的主要识点是什么? 首先表述一些专有名词: 基本要素: KDC:密匙派发中心局,密匙派发中心局,部门管理常见故障单,身份证验证单据和派发说明,但KDC不是一个单独的服务,它由DS和TGS组合而成。 DS:认证服务,认证服务,手机客户端的TGT服务 TGS:票证授于服务,票证授于服务,为用户添加服务的票证 TGT:门票费授于门票费,门票费可以通过门票费得到,是一种临时资格证书。 票证:票证,这是网络中对象之间的互相网络访问。 AP:账号数据库查询,存放所有手机客户端的白名单。只有白名单中存在的手机客户端才能成功申请TGT。
Dc:域控制器,域控制 KRBTGT:每个域控制器都有一个krbtgt账号,该账号是用以建立TGS加锁密匙的KDC服务账号。 Kerberos提供集中身份证验证方法。在整个验证过程中,共牵涉两方:手机客户端,网络服务器和KDC。在Windows域环境中,KDC的人物角色由Dc处理。 Kerberos是来源于票证的。身份证验证方法,常见故障单(常见故障单)用以在身份证验证网络服务器和用户恳求的服务之间安全地传输数据用户的身分,并传送一些其他信息以保证使用常见故障单的用户必须是在票。添加常见故障单后,手机客户端可以在生命期内数次使用该常见故障单来申请相同的网络服务器服务。这儿有一个售票处偷盗问题。 阐述kerberos的一般工作内容。当域中的手机客户端想要网络访问相同域中的服务器空间时,它需要首先租用服务器准许的票证。除此之外,手机客户端需要在网络访问网络服务器之前网络访问网络服务器。您可以提早购买机票并等待时间服务申请办理登机办理手续,随后才能进入主会场。但是,此票不能直接购买。
您还需要一个认购权证(TGT),这代表用户需要在购买机票之前得到认购权证。授权书和网络服务器的门票均由KDC出售。请参阅网络上的清晰图片。
5.备案域名渗入中Kerberos的主要姿式是什么? 在验证过程之后,你必须谈及总是使用的两种票:银币和金子单据。 银票的特点是:NTLM Hash不用与KDC信息交互而且需要目标服务。因而,我们有网络服务器哈希时,我们可以仿冒没经KDC验证的票证。
使用: Kerberos: golden/domain:<备案域名>/sid:< domain SID>/target:< server hostname>/service:< service type>/rc4: /user:< username>/PTT 因为银票需要目标网络服务器的哈希值,因而没法为相对域中的所有网络服务器添加票证,也没法通过TGT应用。因而,只能仿冒网络服务器上的一些服务。
比如,cifs服务用以Windows服务器之间的文件共享,而其他文件系统(如LDAP)无法打开网络服务器的文件系统。
与银币对比,金子帐单的特性是需要与Dc通讯,需要krbtgt用户的哈希值,即需要选用域控制器。 使用: Lsadump: dcsync/domain:备案域名/用户: krbtgt Kerberos: golden/domain:<备案域名>/sid:< domain SID>/rc4: /user:< any username>/PTT 得到金票后,您可以仿冒金票,随后得到任何Kerberos服务管理权限,以登陆任何域中的任何服务器。 Mimikatz导出来域中所有服务器的票证。该指令是sekurlsa:单据/导出来,或转储NTDS.dit也能用。 最后,我迫不得已谈及域控制的姿势。
最常见的并非是ms14068。
使用的主要工具是goldenPac.py或kekeo/PyKEK。关于使用互联网技术的方式有很多文章,这儿不概述。
6. Windows Access Token的主要知识 有两种类型的Windows网络访问令牌,一种是受托令牌,主要用于互动式会话登陆(比如本地用户直接登陆,远程桌面登陆),另一种是仿真模拟令牌。卡),主要用于非互动式登陆(使用网站访问共享文件夹)。 每个程序都使用LSA(当地安全组织)根据登陆会话管理权限分派的令牌建立。
如果CreaetProcess特定令牌自身,则LSA将使用令牌,不然它将使用父程序令牌的秘境。当用户销户时,系统会将受权令牌转换为仿真模拟令牌,而且不会祛除令牌。
只有在重新启动设备后才能祛除它。 一般情形下,令牌被incognito.exe或msf中的隐身术控制模块偷取(隐身术在Metasploit中,在Windows平台下隐身术移栽),以获得相关联于令牌的管理权限,比如得到管理员权限,随后偷取随后令牌被标识以得到系统会员特权。 另外,建议看下3gstudent的Windows-Token几种管理权限的使用。个人感觉内部结构网络的渗入,想要科学合理了解,使用有关的系统漏洞,或者需要对win32有一些了解,不然它总要浮出水面,而且不能做得很深。 最后,另附您自己的Windows验证知识结构图引言。
参看连接: htpp://www.cnblogs.Com/artech/archive/2013/08/30/NTLM.hmtl htpp://www.Com/archives/94848.hmtl htpp://blog.csdn.net/cxzhq2002/article/details/80938770 来源于:ShadowGlint的搏客 具体位置:htpp://love-sg.fire 文中转自公布号:HACK学习