2018 OtterCTF 内存取证
2026-08-22 20:28:40

关于内存取证

📎 相关:
| Misc进阶学习计划

内存取证工具Volatility

使用 Volatility 3(命令为 vol.exe)即可

[OtterCTF 2018]What the password?

你获取了 Rick 的电脑内存镜像,能否从中提取出他的用户密码?

flag格式:NSSCTF{Rick的密码}

Windows 系统若配置了自动登录,密码会以明文存储在 LSA Secrets(DefaultPassword)中,可直接从内存提取。

Step1:确认镜像系统信息

1
vol.exe -f OtterCTF.vmem windows.info
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Volatility 3 Framework 2.26.2
WARNING volatility3.framework.layers.vmware: No metadata file found alongside VMEM file. A VMSS or VMSN file may be required to correctly process a VMEM file. These should be placed in the same directory with the same file name, e.g. OtterCTF.vmem and OtterCTF.vmss.
Progress: 100.00 PDB scanning finished
Variable Value

Kernel Base 0xf80002a52000
DTB 0x187000
Symbols file:///C:/Users/13964/AppData/Local/Programs/Python/Python311/Lib/site-packages/volatility3/symbols/windows/ntkrnlmp.pdb/3844DBB920174967BE7AA4A2C20430FA-2.json.xz
Is64Bit True
IsPAE False
layer_name 0 WindowsIntel32e
memory_layer 1 FileLayer
KdDebuggerDataBlock 0xf80002c430a0
NTBuildLab 7601.17514.amd64fre.win7sp1_rtm.
CSDVersion 1
KdVersionBlock 0xf80002c43068
Major/Minor 15.7601
MachineType 34404
KeNumberProcessors 2
SystemTime 2018-08-04 19:34:22+00:00
NtSystemRoot C:\Windows
NtProductType NtProductWinNt
NtMajorVersion 6
NtMinorVersion 1
PE MajorOperatingSystemVersion 6
PE MinorOperatingSystemVersion 1
PE Machine 34404
PE TimeDateStamp Sat Nov 20 09:30:02 2010
PS C:\Users\13964\Desktop\OtterCTF>

Step2:提取 LSA Secrets

1
vol.exe -f OtterCTF.vmem windows.registry.lsadump
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Volatility 3 Framework 2.26.2
WARNING volatility3.framework.layers.vmware: No metadata file found alongside VMEM file. A VMSS or VMSN file may be required to correctly process a VMEM file. These should be placed in the same directory with the same file name, e.g. OtterCTF.vmem and OtterCTF.vmss.
Progress: 100.00 PDB scanning finished
Key Secret Hex

