显示标签为“Windows”的博文。显示所有博文
显示标签为“Windows”的博文。显示所有博文

2010年3月10日星期三

Win7使用teredo连接IPv6的方法

在win7下,teredo是默认连接IPv6的方法。
6to4是与teredo协议区别的,都是v6的隧道,类似的还有isatap,我的理解他们都属于6in4 tunneling技术。
但6to4是需要有v4公网ip的。teredo之所被推荐是能位于nat的后面…
而isatap也不错,国内不少大学时使用这个方法链接的,详情请见:普通IPv4网使用IPv6方法
在Win7中,系统默认使用teredo连接IPv6。速度很快。如果大家不小心搞乱了默认设置,下面的方法可以重新设置IPv6。
在“开始”里输入“cmd”,右击,“以管理员身份运行”。
在命令行里输入:
netsh interface teredo set state default server=default
即可恢复teredo。
而输入:
netsh interface ipv6 reset
并重启计算机,可以重设ipv6设置。
微软的teredo服务器是:teredo.ipv6.microsoft.com。据说网通已经把它X了。
这里还有一台teredo服务器:teredo-debian.remlab.net,大家可以用一下命令更改teredo服务器,以防服务器被 X:
netsh interface teredo set state server=teredo-debian.remlab.net
然后大家运行一下命令:
ipconfig
看到“Teredo Tunneling Pseudo-Interface”有以2001开头的地址即可。
喵,就是这样~

2008年10月18日星期六

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密钥的结构部分,参考自《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帐户身份打开注册表编辑器:

psexec -i -d -s %windir%\regedit.exe

提示 可以在以下网站下载psexec:

http://www.sysinternals.com/Utilities/PsExec.html

(2) 定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注册表项,双击打开右侧的F键值。

(3) 这里要说明一下,Windows是以十六进制、而且以反转形式保存下一个帐户的RID。什么意思呢?也就是说,如果是1004的RID,对应十六进制就是03EC,但是我们必须把它反转过来变成EC03,再扩展为4个字节,就是EC 03 00 00。

所以,我们应该把F键值的0048偏移量处,把其中四个字节改为“EC 03 00 00”,

(4) 重要:别忘了重启计算机!

(5) 重启以后,新建一个同名帐户Admin,它的SID应该和以前是完全一样。如果不相信的话,可以借助GetSID或者PsGetSID等工具测试一下。


2.“破解”EFS

接下来的方法就非常简单了,用新建的Admin帐户身份登录系统,随便加密一个文件,然后注销,用管理员帐户登录系统,把原来保留的配置文件复制到C:\Documents and Settings\Admin文件夹下。

再用Admin帐户登录系统,现在可以解密原来的EFS文件了。

疑难解答

1.如果已经重装系统,那怎么办?

“ 声明”部分提到的那篇文章里提到,如果还记得原来帐户的密码,并且配置文件没有被删除的话,还有希望。这时候可以借助sysinternals的 NEWSID工具把系统的计算机SID重设为原来的值,再用前面描述的方法构造所需的RID,这样就可以获得所需的帐户SID。剩余步骤完全一样。

http://www.sysinternals.com/Utilities/NewSid.html

2.有用户曾经遇到这样的问题:登录系统时收到提示说密码过期,需要重设,重设密码登录后发现打开EFS文件。

KB890951提到这个问题。其解释是因为在修改密码时,系统还没有加载配置文件(有点语焉不详),原文如下:

This problem occurs because the user profile for the current user is not loaded correctly after you change the password.

配置文件和EFS有何相干?看完本文,大家应该知道,EFS的私钥和主密钥都是保存在配置文件里的。由于配置文件没有加载,所以主密钥的加密版本没有得到更新(没有跟上帐户密码的变化),导致主密钥无法正确解密,从而无法解密私钥和FEK。这就是问题的真正原因。

该KB提供了一个内部补丁,可以解决这个问题。KB890951的链接如下:

http://support.microsoft.com/kb/890951

3.有关公钥的问题

