|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。 ) r0 X2 [1 K: s; h
drwtsn32.exe故障转储文件默认权限设置不当
8 h' x" ^2 S: p) R* C- C0 d涉及程序: ; v2 s' \: M+ T( i4 r3 e
当前所有Windows版本
# d6 k# Q0 V W7 l5 D- r8 f8 Q8 B6 [/ j( ~* S& p
描述: # R# @1 O- r! | m
drwtsn32.exe可能导致敏感信息泄漏
1 B$ t! Z' |) `9 c/ [0 T- ]& r/ i
# i s2 X! W$ o1 e详细: # t @& l0 s+ {6 `- F0 j
发现者:tombkeeper@126.com! [7 a3 r8 p9 U) i* D8 {
发现时间:2001.10.30
# M2 h' W2 c0 U5 i3 V2 v
8 Q6 ~# ?+ c# i, |9 W m* N4 Rdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
1 E$ |/ A" m( `+ E1 c状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
( F7 A m: L: _# C2 h4 h ^+ Q调试功能的软件更改了默认值。注册表项:' ^! w7 @ V9 O j3 d# I
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]+ [! S* ?) w7 k
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
, _9 V* ` Y8 B5 m并记录相应的诊断信息。6 `2 H; a) E j- L4 f" \; V. d
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
/ _( |& K* P* W' m/ c6 z, Z H" H$ Z: e* ]0 t5 m( }' U; v
在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
; O, w+ \9 c0 O' k* a. G“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone+ p; h2 y9 n$ {& w
完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。
& O) d9 l; S+ V! i. ?9 o; h0 E6 D) s2 `4 G Q* o! u
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息: g a& E! e+ o8 U
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
" r4 j+ O. ^0 ]1 y4 F" R- n( E2 ]) Y应用程序和在此之前用户进行了那些操作。
$ e3 V9 C/ R. x; h" \
* r: }5 c, L5 q- N; T1 W$ o% q: @8 f因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息
3 f' e, A/ m5 D2 R9 u1 C的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe$ k: d6 }2 m0 s9 x: p' X
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释+ G5 J# N& q% f, O2 b9 T! V2 D
的HTML文件可使IE 5.0以上版本崩溃》), C* ?1 Z+ n+ R, w. g& g% `
' \' |6 k8 M4 G5 _8 Q
测试:
/ K2 j# \- X0 J; s- \. n# f* N--->在administrator帐号下操作:
* @2 B- v. p0 P3 f& D& X如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i " k. f: H' _1 P
将 Dr. Watson 设为默认调试器。
F, p' x2 v( o先启动一个需要使用密码的程序,这里我们选择Foxmail。
: a7 {( b d( q6 h2 K) F用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:
" C9 f- ~3 I- T+ Pdrwtsn32 -p 886% Y! l+ I% G' x% U- F
--->在guest帐号下操作:, y: ~1 u' j7 b' A6 Q9 ~; m
在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:5 v8 U% L! v9 w' X# M$ O
type user.dmp|find "youEmailPasswd"
# ]- m$ y/ h0 D4 l! g就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。0 M" o( `' v7 W6 ^( R
$ k) b8 g, P) U# V; x- z; Q
9 [1 i, H1 n- C2 N5 q) e. S) i解决方案: , d4 P$ f0 k4 {" ]7 c; Y, H9 Y
微软尚未对此做出反应。
% z- h. h5 ^+ L+ U* ^7 x在可用的补丁出来之前,采取以下任一措施皆可解决此问题,
/ V: u4 p$ F+ J4 v- Y$ }1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:
7 q, b+ G. t Z. B7 G\Documents and Settings\Administrator\DrWatson\
e, ?% X$ Y4 ~. ^0 _( J或取消“建立故障转储文件”选项。
+ k+ y$ w& D f! @2、删除注册表项
7 E/ p4 g4 D8 [( g | v[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
2 H) q+ Z( g% X4 F- W下的相关键值。8 o" M8 k5 K4 z1 h; P" d# _
3、使用其它调试工具。并在注册表中正确设置。
$ ~/ ?7 D6 v0 X7 {1 s2 ?1 B+ O5 U) H7 Y
) q7 r. s% c7 I附加信息: ; K5 X1 ^2 w4 B% x: A, U4 {
发现者:tombkeeper@126.com! e# v" @/ F" X9 M0 w5 ^) u) R" n
2 b3 j0 F& y$ F# I$ f* W H
drwtsn32 参数
. H6 f1 A9 T! g8 a$ u
: Z/ ^" n4 `/ s" C# V- ~drwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
9 c' b% c' C& X3 L. a) e8 d" r4 `& T
-i 将 DrWtsn32 当作默认应用程序错误调试程序
; q: E7 U/ f! {( Y6 w0 H-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供( ?& F# c- K8 J% M: ?
-p pid 要调试的进程 id, F' K: O R; S( G& m/ R
-e event 表示进程附加完成的事件
& k' ~* e) @1 @-? 这个屏幕
7 ^% [ [+ E9 k- `3 _另外这个网址可能对你也有帮助!
# ~: g+ Z6 U( r" H; V$ jhttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1 ) e: d& p9 ?: _& d3 g' v
[此贴子已经被作者于2005-4-21 8:47:06编辑过] |