|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
$ m* Q% t- X Y- \0 w4 n# mdrwtsn32.exe故障转储文件默认权限设置不当
! `/ M2 V" z" K5 E* {: M# _8 X涉及程序: 6 ~2 J* C) D6 B, L; e7 q }
当前所有Windows版本 , g& M( F& a4 ?5 r6 H3 F
5 V( q1 t9 i* o M o, o
描述: 2 h4 F6 v& C% I
drwtsn32.exe可能导致敏感信息泄漏
/ {3 ]3 N% e$ G
2 v: @' _5 P9 o5 W9 H详细:
4 z$ `2 ^* l7 P; c) k) l4 N$ R发现者:tombkeeper@126.com
- F( {! h, Y* ^; k/ i- g4 g B发现时间:2001.10.30
# B$ x6 J. h2 @1 \) e$ s& d/ j
" \! j5 B* V8 ^4 Fdrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认" Q7 L5 \: t5 o7 h. Q
状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有3 |, R% v7 |% n0 g
调试功能的软件更改了默认值。注册表项:2 w1 f' A* n9 [: O
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]2 P4 b6 O; x, w; v. a' x0 M3 L& l
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,
' x) ~7 I2 |) `- S7 k并记录相应的诊断信息。
/ Z2 k: R- |6 c' a[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]* e D4 [1 P' }+ G4 r5 H6 L
7 j% j, t* p+ _在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录
! a6 T( c8 `* T+ S: _“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
, w7 [5 ^/ ?, l' ?2 H# F+ M完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。
" [" B1 r/ ?2 S) z* r8 j# C" a! W; B) ?
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息
6 K6 j. N; x. j- n泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
4 q* h$ V" f* \3 K* u应用程序和在此之前用户进行了那些操作。6 e. m8 Q( N9 I2 W' ?4 I0 r+ K9 t
{% ]% ~3 x8 {" V: ?3 _
因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息 n3 h2 m H! D" c0 S
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe* c2 z1 m0 g+ p
和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
) X/ c5 s5 B. V的HTML文件可使IE 5.0以上版本崩溃》) ?9 r6 i' U' C( V% |! ?# e
" e8 u) U$ P+ v9 s4 L8 K6 g* o! o
测试:' r; B8 a7 W7 X# D2 G% s+ n
--->在administrator帐号下操作:; _- s( O$ P: A: p+ s
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i
# [% U, }* d! n1 i& s# F将 Dr. Watson 设为默认调试器。
N) J* I5 Q! L5 z) i/ y" y先启动一个需要使用密码的程序,这里我们选择Foxmail。+ Y3 V8 [ Y! J. z0 f* C7 K
用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:6 n* b) \# j: N0 F5 Z0 W5 @) z
drwtsn32 -p 886
5 i) x' N: ^$ q! A--->在guest帐号下操作:$ A6 @8 U( u/ Z* v. z! {
在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:+ S( f5 P) {( `2 b% r6 N
type user.dmp|find "youEmailPasswd"9 `1 L' a7 K/ o+ i& ?5 j% C3 f
就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。! M0 B. g% W. H. J7 I6 ~+ I
- N, i% `; b( W$ t' U" |
* M) W* c1 f2 a8 r7 o
解决方案: : S; V. K1 R6 n1 [7 |9 b
微软尚未对此做出反应。! k# g9 L1 q& [4 E$ P* ]
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,
! }8 R. J) o; T( l1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:. ]( @8 B7 e, R4 y: k
\Documents and Settings\Administrator\DrWatson\5 j6 A0 X! @; \( ~6 Q
或取消“建立故障转储文件”选项。
* u7 U p$ @) D2、删除注册表项
5 p. U1 R5 m. a0 X- Z1 w[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug], i' h$ B8 q% J w6 D
下的相关键值。
( Q( g: A" n5 w: m8 q; j9 S. \3、使用其它调试工具。并在注册表中正确设置。# Z, u7 {- X6 D- Z2 {9 U% M
/ D8 f, C( L9 W: Z7 W
% m3 }1 F- E' u2 T7 q# g附加信息:
- F* X1 O* U( Y* x/ Q发现者:tombkeeper@126.com
# t7 T. w/ @2 V: |
4 e3 @' N* V$ A3 V; V' Edrwtsn32 参数
8 o) {- l; p& Y) ~( i5 L l* S, j: w4 e" f0 A; t& K% }
drwtsn32 [-i] [-g] [-p pid] [-e event] [-?]6 e; C& \9 K% Q! u6 ]! m5 T* A
) j$ i' `% o' `6 N$ m( O8 g/ _, g1 [-i 将 DrWtsn32 当作默认应用程序错误调试程序7 X* e! m# J- c' } f# P; p
-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
: h9 k1 O/ |. h+ L-p pid 要调试的进程 id
! E$ S' A/ v9 u-e event 表示进程附加完成的事件4 x l7 ^, J7 Y* q
-? 这个屏幕
1 K, j% p$ t4 z; k6 ^, N& [, _另外这个网址可能对你也有帮助!
* k# e- ?, T) A6 T4 ?http://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1 + M- d; A0 u* c% M4 J
[此贴子已经被作者于2005-4-21 8:47:06编辑过] |