explorer文件校验(Explorer什么文件)

1年前 (2024-04-23)

explorer文件校验(Explorer什么文件)

这里的描述从用户和帐户密码开始。

启动Windows操作系统。用户张三用自己的账号密码code/code登录Windows 10操作系统。

登录后,打开浏览器下载流程查看工具(时间:2021年8月24日)

https://processhacker.sourceforge.io/downloads.php.

https://github . com/process hacker/process HAC/releases/download/v 2.39/process HAC-2.39-bin . zip

打开后,界面如下(默认双击打开是普通用户的权限):

名称:每个进程的名称P:进程PID用户名:该进程以任何权限开始。对于上述过程:

用户张登录。用户打开浏览器下载文件,并运行下载文件查看过程。您需要知道Windows如何进行身份验证。你需要接触一些Windows身份验证的概念。

萨姆

安全帐户管理器(SAM)是运行Windows操作系统的计算机上的数据库,它存储本地计算机上用户的用户帐户和安全描述符。每个用户帐户都与两个密码相关联:与Lan Manager兼容的密码和Windows密码。

c : \ Windows \ System32 \ config \ Sam

Sam主要包括内容

Sam _ alias:本地组am _ group:不是一组本地组SAM_USER:用户帐户SAM_DOMAIN:域名SAM_SERVER:计算机帐户使用帐户密码登录后,操作系统首先比较加密得到的哈希,如果哈希成功,则首先接受帐户密码。然后我需要看看我如何给出hash。

将纯文本放入哈希

在这里,你需要知道两件事:LM hash那个nt hash。

LM哈希

LM哈希:Windwos Lan Manager哈希

注意:在早期的Windows操作系统中,使用的是LM hash,这个密码生成规则要求用户的密码只能是14个字符。

LAN manager兼容密码与LAN Manager使用的密码兼容。该密码基于原始设备制造商(OEM)字符集。该密码不区分大小写,最多可包含14个字符。这种密码的OWF版本也被称为局域网管理器OWF或ESTD版本。使用DES加密计算此密码,用纯文本密码加密常量。经理owf密码的长度为16个字节。清除文本密码的前7个字节,以计算LAN Manager OWF密码的前8个字节。清除文本密码的第二个七字节,以计算LAN Manager OWF密码的第二个字节。

:LAN Manager哈希不存储在更高版本Windows的默认值中。

首先查看默认的加密过程:

将表达式文档转换为大写形式将较大的字符串转换为16个备用字符串。小于14字节的密码需要0来完成(二进制级别)十六进制分割从左到右2组8字节码,按照每7位一组列,然后在每个7位组的末尾加0,再以16为幻串转换成16个8的8字节码,得到key,key,keys kgs!@ # $%加密两组DES加密代码拼接得到最终的LM-HASH值。因为默认不存储,那么我们启用这个选项并再次更改密码,然后通过Mimikatz获取哈希(如果没有设置,下面无法捕获哈希,其他捕获哈希模式)

首先转储Sam,然后用mimikatz读取hash

reg保存HKLM\SYSTEM system.hivreg保存HKLM\SAM sam.hivreg保存hklm\ Security.hivmimikatz # LSA转储:3360 SAM/SYSTEM . HIV/SAM 3360 SAM . HIV哈希lm:6f 0c 960 c 447706471 aa 118381 e 4 e 4 e 81 b哈希NTLM:7ac 77 be 44 bee 80 b 2 a 783 edd 78 f 8 df 5

手动转换,然后一样?

123.转换案例:代码123。string 16 credits:434 f 4452 e 313233用0完成所需的密码少于14个字节:434 f 4452 e 313233:434 f 4452 e 3132330000000。每组7个字节的十六进制会转换成二进制文件,每7个比特的末尾会转换成二进制文件。然后转换成十六进制组得到两组8字节码:434F44452E3132即3300000000000从左到右,按每7位一组列,然后在每7位组末尾加0,再以16为基数转换成16盒,每7位放入二进制数据,每组后加0。0100001 - 010000101010011- 101001101101000 - 1101000010001

