|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。 " q1 @2 V9 |: N# J! o" t3 I3 ^0 `& ~
drwtsn32.exe故障转储文件默认权限设置不当
' j0 Q. z: ~/ G. ?- V涉及程序: ! s* W: ^( Q8 |/ d2 z8 Y
当前所有Windows版本
4 |1 Q/ f( I* W3 z. C3 I, V1 l0 }. N. H4 k/ |# r
描述: # L9 b8 ~% B. E. P6 {5 ^
drwtsn32.exe可能导致敏感信息泄漏
+ D! T! j6 U9 x K: S6 K; a
' F( _9 k0 L' ^详细:
* o+ ~( V, a. U发现者:tombkeeper@126.com
* U; G7 g2 ?8 r, Y. p发现时间:2001.10.30
8 I6 W1 o! i/ n: m
! m e" [; i) x8 Bdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
% ]; ^1 \4 ]1 X" F' ^6 Q Y状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有" F( \8 |& O& w
调试功能的软件更改了默认值。注册表项:3 b" K- j+ j2 \" \
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
6 }9 v( g3 Y8 @+ \' x6 i下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
' S' Y, U% ]; D# D! N" H2 e并记录相应的诊断信息。" k" J5 j h; X. J
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]$ V- }4 n% Y4 J9 O: z% I- M; q
G- b1 A, K6 ^9 x在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录- F* D9 g, H3 i! H1 \
“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
7 H# T8 h4 e! X. i t完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。
! X1 G% ^) i* F" v4 F% H& m4 ^3 m* J. p9 I E, f2 b& S
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息
9 {0 B9 D7 C+ O9 m* H& B! S$ Q3 q- E. K3 Y泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
, l+ I" M; p& s0 S- C$ G应用程序和在此之前用户进行了那些操作。
8 [# C, H4 h; k% V9 Q
# m! U# V0 f- j4 t! M因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息/ R: M0 q$ ?; \! Z& s
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe
& j) n( }( w! J7 ~$ H8 t) @( R; E和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释7 Q0 e3 u9 B$ Q f* x8 o) O
的HTML文件可使IE 5.0以上版本崩溃》)8 @7 ^7 F* B s: N
$ z% j, a, n3 H测试:. v, w% N* V! m. I" ~5 y/ g/ d
--->在administrator帐号下操作:2 P8 e% {. K& C3 X* }
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i
9 \5 {$ c0 z# D! t* ~将 Dr. Watson 设为默认调试器。
% g8 T* I% R! e% _" t8 O先启动一个需要使用密码的程序,这里我们选择Foxmail。
& k7 A! ~$ u( {3 G用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:
8 p* r% c3 \# p. T4 M. y& c# vdrwtsn32 -p 886* i& Q5 h: c- _6 W# f4 P! J
--->在guest帐号下操作:
5 e' x- c* W5 D# z8 _. n- B在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:
6 }, \" m4 g P' htype user.dmp|find "youEmailPasswd"+ w2 _, N; x- I# I" Q6 @
就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。$ b" W1 ^# |0 o) n9 s0 @
+ L- ?7 m! l8 Z c' x- g
. d# X/ Q/ D$ r5 t
解决方案:
0 F( O1 @1 X& L* a; C! B5 \% C微软尚未对此做出反应。0 U- ]: Z7 x" a
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,/ c1 c- ^* U7 x e! w, E" _. Y
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:9 P g! S% G0 W$ h L/ V. R
\Documents and Settings\Administrator\DrWatson\3 u3 @! ~; p1 Y7 \! V0 M+ C8 {
或取消“建立故障转储文件”选项。
$ }8 n6 W7 T7 ~+ v' F2、删除注册表项7 f/ `+ O/ X% n# U! }# _: t# @- |* {
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
) W9 ?- x4 \- c* ~6 ?2 Y' O下的相关键值。
4 I4 G; N9 H) g5 j: O# E3、使用其它调试工具。并在注册表中正确设置。
2 i* f+ E: S9 d# R" y9 L+ d) `# ?' R' E5 i* x: E/ W
- G4 D6 | h- E6 h# D4 |附加信息: : @& u5 l0 x- M* Z, ]7 `8 {0 v
发现者:tombkeeper@126.com
_& ?1 y- C. `0 E' [+ t! {+ x
+ {/ U2 z# W/ \! ldrwtsn32 参数
- B( j1 B. K" V T! \ y9 W, t4 g% u& Z" ~1 H
drwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
$ U7 w! a/ {$ p2 b
) l8 P5 b" S2 i4 O+ q4 t% A-i 将 DrWtsn32 当作默认应用程序错误调试程序, }+ c, w, k& c8 @% r; I
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
, h5 d% E0 @5 F8 i0 ]! c-p pid 要调试的进程 id
+ g/ Y' t& d7 T( }6 c2 @ G-e event 表示进程附加完成的事件# X" Z, S* i3 U: [4 D1 O0 _' @
-? 这个屏幕 . R$ h$ g- @0 Y2 K o0 M
另外这个网址可能对你也有帮助!
- W i; g5 F7 e% lhttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1 " K- j0 t& G$ _4 h1 @
[此贴子已经被作者于2005-4-21 8:47:06编辑过] |