为了容易理解,笔者故意忽略了公钥。公钥保存也保存在帐户的配置文件里:

%UserProfile%\Application Data\Microsoft\SystemCertificates\My\Certificates

在EFS恢复的操作中,必须确保公钥也要复制到新帐户的配置文件里。尽管看起来公钥与EFS解密无关(它负责加密)。

原来,加密文件$EFS属性的DDF字段里除了有帐户SID和加密的FEK副本外,还有公钥的指纹信息(Public Key Thumbprint)和私钥GUID信息(私钥的某种散列值)。

系统在扫描加密文件$EFS属性中的DDF字段时,根据用户配置文件里的公钥中所包含的公钥指纹和私钥GUID信息,当然还有帐户的SID,来判断该帐户是否具有对应的DDF字段,从而判断该用户是否属于合法的EFS文件拥有者。

所以公钥也很重要。

当然公钥是可以“伪造”的(可以伪造出所需的公钥指纹和私钥GUID),以欺骗EFS系统,具体方法可以参考国外的那篇原稿,此处不再赘述。

加强EFS的安全

由 于EFS把所有的相关密钥都保存在Windows分区,所以这可能给EFS带来一定的安全隐患。目前有一些第三方工具号称可以破解EFS,这些工具首先攻 击SAM配置单元文件,尝试破解帐户密码,从而破解帐户密码→主密钥的加密密钥→主密钥→EFS私钥→FEK的“密钥链”。

为了防止攻击者窥视我们的EFS文件,可以借助以下三种方法:

1.导出删除私钥

可以用证书向导导出EFS加密证书和私钥,并且在“证书导出向导”对话框里选择删除私钥,

删除私钥以后,攻击者就没有办法访问EFS加密文件了,而我们需要访问时,只需导入先前备份的证书和私钥即可。

2.System Key提供额外的保护

System Key可以对SAM配置单元文件和EFS私钥提供额外保护。Windows XP的System Key默认保存在本地,我们可以运行syskey命令,强制系统将System Key保存在软盘里,或者用启动密码(startup password)来生成System Key。

由于EFS“密钥链”的根密钥(System Key)没有保存在本地计算机中, 所以攻击者将更加难以破解EFS加密。

提示 BitLocker加密的recovery key,类似于syskey的startup password,都是借助启动时所输入的一串密码来生成所需的密钥。

3.BitLocker提供更彻底的保护

本方法仅适用于Windows Vista(Enterprise和Ultimate Edition)。

最彻底的保护方法,首推Windows Vista新引入的BitLocker加密,这时候Windows分区的所有内容全部被加密(包括SAM配置单元、EFS密钥)。

BitLocker(TPM1.2) 加密可以看成是Windows启动保护器。在系统启动时,TPM芯片会负责分析各个重要的启动组件,以判断自己是否位于原来的计算机环境。如果是的话,就 依次释放BitLocker加密所需的密钥链,我们才能顺利地访问Windows,才能访问EFS文件。

如果攻击者企图把硬盘挂接到别的计算机上,系统就会拒绝释放密钥,整个Windows Vista分区处于加密状态。

如 果攻击者窃取了计算机,并且窃取了BitLocker所需所有条件(TPM芯片自不必说,假设也获得密钥U盘)。这时候系统能够顺利引导,并且成功释放 BitLocker密钥链。但是攻击者还必须想办法知道帐户的密码,否则无法登录系统,Windows分区依然处于加密状态。


4.题外话:为什么释放BitLocker密钥以后,Windows分区依然处于加密状态?

所以尽管BitLocker密钥已经释放,但是Windows分区并没有被立即全部解密。否则每次启动,都要解密整个Windows分区,得花多少时间(笔者的Vista分区完全解密,共花3小时)!

原 来BitLocker加密是以一个FVE Filter Driver来实现加密和解密,该Filter Driver处于文件系统驱动的下层。登录系统以后,用户需要访问文件时,文件系统会自动请求FVE Filter Driver进行解密,猜想应该是一次解密一个Block,每个Block可能是512字节(和EFS一样),不敢确定。对于用户来说,这个过程是完全透 明的,同时对性能的影响很小,几乎可以忽略不计。EFS加密的情况有点类似。


