|
drwtsn32.exe(Dr. Watson)是Windows系统内置的程序错误调试器,在默认状态下,出现程序错误时Dr. Watson 将自动启动,除非系统安装VC等其他具有调试功能的软件。 由于user.dmp中存储内容为当前用户的部分内存镜像,因此可导致各种敏感信息泄漏,如帐号、口令、邮件、浏览过的网页和编辑的文件等,具体取决于崩溃的应用程序和在此之前用户进行的操作。由于多种原因可导致Windows系统崩溃,因此无法排除恶意用户利用该漏洞获取非授权信息的可能。在任务管理器里会多出drwtsn32.exe进程是因为有进程非法访问导致出错或者拒绝服务。
* \, P) R: x3 P5 ndrwtsn32.exe故障转储文件默认权限设置不当
" X3 U5 U! f3 j涉及程序: 6 A: C7 S9 I' d+ N( V* b
当前所有Windows版本
- W$ f, P- Z- T+ J6 [# @! i1 d$ E+ |) X# P: E
描述:
2 N2 p# [+ R5 o7 p' L7 u' ~# b% ?drwtsn32.exe可能导致敏感信息泄漏 $ V" O4 ^0 L- h
3 J, `7 t3 G% R# ?: v8 ^/ O" f详细: : U9 Z" W/ b8 n5 L
发现者:tombkeeper@126.com
6 p* m1 m% i/ ^4 S. B) m; R) S发现时间:2001.10.30
6 A$ ]/ d# R3 Y/ u2 S
- B) W# {( e3 A; u* t) P: {8 ldrwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认
: e" q6 S, n- \状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有
$ I) Y# D2 t: o% U调试功能的软件更改了默认值。注册表项:
0 y! g1 x! C; p* ?) n; t8 T: |$ j( [[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug] f5 Y0 ~5 I3 O$ ~
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误,% k- r# X) {3 q% a' _, V3 ]8 G
并记录相应的诊断信息。, ^/ O' G% ]5 t. b1 d ]% q
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
4 H6 y! O. a" F5 B! ~$ Z
$ t, A$ V% @6 z" W在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录( ]# x% k& e* I! _2 e
“\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone
( z. Y) G7 w ^, D1 Z完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。* W$ w: P7 `3 p
/ t9 ^9 j7 P9 X$ J) I由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息6 I# A' L2 {5 N6 H/ L3 g
泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的
" F! A4 V1 {" L$ v& M% Y2 J应用程序和在此之前用户进行了那些操作。
% a) u$ H. F: C; P/ I
+ \9 v$ [ V( N$ X7 P+ i因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息
8 G& G; u9 Z' `) u: D3 T0 k# D& L G的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe
4 {! T) w+ H5 ~* ?3 b和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释0 t2 ]! I7 {6 W
的HTML文件可使IE 5.0以上版本崩溃》)
" F7 J/ C- x9 a2 m. X. p( l' d2 s6 s& H6 [
测试:( b3 ^: i. G0 {
--->在administrator帐号下操作:
0 _7 I$ A9 W4 x+ D5 v4 g+ z6 b如果目前的默认调试器不是 Dr. Watson,请在命令提示符后键入命令:drwtsn32 -i * b6 |# f' k% g5 D! x4 z
将 Dr. Watson 设为默认调试器。
5 {6 I& m. f' Y/ w4 @先启动一个需要使用密码的程序,这里我们选择Foxmail。) F- v; B7 G6 G: E
用任务管理器察看Foxmail的PID,假设是“886”。在命令提示符后键入命令:% }, D- U$ T4 p$ R F8 _+ ?* O
drwtsn32 -p 886
4 \9 S# F d* T- U--->在guest帐号下操作:
- X' b* {& D; T7 @* q f在\Documents and Settings\All Users\Documents\DrWatson\目录下键入命令:
* K, d; {+ E& Ztype user.dmp|find "youEmailPasswd"
' _. g4 d1 w+ t% k& K就会发现你的邮件密码在user.dmp中,而且完全可以被guest用户读取。3 l2 E+ Z! J4 R% Q4 R. F
3 j, K+ X1 |3 w( d/ \) e
/ J8 U" I4 ~4 X1 P7 `% K
解决方案: + F9 P) C" z/ P" Z, m7 K. p# o
微软尚未对此做出反应。9 O5 E' M0 H# z( q T
在可用的补丁出来之前,采取以下任一措施皆可解决此问题,4 h" t, R H' [7 k$ Z" O
1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如:
. v, g+ p! D( d7 Y- m\Documents and Settings\Administrator\DrWatson\
% L5 `& Y) c# d/ o或取消“建立故障转储文件”选项。
1 u4 |( \- H2 J$ X5 h2、删除注册表项
`# J6 y4 J% ? r; Q[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]
4 S) o5 x1 R/ l8 r) f下的相关键值。
, ~6 m' ~" K: t+ p' @3、使用其它调试工具。并在注册表中正确设置。
1 Z0 ]# ]5 i- _) c$ e o
' ]5 j' [4 a. z7 O, L: Y
, \" F4 @, f$ S; z+ P附加信息: - B4 B5 `; Z% R! H
发现者:tombkeeper@126.com
# l' q" h5 j: ?
/ l; }, H2 D8 {7 adrwtsn32 参数# {) k5 y& H8 ~9 N1 s' C
5 G. r. m: e- U! n* bdrwtsn32 [-i] [-g] [-p pid] [-e event] [-?]: d. v: l9 S w+ ?- l5 L' `
" A: |- p# l }& O$ k-i 将 DrWtsn32 当作默认应用程序错误调试程序
) t( ^: T$ b2 h-g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供
" |& N& v' B) K u6 v' G- \-p pid 要调试的进程 id6 [' E @( w; k) }
-e event 表示进程附加完成的事件2 h" \$ v7 N, X3 K1 z
-? 这个屏幕
5 ~. a; A( {1 s另外这个网址可能对你也有帮助! 2 V9 Y' l) M5 R- Z' J* O
http://nfcg.anyp.cn/2/articles/041221114400046.aspx?sv=1
) ~ ]& f8 U9 [$ O) ][此贴子已经被作者于2005-4-21 8:47:06编辑过] |