|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
- k: r: Z! n Cdrwtsn32.exe故障转储文件默认权限设置不当
) w; m( Y" n- ]" a涉及程序: : j/ r5 E) z% E% A8 `& ^1 P( X7 X6 k
当前所有Windows版本
1 u% H- E! y: e3 Q$ ?
! [! }' |& b6 }, ]: r4 F: a- l描述:
1 L1 n( ?. }* U: |0 a( ?- tdrwtsn32.exe可能导致敏感信息泄漏
0 S3 o g; k* m$ i; j
0 O# l: A. ]7 }) ]% ^- S1 R1 r详细:
8 \! k" _ [4 G发现者:tombkeeper@126.com
5 L+ E3 r1 S2 o, \& P, B' O发现时间:2001.10.30
5 e2 u) @! [$ M! n3 j6 _
# {, z: O# X: O1 F# k) }drwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认* |$ p, N9 A& ]
状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有3 u. F# x, e2 W4 j) `& D
调试功能的软件更改了默认值。注册表项:& W2 S: l) t' C% i" e5 x
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]# l% R# |+ i1 S
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
: M- d1 r# O9 F* q2 r0 x6 I并记录相应的诊断信息。0 k z J- ~& l! K- \1 C& s- }3 X) j
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]" Y9 \& ^- B$ r- L( j% u& ]
3 G1 {; e- q+ C8 M# W, o( }在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
! j- [) A0 v, ^* y7 B. U. B“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
0 i7 q+ h, _, b4 @$ x完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。
8 c) q+ Z) N4 \( q6 P
$ Z3 X! T, K) o+ M4 X+ u由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息
0 c9 K6 `# @+ w/ m( u. h( b4 F+ z4 g泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的. ~2 F3 @# A! S( r. m; S0 B
应用程序和在此之前用户进行了那些操作。
" W: e. @0 R" @2 \5 N: G* ?5 h$ C- E9 v
因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息
# j* L) }1 O# _的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe
- z! Q2 D( Y" @" L. f9 S. n和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
" v: R; u4 C. K5 `" U/ u) A) U% Q的HTML文件可使IE 5.0以上版本崩溃》)4 V3 o1 R+ Y6 @3 }$ h- _
% {, ]4 j. C9 Y5 j
测试:
" W. \6 `7 o# J8 q( ]5 x--->在administrator帐号下操作:. H( H- {6 H% Q+ D7 E3 h
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i 0 J& y4 e6 k- O9 T3 w j+ g
将 Dr. Watson 设为默认调试器。
2 |% m2 M& x6 m. O6 I3 N$ L先启动一个需要使用密码的程序,这里我们选择Foxmail。
/ d, M" D# F, ^用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:
. R' _8 x- H' Z/ o# d: h+ }drwtsn32 -p 886' R# \5 V Y5 B* C$ ]$ O
--->在guest帐号下操作:
, x6 `* d! p k* s& ?在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:. G$ [5 q" J+ g
type user.dmp|find "youEmailPasswd"
9 N% C( O. g9 C就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。
* }6 s8 ~4 T3 d3 q8 o, s' v# H$ K# W4 \9 q e
8 X) C+ j7 N, D; Q! Y) E
解决方案:
* L& H) T$ [0 |4 x$ k5 ]0 W微软尚未对此做出反应。
9 _% N2 j* d3 @0 q- n7 P0 d在可用的补丁出来之前,采取以下任一措施皆可解决此问题,3 ?6 {0 ?4 k/ l1 Q$ j: L! |
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:5 ?$ E" Q' B$ o# E! c" Q
\Documents and Settings\Administrator\DrWatson\
8 q1 O o/ h+ t3 y或取消“建立故障转储文件”选项。
+ @( T2 _- M* N) ^6 B2、删除注册表项4 B8 F+ m% S% Y/ S" Z; t
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
5 j7 X+ k# ]9 @$ F0 }4 p# n下的相关键值。1 S/ U( r, ?, @- _) I5 B
3、使用其它调试工具。并在注册表中正确设置。
' l7 c. d: l" V, b$ |/ `; A) _
7 [* i" F8 b. {! u, d! D# m$ _0 d" m! U, \! V \. ~6 K! \9 x8 O b, R7 f1 a
附加信息:
8 p( `+ L) S* H' T: m% s' P发现者:tombkeeper@126.com
9 l6 n' T* W: @) F$ P( {% I/ b: Q: }% `$ L) j w: Z( i
drwtsn32 参数
! O: ^, J7 X- j% @2 Z1 G9 I( \/ [. _# I3 G! `
drwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
( v, j. m; _( t1 V7 B4 K, x
" Y& v' A5 W2 l2 s-i 将 DrWtsn32 当作默认应用程序错误调试程序/ y! [1 ~7 K. F$ S, b1 o
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
% m P c! N. {9 i2 b" W5 M- }0 q-p pid 要调试的进程 id
0 z$ Z0 y. L3 n; n-e event 表示进程附加完成的事件
. _ Y: S+ z' q \0 H6 E' k-? 这个屏幕 ! z6 \+ D7 m. f/ ]! K
另外这个网址可能对你也有帮助! ( l: Y1 r0 z" r" L
http://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
5 H; j% a- _* w+ D% I: U[此贴子已经被作者于2005-4-21 8:47:06编辑过] |