00-> 10001000.0101001 - > 010100100111000 - > 011100001100010 - > 110001000110010 - > 01100100得到:01000010101010011011010000100010000001010010011100000011001001001000000110001001000000001100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100-> 42A6D0885270C464同样,获得第二组: 001100000000/78000000/>>>>>>>>>>>>>>>> -分别为两个8字节代码分别作为魔弦来获得键,键,键kgs! @#$%加密,获取:6F0C960C447706471A818381E4E281B.拼接获取一个LM散列:6F0C960C447706471A81B81E4E281B

手工制作,它可以用来借用脚本。

#编码= UTF-8进口re.进口Binascii.来自pydes导入*def desencrypt(str,des_key): k = des(binascii.a2b_hex(des_key),ecb,pad = none) Encryptstr = K.encrypt(str) 返回binascii.b2a_hex(encryptstr)def group_just(长度,文本): #文字001100010011001000000110011001101000000000000000000000 text_area = re.findall(r'。{%d}'%int(长度),文本)#['0011000','1001100','100010','0110011','0100001','1010100','1101100 ','0000000'] text_area_padding = [i +'0'在text_area中为我]#['00110000','10011000','10001100','01100110','01000010','10101000','11011000','00000000'] HEX_STR =''.join(text_area_padding)#001100000000000000/11000000000000/1100000000000000/11000000000000/11000000000000/11000000000000/11000000000000/11000000000000/1100000000000000/11000000000000/11000000000000/11000000000000/11000000000000/11000000000000/11000000000000/11000000000000/1100000000000000/1100000000000000`join hex_int = hex(int(hex_str,2))[2:]。 Rstrip(“L”)#30988C6642A8D800 如果hex_int =='0': hex_int ='0000000000000000' 返回hex_int.def lm_hash(密码): #1.用户的密码被转换为大写,将密码转换为16位字符串,并且缺少14个字节将用于恢复恢复。 pass_hex = password.upper()。编码(“十六进制”)。 ljust(28,'0')#313233343536000000000000000000000000000000000000000000000000000000 打印(pass_hex) #2.密码的16个encyclop字符串分为两个7byte部分。每个部分被转换为位流,长度位为56位,长度不足以使用0来替换左侧的长度 left_str = pass_hex [:14]#31323334353600 right_str = pass_hex [14:]#000000000000 left_stream = bin(int_str,16)))。 LSTRIP('0B')。 RJUST(56,'0')#001100010011001001008101100/10100011001100100100011001001ce right_stream = bin(int(right_str,16))。 LSTRIP('0B')。 Rjust(56, '0')#000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #3。将7位作为一个组,加上每个组末尾的0,然后构成一个组 left_stream = group_just(7,left_stream)#30988c6642a8d800 right_stream = group_just(7,right_stream)#0000000000000000 #4.在步骤中获得的两组是DES加密为“kgs!@#$%”作为键。 left_lm = desencrypt('kgs!@#$%',left_stream)#44efce164ab921ca right_lm = desencrypt('kgs!@#$%',right_stream)#aad3b435b51404ee #5。两组加密被拼接在一起以获得最终的LM哈希值。 返回left_lm + right_lm如果__name__ =='__main__': hash = lm_hash(“123456”)nt hash.

此测试默认NT哈希

代码.123 - > 7ac777be44beae80b2ca783edd7f8df5

首先将用户密码转换为十六进制格式。十六进制格式的密码是unicode编码。使用MD4 Abstract算法进行Unicode编码数据的散列计算进口hashlib进口Binascii.print(binascii.hexlify(hashlib.new(“md4”,“code.123”.encode(“UTF-16LE”))。DIGEST()))

了解Windows散列生成方法后,您将继续回顾,Zhang San帐户密码登录到操作系统,操作系统加密用户输入的纯文本,然后在SAM中的哈希比较,如果登录成功,输入桌面,否则提示帐户密码不正确。

在这里,涉及另一个问题,但上面的是如何描述哈希对比度,Windows如何判断操作系统是?

LSA用户登录身份验证