EFS加密解密详解
一 些个人的隐私或是个秘密,不希望他人看到的东西。那么你当然要把它放好喽,光是放好就行了吗?当然不能。还要有安全措施啊。设置个NTFS权限?是个不错 的主意,可如果你的笔记本被盗了怎么办?再如公司里的公共计算机或网吧计算机怎么办?解决数据安全的唯一途径就是加密。可第三方的加密软件不仅贵而且使用 麻烦,真的没有好办法了吗?别担心,微软公司早就帮你想好了,在WIN2000里就开始提供了系统自己的加密文件系统—EFS。在WIN2003里,该功 能更有了长足的发展。下面我们带大家去看看EFS的神秘之处。

简单操作
先来点简单的,如何加密文件。使用加密文件系统要有两个前提条件:
系统应使用NTFS分区,FAT分区不支持EFSl
系统要有DRA(l数据恢复代理)
小 知识:DRA—数据恢复代理,数据恢复代理是一个非常重要的角色,它能帮助你解密由于用户证书丢失不能打开的加密文件。为了安全起见,在没有DRA策略存 在时,EFS系统不会工作。默认情况下,本地的本机管理员是单机模式下的DRA,而域的默认域管理员是域环境下的DRA。
1、 在资源管理器中操作
先来个简单的,我们可以在资源管理器里加密和解密文件,该操作如同设置文件属性一样,非常方便,


选择文件或文件夹属性里的高级,选择其中的加密选项,确定即可。你可以选择加密文件还是文件夹,建议大家加密文件夹。这样会比较安全。


加密完毕的文件WIN2003里显示为绿色,在WIN2000里不变。选中后属性为加密。
注意:加密和压缩属性不可同时选择!
文件的解密与加密一样操作,

2、 命令行方式操作
通过命令行加密和解密文件更加方便快速。适合高级用户使用。
系统使用CIPHER命令来进行加密和解密操作。

[code]
c:\Documents and Settings\Administrator>cipher /?
显示或更改 NTFS 分区上的目录[文件]的加密
CIPHER [/E | /D] [/S:directory] [/A] [/I] [/F] [/Q] [/H] [pathname [...]]
CIPHER /R:filename
CIPHER /K
CIPHER /U [/N]
CIPHER /W:directory
CIPHER /X[:efsfile] [filename]
/A 在文件及目录上操作。如果父目录没有加密,当加密文件被修改后,它
可能被解密。建议您给此文件和父目录加密。
/D 将指定的目录解密。会标记目录,这样随后添加的文件就不会被加密。
/E 将指定的目录加密。会标记目录,这样随后添加的文件就会被加密。
/F 强迫在指定的对象进行加密操作,即使这些对象已经被加密。会按默认
方式跳过已经加密的对象。
/H 用隐藏或系统属性显示文件。在默认方式下,会忽略这些文件。
/I 即使发生错误也继续执行指定的操作。在默认方式下,CIPHER 在遇到
错误时会停止。
/K 为运行 CIPHER 的用户创建新的加密密钥。如果选择了此选项,会忽略
所有其他选项。
/N 此选项只能与 /U 使用。这将阻止更新密钥。此选项用于查找本地磁盘
上所有加密文件。
/Q 只报告最重要的信息。
/R 生成一个 EFS 恢复代理密钥和证书,然后把它们写入一个 .PFX 文件
(包含证书和私钥)和一个 .CER 文件(只包含证书)。管理员可以向 EFS
恢复策略添加 .CER 内容,为用户创建恢复代理并导入 .PFX 来恢复单
独文件。
/S 在已知目录和所有子目录执行指定的操作。


写在最后

这里非常敬佩国外微软技术爱好者的执着,事实上该作者还有一篇经典的文章(描述SAM配置单元文件的二进制结构),非常值得推荐。

