标签 电子取证 下的文章

内存取证工具 Volatility

Imageinfo命令

用于查看我们正在分析的内存样本的摘要信息。具体来说显示主机所使用的操作系统版本、服务包以及硬件结构(32位或64位)、页目录表的起始地址和该获取该内存镜像的时间等基本信息。

  • .raw .vmem 都可能是内存的dump
root@Archerx:/home# volatility -f mem.vmem imageinfo
Volatility Foundation Volatility Framework 2.6
INFO    : volatility.debug    : Determining profile based on KDBG search...
          Suggested Profile(s) : WinXPSP2x86, WinXPSP3x86 (Instantiated with WinXPSP2x86)
                     AS Layer1 : IA32PagedMemoryPae (Kernel AS)
                     AS Layer2 : FileAddressSpace (/home/mem.vmem)
                      PAE type : PAE
                           DTB : 0xb18000L
                          KDBG : 0x80546ae0L
          Number of Processors : 1
     Image Type (Service Pack) : 3
                KPCR for CPU 0 : 0xffdff000L
             KUSER_SHARED_DATA : 0xffdf0000L
           Image date and time : 2016-05-03 04:41:19 UTC+0000
     Image local date and time : 2016-05-03 12:41:19 +0800

notepad

notepad插件能列出当前显示的记事本文本。

connscan

tcp连接池扫描插件

root@Archerx:/home# volatility connscan -f mem.vmem --profile=WinXPSP2x86
Volatility Foundation Volatility Framework 2.6
Offset(P)  Local Address             Remote Address            Pid
---------- ------------------------- ------------------------- ---
0x020575f0 192.168.1.185:1031        192.168.1.1:139           0

psscan

扫描所有进程

root@Archerx:/home# volatility psscan -f mem.vmem --profile=WinXPSP2x86
Volatility Foundation Volatility Framework 2.6
Offset(P)          Name                PID   PPID PDB        Time created                   Time exited                   
------------------ ---------------- ------ ------ ---------- ------------------------------ ------------------------------
0x0000000001ee8608 wuauclt.exe        1632   1040 0x088001a0 2016-05-03 04:33:11 UTC+0000   2016-05-03 04:38:12 UTC+0000  
0x0000000002014da0 csrss.exe           616    552 0x08800040 2016-05-03 04:32:12 UTC+0000                                 
0x000000000201eda0 net1.exe            392    320 0x08800260 2016-05-03 04:32:25 UTC+0000   2016-05-03 04:32:27 UTC+0000  
0x0000000002025020 svchost.exe        1096    684 0x08800140 2016-05-03 04:32:13 UTC+0000                                 
0x0000000002026da0 alg.exe            1212    684 0x088002c0 2016-05-03 04:32:26 UTC+0000                                 
0x0000000002030458 svchost.exe         864    684 0x088000e0 2016-05-03 04:32:13 UTC+0000                                 
0x0000000002032b10 lsass.exe           696    640 0x088000a0 2016-05-03 04:32:12 UTC+0000                                 
0x0000000002067020 svchost.exe         948    684 0x08800100 2016-05-03 04:32:13 UTC+0000                                 
0x00000000020e7da0 svchost.exe        1040    684 0x08800120 2016-05-03 04:32:13 UTC+0000                                 
0x000000000221f520 TPAutoConnect.e    1972    512 0x08800320 2016-05-03 04:32:26 UTC+0000                                 
0x0000000002364560 vmtoolsd.exe       1712   1464 0x08800200 2016-05-03 04:32:15 UTC+0000                                 
0x000000000236c988 explorer.exe       1464   1448 0x088001c0 2016-05-03 04:32:14 UTC+0000                                 
0x00000000023715c0 wscntfy.exe        1392   1040 0x08800300 2016-05-03 04:32:26 UTC+0000                                 
0x000000000237d3c0 vmtoolsd.exe       2020    684 0x08800220 2016-05-03 04:32:23 UTC+0000                                 
0x0000000002381880 winlogon.exe        640    552 0x08800060 2016-05-03 04:32:12 UTC+0000                                 
0x000000000239d3e8 TrueCrypt.exe      2012   1464 0x08800280 2016-05-03 04:33:36 UTC+0000                                 
0x00000000023b9210 smss.exe            552      4 0x08800020 2016-05-03 04:32:10 UTC+0000                                 
0x0000000002402b28 svchost.exe        1256    684 0x08800180 2016-05-03 04:32:14 UTC+0000                                 
0x000000000247db28 TPAutoConnSvc.e     512    684 0x088002a0 2016-05-03 04:32:25 UTC+0000                                 
0x000000000247fb28 imapi.exe           420    684 0x08800280 2016-05-03 04:32:25 UTC+0000   2016-05-03 04:32:32 UTC+0000  
0x0000000002485550 spoolsv.exe        1576    684 0x088001e0 2016-05-03 04:32:14 UTC+0000                                 
0x000000000248fda0 services.exe        684    640 0x08800080 2016-05-03 04:32:12 UTC+0000                                 
0x00000000024a19a0 vmacthlp.exe        852    684 0x088000c0 2016-05-03 04:32:13 UTC+0000                                 
0x00000000024a3528 ctfmon.exe         1736   1464 0x08800160 2016-05-03 04:32:15 UTC+0000                                 
0x00000000025b9830 System                4      0 0x00b18000  

memdump

转储进程的可寻址内存数据插件(根据上一步得到的PID)

volatility memdump -p 120 -f mem.vmem --profile=WinXPSP2x86 --dump-dir .
-p  指定进程PID

