Windows Server入门系列29 Hash加密与SAM数据库
在对用户账户管理的过程中,一个核心任务是如何管理好用户的密码。如果某个用户使用用户账户和密码成功通过了系统的登录认证,那么他之后执行的所有操作都自动具有该用户的权限,如果这个用户属于管理员组,那么他就对整个系统具有完全控制权限。因而,管理好用户账户以及密码是保证系统安全的第一道屏障。
在本篇以及之后的几篇博文中将介绍一系列与用户密码相关的知识,以使大家能够对之有更深一步的了解。
一、 Hash加密算法
Hash是一种在网络安全领域被广泛使用的加密算法。Hash算法,一般被翻译为散列算法,也可直接称之为哈希算法。这种算法非常特殊,它可以将一个任意大小的数据经过散列运算之后,得到一个固定长度的数值(Hash值)。比如我们将一个大小只有10B的文件和一个大小为5GB的文件,分别用Hash算法进行加密,都将得到一个长度为128位或160位的二进制数的Hash值。
另外,Hash算法还有一个特点,那就是散列运算的过程是不可逆的,即我们无法通过Hash值来推导出运算之前的原始数据。
Hash算法的特征归纳起来主要是以下四点:
定长输出:无论原始数据多大,其结果大小一样。
不可逆:无法根据加密后的密文,还原原始数据
输入一样,输出必定一样。
雪崩效应:输入微小改变,将引起结果巨大改变。
前两个特点刚才已经介绍过了,下面我们通过一个具体的操作来体会一下后两个特点,这里要用到一个名为MD5Calculator的小软件,它可以来对指定的文件进行MD5加密。
MD5加密是Hash加密算法的一种具体应用,除了MD5之外,还有一种被广泛采用的同样基于Hash加密的加密算法——SHA1。MD5和SHA1的主要区别是它们所生成的Hash值的长短不同,MD5加密生成的Hash值长度为128位,SHA1加密生成的Hash值长度为160位。
下面随意找一个文件,比如一个word文档,用它来生成Hash值。注意,下图这个文档中最后没有句号。
用软件MD5Calculator对文件进行加密运算,生成Hash值,将其保存下来。
把原先的文件修改一下,在末尾增加一个句号。然后重新计算生成Hash值。
对比可以发现,前后两次的Hash值差别非常大,但是Hash值的长度都是一样的,都是一个32位的十六进制数(即128位的二进制数)。
Hash加密在网络安全领域应用的非常广泛,像在Windows系统以及Linux系统中,都是采用了Hash算法来对用户的密码进行加密。
二、 SAM数据库
在Windows系统中,对用户账户的安全管理采用了SAM(Security Account Manager,安全账号管理)机制,用户账户以及密码经过Hash加密之后,都保存在SAM数据库中。
SAM数据库保存在C:\WINDOWS\system32\config\SAM文件中,当用户登录系统时,首先就要与SAM文件中存放的账户信息进行对比,验证通过方可登录。系统对SAM文件提供了保护机制,无法将其复制或是删除,也无法直接读取其中的内容。
SAM数据库中存放的用户密码信息采用了两种不同的加密机制。对于Windows9x系统,采用的是LM口令散列,对于Windows 2000之后的系统,采用的是NTLM口令散列。LM和NTLM都是基于Hash加密,但是它们的安全机制和安全强度存在差别,LM口令散列的安全性相对比较差。尽管现在已很少有人使用Windows9x系统,但为了保持向后兼容性,默认情况下,系统仍会将用户密码分别用这两种机制加密后存放在SAM数据库里。由于LM使用的加密机制比较脆弱,因而这就为用户密码破解方面带来了一定的安全隐患。
Windows Server入门系列29 Hash加密与SAM数据库相关推荐
- Windows Server入门系列38 访问网络共享
在工作组模式下访问共享资源,主要有三种方法:网上邻居.UNC路径.映射网络驱动器. 注意,Windows Server 2003/2008系统不允许空密码访问,必须为管理员用户administrato ...
- Windows Server入门系列之三 硬盘分区
一. 硬盘分区的相关知识 1. 硬盘的分区类型硬盘分区包括主分区.扩展分区.逻辑分区三种不同类型,在"磁盘管理"工具中可以清楚的查看到不同的分区类型. 主分区是包含有操作系统启动文 ...
- Windows Server入门系列32 利用SamInside获取系统密码Hash值
如果希望破解远程系统的用户密码,那么就需要首先从远程系统的SAM文件中读取出密码Hash值,然后在本地通过LC5之类的软件进行破解. 获取系统密码Hash值的软件很多,比如GetHashes和SamI ...
- Windows Server入门系列之十六 端口、连接与端口扫描
端口与连接是网络中两个非常基础的概念,本篇博文将介绍相关的一些基础知识. 1.端口 我们在学习网络技术时经常会提到80端口.21端口等,这些端口到底指的是什么呢?要注意,它们可不是像路由器或交换机上的 ...
- Windows Server入门系列34 用户配置文件
Windows是一个多用户操作系统,当以某个用户的身份第一次在系统中登录时,系统会自动为用户创建相应的用户配置文件.用户配置文件其实是一个文件夹,对于WinXP/2003系统,用户配置文件夹位于&qu ...
- Windows Server入门系列之十 注册表的基本使用
注册表是Windows系统中非常重要的系统工具,它其实是Windows的核心数据库,直接控制着Windows的启动.硬件驱动程序的装载以及一些应用程序的运行,对系统的运行起着至关重要的作用.注册表的功 ...
- Windows Server入门系列25 系统内置用户和组
在计算机网络中,计算机和网络的服务对象是用户,而用户则是通过账户来访问计算机或网络上的资源,所以用户也就是账户,所谓的用户管理就是对用户账户的管理.组是用户账户的集合,一个组中的成员具有相同的属性,管 ...
- windows server 2008 系列讲座三部曲--在线讲座预告
这里预告的事webcast方式的在线讲座,以演示为主,强调动手,希望能为广大IT同仁提供便捷的帮助. windows server 2008 系列讲座三部曲帮助您直达windows server 20 ...
- SAP PM入门系列29 - IW65 Display Activities
SAP PM入门系列29 - IW65 Display Activities 事务代码 IW65是SAP PM模块里的一个标准报表.这个报表用于查询PM 维修通知单里的Activities. 不过,这 ...
最新文章
- nvGRAPH API参考分析(二)
- 我看过且非常喜欢的《电影》和书
- vsftpd登录报530
- [Leedcode][JAVA][第9题][回文数][数学法]
- 苹果新iPad Pro代工订单或将推升富士康4月份营收
- Java GUI简单点名器
- 守护冬奥安全 从北京网络安全大会开始
- 哈希加密matlab,图像加密算法之基于Hash函数和多混沌系统的加密
- 加速度传感器和角度传感器
- 南京、无锡、苏州三地部分it岗待遇简况
- 【渗透测试笔记】之【免杀工具——ScareCrow】
- nginx实现ip138查询当前ip功能,配置文件实现接口
- 荣耀路由器w831刷linux,华为荣耀WS831路由器如何设置
- java鬼吹灯搬山法杖_鬼吹灯昆仑神宫技能搭配攻略之搬山职业篇
- Python 获取优惠券淘宝口令
- 松下A6伺服驱动器MADLN15SE与欧姆龙PLC的连接和试运行
- 一般测试测几轮?每轮测什么?
- 微软杀毒软件 MSE (Microsoft Security Essentials) 官方下载地址
- kafka和zookeeper下载地址和安装方法和JAVA消费者方法
- Navicat for MySQL的1577错误解决