很难想象,要编写这样的文章,得花费多少的人力和时间,要做多少的实验才能在SAM数据库逐个字节地找出其对应的含义!

2008年9月17日星期三

微软历史上最大的安全漏洞?

不知道是不是真的有这么一个漏洞,不过记得前几天自动更新好像推送过一个补丁是关于GDI+的:
Windows XP 安全更新程序 (KB938464)
现已确认有一个安全问题,攻击者可能会利用此问题远程危及使用 GDI+ 的 Windows 系统安全并获取对该系统的控制权。您可以通过安装 Microsoft 提供的本更新程序来保护计算机不受侵害。安装本更新程序后,可能需要重新启动计算机。

不知道这个最大的GDI+漏洞就是微软前几天自动更新的那个.
建议还是把自动更新打开,平时也可以收到重要的安全更新。
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=e0bd6fbe-f46e-4961-9a79-49ec77d39439
受此漏洞影响,几乎所有浏览器、即时聊天工具、Office程序以及看图软件等第三方软件都可能成为木马传播的渠道。网民即便没有点击运行任何程序,只要 浏览了BBS、博客、电子邮件或即时聊天窗口里带木马的图片,就会立即中招。一旦网民查看了这些带木马的图片,或浏览了带木马图片的网站,攻击者就能利用 这一GDI+图片漏洞远程执行代码和安装程序,随意查看、更改或删除用户的电脑数据,或者创建能完全访问用户电脑的新帐户。也就是说,攻击者可以利用该漏洞完全控制住你的电脑!

360还如此介绍:

据奇虎360安全专家介绍,此次微软爆出的GDI+图片漏洞非常严重,有点类似以前的“光标漏洞”和“wmf漏洞”,但涉 及的图片格式更多,包括bmp、wmf、gif、emf、vml等,因此漏洞涉及面广,影响网民数众多,危害程度特别巨大,堪称“微软有史以来最大的安全 漏洞”。

2008年8月15日星期五

QQ安全防患全攻略

饿死木马

QQ密码又被盗了,朋友一百万两银子又被窃了……面对防不胜防的木马,作为普通用户而言,如 何防范、如何应对、如何将损失降在最低呢?当然,首先最要紧的是扎紧篱笆——及时为操作系统打上补丁;拒木马于千里之外——不随便下载和运行不明来源的程 序,这些在前几期的文章中已有详述。我们今天谈一下,如果第一道防线被攻破,木马已经进驻电脑,那么应该如何识别,并且不让它得逞呢?

  一、不给权限,饿死木马

   在Windows 2000/XP/2003等系统中,用户可以加入Administrators、Power Users、Users等不同权限的组,分别具有不同级别的操作权限。如果你平时也就上上网看看新闻,打打游戏聊聊天,编写文字处理几张图片,而不需要频 繁地装卸软件,那么不妨藏起管理员,使用一个低权限的用户账户。

  通过“控制面板→用户账户”,创建一个新的用户,然后安装常用的软件之后,将其加入到受限用户(Users)组。受限用户能够正常运行大部分的程序,但是无法对系统的心脏——系统目录和注册表进行写操作。该操作需要一个前提条件,即C盘应采用NTFS格式。

  木马以及其他恶意软件有个特殊的爱好:往往喜欢藏身于系统目录,并且修改注册表以达到自动加载的目的。而采用这个办法,很大程度上限制了木马的渗透。即使木马已进入硬盘,也不会有权限进行相应的操作,有效地降低了木马的破坏力,事后在灭杀木马过程中也不至于破坏系统。

  但是有的软件需要管理员权限账户才可以正常运行,或者有时候我们需要安装一些软件,目前账户权限不够,怎么办?切换用户太麻烦,而且也容易因此给木马可乘之机。那么,用下面的办法实现吧!

  右键点击程序,选择“运行方式”,弹出窗口,然后选择合适的账户并输入相应密码即可。这样软件就可以其他账户的方式运行,而与当前账户无关。虽然比起直接管理员账户登录操作麻烦了点,但是安全上得到了保障,还是值得的。

  小提示

  有时候一些常用软件必须以管理员权限运行,如果每次都这么选择未免太麻烦,小程序RunAs可以解决这个问题。

