03 - 自动化抽取dump信息

又是一周,老实说又忘记了这码事,趁着周末填一下。在了解了如何抽取DUMP文件中关于URI的方法之后,继续自动化操作就好。我们把dump归档到某个目录下(work_path),然后利用批处理,或者随便什么语言什么脚本,只要你开心就好,去调用cdb,并将解析出的结果保存到txt中。

废话不多说,我就是这么喜欢直奔主题,以下是批处理文件。如果你要使用这个批处理,机智的你一定知道怎么修改来匹配你机器的环境。如果不知道的话那还是别找漏洞了:)。

@echo off 
set work_path=E:\wowowowow\dump
E: 
cd %work_path% 
for /R %%s in (*.dmp) do ( 
    echo "*************************"
    echo NOW PROCESSING: %%s
    echo "*************************"    
    echo  .ecxr;k;.foreach^(place ^{s -^[1^]u 0 L^?80000000 ^"http^"^}^)^{du ^/c100 ^$^{place^}^}| "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\cdb.exe" -i srv*E:\symbols\*http://msdl.microsoft.com/download/symbols -z %%s >> %%s.out.txt
) 
echo "DONE."

经过一番等待之后,得到如下的输出:

outp1.png

毕竟不是文物分析,dmp文件老实说可以删掉了。使用可以预览文档内容的工具,例如FileLocator Pro(Linux 下的替代:searchmonkey),对“*.txt”来搜索“://” or "http://"或者其他你感兴趣的东西,分析得到dump文件中保存的那一段历史。

搜索“WAV”,得到这么一串URL:

00234824  "http://DOGE/main.php?DOGEDOGE&A=ListView"
051239e8  "http://DOGE/play.php?file=DOGEDOGEDOGEDOGEDOGEDOGE-015800405922.WAV"

outp1.png

根据URL中残留的信息,可以断定是在网页中预览了某个WAV文件,然后产生了崩溃,崩溃的位置也不错;

0:006> Unable to load image C:\WINDOWS\system32\wmp.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for wmp.dll
*** ERROR: Module load completed but symbols could not be loaded for wmp.dll
eax=00000001 ebx=00000000 ecx=00000000 edx=003e953c esi=00000000 edi=00000001
eip=082a7e7f esp=03b9f950 ebp=03b9f960 iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010246
wmp+0x37e7f:
082a7e7f ??              ???
  *** Stack trace for last set context - .thread/.cxr resets it
ChildEBP RetAddr  
WARNING: Stack unwind information not available. Following frames may be wrong.
03b9f94c 06b1ded0 wmp+0x37e7f

接下来只要保存文件,尝试复现即可。

(作者 blast,CH 03 完)

标签:none

添加新评论

captcha
请输入验证码