|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
) y; [+ V; x, M; gdrwtsn32.exe故障转储文件默认权限设置不当 5 C0 v) k! D4 Y% O5 U& ~" H$ b
涉及程序: 4 `+ b* }& q% r! Y
当前所有Windows版本 1 R' N( m- u, z) I& c: a
8 C8 R, [ C- Q- I
描述: + O- e0 d5 O4 f3 T% T: q
drwtsn32.exe可能导致敏感信息泄漏 ) }% Y5 q9 i) o" W# q
0 t6 h+ }2 }9 G) e
详细: & Z* s% x" _$ t: _# T
发现者:tombkeeper@126.com( N9 Z( m( u g) C
发现时间:2001.10.30
' z+ X$ Q4 x# ^4 K I) _- Y
( N7 f+ O8 S+ O* ~5 D; mdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
1 Q* Z6 C! H: K2 U状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有+ G$ s$ D* E7 p- T
调试功能的软件更改了默认值。注册表项:
) A3 {& g, [' j8 ~1 |" q: [[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]! I1 r( ?+ }! u
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
& M7 ^& T) _/ j并记录相应的诊断信息。$ {% j4 k. b' v+ K5 ^, [
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]1 y e0 ^3 ^% D5 x4 K7 l
- H! L& S% a& H0 K& @0 q在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
' z9 g1 E+ u$ v. j( I“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone3 J; p* d' e2 R6 {# P7 b1 z( K# a; V
完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。* ?, u( e5 W/ ~, v: J% ]; V* A
# V! a) E; G2 M9 F! M- \由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息
# J0 u Y+ ~& k4 g( B泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
# M: o# W3 W9 F [& W应用程序和在此之前用户进行了那些操作。
! ^4 Q; B' |6 s5 c J5 C
2 \' Z8 I/ N% z5 Z2 [/ A5 [$ D因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息/ x, m7 N# ]$ H& s
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe( ], W, t$ o1 @1 c; [5 N+ g1 q
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释, V$ O+ y! j% H1 u
的HTML文件可使IE 5.0以上版本崩溃》)
8 r0 k* y9 e! ?, | M, k: s7 A
5 ^& \: |5 o# W5 g测试:+ p* h/ ]. T/ Y
--->在administrator帐号下操作:: s$ c7 E8 e) h! z0 g3 u% \- ~
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i
3 Q2 q' o- _* ]0 K. M& ~: B将 Dr. Watson 设为默认调试器。- ~1 z9 r H* O# U: V
先启动一个需要使用密码的程序,这里我们选择Foxmail。
. o0 p0 E7 \5 r% t0 i用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:# K J0 [+ `5 z( @5 J4 s) b
drwtsn32 -p 886
% q3 E6 v4 }$ {8 f--->在guest帐号下操作:
0 W& X* s- G* i$ J7 D8 T在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:9 v: B# ]; e2 Z0 e9 r
type user.dmp|find "youEmailPasswd"
" l, I# f/ h- [就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。
5 G- v; W6 x' l$ G9 L a% A5 m( e* Y) e' S% j- m
+ y) y f5 ^, w: K6 h, c& [( _解决方案: , W" ^8 @% p5 y
微软尚未对此做出反应。
+ z: C3 D4 e- C! x) O在可用的补丁出来之前,采取以下任一措施皆可解决此问题,
) C# z4 @4 \3 T! y: Z) O1 }4 v1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:$ g6 n( p" D' _0 `
\Documents and Settings\Administrator\DrWatson\
6 Q7 B1 P) r/ F, a- J% k或取消“建立故障转储文件”选项。7 \. z/ u7 i# \# }) Q; f
2、删除注册表项
7 ?6 K$ W. h! G2 U% N[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]' F' A2 C/ e7 N4 K# e3 p
下的相关键值。
+ T y# i# a9 u' N9 p; j" _( l" G3、使用其它调试工具。并在注册表中正确设置。; W; E( T1 j, O: M$ l, k
9 R7 e z3 v: d: E( I" c
( C# d7 X ?$ Y W6 y2 ^附加信息: % F- i1 d9 x& ?1 {. u7 Z( w- Y8 l
发现者:tombkeeper@126.com
# L6 U8 R# c' O) V* K; N% e: G
! z7 J# Z0 v0 j7 Idrwtsn32 参数
# h: i& E8 X& W A; a# }
% G& M. B; r/ n: Y2 S4 k: i6 Bdrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
6 R' @: f% K* w% ?' s4 v% i
! k3 {3 k2 b/ v7 p, l" \: w) K1 n9 U( F-i 将 DrWtsn32 当作默认应用程序错误调试程序$ D0 Q3 t$ c2 U% M: e# }
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供) m: M, F3 y9 V T" [
-p pid 要调试的进程 id/ a" G3 T2 i- }1 Q9 W' X
-e event 表示进程附加完成的事件
+ A' ^: O1 V# D5 @) N4 s-? 这个屏幕
8 V9 x M9 q$ ?8 v另外这个网址可能对你也有帮助!
K* V d$ o! yhttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
# T9 ?8 K0 u( s% E[此贴子已经被作者于2005-4-21 8:47:06编辑过] |