DefaultPassword
28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (...............
4d 00 6f 00 72 00 74 00 79 00 49 00 73 00 52 00 M.o.r.t.y.I.s.R.
65 00 61 00 6c 00 6c 00 79 00 41 00 6e 00 4f 00 e.a.l.l.y.A.n.O.
74 00 74 00 65 00 72 00 00 00 00 00 00 00 00 00 t.t.e.r......... 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4d 00 6f 00 72 00 74 00 79 00 49 00 73 00 52 00 65 00 61 00 6c 00 6c 00 79 00 41 00 6e 00 4f 00 74 00 74 00 65 00 72 00 00 00 00 00 00 00 00 00
DPAPI_SYSTEM
2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ,...............
01 00 00 00 36 9b ba a9 55 e1 92 82 09 e0 63 4c ....6...U.....cL
20 74 63 14 9e d8 a0 4b 45 87 5a e4 bc f2 77 a5 tc....KE.Z...w.
25 3f 47 12 0b e5 4d a5 c8 35 cf dc 00 00 00 00 %?G...M..5...... 2c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 36 9b ba a9 55 e1 92 82 09 e0 63 4c 20 74 63 14 9e d8 a0 4b 45 87 5a e4 bc f2 77 a5 25 3f 47 12 0b e5 4d a5 c8 35 cf dc 00 00 00 00
PS C:\Users\13964\Desktop\OtterCTF>

获得明文密码

1
MortyIsReallyAnOtter

DefaultPassword 是 Windows 自动登录功能所用的密码字段,存储于注册表 HKLM\SECURITY\Policy\Secrets\DefaultPassword,Volatility 可直接解密读取。

NSSCTF{MortyIsReallyAnOtter}

[OtterCTF 2018]General Info

让我们从简单的开始——这台电脑的名称(PC名)和 IP 地址是什么?

flag格式:NSSCTF{PC名-IP地址}

PC 名和 IP 存在哪里?

信息 存储位置
PC 名(计算机名)

(personal computer)
注册表

HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName
IP 地址

(Internet Protocol)
系统网络连接状态(可通过 netstat插件读取)

Step1:确认镜像可用

拿到内存镜像后,第一步永远是确认它是什么系统,用的什么架构,后续所有分析都依赖这个信息。

1
2
vol.exe -f OtterCTF.vmem windows.info
# 确认镜像系统信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Volatility 3 Framework 2.26.2
WARNING volatility3.framework.layers.vmware: No metadata file found alongside VMEM file. A VMSS or VMSN file may be required to correctly process a VMEM file. These should be placed in the same directory with the same file name, e.g. OtterCTF.vmem and OtterCTF.vmss.
Progress: 100.00 PDB scanning finished
Variable Value

Kernel Base 0xf80002a52000
DTB 0x187000
Symbols file:///C:/Users/13964/AppData/Local/Programs/Python/Python311/Lib/site-packages/volatility3/symbols/windows/ntkrnlmp.pdb/3844DBB920174967BE7AA4A2C20430FA-2.json.xz
Is64Bit True
# 64位系统
IsPAE False
layer_name 0 WindowsIntel32e
memory_layer 1 FileLayer
KdDebuggerDataBlock 0xf80002c430a0
NTBuildLab 7601.17514.amd64fre.win7sp1_rtm.
# Windows 7 SP1
CSDVersion 1
KdVersionBlock 0xf80002c43068
Major/Minor 15.7601
MachineType 34404
KeNumberProcessors 2
SystemTime 2018-08-04 19:34:22+00:00
# 内存快照捕获时间
NtSystemRoot C:\Windows
NtProductType NtProductWinNt
NtMajorVersion 6
NtMinorVersion 1
PE MajorOperatingSystemVersion 6
PE MinorOperatingSystemVersion 1
PE Machine 34404
PE TimeDateStamp Sat Nov 20 09:30:02 2010
PS C:\Users\13964\Desktop\OtterCTF>

Step2:获取 IP 地址

IP 地址最直接的来源是网络连接状态,相当于在被取证的系统上执行了 netstat 命令。

1
2
vol.exe -f OtterCTF.vmem windows.netstat
# 获取网络连接状态
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Volatility 3 Framework 2.26.2
WARNING volatility3.framework.layers.vmware: No metadata file found alongside VMEM file. A VMSS or VMSN file may be required to correctly process a VMEM file. These should be placed in the same directory with the same file name, e.g. OtterCTF.vmem and OtterCTF.vmss.
Progress: 100.00 PDB scanning finished
Offset Proto LocalAddr LocalPort ForeignAddr ForeignPort State PID Owner Created

0xfa801abf6010 TCPv4 0.0.0.0 135 0.0.0.0 0 LISTENING 712 svchost.exe -
0xfa801abf6010 TCPv6 :: 135 :: 0 LISTENING 712 svchost.exe -
0xfa801abf8ef0 TCPv4 0.0.0.0 135 0.0.0.0 0 LISTENING 712 svchost.exe -
0xfa801af71010 TCPv4 0.0.0.0 445 0.0.0.0 0 LISTENING 4 System -
0xfa801af71010 TCPv6 :: 445 :: 0 LISTENING 4 System -
0xfa801b3a9240 TCPv4 0.0.0.0 8733 0.0.0.0 0 LISTENING 4 System -
0xfa801b3a9240 TCPv6 :: 8733 :: 0 LISTENING 4 System -
0xfa801b2bb390 TCPv4 0.0.0.0 9008 0.0.0.0 0 LISTENING 4 System -
0xfa801b2bb390 TCPv6 :: 9008 :: 0 LISTENING 4 System -
0xfa801b3e19e0 TCPv4 0.0.0.0 20830 0.0.0.0 0 LISTENING 2836 BitTorrent.exe -
0xfa801b3e19e0 TCPv6 :: 20830 :: 0 LISTENING 2836 BitTorrent.exe -
0xfa801b3e1c90 TCPv4 0.0.0.0 20830 0.0.0.0 0 LISTENING 2836 BitTorrent.exe -
0xfa801ac09c30 TCPv4 0.0.0.0 49152 0.0.0.0 0 LISTENING 396 wininit.exe -
0xfa801ac09c30 TCPv6 :: 49152 :: 0 LISTENING 396 wininit.exe -
0xfa801ac0d7b0 TCPv4 0.0.0.0 49152 0.0.0.0 0 LISTENING 396 wininit.exe -
0xfa801ac45ef0 TCPv4 0.0.0.0 49153 0.0.0.0 0 LISTENING 808 svchost.exe -
0xfa801ac45ef0 TCPv6 :: 49153 :: 0 LISTENING 808 svchost.exe -
0xfa801ac424e0 TCPv4 0.0.0.0 49153 0.0.0.0 0 LISTENING 808 svchost.exe -
0xfa801ad3eef0 TCPv4 0.0.0.0 49154 0.0.0.0 0 LISTENING 868 svchost.exe -
0xfa801ad3eef0 TCPv6 :: 49154 :: 0 LISTENING 868 svchost.exe -
0xfa801ad3d270 TCPv4 0.0.0.0 49154 0.0.0.0 0 LISTENING 868 svchost.exe -
0xfa801ae4ad30 TCPv4 0.0.0.0 49155 0.0.0.0 0 LISTENING 500 lsass.exe -
0xfa801ae4ad30 TCPv6 :: 49155 :: 0 LISTENING 500 lsass.exe -
0xfa801ae4b370 TCPv4 0.0.0.0 49155 0.0.0.0 0 LISTENING 500 lsass.exe -
0xfa801afcbc00 TCPv4 0.0.0.0 49156 0.0.0.0 0 LISTENING 492 services.exe -
0xfa801afcbc00 TCPv6 :: 49156 :: 0 LISTENING 492 services.exe -
0xfa801afca6b0 TCPv4 0.0.0.0 49156 0.0.0.0 0 LISTENING 492 services.exe -
0xfa801b569af0 TCPv4 0.0.0.0 49229 0.0.0.0 0 LISTENING - - -
0xfa801ab2fcf0 TCPv4 0.0.0.0 50211 0.0.0.0 0 LISTENING - - -
0xfa801a4c2350 TCPv4 0.0.0.0 50217 0.0.0.0 0 LISTENING - - -
0xfa801ab5b750 TCPv4 0.0.0.0 50228 0.0.0.0 0 LISTENING - - -
0xfa801a511500 TCPv4 0.0.0.0 50238 0.0.0.0 0 LISTENING - - -
0xfa801ad6bcf0 TCPv4 0.0.0.0 50341 0.0.0.0 0 LISTENING - - -
0xfa8019fddae0 TCPv4 0.0.0.0 50363 0.0.0.0 0 LISTENING - - -
0xfa801b1a2cf0 TCPv4 0.0.0.0 50365 0.0.0.0 0 LISTENING - - -
0xfa801a7dc3b0 UDPv6 fe80::b06b:a531:ec88:457f 546 * 0 808 svchost.exe 2018-08-04 19:33:28.000000 UTC
0xfa801a68d9c0 UDPv6 fe80::b06b:a531:ec88:457f 1900 * 0 164 svchost.exe 2018-08-04 19:28:42.000000 UTC
0xfa801b4b4250 UDPv6 ::1 1900 * 0 164 svchost.exe 2018-08-04 19:28:42.000000 UTC
0xfa801919cec0 UDPv4 192.168.202.131 1900 * 0 164 svchost.exe 2018-08-04 19:28:42.000000 UTC
0xfa801a6ad870 UDPv4 127.0.0.1 1900 * 0 164 svchost.exe 2018-08-04 19:28:42.000000 UTC
0xfa801b40f010 UDPv4 0.0.0.0 1900 * 0 2836 BitTorrent.exe 2018-08-04 19:27:17.000000 UTC
0xfa801a59f3f0 UDPv4 0.0.0.0 5353 * 0 4076 chrome.exe 2018-08-04 19:29:35.000000 UTC
0xfa801a5a0ec0 UDPv4 0.0.0.0 5353 * 0 4076 chrome.exe 2018-08-04 19:29:35.000000 UTC
0xfa801a5a0ec0 UDPv6 :: 5353 * 0 4076 chrome.exe 2018-08-04 19:29:35.000000 UTC
0xfa801ae83810 UDPv4 0.0.0.0 5355 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801ae83810 UDPv6 :: 5355 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801b4ed650 UDPv4 0.0.0.0 5355 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801b42b3f0 UDPv4 192.168.202.131 6771 * 0 2836 BitTorrent.exe 2018-08-04 19:27:22.000000 UTC
0xfa801b4e3230 UDPv4 127.0.0.1 6771 * 0 2836 BitTorrent.exe 2018-08-04 19:27:22.000000 UTC
0xfa801b3f8cb0 UDPv4 0.0.0.0 20830 * 0 2836 BitTorrent.exe 2018-08-04 19:27:15.000000 UTC
0xfa801b3f8cb0 UDPv6 :: 20830 * 0 2836 BitTorrent.exe 2018-08-04 19:27:15.000000 UTC
0xfa801b3e8b50 UDPv4 0.0.0.0 20830 * 0 2836 BitTorrent.exe 2018-08-04 19:27:15.000000 UTC
0xfa801b589b50 UDPv4 0.0.0.0 50523 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801b589b50 UDPv6 :: 50523 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801b5602c0 UDPv4 127.0.0.1 52846 * 0 2308 bittorrentie.e 2018-08-04 19:27:24.000000 UTC
0xfa801b54a390 UDPv4 127.0.0.1 52847 * 0 2624 bittorrentie.e 2018-08-04 19:27:24.000000 UTC
0xfa801ad5f010 UDPv4 0.0.0.0 55175 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801a5dd010 UDPv6 ::1 58340 * 0 164 svchost.exe 2018-08-04 19:28:42.000000 UTC
0xfa801919d430 UDPv4 127.0.0.1 58341 * 0 164 svchost.exe 2018-08-04 19:28:42.000000 UTC
0xfa801adab010 UDPv4 0.0.0.0 58383 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801adab010 UDPv6 :: 58383 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801a711bb0 UDPv4 0.0.0.0 60005 * 0 620 svchost.exe 2018-08-04 19:34:22.000000 UTC
0xfa801b42f920 UDPv4 192.168.202.131 62306 * 0 2836 BitTorrent.exe 2018-08-04 19:27:17.000000 UTC
0xfa801b42f4c0 UDPv4 127.0.0.1 62307 * 0 2836 BitTorrent.exe 2018-08-04 19:27:17.000000 UTC
PS C:\Users\13964\Desktop\OtterCTF>
1
2
3
4
5
Proto   LocalAddr           LocalPort   ForeignAddr   ForeignPort   State     PID    Owner
TCPv4 0.0.0.0 135 0.0.0.0 0 LISTENING 712 svchost.exe
TCPv4 0.0.0.0 20830 0.0.0.0 0 LISTENING 2836 BitTorrent.exe
UDPv4 192.168.202.131 1900 * 0 164 svchost.exe
UDPv4 192.168.202.131 6771 * 0 2836 BitTorrent.exe

要看LocalAddr 列,找绑定到具体IP(不是 0.0.0.0)的条目,就是本机真实 IP

  • svchost.exeBitTorrent.exe 都绑定到了 192.168.202.131
  • 0.0.0.0 表示监听所有网卡,不代表具体 IP

所以本机 IP = 192.168.202.131

Step3:获取 PC 名

Windows 的计算机名存储在注册表的固定路径下:

1
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName

Windows 注册表是一个层级数据库,存储系统和软件的几乎所有配置。

ControlSet001 是活跃的控制集(类似”当前配置”)

Windows 的注册表(Registry)是一个树形数据库,HKEY_LOCAL_MACHINE\SYSTEM 分支下保存着操作系统级别的配置。计算机名这类”机器身份”信息由系统在安装时写入,后续可以通过”系统属性”界面修改,修改后依然写回到这个注册表路径。

Volatility 的 printkey 插件直接从内存中解析注册表蜂巢(hive)文件的内存映射,因此即使没有硬盘镜像,只要内存里有注册表的缓存,就能读出这些值。

Volatility 3 的 windows.registry.printkey 插件可以直接读取注册表内容:

1
2
vol.exe -f OtterCTF.vmem windows.registry.printkey --key "ControlSet001\Control\ComputerName\ComputerName"
# 读取注册表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Volatility 3 Framework 2.26.2
WARNING volatility3.framework.layers.vmware: No metadata file found alongside VMEM file. A VMSS or VMSN file may be required to correctly process a VMEM file. These should be placed in the same directory with the same file name, e.g. OtterCTF.vmem and OtterCTF.vmss.
Progress: 100.00 PDB scanning finished
Last Write Time Hive Offset Type Key Name Data Volatile

- 0xf8a00000f010 Key [NONAME]\ControlSet001\Control\ComputerName\ComputerName - - -
2018-06-02 19:23:00.000000 UTC 0xf8a000024010 REG_SZ \REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName (Default) mnmsrvc False
2018-06-02 19:23:00.000000 UTC 0xf8a000024010 REG_SZ \REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName ComputerName WIN-LO6FAF3DTFE False
- 0xf8a000053320 Key \REGISTRY\MACHINE\HARDWARE\ControlSet001\Control\ComputerName\ComputerName - --
- 0xf8a000109410 Key \SystemRoot\System32\Config\SECURITY\ControlSet001\Control\ComputerName\ComputerName -- -
- 0xf8a00033d410 Key \Device\HarddiskVolume1\Boot\BCD\ControlSet001\Control\ComputerName\ComputerName -- -
- 0xf8a0005d5010 Key \SystemRoot\System32\Config\SOFTWARE\ControlSet001\Control\ComputerName\ComputerName -- -
- 0xf8a001495010 Key \SystemRoot\System32\Config\DEFAULT\ControlSet001\Control\ComputerName\ComputerName -- -
- 0xf8a0016d4010 Key \SystemRoot\System32\Config\SAM\ControlSet001\Control\ComputerName\ComputerName - --
- 0xf8a00175b010 Key \??\C:\Windows\ServiceProfiles\NetworkService\NTUSER.DAT\ControlSet001\Control\ComputerName\ComputerName - - -
- 0xf8a00176e410 Key \??\C:\Windows\ServiceProfiles\LocalService\NTUSER.DAT\ControlSet001\Control\ComputerName\ComputerName - - -
- 0xf8a002090010 Key \??\C:\Users\Rick\ntuser.dat\ControlSet001\Control\ComputerName\ComputerName - --
- 0xf8a0020ad410 Key \??\C:\Users\Rick\AppData\Local\Microsoft\Windows\UsrClass.dat\ControlSet001\Control\ComputerName\ComputerName - - -
- 0xf8a00377d2d0 Key \??\C:\System Volume Information\Syscache.hve\ControlSet001\Control\ComputerName\ComputerName - - -
PS C:\Users\13964\Desktop\OtterCTF>
1
2
3
Last Write Time              Hive Offset      Type     Key                                                                        Name          Data
2018-06-02 19:23:00 UTC 0xf8a000024010 REG_SZ \REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName (Default) mnmsrvc
2018-06-02 19:23:00 UTC 0xf8a000024010 REG_SZ \REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName ComputerName WIN-LO6FAF3DTFE

TypeREG_SZ指的是字符串类型的注册表值

NameComputername也就是计算机名这个键

DataWIN-LO6FAF3DTFE注册表ComputerName的键值,就是PC的名字

第一行的 (Default) 是默认值,mnmsrvc 是远程桌面服务的服务名,不是计算机名,忽略它

所以PC 名就是WIN-LO6FAF3DTFE

NSSCTF{WIN-LO6FAF3DTFE-192.168.202.131}

[OtterCTF 2018]Play Time

Rick就喜欢玩一些经典的老游戏。你能说出他正在玩哪款游戏吗?以及游戏服务器的 IP 地址是多少?

flag格式:NSSCTF{游戏名-服务器ip}

flag包含两部分

  1. 游戏名称 → 从进程列表里找正在运行的游戏程序
  2. 服务器 IP → 从网络连接里找该游戏进程连接的远端地址

插件windows.pstree/netscan/netstat

插件 功能
windows.pstree 查看所有运行中的进程(像任务管理器)
windows.netscan 池扫描(Pool Scanning),在内存中搜索网络对象的特征标记

扫描内存中的网络连接结构体,包括已关闭的连接

已关闭(CLOSED)的连接大多数也能找到

速度较慢,但是扫描的相对比较全面
windows.netstat 遍历系统维护的活跃连接链表

只显示活跃连接

已关闭(CLOSED)的连接可能遗漏

速度很快,但是有很多遗漏

为什么用 netscan 而不是 netstat
netstat只显示当前活跃连接,游戏连接可能已断开(状态为 CLOSED)
netscan会扫描内存中所有残留的连接结构体,能找到更多历史连接记录

Step1:查进程树 找运行游戏

1
vol.exe -f OtterCTF.vmem windows.pstree
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Volatility 3 Framework 2.26.2
WARNING volatility3.framework.layers.vmware: No metadata file found alongside VMEM file. A VMSS or VMSN file may be required to correctly process a VMEM file. These should be placed in the same directory with the same file name, e.g. OtterCTF.vmem and OtterCTF.vmss.
Progress: 100.00 PDB scanning finished
PID PPID ImageFileName Offset(V) Threads Handles SessionId Wow64 CreateTime ExitTime Audit Cmd Path

4 0 System 0xfa8018d44740 95 411 N/A False 2018-08-04 19:26:03.000000 UTC N/A - --
* 260 4 smss.exe 0xfa801947e4d0 2 30 N/A False 2018-08-04 19:26:03.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\smss.exe \SystemRoot\System32\smss.exe \SystemRoot\System32\smss.exe
348 336 csrss.exe 0xfa801a0c8380 9 563 0 False 2018-08-04 19:26:10.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\csrss.exe %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16 C:\Windows\system32\csrss.exe
* 2420 348 conhost.exe 0xfa801a6643d0 0 30 0 False 2018-08-04 19:34:22.000000 UTC 2018-08-04 19:34:22.000000 UTC \Device\HarddiskVolume1\Windows\System32\conhost.exe \??\C:\Windows\system32\conhost.exe C:\Windows\system32\conhost.exe
388 380 csrss.exe 0xfa80198d3b30 11 460 1 False 2018-08-04 19:26:11.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\csrss.exe %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16 C:\Windows\system32\csrss.exe
396 336 wininit.exe 0xfa801a2ed060 3 78 0 False 2018-08-04 19:26:11.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\wininit.exe wininit.exe C:\Windows\system32\wininit.exe
* 508 396 lsm.exe 0xfa801ab461a0 10 148 0 False 2018-08-04 19:26:12.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\lsm.exe C:\Windows\system32\lsm.exe C:\Windows\system32\lsm.exe
* 492 396 services.exe 0xfa801ab377c0 11 242 0 False 2018-08-04 19:26:12.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\services.exe C:\Windows\system32\services.exe C:\Windows\system32\services.exe
** 1164 492 svchost.exe 0xfa801ad718a0 18 312 0 False 2018-08-04 19:26:23.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork C:\Windows\system32\svchost.exe
** 1428 492 vmtoolsd.exe 0xfa801ae92920 9 313 0 False 2018-08-04 19:26:27.000000 UTC N/A \Device\HarddiskVolume1\Program Files\VMware\VMware Tools\vmtoolsd.exe "C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" C:\Program Files\VMware\VMware Tools\vmtoolsd.exe
*** 3916 1428 cmd.exe 0xfa801a572b30 0 - 0 False 2018-08-04 19:34:22.000000 UTC 2018-08-04 19:34:22.000000 UTC \Device\HarddiskVolume1\Windows\System32\cmd.exe - -
** 1948 492 svchost.exe 0xfa801afe7800 6 96 0 False 2018-08-04 19:26:42.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k bthsvcs C:\Windows\system32\svchost.exe
** 1436 492 msdtc.exe 0xfa801aff3b30 14 155 0 False 2018-08-04 19:26:43.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\msdtc.exe C:\Windows\System32\msdtc.exe C:\Windows\System32\msdtc.exe
** 668 492 vmacthlp.exe 0xfa801abbdb30 3 56 0 False 2018-08-04 19:26:16.000000 UTC N/A \Device\HarddiskVolume1\Program Files\VMware\VMware Tools\vmacthlp.exe "C:\Program Files\VMware\VMware Tools\vmacthlp.exe" C:\Program Files\VMware\VMware Tools\vmacthlp.exe
** 412 492 mscorsvw.exe 0xfa801b603610 7 86 0 True 2018-08-04 19:28:42.000000 UTC N/A \Device\HarddiskVolume1\Windows\Microsoft.NET\Framework\v4.0.30319\mscorsvw.exe C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorsvw.exe C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorsvw.exe
** 164 492 svchost.exe 0xfa801a6af9f0 12 147 0 False 2018-08-04 19:28:42.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k LocalServiceAndNoImpersonation C:\Windows\system32\svchost.exe
** 808 492 svchost.exe 0xfa801ac2e9e0 22 508 0 False 2018-08-04 19:26:18.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\System32\svchost.exe -k LocalServiceNetworkRestrictedC:\Windows\System32\svchost.exe
*** 960 808 audiodg.exe 0xfa801ac753a0 7 151 0 False 2018-08-04 19:26:19.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\audiodg.exe C:\Windows\system32\AUDIODG.EXE 0x2fc C:\Windows\system32\AUDIODG.EXE
** 2344 492 taskhost.exe 0xfa801b1e9b30 8 193 1 False 2018-08-04 19:26:57.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\taskhost.exe "taskhost.exe" C:\Windows\system32\taskhost.exe
** 3496 492 Lavasoft.WCAss 0xfa801aad1060 14 473 0 False 2018-08-04 19:33:49.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Lavasoft\Web Companion\Application\Lavasoft.WCAssistant.WinService.exe "C:\Program Files (x86)\Lavasoft\Web Companion\Application\Lavasoft.WCAssistant.WinService.exe" C:\Program Files (x86)\Lavasoft\Web Companion\Application\Lavasoft.WCAssistant.WinService.exe
** 1324 492 dllhost.exe 0xfa801ae7f630 15 207 0 False 2018-08-04 19:26:42.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\dllhost.exe C:\Windows\system32\dllhost.exe /Processid:{02D4B3F1-FD88-11D1-960D-00805FC79235} C:\Windows\system32\dllhost.exe
** 3124 492 mscorsvw.exe 0xfa801a6c2700 7 77 0 False 2018-08-04 19:28:43.000000 UTC N/A \Device\HarddiskVolume1\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorsvw.exe C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorsvw.exe C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorsvw.exe
** 2500 492 sppsvc.exe 0xfa801b232060 4 149 0 False 2018-08-04 19:26:58.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\sppsvc.exe C:\Windows\system32\sppsvc.exe C:\Windows\system32\sppsvc.exe
** 712 492 svchost.exe 0xfa801abebb30 8 301 0 False 2018-08-04 19:26:17.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k RPCSS C:\Windows\system32\svchost.exe
** 844 492 svchost.exe 0xfa801ac31b30 17 396 0 False 2018-08-04 19:26:18.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestrictedC:\Windows\System32\svchost.exe
*** 2704 844 dwm.exe 0xfa801b1fab30 4 97 1 False 2018-08-04 19:27:04.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\dwm.exe "C:\Windows\system32\Dwm.exe" C:\Windows\system32\Dwm.exe
** 1356 492 VGAuthService. 0xfa801ae0f630 3 85 0 False 2018-08-04 19:26:25.000000 UTC N/A \Device\HarddiskVolume1\Program Files\VMware\VMware Tools\VMware VGAuth\VGAuthService.exe "C:\Program Files\VMware\VMware Tools\VMware VGAuth\VGAuthService.exe" C:\Program Files\VMware\VMware Tools\VMware VGAuth\VGAuthService.exe
** 724 492 PresentationFo 0xfa801988c2d0 6 148 0 False 2018-08-04 19:27:52.000000 UTC N/A \Device\HarddiskVolume1\Windows\Microsoft.NET\Framework64\v3.0\WPF\PresentationFontCache.exe C:\Windows\Microsoft.Net\Framework64\v3.0\WPF\PresentationFontCache.exe C:\Windows\Microsoft.Net\Framework64\v3.0\WPF\PresentationFontCache.exe
** 604 492 svchost.exe 0xfa8018e3c890 11 376 0 False 2018-08-04 19:26:16.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k DcomLaunch C:\Windows\system32\svchost.exe
*** 1800 604 WmiPrvSE.exe 0xfa8019124b30 9 222 0 False 2018-08-04 19:26:39.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\wbem\WmiPrvSE.exe C:\Windows\system32\wbem\wmiprvse.exe C:\Windows\system32\wbem\wmiprvse.exe
*** 2136 604 WmiPrvSE.exe 0xfa801b112060 12 324 0 False 2018-08-04 19:26:51.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\wbem\WmiPrvSE.exe C:\Windows\system32\wbem\wmiprvse.exe C:\Windows\system32\wbem\wmiprvse.exe
** 1120 492 spoolsv.exe 0xfa801ad5ab30 14 346 0 False 2018-08-04 19:26:22.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\spoolsv.exe C:\Windows\System32\spoolsv.exe C:\Windows\System32\spoolsv.exe
** 868 492 svchost.exe 0xfa801ac4db30 45 1114 0 False 2018-08-04 19:26:18.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k netsvcs C:\Windows\system32\svchost.exe
** 620 492 svchost.exe 0xfa801acd37e0 19 415 0 False 2018-08-04 19:26:21.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k NetworkService C:\Windows\system32\svchost.exe
** 1012 492 svchost.exe 0xfa801ac97060 12 554 0 False 2018-08-04 19:26:20.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\system32\svchost.exe -k LocalService C:\Windows\system32\svchost.exe
** 3064 492 SearchIndexer. 0xfa801b3aab30 11 610 0 False 2018-08-04 19:27:14.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\SearchIndexer.exe C:\Windows\system32\SearchIndexer.exe /Embedding C:\Windows\system32\SearchIndexer.exe
** 3196 492 svchost.exe 0xfa801a6e4b30 14 352 0 False 2018-08-04 19:28:44.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\svchost.exe C:\Windows\System32\svchost.exe -k secsvcs C:\Windows\System32\svchost.exe
* 500 396 lsass.exe 0xfa801ab3f060 7 610 0 False 2018-08-04 19:26:12.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\lsass.exe C:\Windows\system32\lsass.exe C:\Windows\system32\lsass.exe
432 380 winlogon.exe 0xfa801aaf4060 3 113 1 False 2018-08-04 19:26:11.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\winlogon.exe winlogon.exe C:\Windows\system32\winlogon.exe
2728 2696 explorer.exe 0xfa801b27e060 33 854 1 False 2018-08-04 19:27:04.000000 UTC N/A \Device\HarddiskVolume1\Windows\explorer.exe C:\Windows\Explorer.EXE C:\Windows\Explorer.EXE
* 708 2728 LunarMS.exe 0xfa801b5cb740 18 346 1 True 2018-08-04 19:27:39.000000 UTC N/A \Device\HarddiskVolume1\Nexon\MapleStory\LunarMS.exe "C:\Nexon\MapleStory\LunarMS.exe" C:\Nexon\MapleStory\LunarMS.exe
* 4076 2728 chrome.exe 0xfa801a4e3870 44 1160 1 False 2018-08-04 19:29:30.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
** 576 4076 chrome.exe 0xfa801a502b30 2 58 1 False 2018-08-04 19:29:31.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --type=watcher --main-thread-id=4080 --on-initialized-event-handle=304 --parent-handle=308 /prefetch:6 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
** 3648 4076 chrome.exe 0xfa801a635240 16 207 1 False 2018-08-04 19:33:38.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --type=renderer --field-trial-handle=984,15358569600588498425,3475374789430647391,131072 --service-pipe-token=66BB0CC3FE10242BC701AB87A5940738 --lang=en-US --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --device-scale-factor=1 --num-raster-threads=1 --service-request-channel-token=66BB0CC3FE10242BC701AB87A5940738 --renderer-client-id=30 --mojo-platform-channel-handle=4516 /prefetch:1 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
** 1796 4076 chrome.exe 0xfa801a5ef1f0 15 170 1 False 2018-08-04 19:33:41.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --type=renderer --field-trial-handle=984,15358569600588498425,3475374789430647391,131072 --service-pipe-token=86C637812F74263DD98834CC0FE01CE7 --lang=en-US --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --device-scale-factor=1 --num-raster-threads=1 --service-request-channel-token=86C637812F74263DD98834CC0FE01CE7 --renderer-client-id=31 --mojo-platform-channel-handle=4412 /prefetch:1 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
** 1808 4076 chrome.exe 0xfa801a4f7b30 13 229 1 False 2018-08-04 19:29:32.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --type=gpu-process --field-trial-handle=984,15358569600588498425,3475374789430647391,131072 --gpu-preferences=KAAAAAAAAACAAwBAAQAAAAAAAAAAAGAAEAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAIAAAAAAAAAAoAAAAAAAAADAAAAAAAAAAOAAAAAAAAAAQAAAAAAAAAAAAAAAKAAAAEAAAAAAAAAAAAAAACwAAABAAAAAAAAAAAQAAAAoAAAAQAAAAAAAAAAEAAAALAAAA --service-request-channel-token=4939AD179421E7F7FF934CA7C25FCD34 --mojo-platform-channel-handle=1004 --ignored=" --type=renderer " /prefetch:2 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
** 4084 4076 chrome.exe 0xfa801a4eab30 8 86 1 False 2018-08-04 19:29:30.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --type=crashpad-handler "--user-data-dir=C:\Users\Rick\AppData\Local\Google\Chrome\User Data" /prefetch:7 --monitor-self-annotation=ptype=crashpad-handler "--database=C:\Users\Rick\AppData\Local\Google\Chrome\User Data\Crashpad" "--metrics-dir=C:\Users\Rick\AppData\Local\Google\Chrome\User Data" --url=https://clients2.google.com/cr/report --annotation=channel= --annotation=plat=Win64 --annotation=prod=Chrome --annotation=ver=68.0.3440.84 --initial-client-data=0x7c,0x80,0x84,0x78,0x88,0x7feeb3324d0,0x7feeb3324e0,0x7feeb3324f0 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
** 3924 4076 chrome.exe 0xfa801aa00a90 16 228 1 False 2018-08-04 19:29:51.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --type=renderer --field-trial-handle=984,15358569600588498425,3475374789430647391,131072 --service-pipe-token=BB216EAECD5332095D1836CB17604E02 --lang=en-US --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --device-scale-factor=1 --num-raster-threads=1 --service-request-channel-token=BB216EAECD5332095D1836CB17604E02 --renderer-client-id=9 --mojo-platform-channel-handle=2440 /prefetch:1 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
** 2748 4076 chrome.exe 0xfa801a7f98f0 15 181 1 False 2018-08-04 19:31:15.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --type=renderer --field-trial-handle=984,15358569600588498425,3475374789430647391,131072 --service-pipe-token=5B96B12CED256E93CD66ABC8626426FB --lang=en-US --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --device-scale-factor=1 --num-raster-threads=1 --service-request-channel-token=5B96B12CED256E93CD66ABC8626426FB --renderer-client-id=22 --mojo-platform-channel-handle=2104 /prefetch:1 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
* 3820 2728 Rick And Morty 0xfa801b486b30 4 185 1 True 2018-08-04 19:32:55.000000 UTC N/A \Device\HarddiskVolume1\Torrents\Rick And Morty season 1 download.exe "C:\Torrents\Rick And Morty season 1 download.exe" C:\Torrents\Rick And Morty season 1 download.exe
** 3720 3820 vmware-tray.ex 0xfa801a4c5b30 8 147 1 True 2018-08-04 19:33:02.000000 UTC N/A \Device\HarddiskVolume1\Users\Rick\AppData\Local\Temp\RarSFX0\vmware-tray.exe "C:\Users\Rick\AppData\Local\Temp\RarSFX0\vmware-tray.exe" C:\Users\Rick\AppData\Local\Temp\RarSFX0\vmware-tray.exe
* 2804 2728 vmtoolsd.exe 0xfa801b1cdb30 6 190 1 False 2018-08-04 19:27:06.000000 UTC N/A \Device\HarddiskVolume1\Program Files\VMware\VMware Tools\vmtoolsd.exe "C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" -n vmusr C:\Program Files\VMware\VMware Tools\vmtoolsd.exe
* 2836 2728 BitTorrent.exe 0xfa801b290b30 24 471 1 True 2018-08-04 19:27:07.000000 UTC N/A \Device\HarddiskVolume1\Users\Rick\AppData\Roaming\BitTorrent\BitTorrent.exe "C:\Users\Rick\AppData\Roaming\BitTorrent\BitTorrent.exe" /MINIMIZED C:\Users\Rick\AppData\Roaming\BitTorrent\BitTorrent.exe
** 2624 2836 bittorrentie.e 0xfa801b4c9b30 13 316 1 True 2018-08-04 19:27:21.000000 UTC N/A \Device\HarddiskVolume1\Users\Rick\AppData\Roaming\BitTorrent\updates\7.10.3_44495\bittorrentie.exe "C:\Users\Rick\AppData\Roaming\BitTorrent\updates\7.10.3_44495\bittorrentie.exe" BitTorrent_2836_00313978_1933444659 BT4823DF041B09 BitTorrent C:\Users\Rick\AppData\Roaming\BitTorrent\updates\7.10.3_44495\bittorrentie.exe
** 2308 2836 bittorrentie.e 0xfa801b4a7b30 15 337 1 True 2018-08-04 19:27:19.000000 UTC N/A \Device\HarddiskVolume1\Users\Rick\AppData\Roaming\BitTorrent\updates\7.10.3_44495\bittorrentie.exe "C:\Users\Rick\AppData\Roaming\BitTorrent\updates\7.10.3_44495\bittorrentie.exe" BitTorrent_2836_00313D08_590648902 BT4823DF041B09 BitTorrent C:\Users\Rick\AppData\Roaming\BitTorrent\updates\7.10.3_44495\bittorrentie.exe
* 2844 2728 WebCompanion.e 0xfa801b2f02e0 0 - 1 False 2018-08-04 19:27:07.000000 UTC 2018-08-04 19:33:33.000000 UTC \Device\HarddiskVolume1\Program Files (x86)\Lavasoft\Web Companion\Application\WebCompanion.exe--
3880 1484 WebCompanionIn 0xfa801b18f060 15 522 0 True 2018-08-04 19:33:07.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Lavasoft\Web Companion\Application\WebCompanionInstaller.exe "C:\Program Files (x86)\Lavasoft\Web Companion\Application\WebCompanionInstaller.exe" --update --prod --partner=BT170701 --version=4.3.1908.3686 C:\Program Files (x86)\Lavasoft\Web Companion\Application\WebCompanionInstaller.exe
* 452 3880 sc.exe 0xfa801aeb6890 0 - 0 False 2018-08-04 19:33:48.000000 UTC 2018-08-04 19:33:48.000000 UTC \Device\HarddiskVolume1\Windows\SysWOW64\sc.exe - -
* 3208 3880 sc.exe 0xfa801b08f060 0 - 0 False 2018-08-04 19:33:47.000000 UTC 2018-08-04 19:33:48.000000 UTC \Device\HarddiskVolume1\Windows\SysWOW64\sc.exe - -
* 2028 3880 sc.exe 0xfa801ac01060 0 - 0 False 2018-08-04 19:33:49.000000 UTC 2018-08-04 19:34:03.000000 UTC \Device\HarddiskVolume1\Windows\SysWOW64\sc.exe - -
* 3856 3880 WebCompanion.e 0xfa801a6268b0 15 386 0 True 2018-08-04 19:34:05.000000 UTC N/A \Device\HarddiskVolume1\Program Files (x86)\Lavasoft\Web Companion\Application\WebCompanion.exe "C:\Program Files (x86)\Lavasoft\Web Companion\Application\WebCompanion.exe" --silent --update C:\Program Files (x86)\Lavasoft\Web Companion\Application\WebCompanion.exe
* 3504 3880 sc.exe 0xfa801aa72b30 0 - 0 False 2018-08-04 19:33:48.000000 UTC 2018-08-04 19:33:48.000000 UTC \Device\HarddiskVolume1\Windows\SysWOW64\sc.exe - -
3304 3132 notepad.exe 0xfa801b1fd960 2 79 1 False 2018-08-04 19:34:10.000000 UTC N/A \Device\HarddiskVolume1\Windows\System32\notepad.exe "C:\Windows\system32\NOTEPAD.EXE" C:\Users\Rick\Desktop\Flag.txt.WINDOWS C:\Windows\system32\NOTEPAD.EXE
PS C:\Users\13964\Desktop\OtterCTF>

筛一下explorer.exe启动的内容(这些是用户手动双击运行的程序 当然也包括此处的游戏!)

1
2
3
4
5
6
7
explorer.exe (PID: 2728)
├── LunarMS.exe (PID: 708) ← 游戏!
├── chrome.exe (PID: 4076)
├── BitTorrent.exe (PID: 2836)
├── Rick And Morty season 1 download.exe (PID: 3820) ← 可疑
│ └── vmware-tray.exe (PID: 3720) ← 恶意软件
└── vmtoolsd.exe (PID: 2804)

LunarMS.exe 是在用户桌面由 explorer.exe直接启动的子进程。

  • LunarMS 是一款 MapleStory(冒险岛)的私服客户端
  • 玩家不连接官方服务器,而是连接私服搭建者的服务器
  • 路径为 C:\Nexon\MapleStory\LunarMS.exe
  • Nexon 是 MapleStory 的开发商,路径直接确认了这是冒险岛游戏目录

所以游戏名是LunarMS

Step2:查找游戏服务器 IP(windows.netscan 再过滤PID708

已知游戏进程的 PID 是 708,现在用 netscan 查它的网络连接:

1
vol.exe -f OtterCTF.vmem windows.netscan

然后过滤出 PID 708 的结果:

1
vol.exe -f OtterCTF.vmem windows.netscan | Where-Object { $_ -match "708" }
1
2
3
4
Offset       Proto   LocalAddr            LocalPort   ForeignAddr       ForeignPort   State    PID   Owner
0x7d6124d0 TCPv4 192.168.202.131 49530 77.102.199.102 7575 CLOSED 708 LunarMS.exe
0x7e413a40 TCPv4 - 0 - 0 CLOSED 708 LunarMS.exe
0x7e521b50 TCPv4 - 0 - 0 CLOSED 708 LunarMS.exe
1
2
3
4
5
6
7
8
9
10
0x7d6124d0   TCPv4   192.168.202.131   49530   77.102.199.102   7575   CLOSED   708   LunarMS.exe
│ │ │ │ │ │ │ │ └─ 进程名
│ │ │ │ │ │ │ └─ PID
│ │ │ │ │ │ └─ CLOSED = 连接已关闭但记录仍在内存
│ │ │ │ │ └─ 目标端口 7575(游戏服务器端口)
│ │ │ │ └─ 目标 IP = 77.102.199.102 ← 游戏服务器!
│ │ │ └─ 本地端口 49530(系统随机分配)
│ │ └─ 本机 IP 192.168.202.131
│ └─ TCP 协议
└─ 内存偏移地址

为什么此处状态是 CLOSED?
内存快照捕获时,游戏可能刚好断开了与服务器的连接。但连接的结构体信息还残留在内存中,netscan 能把它找出来。连接已经关闭了,但是记录仍然存在内存里。内存取证把已经消失的内容又找回了一部分owo

另外两条 PID 708 的记录显示的是 LocalAddr: -,表示这些连接条目不完整,或者说地址信息已经被释放,可以忽略。唯一有效的连接记录就是 77.102.199.102:7575

所以游戏服务器 IP是77.102.199.102

NSSCTF{LunarMS-77.102.199.102}

1
2
3
4
5
6
7
8
# 第一步:查进程树,找游戏进程名和 PID
vol.exe -f OtterCTF.vmem windows.pstree

# 第二步:扫描所有网络连接(包括已关闭的)
vol.exe -f OtterCTF.vmem windows.netscan

# 过滤 LunarMS 相关条目
vol.exe -f OtterCTF.vmem windows.netscan | Where-Object { $_ -match "708" }

[OtterCTF 2018]Name Game

我们知道该账号登录到了一个名为 Lunar-3 的频道。这个账号的名称是什么?

flag格式:NSSCTF{账号名称}

题干说是账号登录的频道名是 Lunar-3

游戏登录时,客户端会把频道名和账号名同时保存在内存里,从而用于界面显示、数据请求等。因此只要在游戏进程的内存中找到 Lunar-3,看它附近存着什么字符串,账号名就藏在那里。

Step1:确认目标进程 PID

从上一题已知:

1
LunarMS.exe   PID: 708   路径: C:\Nexon\MapleStory\LunarMS.exe

Step2:导出进程内存

1
vol.exe -f OtterCTF.vmem --output-dir ./dumps windows.memmap --pid 708 --dump

执行完毕后,./dumps/ 目录下会生成:

1
pid.708.dmp

windows.memmap --dump 会把进程的所有虚拟内存页按顺序写成一个原始二进制文件。

Step3:在 Dump 中搜索”Lunar-3”上下文

用 Python 搜索 Lunar-3,并打印其前后 200 字节内的所有可见字符串:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import re

with open('dumps/pid.708.dmp', 'rb') as f:
data = f.read()

pattern = b'Lunar-3'
for m in re.finditer(pattern, data):
start = max(0, m.start() - 200)
end = min(len(data), m.end() + 200)
chunk = data[start:end]
print(f'=== 命中位置 offset {m.start()} ===')
# 提取长度 ≥ 4 的可见 ASCII 字符串
for s in re.findall(b'[ -~]{4,}', chunk):
print(s)
print()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PS C:\Users\13964\Desktop\OtterCTF\dumps> python 1.py
=== 命中位置 offset 523061531 ===
b'Lunar-3'
b'Lunar-4'

=== 命中位置 offset 537366640 ===
b'Sound/'
b'normal'
b'pressed'
b'disabled'
b'mouseOver'
b'keyFocused'
b'Lunar-3'
b'0tt3r8r33z3'用户名!!!
b'Sound/UI.img/'
b'BtMouseClick'
b'Lunar-4'
b'Lunar-1'
b'Lunar-2'

Step 4 — 分析结果

找到了两处 Lunar-3

第一处只用频道名列表。说明此处是游戏资源文件下载的频道枚举。没有账号信息。

第二处有频道名和ott3r8r33z3说明是游戏登录状态的数据。账号名紧跟随频道名存储

1
2
3
4
5
6
7
8
9
10
11
12
Sound/          ← UI 音效资源路径
normal ← 按钮状态
pressed ┐
disabled │ UI 组件的各状态名(说明这是界面相关的内存区)
mouseOver │
keyFocused ┘
Lunar-3 ← 当前选择的频道
0tt3r8r33z3 ← 紧随其后 = 当前登录的账号名
Sound/UI.img/ ← 下一个 UI 资源路径
Lunar-4 ┐
Lunar-1 │ 其余频道名列表
Lunar-2 ┘

游戏的 UI 数据结构中,选中频道名和当前账号名存储在相邻的内存区域,这是典型的游戏客户端内存布局。

所以账号名是0tt3r8r33z3

NSSCTF{0tt3r8r33z3}

[OtterCTF 2018]Name Game 2

通过一些初步研究,我们发现:已登录角色的用户名总是出现在以下字节签名之后:

0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2}

Rick 的游戏角色名是什么?

flag格式:NSSCTF{游戏角色名}

字节签名(Byte Signature)

上一题用”关键词附近搜索”找到了账号名,但角色名没有像Lunar-3这样方便的文本线索可以利用。

题目给了另一种方法:字节签名定位。角色名在内存里总是跟在一段固定的字节模式后面,找到这个模式,后面紧跟着的就是角色名。

1
0x64  0x??{6-8}  0x40 0x06  0x??{18}  0x5a 0x0c  0x00 0x00
部分 含义
0x64 固定字节,值为 100(十进制)
0x??{6-8} 6 到 8 个任意字节(通配符)
0x40 0x06 固定两字节
0x??{18} 18 个任意字节(通配符)
0x5a 0x0c 固定两字节
0x00 0x00 两个零字节(通常是字段分隔符或对齐填充)

签名结束后,紧接着就是角色名字符串

Step1:确认进程 dump 已存在

1
dumps/pid.708.dmp   (LunarMS.exe,PID 708)

如果还没有导出,先执行:

1
vol.exe -f OtterCTF.vmem --output-dir ./dumps windows.memmap --pid 708 --dump

Step2:将字节签名转换为正则表达式

Python 的 re 模块支持二进制正则,把签名翻译如下:

签名部分 Python 正则
0x64 \x64
0x??{6-8} .{6,8}
0x40 0x06 \x40\x06
0x??{18} .{18}
0x5a 0x0c \x5a\x0c
0x00 0x00 \x00\x00
1
pattern = re.compile(b'\x64.{6,8}\x40\x06.{18}\x5a\x0c\x00\x00', re.DOTALL)

re.DOTALL 标志使 . 能匹配所有字节包括 \x00(默认情况下 . 不匹配换行符 \n\x0a,二进制搜索必须加这个标志)

Step3:搜索签名并提取角色名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import re

with open('dumps/pid.708.dmp', 'rb') as f:
data = f.read()

# 字节签名正则
pattern = re.compile(b'\x64.{6,8}\x40\x06.{18}\x5a\x0c\x00\x00', re.DOTALL)

for m in pattern.finditer(data):
# 签名结束位置之后,读取最多 32 字节
after = data[m.end(): m.end() + 32]
# 提取开头的连续可见 ASCII 字符串
name_match = re.match(b'([ -~]+)', after)
if name_match:
print(f'offset={m.start():#x} name={name_match.group(1)}')
1
offset=0x20b05fa9  name=b'M0rtyL0L'

只有一处命中。而且M0rtyL0L看着就对^^

Step4:确认结果

在内存偏移 0x20b05fa9 处找到签名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PS C:\Users\13964\Desktop\OtterCTF> python -c "
>> with open('c:/Users/13964/Desktop/OtterCTF/dumps/pid.708.dmp', 'rb') as f:
>> f.seek(0x20b05fa9)
>> raw = f.read(60)
>>
>> # 打印十六进制 + ASCII 对照
>> for i in range(0, len(raw), 16):
>> chunk = raw[i:i+16]
>> hex_part = ' '.join(f'{b:02x}' for b in chunk)
>> asc_part = ''.join(chr(b) if 0x20 <= b <= 0x7e else '.' for b in chunk)
>> print(f'{0x20b05fa9+i:#010x}: {hex_part:<48} |{asc_part}|')
>> "
0x20b05fa9: 64 00 00 00 00 00 00 40 06 00 00 b4 e5 af 00 01 |d......@........|
0x20b05fb9: 00 00 00 00 00 00 00 b0 e5 af 00 5a 0c 00 00 4d |...........Z...M|
0x20b05fc9: 30 72 74 79 4c 30 4c 00 00 00 00 00 00 00 21 4e |0rtyL0L.......!N|
0x20b05fd9: 00 00 55 75 00 00 00 00 00 00 00 00 |..Uu........|
PS C:\Users\13964\Desktop\OtterCTF>

NSSCTF{M0rtyL0L}

1
2
3
4
5
6
7
8
9
10
11
偏移          十六进制字节
0x20b05fa9: 64 ← 0x64(签名起始)
00 00 00 00 00 00 ← 6 字节通配 0x??{6}
40 06 ← 0x40 0x06(固定)
00 00 b4 e5 af 00 01
00 00 00 00 00 00 00
b0 e5 af 00 ← 共 18 字节通配 0x??{18}
5a 0c ← 0x5a 0x0c(固定)
00 00 ← 两个零字节(签名结束)
0x20b05fc9: 4d 30 72 74 79 4c 30 4c ← 角色名开始
M 0 r t y L 0 L

字节签名定位 vs 关键词搜索

方法 适用场景 优点 缺点
关键词搜索 已知目标附近有文本线索 简单直接 需要有文本锚点
字节签名定位 已知数据结构但没有文本锚点 精确定位数据结构 需要提前知道签名(逆向分析)

[OtterCTF 2018]Silly Rick

傻乎乎的Rick总是忘记自己邮箱的密码,所以他使用了一个在线的“已保存密码服务”(Stored Password Services)来存储密码。他每次都会复制粘贴这个密码,以免输错。
Rick 的邮箱密码是什么?

flag格式:NSSCTF{邮箱密码}

  1. Rick 用在线密码存储服务保存密码
  2. 他每次都复制粘贴密码,不手打

“复制粘贴”意味着密码此刻就在 Windows 剪贴板里。

内存快照捕获时,剪贴板内容还残留在内存中,Volatility 可以直接读出来。

1
2
3
4
5
6
7
用户按 Ctrl+C

程序调用 SetClipboardData(CF_UNICODETEXT, 密码字符串)

win32k.sys 在内核堆中分配内存块,存储 UTF-16LE 编码的文本

内存快照时数据仍在 ← Volatility 2 的 clipboard 插件可直接提取

此处必须用Vol2的原因

clipboard 插件只有 vol2 有(vol3 没有),所以此处必须装一个 vol2。

配置vol2的方法我放到了同目录下的《已有vol3补装vol2》

Vol2 本机安装路径

文件 路径
Vol2 快捷脚本 C:\tools\vol2.bat
Vol2 源码 C:\tools\volatility-2.6.1\vol.py
Python 2.7 环境 C:\Users\13964\miniconda3\envs\vol2\

Vol2 常用命令格式及常用插件

1
2
3
4
# 基础格式(必须指定 --profile)
C:\tools\vol2.bat -f <内存文件> --profile=<系统版本> <插件名>

# 本题的系统版本:Win7SP1x64(来自 windows.info 的结论)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看所有可用插件和 Profile
C:\tools\vol2.bat --info

# 进程列表
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 pslist

# 进程树
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 pstree

# 网络连接
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 netscan

# Hash 提取
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 hashdump

# 剪贴板(Vol2 专属!)
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 clipboard

# 桌面截图(Vol2 专属!)
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 screenshot --dump-dir ./screenshots

# 文本框内容(Vol2 专属!)
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 editbox

什么时候用Vol2/3

剪切板/截图/文本框用vol2,其余都用vol3

Step1:使用 Vol2 提取剪贴板

1
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 clipboard
1
2
3
4
5
6
7
// 不用理会distorm警告
Session WindowStation Format Handle Object Data
------- ------------- ------ ------ ------ ----
1 WinSta0 CF_UNICODETEXT 0x602e3 0xfffff900c1ad93f0 M@il_Pr0vid0rs
1 WinSta0 CF_TEXT 0x10 ------------------
1 WinSta0 0x150133L 0x200... ------------------
1 WinSta0 CF_TEXT 0x1 ------------------

Step2:逐列解读

含义
Session 1 用户会话 1(Rick 的登录桌面)
WindowStation WinSta0 用户桌面窗口站
Format CF_UNICODETEXT Unicode 文本格式(Chrome 复制文本时的标准格式)
Handle 0x602e3 剪贴板句柄
Object 0xfffff900c1ad93f0 内核对象地址
Data M@il_Pr0vid0rs ✅ 剪贴板明文内容

其余三行 Data 列为空:CF_TEXT 是 ANSI 文本格式(与 Unicode 共存但内容已释放),0x150133L 是 Chrome 的私有剪贴板格式,均无可读数据。

1
2
3
4
5
6
7
8
9
10
11
Rick 打开在线密码管理网站(Chrome)

看到保存的 mail.com 密码:M@il_Pr0vid0rs

Ctrl+C 复制到剪贴板

← 内存快照就在此刻捕获 →

打开 mail.com 登录页(rickypinky@mail.com)

Ctrl+V 粘贴密码
1
vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 clipboard

内存快照时Rick可能刚复制完还没粘贴或者粘贴完程序没有清除剪贴板。

这样这样Windows剪切板数据在有新内容覆盖前始终保留在内存中。

因为内存快照捕获的是某一瞬间的内存状态。所以,时机合适就能捕获到剪切板内容

还有还有。运行 Vol2 时可能会看到类似这样的警告:

1
*** Failed to import volatility.plugins.malware.apihooks (NameError: name 'distorm3' is not defined)

这是因为我这里distorm3(反汇编库)没有安装,只影响 apihooksssdt 等需要反汇编的插件,不影响 clipboard、pstree、netscan 等大多数常用插件,可以忽略。当然如果安了就不会报错了。

NSSCTF{M@il_Pr0vid0rs}

[OtterCTF 2018]Come On, Let’s Go

我们之所以对 Rick 的电脑进行内存转储,是因为它感染了恶意软件。请找出恶意软件的进程名称(包括扩展名)

flag格式:NSSCTF{进程名.exe}

步骤

Step1:查进程树 找可疑进程

1
vol.exe -f OtterCTF.vmem windows.pstree
1
2
3
4
5
6
7
8
explorer.exe (PID: 2728)              ← 用户桌面进程
├── LunarMS.exe (PID: 708) ← 游戏客户端(正常)
├── chrome.exe (PID: 4076) ← 浏览器(正常)
├── BitTorrent.exe (PID: 2836) ← BT 客户端(正常)
├── vmtoolsd.exe (PID: 2804) ← VMware Tools(正常)
├── Rick And Morty season 1 download.exe (PID: 3820) ← ⚠️ 可疑!
│ └── vmware-tray.exe (PID: 3720) ← ⚠️ 高度可疑!
└── WebCompanion.exe (PID: 2844) ← 广告软件

发现两个可疑进程:

  1. Rick And Morty season 1 download.exe(PID 3820)
  • 用的是瑞克和莫蒂第一季动画命名,不像正规软件
  1. vmware-tray.exe(PID 3720)
  • 名字像 VMware 系统托盘程序(vmtoolsd.exe
  • 但它是 Rick And Morty...exe 的子进程,不是系统启动的
  • 正常的 VMware 工具应该由 services.exe 启动,而不是用户程序

补充:

一开始我以为vmware工具就是宽泛的虚拟机,就算是伪装成虚拟机的命名,虚拟机不是本就是用户双击启动的吗

实际上VMware 有两类程序

  • 一种是电脑上的VMware Workstation Pro(vmware.exe)用户双击进入。只是一个图形化页面,管理虚拟机的工具,当然是手动启动。
  • 另一种是VMware Tools 服务(vmtoolsd.exe),由services.exe自动启动。在虚拟机内部运行的后台服务,负责鼠标穿透、共享剪贴板、自动调整分辨率等

本题的内存镜像是虚拟机内部的 Windows 系统,所以里面跑的是vmtoolsd.exe(Tools 服务),不是 Workstation 主程序。

Step2:查看进程启动路径,确认恶意行为

1
vol.exe -f OtterCTF.vmem windows.cmdline

主要筛选出我们刚刚怀疑的两条

1
2
3
PID   进程名                                    命令行
3820 Rick And Morty season 1 download.exe "C:\Torrents\Rick And Morty season 1 download.exe"
3720 vmware-tray.exe "C:\Users\Rick\AppData\Local\Temp\RarSFX0\vmware-tray.exe"

关键发现:

  • Rick And Morty season 1 download.exeC:\Torrents\ 启动
    → Rick 从 BT 下载了一个伪装成影视资源的可执行文件并运行了它
  • vmware-tray.exeC:\Users\Rick\AppData\Local\Temp\RarSFX0\ 启动
    RarSFX0 是 RAR 自解压(Self-Extracting)的临时目录
    → 说明 Rick And Morty...exe 是一个 RarSFX 自解压程序,运行后释放出 vmware-tray.exe 并执行它

攻击链:

1
2
3
4
5
C:\Torrents\Rick And Morty season 1 download.exe
↓ 自解压(RarSFX)
C:\Users\Rick\AppData\Local\Temp\RarSFX0\vmware-tray.exe
↓ 执行
[恶意行为开始]

Step3:检测内存注入 确认vmware-tray.exe是恶意载荷

1
vol.exe -f OtterCTF.vmem windows.malfind --pid 3720

输出里多次出现这条

OtterCTF2018-01

PAGE_EXECUTE_READWRITE

正常的程序内存分区:

内存区域 权限 说明
代码段 EXECUTE + READ

(只读可执行)
程序指令,不可修改
数据段 READ + WRITE

(读写,不可执行)
变量、堆栈
恶意代码 EXECUTE + READ + WRITE

(可读可写可执行)
⚠️ 异常!

表示这块内存既可以被写入,又可以被执行,是 Shellcode 注入和恶意代码驻留的典型特征。

正常程序不需要同时有”写入”和”执行”权限的内存区域。

Step4:查看文件系统痕迹,确认勒索行为

1
vol.exe -f OtterCTF.vmem windows.filescan
1
vol.exe -f OtterCTF.vmem windows.filescan | Select-String -Pattern "Flag\.txt|READ_IT|\.WINDOWS\b"
1
2
3
地址            文件路径
0x7d61b070 \Users\Rick\AppData\Roaming\...\Flag.txt.WINDOWS.lnk
0x7d660500 \Users\Rick\Desktop\READ_IT.txt

这下找到了加密文件和勒索信。证据确凿了。

文件 说明
Flag.txt.WINDOWS 原始 Flag.txt被勒索软件加密,扩展名改为 .WINDOWS
READ_IT.txt 勒索软件留下的勒索信(要求支付赎金)

所以所以vmware-tray.exe 的行为完全符合勒索软件特征:

  • 加密用户文件(修改扩展名为 .WINDOWS
  • 留下勒索信
进程 PID 角色 路径
Rick And Morty season 1 download.exe 3820 投递载体(Dropper) C:\Torrents\
vmware-tray.exe 3720 恶意载荷(勒索软件) C:\...\Temp\RarSFX0\

所以真正执行恶意行为的是vmware-tray.exe

完整攻击链还原

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. Rick 在 BT 客户端中下载了"Rick And Morty season 1 download.exe"
(伪装成影视资源的恶意程序)

2. Rick 运行了该程序

3. 程序自解压(RarSFX),释放 vmware-tray.exe 到 Temp 目录

4. 自动执行 vmware-tray.exe
(伪装成 VMware 系统托盘进程,实际是勒索软件)

5. vmware-tray.exe 扫描用户文件,加密 Flag.txt → Flag.txt.WINDOWS

6. 桌面留下 READ_IT.txt(勒索信)

7. 系统管理员发现异常,对内存进行转储 → OtterCTF.vmem
1
2
3
4
5
6
7
8
9
10
11
# 第一步:查进程树,找可疑父子关系
vol.exe -f OtterCTF.vmem windows.pstree

# 第二步:查启动路径,确认从 Temp 目录启动
vol.exe -f OtterCTF.vmem windows.cmdline

# 第三步:检测内存注入特征
vol.exe -f OtterCTF.vmem windows.malfind --pid 3720

# 第四步:查文件系统,找加密文件和勒索信
vol.exe -f OtterCTF.vmem windows.filescan

NSSCTF{vmware-tray.exe}

实际上正常的系统软件和合法的程序都有固定的启动来源

启动来源 典型程序
services.exe启动 系统服务(vmtoolsd、svchost 等)
explorer.exe启动 用户手动双击运行的程序
开机自启(注册表 Run 键) 杀毒软件、输入法等

如果vmware-tray.exe是从service.exe启动的。那更坏了。说明恶意软件已经做到了持久化或者提权。

explorer.exe启动说明是用户主动触发的,这是钓鱼/社工攻击的手段

RarSFX自解压

SFX 自解压SelF-eXtracting

扩展包是.exe不需要依赖任何外部压缩工具 双击即可解压

RarSFX是常见的恶意软件投递手段

1
2
3
4
- .exe 格式可以直接双击运行
- 内部包含的文件不会被直接扫描(有些旧版杀毒软件)
- 可以设置静默运行(用户不知道发生了什么)
- 解压完可以自动执行指定程序

勒索软件特征

必须的一点:加密文件→让受害者无法访问

行为 说明
必做 加密文件 没有加密就没有勒索筹码
选做 修改扩展名

.WINDOWS
只是为了让受害者直观感受到文件”坏了”,有的勒索软件不改扩展名
留下勒索信 没有勒索信受害者不知道怎么交钱,但极少数勒索软件靠其他渠道联系
删除卷影副本(VSS) 防止通过 Windows 备份恢复,很多勒索软件会做但不是必须
联网上报 向攻击者服务器发送加密密钥,有的离线就能运行

[OtterCTF 2018]Path To Glory

恶意软件是如何进入 Rick 的电脑的?一定是 Rick 以前的某个非法习惯……

flag格式:NSSCTF{XXXXXX}

上题已经知道恶意软件路径是 C:\Torrents\Rick And Morty season 1 download.exe,进程列表里还有 BitTorrent.exe(PID 2836)在跑——说明是通过 BT(种子)下载的。题目问的“非法习惯”,答案应该藏在内存里的 .torrent 种子文件中。

步骤

Step1:用Vol2 filescan找.torrent文件的内存地址

filescan 扫内存里所有打开过的文件记录(路径、大小都有)

1
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 filescan 2>$null | Select-String "torrent"

Select-String "torrent" 只显示路径里含有”torrent”的行(相当于过滤器)。

输出(只看 .torrent 文件):

1
2
3
0x000000007d8813c0  RW-rwd  \...\Downloads\Rick And Morty season 1 download.exe.torrent
0x000000007dae9350 RWD--- \...\Roaming\BitTorrent\Rick And Morty season 1 download.exe.1.torrent
0x000000007dcbf6f0 RW-rwd \...\Roaming\BitTorrent\Rick And Morty season 1 download.exe.1.torrent

找到了两个 .torrent 文件:

地址 路径 说明
0x7d8813c0 Downloads\...torrent Rick 从网站下载的原始种子文件
0x7dae9350 BitTorrent\...1.torrent BitTorrent 客户端的工作副本(内容更完整)

我们选择地址 **0x7dae9350** 的那个(BitTorrent 客户端的副本,数据更完整)。

地址是什么意思?_0x7dae9350_ _是十六进制数,代表这个文件对象在内存中的位置。
_下一步 dumpfiles 需要用这个地址来告诉 Volatility “我要提取哪个文件”。


Step 2 — 用 Vol2 dumpfiles 把 .torrent 文件从内存提取出来

dumpfiles 把内存里缓存的文件内容原样写到磁盘,变成真实文件。

先创建输出目录,再执行:

1
2
mkdir dumps\torrent
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007dae9350 -D dumps\torrent

参数说明:

1
2
-Q 0x000000007dae9350   ← 指定要 dump 哪个文件(用上一步找到的地址)
-D dumps\torrent ← 输出到哪个目录

输出:

1
2
DataSectionObject 0x7dae9350   None   \...\Rick And Morty season 1 download.exe.1.torrent
file.None.0xfffffa801b42c9e0.dat

第二行 file.None.0xfffffa801b42c9e0.dat 就是生成的文件名(Volatility 自动命名的)。
这个 .dat 文件的内容就是 .torrent 种子文件的原始二进制内容。


Step 3 — 用 Python 提取种子文件中的字符串

种子文件是二进制格式,不能直接用记事本打开(会乱码)。
我们用 Python 把里面所有”可读的文字”都提取出来:

新建文件 search_torrent.py,内容如下:

1
2
3
4
5
6
7
8
9
10
import re

# 以二进制模式读取 .dat 文件(就是刚才 dump 出来的种子文件)
with open('dumps/torrent/file.None.0xfffffa801b42c9e0.dat', 'rb') as f:
data = f.read()

# 用正则表达式找出所有长度>=4的可见ASCII字符串
# b'[ -~]' 表示空格到~之间的字符,也就是所有可打印的英文字符
for s in re.findall(b'[ -~]{4,}', data):
print(s.decode('ascii', errors='replace'))

运行:

1
python search_torrent.py

输出(关键部分,省略了乱码的二进制数据):

1
2
3
4
5
6
7
8
9
10
11
d8:announce44:udp://tracker.openbittorrent.com:80/announce
13:announce-listll44:udp://tracker.openbittorrent.com:80/announceel42:udp://tracker.opentrackr.org:1337/announceee
10:created by17:BitTorrent/7.10.3
13:creation datei1533150595e
8:encoding5:UTF-8
4:infod
6:lengthi456670e
4:name36:Rick And Morty season 1 download.exe
12:piece lengthi16384e
...(中间是二进制分片校验数据,无法阅读)...
e7:website19:M3an_T0rren7_4_R!cke ← ✅ Flag 就在这里!

Step 4 — 读懂 Bencode 格式,提取 Flag

Bencode 格式

.torrent 文件用 Bencode 存数据,规则非常简单:

格式 含义 例子
数字:内容 字符串,数字是长度 4:spam

→ 字符串 spam
i数字e 整数 i123e

→ 整数 123
d...e 字典(键值对) d3:key5:valuee

{"key": "value"}
l...e 列表 l4:spame

["spam"]

解析最后一行:

1
e7:website19:M3an_T0rren7_4_R!cke

逐字拆解:

1
2
3
4
e                        → 某个字典(info 字典)结束的标记
7:website → 字符串,长度7,内容是 website(这是 key,键名)
19:M3an_T0rren7_4_R!cke → 字符串,长度19,内容是 M3an_T0rren7_4_R!cke(这是 value,值)
e → 顶层字典结束的标记

所以这是种子文件里的一个自定义字段:

1
"website" = "M3an_T0rren7_4_R!cke"

这个字段是出题人故意加进去的,值就是 flag 的内容

Leet-speak 解码(用数字/符号替换字母的写法):

原文 替换
3 e
0 o
7 t
! i
4 for(谐音)

M3an_T0rren7_4_R!ckeMean Torrent 4 Ricke(”给 Rick 的恶意种子”)


完整攻击链还原

这是 Rick 是如何被感染的完整过程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
第1步:Rick 去 thepiratebay3.org(海盗湾)
搜索《Rick And Morty》第一季的盗版资源

第2步:网站上有人发布了一个伪装的种子
种子文件名:Rick And Morty season 1 download.exe.torrent
看起来很正常,只是个种子文件

第3步:Rick 下载了这个种子,
种子保存在 C:\Users\Rick\Downloads\

第4步:Rick 用 BitTorrent 客户端打开种子,开始下载
下载完成后得到:C:\Torrents\Rick And Morty season 1 download.exe

⚠️ 注意:正常视频文件是 .mkv / .mp4,不是 .exe!
但很多人不注意文件扩展名,直接双击

第5步:Rick 双击运行了这个 .exe

第6步:程序是 RarSFX 自解压包,运行后自动解压
释放出真正的恶意程序:vmware-tray.exe(伪装成 VMware 工具)

第7步:vmware-tray.exe 是勒索软件,开始加密 Rick 的文件
把文件改名为 .WINDOWS 扩展名
留下勒索信 READ_IT.txt

感染路径一句话:

1
盗版网站 → 下载假种子 → BT下载伪装的.exe → 双击运行 → 中勒索软件

完整命令汇总

1
2
3
4
5
6
7
8
9
10
11
12
# 进入工作目录
cd C:\Users\13964\Desktop\OtterCTF

# 第一步:扫描内存,找 .torrent 文件的地址
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 filescan 2>$null | Select-String "torrent"

# 第二步:创建输出目录,dump 出 .torrent 文件
mkdir dumps\torrent
C:\tools\vol2.bat -f OtterCTF.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007dae9350 -D dumps\torrent

# 第三步:用 Python 提取字符串(新建 search_torrent.py 后运行)
python search_torrent.py

search_torrent.py 完整内容:

1
2
3
4
5
6
7
import re

with open('dumps/torrent/file.None.0xfffffa801b42c9e0.dat', 'rb') as f:
data = f.read()

for s in re.findall(b'[ -~]{4,}', data):
print(s.decode('ascii', errors='replace'))

Flag

1
NSSCTF{M3an_T0rren7_4_R!cke}

知识拓展

Vol2 dumpfiles 参数说明

1
2
-Q 0x7dae9350   ← 物理地址,filescan 输出的第一列
-D dumps/ ← 输出目录(需要提前创建好)

Vol3 的等价命令:

1
vol.exe -f OtterCTF.vmem windows.dumpfiles --physaddr 0x7dae9350

flag 藏在 website 字段

出题人模仿真实的恶意种子作者,把 flag 塞进种子的自定义 website 字段。真实种子里这类字段常用来留联系方式/网站标识,分析元数据能追溯发布者。

常见的盗版/BT 网站(用于取证识别,了解即可)

网站 说明
thepiratebay.org 最著名的 BT 种子网站,多次被封锁又复活
1337x.to 另一个主流种子分发网站
rarbg.to 已关闭,曾是电影资源的主要来源

这些网站上的资源没有安全审核,充满了伪装成影视/软件的恶意程序,是恶意软件传播的重灾区。

Bencode 格式速记

1
2
3
4
i123e              → 整数 123
4:spam → 字符串 "spam"(长度4)
l4:spam4:eggse → 列表 ["spam", "eggs"]
d3:key5:valuee → 字典 {"key": "value"}

所有 .torrent 文件都使用这种编码,掌握规则后可以手动解读种子文件内容。

2026-08-22 20:28:40
下一页