注:dump下该程序的内存内容后,有时候可能需要从其中提起密钥,使用Elcomsoft Forensic Disk Decryptor软件提取密钥。

支持如下:

  • Volume Matser Key
  • BitLocker
  • TrueCrypt

提取出相应密钥后可直接用该软件解密磁盘(img/wav文件都可)

cmdscan

通过扫描_COMMAND_HISTORY提取命令历史记录,查看cmd历史执行记录

volatility cmdscan -f mem.vmem --profile=WinXPSP2x86
  • --profile=WinXPSP2x86 #带上这个选项

kpcrscan命令

用于查找内存中用于定义内核处理器控制区域(KPCR)的_KPCR结构体信息,具体来说,可以显示每个处理器的详细信息,包括IDT(线程控制符)和GDT(全局段描述符表)地址,当前运行的线程和空闲线程,CPU数量、制造厂商及其速度,CR3寄存器或页目录表基地址的值等信息。该命令的使用方法要用到imageinfo取得的profile信息:

dlllist命令

能够显示一个进程装载的动态链接库的信息,其显示列表主要包括加载的动态链接库文件的基地址、文件大小以及文件所在路径。

filescan命令

此命令将显示系统上的打开的文件,包括已被恶意软件隐藏的文件。

handles命令

显示在一个进程中打开的处理。

modscan命令

扫描_ldr_data_table_entry对象的物理内存。显示内核的驱动程序,包括已隐藏/链接的。

netscan命令

发现TCP / UDP端点和监听器。这个命令将显示一个主动网络连接的列表。

pslist命令

可以枚举系统中的进程,这条命令通过遍历PsActiveProcessHead指针指向的双向链表枚举当前内存中活跃的所有进程信息,主要包括偏移地址、进程ID号、父进程ID号、线程数量、句柄数量、进程会话ID号以及进程开始和退出的时间。

pstree命令

这个命令显示跟pslist一样的信息,只是以树的形式。

hash-identifier

Kali一个不错的小工具,识别hash

root@Archerx:/home# hash-identifier 
   #########################################################################
   #     __  __             __         ______    _____       #
   #    /\ \/\ \           /\ \     /\__  _\  /\  _ `\       #
   #    \ \ \_\ \     __      ____ \ \ \___    \/_/\ \/  \ \ \/\ \       #
   #     \ \  _  \  /'__`\   / ,__\ \ \  _ `\       \ \ \   \ \ \ \ \       #
   #      \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \        \_\ \__ \ \ \_\ \       #
   #       \ \_\ \_\ \___ \_\/\____/  \ \_\ \_\     /\_____\ \ \____/       #
   #        \/_/\/_/\/__/\/_/\/___/    \/_/\/_/     \/_____/  \/___/  v1.1 #
   #                                 By Zion3R #
   #                            www.Blackploit.com #
   #                               Root@Blackploit.com #
   #########################################################################

   -------------------------------------------------------------------------
 HASH: hkhdkjhdkjhkjdhkjhdkjd

 Not Found.

   -------------------------------------------------------------------------
 HASH: 6df5fcb2b01cc6653181c34e3042d04a

Possible Hashs:
[+]  MD5
[+]  Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))

Least Possible Hashs:
[+]  RAdmin v2.x
[+]  NTLM
[+]  MD4
[+]  MD2
[+]  MD5(HMAC)
[+]  MD4(HMAC)
[+]  MD2(HMAC)
[+]  MD5(HMAC(Wordpress))
[+]  Haval-128
[+]  Haval-128(HMAC)
[+]  RipeMD-128
[+]  RipeMD-128(HMAC)
[+]  SNEFRU-128
[+]  SNEFRU-128(HMAC)
[+]  Tiger-128
[+]  Tiger-128(HMAC)
[+]  md5($pass.$salt)
[+]  md5($salt.$pass)
[+]  md5($salt.$pass.$salt)
[+]  md5($salt.$pass.$username)
[+]  md5($salt.md5($pass))
[+]  md5($salt.md5($pass))
[+]  md5($salt.md5($pass.$salt))
[+]  md5($salt.md5($pass.$salt))
[+]  md5($salt.md5($salt.$pass))
[+]  md5($salt.md5(md5($pass).$salt))
[+]  md5($username.0.$pass)
[+]  md5($username.LF.$pass)
[+]  md5($username.md5($pass).$salt)
[+]  md5(md5($pass))
[+]  md5(md5($pass).$salt)
[+]  md5(md5($pass).md5($salt))
[+]  md5(md5($salt).$pass)
[+]  md5(md5($salt).md5($pass))
[+]  md5(md5($username.$pass).$salt)
[+]  md5(md5(md5($pass)))
[+]  md5(md5(md5(md5($pass))))
[+]  md5(md5(md5(md5(md5($pass)))))
[+]  md5(sha1($pass))
[+]  md5(sha1(md5($pass)))
[+]  md5(sha1(md5(sha1($pass))))
[+]  md5(strtoupper(md5($pass)))

   -------------------------------------------------------------------------
 HASH: f689f92371206fc4f1966b9721fb656190d3e5806a3a08c01da78514f4f771b540cbb2884e274af9a02da60b6e9e6fbb8b5e7fd974cf25d95acb35ce8c23bf09

Possible Hashs:
[+]  SHA-512
[+]  Whirlpool

Least Possible Hashs:
[+]  SHA-512(HMAC)
[+]  Whirlpool(HMAC)

preView