1、在开始按钮上右键选择运行。
2、输入cmd,按回车键或点确定按钮打开命令提示符。
3、输入:net user
4、命令可以查看系统中所有的用户。
5、net user后面接用户名,可以显示用户的详细信息。
6、要查看用户的SID等比较专业的信息,可以通过wmic命令来完成。输入wmic进入交互模式。
7、之后通过useraccount子命令查看所有用户信息。转-Windows---sid的说明和更改 转-DTS参数传递示例
转-如何恢复sid 2010-05-31 14:49:28| 分类: 工作点滴 | 标签: |字号大
中
小 订阅
XP系统EFS加密破解的一线希望
如果某个用户把自己的登录帐户删除,那么其他用户将无法访问其EFS加密文件。更可恶的是,一旦公司里的某个用户心怀怨气,恶意加密了本属于别的用户的重要文件,将会导致严重问题。一般情况下,这些EFS加密文件已经被判了死刑,但是实际上只要满足以下条件的话,我们还是可以在末日来临之前打开逃生的天窗:
(1) 必须知道该被删帐户的密码。
(2) 该被删帐户的配置文件必须存在。如果使用“本地用户和组”管理单元删除帐户,则配置文件保留的机会很大,如果使用“用户帐户”控制面板删除帐户,则有一半机会保留配置文件。如果配置文件不幸被删,则只能祈祷可以借助Easy Recovery之类的数据恢复工具进行恢复。
可能有些朋友会觉得这两个条件比较苛刻,此处卖个关子先……
EFS加密原理
大家知道,EFS加密实际上综合了对称加密和不对称加密:
(1) 随机生成一个文件加密密钥(叫做FEK),用来加密和解密文件。
(2) 这个FEK会被当前帐户的公钥进行加密,加密后的FEK副本保存在文件$EFS属性的DDF字段里。
(3) 要想解密文件,首先必须用当前用户的私钥去解密FEK,然后用FEK去解密文件。
看到这里,似乎EFS的脉络已经很清晰,其实不然,这样还不足于确保EFS的安全性。系统还会对EFS添加两层保护措施:
(1) Windows会用64字节的主密钥(Master Key)对私钥进行加密,加密后的私钥保存在以下文件夹:
%UserProfile%\Application Data\Microsoft\Crypto\RSA\SID
提示 Windows系统里的各种私有密钥,都用相应的主密钥进行加密。Windows Vista的BitLocker加密,也用其主密钥对FVEK(全卷加密密钥)进行加密。
(2) 为了保护主密钥,系统会对主密钥本身进行加密(使用的密钥由帐户密码派生而来),加密后的主密钥保存在以下文件夹:
%UserProfile%\Application Data\Microsoft\Protect\SID
整个EFS加密的密钥架构如图1所示。
图1
提示 EFS密钥的结构部分,参考自《Windows Internals 4th》的第12章。
回到“任务描述”部分所述的两个条件,现在我们应该明白原因了:
(1) 必须知道该被删帐户的密码:没有帐户密码,就无法解密主密钥。因为其加密密钥是由帐户密码派生而来的。
提示 难怪Windows XP和2000不同,管理员重设帐户密码,也不能解密EFS文件。
(2) 该被删帐户的配置文件必须存在:加密后的私钥和主密钥(还包括证书和公钥),都保存在配置文件里,所以配置文件万万不可丢失,否则就会彻底“鬼子不能进村”。重装系统后,原来的配置文件肯定被删,这时候当然不可能恢复EFS文件。
可能有用户会想,只需新建一个同名的用户帐户,然后把原来配置文件复制给新帐户,不就可以解密EFS文件了?原因在于帐户的SID,因为新建用户的SID不可能和老帐户一样,所以常规方法是不可能奏效的。我们必须另辟蹊径,让系统再造一个完全一样的SID!
恢复步骤
为了方便描述,这里假设被删帐户的用户名为Admin,Windows安装在C盘。
1.再造SID
注意 本方法取自“声明”部分提到的那篇文章。
首先确认被删帐户的SID,这里可以进入以下文件夹:
C:\Documents and Settings\Admin\Application Data\Microsoft\Crypto\RSA
在其下应该有一个以该被删帐户的SID为名的文件夹,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID为1004)
现在我们要设法让新建帐户同样具有1004的RID,这样就能达到目的。
在Windows中,下一个新建帐户所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项的F键值所确定的。F键值是二进制类型的数据,在偏移量0048处的四个字节,定义下一个帐户的RID。那么也就是说,只需要修改0048处的四个字节,就能达到目的(让新建帐户获得1004的RID)
确认好以后,别忘记把Admin帐户的配置文件转移到别的地方!
(1) 默认情况下,只有system帐户才有权限访问HKEY_LOCAL_MACHINE\SAM,这里在CMD命令提示符窗口,运行以下命令,以system帐户身份打开注册表编辑器:
pexec -i -d -s %windir%\regeditexe
提示 可以在以下网站下载psexec:
>计算机中常说的“SID”全程叫做“安全标识符SID”。
安全标识符SID:
SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。
作用:
用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。
访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。1、禁止 Windows 服务器开机磁盘自检
首先 :运行—>cmd
执行命令:chkntfs/t:0
2、Windows 服务器系统重置
1)为什么要进行 Sysprep
当你从一台主机克隆出多个 PC,或者使用同一虚拟机母板克隆出多台 VM 之后,其 SID 势必会相同,在加入域时会造成安全主体的识别混乱和加域失败等。对于同一局域网中,存在相同 SID 的计算机或账户也可能会导致很多奇怪的问题,特别是权限和安全方面的问题。以上原理说清楚之后,大家便知道为什么要进行 Windows 服务器 Sysprep *** 作了。
不可回避的是,也有很多 IT 管理员采用了各种克隆技术来快速批量部署数十、数百甚至上千台的 PC 或服务器,这种以映像方式将 Windows *** 作系统、应用程序和软件配置进行批量分发的场景已经非常常见。那么 SID 是否重复就显得尤为重要,如果不确定你的 Windows 客户端是否有 SID 相同的情况,可以使用 whoami /user 命令进行查看。
2)查看Windows系统用户的SID
whoami /user #查看当前用户的SID
wmic useraccount get name,sid #查看当前系统所有用户的SID
3)使用 Sysprep
要在 Windwos 中执行 Sysprep *** 作非常简单,只需浏览到 C:\Windows\System32\sysprep 目录执行 sysprepexe 文件即可。
在d出的「系统准备工具」窗口中,我们通常会选择「OOBE」和「通用」选项,其中的 OOBE 是指系统下次启动之后重新进入配置界面(与全新安装 Windows 10 之后的 *** 作几乎一样),选择「关机」是为方便管理员将该系统制作成虚拟机母板或要分发的映像母板。
*** 作执行完成后,我们就可以使用映像抓取工具进行捕获后部署或将 VHD/VMDK 用于全新的虚拟机当中。所有进行过 Sysprep *** 作的 Windows 10 由于剔除了安全标识符等 *** 作系统主体信息,在下次启动时会重新进入 OOBE 阶段。
3、查看Windows Server 2003 系统的激活情况
1)第一步执行命令
cd \windows\system32\oobe\
2)第二步执行命令
msoobeexe /a
4、Windows
平台下:
你可以到注册表去,看看
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
下面,有一个
ORACLE_SID。
linux平台下:
如果你的server是linux的话
1以安装oracle的账号登陆
2修改
bash_profile这个文件,里面应该有一行export
ORACLE_SID
=
your_current_sid,
把它改成你现在的new_sid
3source
bash_profile
//让你的环境变量生效,如果不打这个命令的话,下次你登陆到oracle,才会生效
4这个改变是永久的。SID。windows用户的唯一标识是SID,用户的权限是通过用户的SID记录的。Windows是美国微软公司(Microsoft)以图形用户界面为主推出的一系列专有商业软件 *** 作系统。一般用 GetUserName(或 GetUserNameEx )函数可得到当前登陆登陆用户名(但不总会得到,下面会分析),此系统函数在Win95、WinNT 及以后所有 *** 作系统中都可用。代码如下: BOOL CSecurityTool::GetCurrProcessUser(CString& strName) { BOOL bR
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)