LSA在本地计算机上处??理用户登录和身份验证。 LSA为(SSP)提供安全支持提供商身份验证包使用权。执行以下两种类型的身份验证之一:

交互式身份验证非交互式身份验证交互式身份验证

当提示用户提供登录信息时,身份验证是交互式的。在用户传递的地方安全权限(LSA) 吉娜登录用户界面时执行交互式身份验证。

用户输入帐户密码,Winlogon. 接收SAS并致电GINA显示用户界面并获取用户的登录数据(Winlogon,Gina并且网络提供商是交互式登录模型的一部分。交互式登录过程通常由Winlogon,Msgina.dll和网络提供商控制。要更改交互式登录过程,Msgina.dll自定义Gina DLL替换登录过程。的)获取登录数据后,Gina会打电话 lsalogonuser. 该函数被身份验证以验证用户,并指定必须用于评估登录数据的身份验证包。LSA调用指定的身份验证包,并将登录数据传递给它。身份验证包检查数据并确定身份验证是否成功。身份验证结果将从LSA返回Gina。Gina显示用户身份验证成功或失败,并将身份验证结果返回给WinLogon。如果身份验证成功,则用户的登录会话将启动并保存一组登录凭据(哈希)以供将来参考。Winlogon.

WinLogon维护Gina以确定所需认证操作使用的工作站状态。

在任何时候,Winlogon都是以下三个州之一:

登出登录状态工作站锁定状态注销状态

当Winlogon的状态为“注销”时,系统会提示用户标识自己并提供身份验证信息。如果用户提供了正确的用户帐户信息,并且没有限制来阻止此信息,则用户将登录,并且shell程序(例如Windows资源管理器)在应用程序桌面中执行。 WinLogon将更改为登录状态。

登录状态

登录WinLogon时,用户可以与shell交互,激活其他应用程序并完成工作。从登录状态开始,用户可以停止所有工作并注销,或锁定其工作站(以便所有工作)。如果用户决定注销,WinLogon将终止与登录会话关联的所有进程,并且将为其他用户提供工作站。如果用户决定锁定工作站,WinLogon将更改为工作站锁定状态。

工作站锁定状态

