|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
3 n* ~3 H- [$ f/ U& w* gdrwtsn32.exe故障转储文件默认权限设置不当 7 z! V6 ]6 @; o) E4 v
涉及程序: 8 ^- Y+ B5 x5 U5 t2 l
当前所有Windows版本 5 z8 Y% w! @2 _6 v- f. B
8 p( x6 U6 H; W0 s4 [描述: % z; t1 |4 H) b( i: b( O# M
drwtsn32.exe可能导致敏感信息泄漏 ' C8 q" @) A1 i; ?& ]' R* K
, x/ k5 \+ l; r% {" t w
详细:
. c) ~$ l3 n- u; E发现者:tombkeeper@126.com( p3 k& F; j4 F0 q
发现时间:2001.10.30
/ @; n8 g/ r" P- |7 E) c& ~. C" F8 v1 g8 [# _" | O
drwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
1 _- v9 K+ n1 v/ p# ^: q1 i状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
; y0 h7 V& S$ V- a" }2 _8 z) w1 v- ^调试功能的软件更改了默认值。注册表项:
: ^# }- F1 ~0 S4 _3 B" U$ f% r3 x[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
~1 r9 \* o+ A" G1 W下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,( d9 s" U% l+ N0 ]( D- `" ?
并记录相应的诊断信息。1 d) ~# M- I7 V0 @! ?+ e! L
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]* ^# y7 \* R+ |5 Z: _
& F: U' b) A( O" s在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录! { O9 l; j- ~4 u! T0 l r
“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone6 W! E8 }5 G' o$ V, Z
完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。2 f% n& }7 k1 T6 k6 _+ b% @7 R4 f' W: J
8 Y4 L( E" p5 B1 p4 h( Q
由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息4 G% ^0 [' B _. _' u( ?6 q% y
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的3 v1 i4 c7 a' Z5 U: [9 w6 Z2 |
应用程序和在此之前用户进行了那些操作。
5 y8 T- C5 S; [
" _5 j; Z5 R4 k, @/ C7 P0 H因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息 K- r* j) @9 s, f9 O9 E
的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe
6 u; Q- S! D, A0 d w% G' ~和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释
! O: q V N; X. d. v3 e' d的HTML文件可使IE 5.0以上版本崩溃》)
6 \' {; b; Q3 f% Q0 C! |* @6 m4 T( o
! M$ T3 m Y) [. s& P( V测试:
! r! C! L( {; l; j: B--->在administrator帐号下操作:; ]) E* O7 j( Q9 @: p
如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i 0 {/ v. W$ n5 g8 x) A( h+ ?9 I
将 Dr. Watson 设为默认调试器。/ r: t) ?& E0 M6 I" Y; h; b
先启动一个需要使用密码的程序,这里我们选择Foxmail。
0 x; p2 D0 k% K; T* V用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:7 k. A" ?* E$ p) n8 g n
drwtsn32 -p 886# j, H" o$ W/ J: _: ~4 u1 S# j
--->在guest帐号下操作:4 a) n E, ?# L% K0 ]) E8 w
在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:
& m' w/ _0 `$ L! e) [type user.dmp|find "youEmailPasswd"
& ^" W' |! Q) f" ^就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。- W1 u2 v. k0 t. u# i A4 }7 X
], m: ~4 T/ C4 B) v8 g" p+ k% c1 Z
0 O/ S( \6 J: y! p) P$ V解决方案: ! v: P4 M* q* b j# E
微软尚未对此做出反应。
* P3 n/ e6 A. ^( T1 A1 ^在可用的补丁出来之前,采取以下任一措施皆可解决此问题,
4 Y+ V; Z8 B+ K% P, e, F) _1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:& i6 H" L1 R! K1 Z% e. [1 a/ e, q
\Documents and Settings\Administrator\DrWatson\& Z& z8 M; F8 u S
或取消“建立故障转储文件”选项。
* w# V% {9 k: P+ | D2、删除注册表项5 U, N5 u8 ^ `
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
) b* {" }0 Z3 f0 P/ b5 \下的相关键值。" H" h4 m+ U9 e9 a1 I, [
3、使用其它调试工具。并在注册表中正确设置。8 D9 X U* i$ p! j( m7 l8 [) E
5 a* y q2 {, f8 r/ Q$ w1 }
( o' L; U% \0 s附加信息:
% Z$ |4 [: h" s8 n) W0 k" {发现者:tombkeeper@126.com
( W7 f# ~& D" \9 S6 X
$ {1 |! J0 n* B+ b; k/ e/ [drwtsn32 参数5 h. E2 M: j& @4 n' I
7 D2 B) k6 k. a1 M- y! w' P
drwtsn32 [-i] [-g] [-p pid] [-e event] [-?], d3 x* L. F2 U5 C$ H" t+ D
) k! a8 g8 O2 e4 D S4 {: b
-i 将 DrWtsn32 当作默认应用程序错误调试程序
! w+ e; Y- J" R1 @: U; \-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
5 ?) ]# L/ z' @8 w% }; \ { G& {-p pid 要调试的进程 id
. F9 K+ I7 O, r; V. ^6 G) {0 D-e event 表示进程附加完成的事件9 M4 v9 K6 F$ f4 E7 O, O
-? 这个屏幕 . W; n$ ~0 C2 W& ^/ b$ s& D9 K" v
另外这个网址可能对你也有帮助!
- x: F5 U2 q+ s& thttp://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
8 v2 R0 C1 t4 L; H[此贴子已经被作者于2005-4-21 8:47:06编辑过] |