|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。 7 [5 w) n! E' _. ]! w v0 W6 p) r
drwtsn32.exe故障转储文件默认权限设置不当 5 Y0 T, f( G' v9 a' I3 F/ j
涉及程序:
; C. l* j5 v3 U当前所有Windows版本 % B$ Y6 M5 u5 a8 ~4 x
) K+ ]1 Z+ M0 ?7 G4 j) k描述:
: A3 l( c, s7 Ndrwtsn32.exe可能导致敏感信息泄漏 * S# E0 W6 Q# h3 a
$ F0 F* k2 _ V% ` \0 ~
详细:
& E7 Z0 y; _( f( Q发现者:tombkeeper@126.com3 s5 ?3 [( ^, {
发现时间:2001.10.30$ n' Y, L" {1 Y4 Q9 k( e9 @
& d3 Q" q& m* Q; U
drwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
/ l4 y0 H" C8 d5 X& p; X状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有: q$ K$ x B$ h Q5 m1 k1 c# G N9 Z
调试功能的软件更改了默认值。注册表项:
$ T4 F$ F! F% m* z1 | Q# v5 P[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]. i' R7 J1 ?" ^
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,* y4 R0 W4 l% }; _ z. H) @9 o
并记录相应的诊断信息。1 G# H7 x+ G- k3 w5 N
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
) v0 N, \' z, {9 q, t* D9 Z: w& h6 ^& D
在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录6 n; q. `1 q4 m
“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
- }1 {! I+ k2 N4 M完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。7 L3 y+ Z6 C( n+ |: c. r* b
' X4 }, u3 D2 [( j/ t( d由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息$ P. k9 G. Y& F3 L' } @
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
6 f y' O a! m应用程序和在此之前用户进行了那些操作。
; z e+ J( k2 {$ e. m# J+ Q
5 g* w; O$ m: H因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息; K U% h1 ?$ P
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe
& H/ q9 l! u2 S- |* B7 p和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释+ B0 D0 P( `6 g9 @# r' P% n
的HTML文件可使IE 5.0以上版本崩溃》)( u. m" x0 t, t- E$ l4 U( U
6 C3 y: a6 X% a- Q3 [( [' Y测试:# k# ~! }* z+ ?; V8 g; \' Q% T
--->在administrator帐号下操作:
8 Y5 x+ R# }. B2 t# ~如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i
. o! S @& Q# g6 B/ W) c将 Dr. Watson 设为默认调试器。* k% E3 B/ K/ u
先启动一个需要使用密码的程序,这里我们选择Foxmail。' X, J! T3 | f) P7 w
用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:
6 `* B( E: j& l+ j, @8 {1 Hdrwtsn32 -p 886+ Q4 Z& C2 M, |. n
--->在guest帐号下操作:; g* _3 S7 X8 Z* @
在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:+ k: n" c" L" o3 u$ y
type user.dmp|find "youEmailPasswd"
4 ~* g! U. h: u2 `就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。) X: a6 x5 i: H7 D4 o b
( c- E: i# I+ q- C* \! E& u8 j
3 ^" A& [, d; R
解决方案:
+ \1 |/ K" \* \+ j# [微软尚未对此做出反应。
+ a$ `" o9 h+ Z3 T" U2 a3 t在可用的补丁出来之前,采取以下任一措施皆可解决此问题,5 S' s, w. A2 P ]4 y
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:3 L g, s M h, [/ f: O$ G
\Documents and Settings\Administrator\DrWatson\7 |: C7 k, c4 c: }: b, A
或取消“建立故障转储文件”选项。. o: q* j3 K( {2 d; K0 c( @) N- m
2、删除注册表项% \1 H2 C# z( }7 L0 Q6 n& F
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
5 w, z/ x6 F$ Z下的相关键值。" q9 {7 c' h" V( Q; e% f" P
3、使用其它调试工具。并在注册表中正确设置。% h# h7 C$ O1 O. K; T& ^
! _* `& B9 d2 a9 U0 r+ k
0 P$ c, q% L- a" N6 J& \. d) E P9 v附加信息: . Z: ]4 W; ]. T* v' o i
发现者:tombkeeper@126.com
/ {% s w. g& T5 B+ _0 k
! z2 @+ p0 h- X- ^3 q2 Ndrwtsn32 参数+ J5 Z4 w5 _) V% }
% C( e6 u! I( u4 ~0 z) s* @
drwtsn32 [-i] [-g] [-p pid] [-e event] [-?]
* W9 X7 V2 _4 }0 w; Y# c& L$ ^: g
" V2 p D9 f* d3 t; N. o5 P6 ]-i 将 DrWtsn32 当作默认应用程序错误调试程序
( I, H+ S+ u2 J1 `( u-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供1 B" E9 }5 k& @2 G
-p pid 要调试的进程 id
7 Q7 W% ]* R' ^! \-e event 表示进程附加完成的事件: N i( Y8 u( N7 Z+ y7 T
-? 这个屏幕 6 A- ?: o+ i6 Y: j* [
另外这个网址可能对你也有帮助!
1 _; Z3 h0 |2 g6 |6 A7 chttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
4 {8 q& Z1 E2 w[此贴子已经被作者于2005-4-21 8:47:06编辑过] |