当WinLogon锁定在工作站中时,将显示一个安全桌面,直到用户通过提供与最初登录的相同的身份和认证信息来解锁工作站,或直到管理员强制执行它。如果Workstation已解锁,则会显示应用程序桌面,并且可以继续工作。但是,如果管理员通过提供管理员帐户解锁工作站)(而登录用户的进程将被终止,WinLogon将更改为记录状态。

非交互式身份验证

非交互式身份验证只能在交互式身份验证之后使用。在非交互式身份验证期间,用户不输入登录数据,但使用先前建立的凭据(哈希)。

当应用程序使用安全网络连接时执行非交互式身份验证,以使用安全支持提供程序接口(SSPI)建立安全网络连接

当用户连接到网络上的多台计算机而不重新输入每台计算机的登录信息时,非交互式身份验证是一种工作机制。

如果应用程序需要在远程计算机上打开安全文件夹,并且应用程序用户已登录到交互式计算机中的远程计算机,则应用程序不需要用户再次提供登录数据。相反,应用程序可以使用SSPI请求非交互式身份验证,以将先前建立的安全信息传送到安全包。

上面:客户端应用程序启动对SSPI的调用以请求经过身份验证的网络连接。 SSPI将客户端的请求传递给安全包以进行处理。安全软件包通过调用本地安全局(LSA)来对用户进行身份验证,并指定身份验证包并提供用户的现有凭据。

身份验证包

本地安全机构(LSA)在存储在注册表中的配置信息中加载身份验证包

登录过程使用身份验证包来分析登录数据,收集所需的登录数据,并通过添加新的身份验证包来分析数据以将新登录过程分析到系统。

身份验证程序包负责以下任务:

分析登录数据以确定是否允许安全实体登录系统。创建新的登录会话,并通过身份验证创建一个的登录标识符(LUID)。安全信息将传递给主体的安全令牌的LSA。

登录会话

登录会话是在用户身份验证成功时开始的计算会话,并且在用户被解雇系统时结束。

用户成功传递身份验证后,身份验证程序包将创建登录会话并将信息返回到本地安全局(LSA)以为新用户创建令牌。此令牌包括名为登录ID的登录会话(LUID)的本地标识符。

创建令牌后,登录会话的参考计数将递增。如果创建令牌的副本,则会创建模拟或令牌的其他副本,递增模拟或其他用途。由于令牌完成以来,删除令牌的副本,将减少登录会话的参考数。当参考计数达到零时,将删除登录会话。

登录标识符

识别登录会话的LUID。登录ID有效,直到用户注销。当计算机运行时,登录ID是的,但在启动计算机时,将重置登录ID。从Access令牌中检索登录ID。

当用户尝试悬停在,LSA将调用认证包以确定是否允许用户登录。

例如:MSV1_0是使用Microsoft Windows操作系统安装的身份验证程序包。 msv1_0包接受用户名和哈希密码。它在SAM数据库中找到了一个用户名和哈希密码组。如果登录数据与存储的凭据匹配,则身份验证程序包将允许登录成功。

身份验证包负责为主体创建新的LSA登录会话,并为标识登录会话分配??的登录标识符。认证包可以将凭证信息与登录会话相关联用于后续认证请求。例如,Microsoft提供了MSV1_0 身份验证包() 将用户帐户名称和用户密码的哈希关联到每个登录会话。

身份验证包还提供了一组安全标识符(SID)和应用于在LSA中创建的安全令牌的其他信息。此令牌表示用于访问Windows操作的主体的安全上下文。

创建登录会话并将其与主题相关联,代表身体的后续认证请求的处理方法与初始登录不同。身份验证包不会创建新的登录会话,也不返回创建令牌的信息。当访问请求所需的信息超过初始登录时,它将获取补充凭据,调用其他身份验证包。

上面提到的:Exporer的儿童进程?用户用户?什么是sid?许可信息?

Exporer.exe:它是一个Windows程序管理器或文件资源管理器,用于管理Windows图形案例,包括桌面和文件管理。用户:当前登录用户代码SID:当前用户代码标识的ID可以看出许可信息,即在完整的访问令牌中未启用资源管理器。 (标志:残疾人旗帜)

在这里,您可以查看以前的张思的登录操作:

Zhang San输入帐户密码,WinLogn致电Gina接受帐户密码,Gina将调用LsalogonUser函数,然后指定身份验证包,将登录数据传递给身份验证包,身份验证包确定登录的成功失败,以及身份验证结果将是LSA返回Gina,Gina背部标识结果返回WinLogon。WinLogon状态从记录状态转换为登录状态。启用桌面程序时,系统将创建一个访问令牌(不完整令牌),并且用户执行的每个进程都将具有此访问令牌。。操作系统在不完整的令牌中启用Explorer.exe进程,然后jou san进入Windows桌面,然后发布启用的进程/对象,例如:进程接收器或CMD将在不完整的令牌中启用。

例如要查看令牌问题:

直接打开CMD,执行Whoami / All.使用Administrator权限启用CMD并执行:Whoami / All.

比较两个CMDS的过程信息:

拒绝,CMD由管理员身份验证运行,人口提示是多少?那么操作系统如何控制?这是两个问题在这里:

访问控制模型(访问控制模型)用户帐户控制访问控制模型

访问控制模型(访问控制模型)

始终提及进程查看工具Processhacker.,获取流程信息:

Explorer.exe.处理信息用户:DESKTOP-VCBQ663\codeSID:S-1-5-21-4177939220-3106167579-508168549-508168540-1003许可信息

我们需要了解为什么ProceShiker进程是Exporer的子进程?用户用户?什么是sid?许可信息? Tokenview中的进程的令牌是什么?

这要求我们了解什么是:访问控制模型(访问控制模型)

基本组成部分访问令牌访问令牌

当用户登录系统时,系统会检查用户的帐户名称和密码。如果登录成功,系统将创建访问令牌,并且用户执行的每个进程将具有此访问令牌。。令牌包含安全标识符,用于标识用户的帐户和用户所属的任何帐户组。令牌还包含用户或用户组用户的权限列表。当流程尝试访问需要权限的安全对象或系统任务时,系统使用此令牌来识别关联的用户。

安全描述符安全描述符

在创建安全对象时,系统为其分配安全描述符,其中包含创建者指定的安全信息。如果未指定安全信息,则会为其默认分配安全信息。在安全说明符号中,您还可以包含访问控制列表(访问控制列表)

访问令牌访问令牌

当线程交互式地交互式或尝试执行需要特权的系统任务时,系统使用访问令牌来识别用户。令牌包含以下信息:

用户帐户(SID)安全标识符用户是成员之一的ID确定当前登录会话的登录SID用户或用户组具有权限列表所有者sid.小组的SID用户在指定安全描述符时创建安全对象,而不指定系统使用的默认DACL。进入源令牌是主令牌或模拟标记限制SID可选列表当前的模拟水平其他统计数据

每个进程都有一个主机来描述与过程相关联的用户帐户的安全上下文(当前有效性或规则)。默认情况下,当进程与安全对象交互时,系统将使用主标记。此外,线程可以模拟客户端帐户。仿真允许使用安全对象与安全对象交互的线程。模拟客户端的线程具有主令牌和模拟标记。

安全描述符

安全描述符包含与安全对象关联的安全信息。安全描述符包含安全描述符结构及其相关的安全信息。安全描述符可以包含以下安全信息:

对象所有者和SID(安全标识符)用于指定允许或拒绝特定用户或组访问权限的DACL。指定访问尝试类型的SACL以生成审核记录。一组控制位限制了其各自成员的安全描述符或含义。安全标识符SID.

SID(安全标识符)是用于识别受托人的可变长度的值。每个帐户都有一个由代理商发布的独特SID。当用户登录时,系统从数据库中检索用户的SID,并将其放在用户的访问令牌中。该系统使用Access令牌中的SID来识别与Windows认证的所有后续交互。当SID用作用户或组的标识时,它不能用于识别其他用户或组。

用于识别所有者和主组的安全描述符在访问控制项中,识别允许,拒绝或审查其访问权限的受托人在访问令牌中,确定用户和用户所属的组。

S-1-5-21-4177939220-3106167579-508168549-508168540-1003

零件:

修订后的水平是1标识符发布代理值为5(安全_ NT _发行代理)域标识符(21-4177939220-3106167579-508168540)摆脱(1003)访问控制列表ACL

(ACL)适用于对象的安全列表。 (对象可以是带有安全描述符的文件,进程,事件或任何其他对象。)访问控制列表(ACL)中的条目是访问控制(ACE)。

访问控制表描述了每个对象的用户或系统进程的访问控制权限。要确定对象的所有访问控制,您需要搜索整个访问控制表以查找相应的访问。

有两种类型的访问控制列表:

免费访问控制列表(DACL):用于识别允许或拒绝访问的用户和组系统访问控制列表(SACL):用于控制如何查看访问权限

公共访问控制列表:

文件系统ACL

Active Directory ACL

网络ACL

查看文件ACL.

Get-Acl -Path .\mimikatz.exe | format-list

访问控制项ACE

每个高级特权都是每个访问控制项(ACE)

DACL.

当进程尝试访问安全对象时,系统将检查对象的DACL中的ace以确定是否授予对对象的访问。

如果对象没有DACL,系统会授予对每个人的完全访问权限。如果对象的DACL没有ACE,则系统将拒象的所有对象,因为DACL不允许任何访问权限。如果DACL具有允许访问一组有限用户或组的ACL,则系统隐式拒绝了AES中不包含的所有特定者。

查看文件DACL列表

如果对象的DACL具有ACE系统,请按顺序检查ACE,直到允许所有请求的一个或多个ace,或直到拒绝任何请求的访问权限。

下图显示了对象的DACL如何允许在拒绝访问另一个线程的访问时访问线程。

对于线程A,系统读取ACE 1并立即拒绝访问,因为拒绝ACE的用户适用于线程访问令牌。在这种情况下,系统不检查ACE 2和3.对于线程B,ACE 1不适用,因此系统继续到ACE 2(允许写访问)和ACE 3(允许读取和执行访问)。

如果ACE授予对组的读访问,则另一个ACE授予用户作为组成员将权限写入用户,然后用户可以同时读取和写入访问。

通过tokenview查看DACL和SACL

SACL.

SACL应用于计算机或文件共享的每个文件和文件夹或注册表项,作为防止未检测到的访问的安全措施。

UAC.

用户帐户控制(UAC)有助于防止恶意软件损坏计算机,帮助组织部署易于管理的桌面。使用UAC,应用程序和任务将始终在非管理员帐户的安全上下文中运行,除非管理员具有管理员级别的专用访问系统权限。 UAC块自动安装未经授权的应用程序并防止意外更改系统设置。

UAC允许所有用户使用标准用户帐户登录其计算机。使用标准用户令牌的进程将使用对标准用户的访问执行任务。例如,Windows资源管理器将自动继承标准用户级别权限。此外,还使用标准用户权限组使用Windows资源管理器启动(例如,双击快捷方式)的任何应用程序。许多应用程序(包括在操作系统中的应用程序)旨在以这种方式正常运行。

必须提示要求管理员访问令牌的每个应用程序进行同意。一个例外是父进程与子进程之间的关系。子进程从父进程继承用户的访问令牌。但是,父进程和子进程必须具有相同的完整性级别。 Windows 10标记的完整性级别以保护此过程。完整性水平是信任的衡量标准。 “高”Integrity应用程序是执行诸如系统数据(例如磁盘分区应用程序)的任务的应用程序,并且“低”完整性应用程序是执行可能损害操作系统的任务(例如Web浏览器)的应用程序。程序。较低的完整性无法修改具有更高完整性水平的应用程序中的数据。当标准用户尝试运行需要管理员访问令牌的应用程序时,UAC要求用户提供有效的管理员凭据。

以下是区分高完整性令牌和低完整性令牌

管理员登录过程和标准用户登录过程之间的差异如下所示:

在审阅之前,Zhang SAN使用代码用户登录计算机,非管理员与管理员之间的差异启动cmd.exe(是否是UAC)触发。

在这里,您需要了解管理员和非管理员之间的区别,以及500个特权用户。

系统中有三个用户。

管理员(普通用户)管理员(操作系统默认管理员,500权限)代码(管理员用户)

非管理员

当非管理员用户尝试执行需要用户管理访问令牌的任务时,将显示凭据提示。管理员是必需的。

在这里添加新用户行政请勿授予其管理员权限。NET用户admin admin @ 123 /添加

如果将CMD程序作为管理员启用,则需要提供管理员的帐户密码。

行政人员

管理员登录后,您将为用户创建两个单独的访问令牌:标准用户访问令牌和管理员访问令牌。标准用户访问令牌包含与管理员访问令牌相同的用户特定信息,Windows权限和SID。标准用户访问令牌用于在标准用户应用程序中启动它们不是(管理)。然后,使用标准用户访问令牌显示桌面(Explorer.exe)。 Explorer.exe是一种过程,所有其他用户从其启动到访问令牌时。因此,除非用户同意或通过使用完整的管理访问令牌批准应用程序,否则所有应用程序都作为标准用户运行。

500管理员登录后,如果需要将CMD作为管理员启用CMD,则默认设置低端令牌(标准用户),则需要UAC认证。

500个特权用户

在Windwos中,默认管理员RID为500行政人员。那么为什么500用户更特别?

在登陆系统之后,RID为500个用户,默认分配是一个完整的令牌,不触发UAC认证

例如,CMD直接打开,它将直接打开,不会提示用户帐户控制弹出窗口。如果右键单击Zhang SAN的用户代码以启用CMD作为管理员,将提示用户帐户控制弹出窗口。

查看系统中的SID信息WMIC UserAccount Name =“管理员”列表全/格式:列表

UAC架构

在UAC认证系统中,我们需要知道的四个级别的UAC:高 - >低

民意调查程序尝试安装软件或更改计算机时通知您。更改自定义设置时的Windows通知。冻结其他任务,直到回复。仅在程序尝试更改计算机时才通知程序尝试安装软件或更改计算机时通知您。更改设置时,不进行Windows通知。冻结其他任务,直到回复。仅在程序尝试更改计算机时才通知我(我的桌面设备) 将要:程序尝试安装软件或更改计算机时通知您。更改设置时,不进行Windows通知。在响应之前不要冻结其他任务。切勿通知(禁用UAC提示) 将要:当程序尝试安装软件或更改计算机时,请勿通知您。更改设置时,不进行Windows通知。在响应之前不要冻结其他任务。

默认情况下,第(低高,1,2,3,4):仅在程序尝试更改计算机时才通知

为了更好地了解UAC身份验证系统的每个组件,请参阅下表:

组件描述用户如果更改文件系统或注册表,则用户执行权限,然后调用虚拟化。所有其他操作调用Shellexecute。ShellexecuteShellexecute调用CreateProcess。 CreateProcess Error_Elevation_Required的Shellexecute错误。如果收到错误,Shellexecute将调用应用程序信息服务以在显示促销提示时尝试执行所请求的任务。CreateProcess如果应用程序需要增加,CreateProcess将拒绝调用,Error_elevation_required。系统应用程序信息服务有助于启动需要一个或多个升级权限或用户权限的应用程序运行的应用程序,例如需要更高完整性级别的本地管理任务和应用程序。应用程序信息服务使用新进程来帮助启动此类应用程序,通过为具有完全访问令牌(如果需要升级)和((专门对组策略)应用程序)的应用程序来帮助启动此类应用程序)用户同意这。安装ActiveX安装如果不是ActiveX,系统将检查UAC滑块级别。如果ActiveX,请选择“用户帐户”控制:提示提取组策略设置 时间 切换到安全桌面。检查UAC滑块级别UAC有一个从四个通知级别中选择的滑块。民意调查 将:当程序尝试安装软件或更改计算机时通知您。更改自定义设置时的Windows通知。冻结其他任务,直到回复。建议安装新软件或访问不熟悉的网站。 仅在程序尝试更改计算机时才通知 我:当程序试图安装软件或更改计算机时,请通知您。更改设置时,不进行Windows通知。冻结其他任务,直到回复。建议不要安装申请或访问不熟悉的网站。 仅在程序尝试更改计算机时才通知我(我的桌面设备) 将:当程序尝试安装软件或更改计算机时通知您。更改设置时,不进行Windows通知。在响应之前不要冻结其他任务。不建议使用。仅当您花费很长时间才能使桌面上的桌面变暗时才选择此选项。 切勿通知(禁用UAC提示) Will:如果程序试图安装软件或更改计算机时,请勿通知您。更改设置时,不进行Windows通知。在响应之前不要冻结其他任务。由于安全问题,不建议这样做。启用安全性桌面选择 用户帐户控制:提示时提示提高策略设置 切换到安全桌面:如果启用了安全桌面,则所有请求将转到安全桌面,而不考虑管理员和标准用户的提示行为策略设置。如果未启用安全桌面,则所有请求将转到交互式用户的桌面,并使用管理员和标准用户设置每个用户。CreateProcessCreateProcess调用AppCompat,Fusion和安装程序来评估应用程序是否需要改进。然后选中该文件以确定其请求的执行级别,该请求存储在文件的应用程序列表中。如果列表中指定的请求执行级别与访问令牌不匹配,则CreateProcess将失败并错误到Shellexecute(ERROR_ELEVATION_REQUIRED)。appcompatappcompat数据库存储应用程序应用程序兼容性修复条目中的信息。FusionFusion数据日志保存信息描述了应用程序的信息。更新列表体系结构以添加新的请求执行级别字段。安装程序检测安装程序检测到可检测的安装程序文件,这有助于防止用户未知的情况。核心虚拟化虚拟化技术可确保不规性应用程序不在无法确定的方式运行或失败。 UAC还提供文件和注册表虚拟化和记录写入受保护区域的应用程序。每个用户文件的文件系统和注册表和注册表虚拟化将每个计算机注册表和文件写入请求重定向到每个用户位置的等效位置。读取请求首先重定向到每个用户位置的虚拟化,然后重定向到每个计算机位置。

