|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
% R9 F2 H% b3 N# X+ Mdrwtsn32.exe故障转储文件默认权限设置不当
! x t6 D! I9 ]1 y6 F @涉及程序:
. i8 y2 j9 S! Y& `当前所有Windows版本 ; _# x8 e# R' ~; z1 V( _# m: \' T
4 q. r# L+ M, y- e+ Z3 R- s4 I描述: 3 q+ F! S: S7 ?& i$ \2 w5 e
drwtsn32.exe可能导致敏感信息泄漏
/ q' ^! B- N9 A' M1 m" W# y& \1 m# }
详细:
+ U5 G6 K0 V& i a+ H7 \/ u发现者:tombkeeper@126.com4 D/ j2 B% k2 b# q
发现时间:2001.10.307 S" O2 w# H6 o* [7 |
8 o( ]* f1 @$ |: h' m) _' tdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
' \! Y3 O* C, l0 m1 {8 I) ]! K, S状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
3 _+ U; C" f0 u9 \ l, F! J4 `调试功能的软件更改了默认值。注册表项:
0 e3 d; t% H+ Y' N[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug], O: k. \% `6 y1 _( m: d
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,& b% B" n4 ~0 z% o6 K6 m
并记录相应的诊断信息。
, G4 |. m5 H) p- m6 u5 H# {4 w: }& p[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]- L' f7 q/ b6 i/ I' `0 n4 \; x
: D0 n5 Z2 e: P% m. e `& J4 N) N: _在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录0 [+ s h! Z# K
“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone5 l, f) N& c0 `& B( b
完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。1 ?; c. M- \/ s8 b0 s5 F$ ~" F
3 D7 }) A& c# H
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息. S2 s( l' ]5 j! c
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
4 `1 {3 Q( N7 T% A应用程序和在此之前用户进行了那些操作。
4 }- `7 n9 ]/ b+ q7 I+ e1 z8 Q/ L' k8 [# \
因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息: i) E+ L* }) x% z/ |/ n4 \/ j
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe* G4 |( r, t4 L! j2 d
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释' H. K0 |* e" A- ~) f
的HTML文件可使IE 5.0以上版本崩溃》)
p, I* F$ A$ f. A, w; w* D
: ]. b0 J! v/ D# L测试:
+ H/ @( I# f- o--->在administrator帐号下操作:& W9 V1 W+ G0 \4 X) S4 J& W
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i : A9 X4 @) B5 k1 ?
将 Dr. Watson 设为默认调试器。
/ Z3 x' v/ z) R! v( v: y+ u先启动一个需要使用密码的程序,这里我们选择Foxmail。8 P5 T) h. X" a% x
用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:3 g, C- I* e v% n. l, G7 I; a
drwtsn32 -p 886
: F: I& j$ ]+ _0 W* |--->在guest帐号下操作:+ a8 b }3 d. ^2 {2 _6 @! b* X1 q
在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:: r) E- d5 r% Z' `
type user.dmp|find "youEmailPasswd"
; n$ L9 d0 h7 F; I, [就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。9 M3 M1 p8 ~6 r5 z
; s% V7 g$ G8 y' H& O* v- P0 @8 H) E; j5 P3 q; Y4 j7 [
解决方案:
* v6 w% m6 `4 n. o- T5 S8 {微软尚未对此做出反应。
+ `1 j# X6 ~9 |- ^2 Q1 ^8 w& R在可用的补丁出来之前,采取以下任一措施皆可解决此问题,
' r' C" N z0 {$ I; C8 F1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:$ y8 R0 [- v+ V
\Documents and Settings\Administrator\DrWatson\
9 R2 f8 |0 }9 X0 a* ?- s( b或取消“建立故障转储文件”选项。
* r( v2 `4 J! p* a2、删除注册表项
6 j! t, ?& [! W# |7 z. n; x' c: `: w W[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]- z- |/ E3 k9 C# Z
下的相关键值。4 E3 W8 |& ?: h# f( G( A
3、使用其它调试工具。并在注册表中正确设置。
& z# r* B# I/ Q5 o6 r: T- W( }7 [ t E; s2 S- e
; N: j4 G! h- ?& p& \/ ` d. A附加信息: * w: u/ w" L/ X) k/ I# `
发现者:tombkeeper@126.com
+ k( o( E3 c. [/ B' w2 g4 v, }- s* G6 |& w! _
drwtsn32 参数- d+ g2 ~! O- A4 F* F. W, `
7 f/ X$ I' Y/ d: i$ ` Ndrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]1 {5 b x. Q1 T- L' h6 p2 _& C
9 s% i' r- {7 D. f; j-i 将 DrWtsn32 当作默认应用程序错误调试程序( b1 `8 j% N {. \3 `% A% v; e: f0 ]
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
0 V( ?0 s' \6 Z P' }, M-p pid 要调试的进程 id0 a3 D! r- r: F$ X1 |3 O
-e event 表示进程附加完成的事件
" s; m! L0 N! K4 f- S. }-? 这个屏幕 ( s x8 F; F$ f- \9 r
另外这个网址可能对你也有帮助!
( t# z, ?* p0 z" T( Shttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
6 G0 |+ d4 o) h% e6 v[此贴子已经被作者于2005-4-21 8:47:06编辑过] |