二、勤查户口,不速客out

  账户信息安全之重要性,自然不言而喻。黑客入侵,往往会偷偷在你的系统中建立一个账户,或者把普通账户提升权限,以达到幕后操纵之目的,而这个往往是普通用户容易忽略的问题,所以大家要养成一个勤查户口的习惯。

  打开“管理工具→计算机管理→本地用户和组”,这里枚举了当前的所有账户信息。要看看是不是多了不认识的名字,或者谁偷偷地升级了,这些都需要引起重视。比如臭名昭著的lovgate病毒就会在感染电脑上建立一个名为“lee”的账户。

  但是,有时候突然多出一个不速之客也未必就是“中标”了,比如在安装Microsoft .Net Framework后,系统会自动建立一个ASP.NET账户,这是正常的,大可不必为之担心。

   另外,还要对现有账户做好安全工作。如果没有必要,可以不启用Guest账户;同时应对内置的管理员账户Administrator加上密码,并且“改 头换面”,防止入侵者恶意穷举:通过“管理工具→本地安全策略→本地策略→安全选项→账户”对系统管理员账户进行重命名操作,将 Administrator修改为一个别人不容易猜测到的名字。


三、关紧城门,出入查证

  木马也好,其他恶意程序也好,如果不能和释放者保持联系,也就失去了威力。所以城门就是我们的最后一道防线。

   首先是关闭一些危险的端口。打开“管理工具→本地安全策略→IP 安全策略,在本地计算机”,在右侧窗格中右击鼠标并选择“创建 IP 安全策略”命令,然后根据向导一步一步设置,分别添加TCP135、 137、139、445、593 、1025、2745、3127、6129、3389端口和UDP 135、139、445等端口。关闭了这些端口,可以避免入侵者通过这些通道秘密潜入。

  其次,安装一款合适的防火墙。 ZoneAlarm、BlackICE、Kaspersky Anti-Hacker、XELIOS Personal Firewall等功能都比较强大。如果嫌这些设置比较复杂,也可以选择天网、金山毒霸网络个人防火墙、瑞星个人防火墙等。它们就像把门者,每一个进出者 都会被检查是否有“良民证”:如果确认可靠的就直接放行,如果陌生人想偷偷挟带情报出逃,对不起,拦下。

  四、明察秋毫,逮住“马迹”

  感染木马或其他恶意程序后,系统不可避免地会出现一些特殊征兆,如果及早发现并及时处理,可以将损失降到最低点。下面的这些“马迹”千万不要放过。

  1、密码被改,金币被偷。虽然损失已经造成,但是亡羊补牢,至少避免更多损失。

  2、杀软被关闭。很多木马会自动关闭杀毒软件,如果发现杀软防火墙被退出,而且无法启动,绝对不能忽视,排除系统或者杀软本身的问题,很有可能就是被木马或病毒先下手为强了。

  3、一闪而过的窗口。打开记事本,或其他软件的时候,会有隐约的窗口一闪而过,这很有可能就是木马或病毒已经寄生在正常程序上了。

  4、奇怪的进程。经常用Ctrl+Alt+Del键调出任务管理器进行查看。首先你要熟悉系统的正常进程,如果有陌生进程出现,那就将它一查到底。

   5、鱼目混珠的文件名或错位的程序。有些木马会伪造和正常程序相似的名字,比如“svch0st”等;有些则索性冒名,不过路径不同,比如出现在 Windows目录下的“rundll32.exe”(正常应该在windowssystem32和windowssystem32dllcache 下)。

  6、自作多情的启动项目。经常使用“msconfig”查看启动项目,如果有不经允许就擅自加载的,不妨查查其身份。

  7、绑架浏览器。使用hijackthis辅助,把这些绑匪统统请出系统去。

  8、运行“netstat”,查看当前网络的连接情况,是否有偷偷向外报信者。