如果张圣想通过令登录其他机器?

WMIC / Node:IP OS获取名称

WMIC / node:IP /用户:管理员/密码:admin @ 123操作系统获取名称

NTLM身份验证

高版本的Windows都是NTLM哈希,那么如何使用CMD登录的机器?

NTLM身份验证是一种类型挑战/反应 验证机制由三条消息组成:通常称为1类型1(协商),类型2(CHASE),以及类型3(身份验证)。

共三个包装

WMIC / Node:IP OS获取名称

这里,可以看出,如果根据上面的令执行,则默认第三包(Type3是当前用户的身份信息)

WMIC / node:IP /用户:管理员/密码:admin @ 123操作系统获取名称

如果指定了帐户密码,则Type3携带指定的帐户密码信息。

身份验证过程(类型1)客户端向服务器发送类型1(协商)消息,主要包含客户端支持和服务器请求的功能列表。(类型2)服务器使用类型2消息(挑战)响应,其中包含服务器支持和同意的功能列表。但是,最重要的是,它包含服务器生成的挑战。(类型3)客户端用类型3消息(身份验证)重新回复该问题。在用户在Type2中的挑战后,使用用户哈希加密与挑战的响应以获取响应,用户名,Challeng到服务器。消息中的响应是最关键的部分,因为他们已经证明了客户端用户已经知道帐户密码。net-ntlm-hash

