基本概念
账户安全
账号信息存储(SAM)
SAM:security account manager
SAM对账户的管理是通过安全标识进行的,每个账户的安全标识是唯一的,账户被创建时,安全标识就会产生。
SAM文件是windows的一个账户数据库,存储了登录名、密码等信息。该文件是加密存储的,只有system权限可以访问
路径:
1.C:\Windows\System32\config\SAM
2.C:\Windows\repair\SAM(SAM备份文件,当上面路径下的SAM文件出问题了可用该文件进行修复)
SAM文件使用LM或NTLM进行加密,由于LM加密强度低,Windows操作系统开始使用NTLM,并逐渐移除LM。
各个Windows版本的加密使用:
- Windows NT 4.0 和早期版本:
- SAM 文件使用 LAN Manager (LM) 哈希算法。
- Windows 2000 和 Windows XP(包括 Service Pack 2 之前的版本):
- SAM 文件默认使用 LM 哈希算法。
- 但是,可以通过配置禁用 LM 哈希算法,使其只使用 NTLM 哈希算法。
- Windows XP Service Pack 2 和之后的版本,以及 Windows Server 2003:
- SAM 文件默认使用 NTLM 哈希算法。
- LAN Manager (LM) 哈希算法仍然存在于系统中,但默认情况下禁用。
- Windows Vista 和之后的版本:
- SAM 文件默认使用 NTLMv2 哈希算法。
- LAN Manager (LM) 哈希算法已被完全移除。
用户登录
Winlogon
负责管理登录相关安全性工作(用户登录、注销,启动用户shell,输入口令,更改口令,锁定解锁工作站)的组件。其要保证其安全性操作对其他进程不可见,以免其他进程取得登录安全信息。
GINA
GINA:Graphical Identification and Authentication
图形化识别和验证,登录的身份验证是在这里进行。GINA DLL可以替换,可以自己开放GINA DLL,默认是MSGINA.dll
LSA
LSA:Local Security Authority
本地安全机构
LSA是一个管理系统交互式登录的核心组件,当用户在登录界面输入账号和密码,LSA会把这些凭据给SAM,LSA把凭据与SAM数据库存储的凭据进行对比,找到了相应的账号,SAM会把该账户的SID以及其组SID返回给LSA
LSA会生成一个访问令牌(Access Tocken),其包含了账户SID以及其组SID对应的权限。登录成功凭据会被存储在,Isass.exe进程(加密存储),所以可以通过Isaa.exe来获取凭据
LSA Protection
这是一种LSA保护机制,防止Isaa.exe的内存读取和注入。设置了LSA Protection机制后,mimikatz会失效。不过mimikatz是支持绕过LSA Protection的。
远程登录鉴别协议
SMB(Server Message Block):口令明文传输
SMB是在计算机网络上用于共享文件、打印机、其他网络资源的一种协议
它可以用于访问远程资源
LM(LAN Manager):口令哈希,但易破解
NTLM(BT LAN Manager):加密强度高
LM和NTLM是身份验证协议,其hash算法用于加密用户信息
Kerberos
计算机网络认证协议,用于非安全网络的身份认证
访问控制-ACL(Access Control List)
安全描述符(SD):
1.安全标识符:SID
2.访问控制项:ACE
3.访问控制列表:DACL、SACL
DACL是对对象的访问权限进行定义,比如对文件、文件夹、注册表键的读取、写入、执行等操作的权限
比如某文件夹的属性,安全选项:
上面图片就是一个DACL,由一些DACE组成
SACL是用于审核对对象的访问,也就是定义需要监视的事件类型。比如成功/失败的访问、修改。满足SACL的事件会被系统记录到安全日志中。
上述图基础上点击高级,审核显示的就是SACL,由SACE组成(没有添加ACE,也就是写入日志的事件条件):
点击添加:
用户账户控制-UAC(User Account Control)
UAC用于防止恶意程序对系统的更改,在没有管理员授权的情况下,系统会阻止程序的自动安装等操作。
具体到实例就是,平时你安装软件时,会弹出窗口,问你是否允许某程序对计算机的更改。
注册表
注册表是一个层次结构的数据库,存储系统以及应用程序的配置信息
详细:https://www.cnblogs.com/lcxblogs/p/13444855.html
注册表五根键:
- HKEY_CLASSES_ROOT(HKCR):这个根键包含文件关联和注册的COM组件信息。它定义了文件类型和相应的默认程序,以及COM对象的注册信息。
- HKEY_CURRENT_USER(HKCU):这个根键存储当前登录用户的配置信息。它包含了用户的桌面设置、壁纸、文件夹选项等个性化设置,以及用户在应用程序中保存的配置信息。
- HKEY_LOCAL_MACHINE(HKLM):这个根键存储计算机的全局配置信息。它包含了操作系统的设置、硬件驱动程序、安装的软件等全局性的配置数据。
- HKEY_USERS(HKU):这个根键包含所有用户配置信息的集合。每个用户在登录时都会有一个相应的子键,用于存储该用户的个性化设置和应用程序的配置信息。
- HKEY_CURRENT_CONFIG(HKCC):这个根键包含了当前硬件配置和系统配置的信息。它存储了计算机启动时所使用的硬件配置和相应的系统设置。