在第二步中,在Type3响应中的Type3响应中获得,NTLM散列,NTLM散列,NTLM散列,NTLM散列,NTLM散列,NTLM散列V1和NT-NTLM散列V1和NT-NTLM散列v2。 。

net-ntlm hash v1的格式是:

用户名:: hostname:lm响应:ntlm响应:挑战

net-ntlm hash v2格式:

用户名::域名:挑战:HMAC-MD5:BLOBV2是16位挑战,而V1是8位挑战V1是一个16字节的NTLM散列筛网到21个字节,然后分为三组,每组7位,三组键,加密服务器的挑战。连接这三个密文值以获取响应。

V2是加密算法:

unicode(targetName“字段中的Unicode的身份验证目标指定的域或服务器名称)。注意,用户名将转换为大写,身份验证目标区分大小写,并且必须匹配显示的情况“targetName”字段。使用16字节NTLM Hash作为获取值的键。建立一个blob信息使用16字节NTLMV2散列作为键,请加密值(从2型的Blob挑战)。获得16字节NTPROPTR.。NTPROPTRSTR拼接到BLOB以形成响应。

于选择哪个版本的响应lmcompatibilityliellylevel.决定。

结用户名那领域那挑战那NTPROPTR.那ntmlv2响应获取最终Net-NTML哈希哈希

挑战是响应的第二步:ntlmssp.ntlmservhalllengeNTPROFPRR是:NTLMSSP.ntlmv2_responsentmlv2响应是:这不是全部ntmlv2响应需要出去NTPROPTR.部分。

用户名::域名:挑战:HMAC-MD5:BLOB

代码::桌面VCBQ663 :: 0dc777436569ba02 :: 8b40cef49d75eb381e0e839c9d67bf33:01010000000000007ee5f5e88999d701da61be980d5ef0120000000002001e00570049004e002d00390035004c004400330037004d004c0034004100390001001e00570049004e002d00390035004c004400330037004d004c0034004100390004001e00570049004e002d00390035004c004400330037004d004c0034004100390003001e00570049004e002d00390035004c004400330037004d004c00340041003900070008007ee5f5e88999d70106000400020000000800300030000000000000000100000000200000646d9a6112ce450b82af68bbb2676ad7e6b2b63e9014ffcad271bbe2d443cd2d0a0010000000000000000000000000000000000009002a00520050004300530053002f003100390032002e003100360038002e003100300031002e003100370030000000000000000000

请参阅:

https://docs.microsof网站站点" rel="nofollow" />