-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
300 lines (259 loc) · 49.5 KB
/
search.xml
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>volatility内存取证工具的学习和使用</title>
<url>/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/</url>
<content><![CDATA[<p> 我最近正在学习misc的内存取证和日志分析,volalility是一个常用的内存取证分析工具,接下来我们一起来看看它的几个使用方法和典型CTF赛题</p>
<p>volatility下载地址:<a href="https://github.com/volatilityfoundation/volatility">https://github.com/volatilityfoundation/volatility</a></p>
<p>本文使用的版本非volatility3版本,而是老版本,需要python2运行</p>
<h4 id="例题:"><a href="#例题:" class="headerlink" title="例题:"></a>例题:</h4><p>选自 [陇剑杯 2021]内存分析:</p>
<p>1.网管小王制作了一个虚拟机文件,让您来分析后作答:<br> 虚拟机的密码是_____________。</p>
<p>首先,我们下载附件之后,看到压缩包里有一个vmem格式的文件</p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/1.png"></p>
<blockquote>
<p>Tip:什么是VMEM格式的文件?</p>
<p> VMEM格式的文件通常与虚拟机有关。VMEM文件是VMware虚拟机使用的分页或交换文件,用来备份主内存文件(以.VMX后缀的文件)中的数据,在虚拟机电源被关闭时使用。当虚拟机正在运行而主机的物理内存不足以支持它时,系统会将一部分虚拟机内存数据存储到VMEM文件中。 这个文件通过存储虚拟机的物理RAM内容,可以在虚拟机启动时提供状态恢复功能。如果您需要处理此类文件,通常是因为您正在管理虚拟机或者需要分析虚拟机的运行状态。 在某些情况下,如果虚拟机没有正常关闭,例如突然断电,VMEM文件就可以用来恢复虚拟机运行前的状态。然而,由于这些文件可能非常大,并且包含了大量的数据,所以通常不会被移动或编辑。 正常的虚拟机操作不需要用户直接与VMEM文件交互。</p>
</blockquote>
<p>我们这时就需要用到volatility工具分析这个vmem格式的文件,将其拖入kali linux 虚拟机中,我们可以使用</p>
<figure class="highlight stylus"><table><tr><td class="code"><pre><span class="line">python2 vol<span class="selector-class">.py</span> -f Target<span class="selector-class">.vmem</span> imageinfo</span><br></pre></td></tr></table></figure>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/2.png"></p>
<p>来查看Target.vmem文件的镜像信息,这里的-f 指的是 file ,用于指定文件,imageinfo是查看镜像文件的信息,imageinfo在内存取证中一般都是经常使用的</p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/3.png"></p>
<p>这里的profile给出了一堆操作系统的名称,这是volatility工具预测的该我文件可能的操作系统版本,如果你能确定是哪个就选择哪个,否则可能需要挨个尝试,我们直接选择第一个尝试</p>
<p>我们通过命令</p>
<figure class="highlight stylus"><table><tr><td class="code"><pre><span class="line">python2 vol<span class="selector-class">.py</span> -f Target<span class="selector-class">.vmem</span> <span class="attr">--profile</span> Win7SP1x64 lsadump</span><br></pre></td></tr></table></figure>
<span id="more"></span>
<blockquote>
<p>lsadump 插件用于提取的LSA(本地安全权限)密钥信息包括几个敏感部分,如:</p>
<ul>
<li><strong>SAM (安全账户管理器) 哈希</strong>: 这是存储本地账户密码哈希的地方。在系统不加密这些密码的情况下(例如在未启用系统加密的老旧系统中),这些哈希可以被破解以还原出用户的明文密码。</li>
<li><strong>LSA Secrets</strong>: Windows系统用来存储各种系统级别的敏感信息的加密库,比如服务账号密码、系统加密密钥等。这可以包括用于自动登录功能的账户密码等。</li>
<li><strong>缓存的域验证信息</strong>: 当用户登录到域控制器时,系统会缓存一份密码验证信息供以后使用,这在用户无法连接到域控制器时仍允许其登录。</li>
</ul>
</blockquote>
<p>来提取和密码有关的信息,提取密码这样的敏感信息我们可以使用lsadump插件</p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/4.png"></p>
<p>于是我们得到了flag</p>
<p>可以使用python脚本提取</p>
<figure class="highlight python"><table><tr><td class="code"><pre><span class="line">flag_str = <span class="string">"f.l.a.g.{.W.3.1. C.0.M.3...T.0... T.H.i.S...3.4.S. Y...F.0.R.3.N.S. i.C.X.}"</span></span><br><span class="line">filteres_flag = <span class="string">""</span></span><br><span class="line">i = <span class="number">0</span></span><br><span class="line"><span class="keyword">while</span> (i<<span class="built_in">len</span>(flag_str)):</span><br><span class="line"> <span class="keyword">if</span> flag_str[i:i+<span class="number">3</span>] == <span class="string">"..."</span>:</span><br><span class="line"> filteres_flag += <span class="string">" "</span></span><br><span class="line"> i+=<span class="number">3</span></span><br><span class="line"> <span class="keyword">elif</span> flag_str[i] <span class="keyword">in</span> [<span class="string">'.'</span>,<span class="string">' '</span>]:</span><br><span class="line"> filteres_flag += <span class="string">''</span></span><br><span class="line"> i+=<span class="number">1</span></span><br><span class="line"> <span class="keyword">else</span>:</span><br><span class="line"> filteres_flag+=flag_str[i]</span><br><span class="line"> i+=<span class="number">1</span></span><br><span class="line"><span class="built_in">print</span>(filteres_flag)</span><br></pre></td></tr></table></figure>
<ol start="2">
<li></li>
</ol>
<p>网管小王制作了一个虚拟机文件,让您来分析后作答:<br> 虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为_____________。(解题过程中需要用到上一题答案中flag{}内的内容进行处理。)</p>
<p>我们还是采用volatility进行分析</p>
<figure class="highlight vim"><table><tr><td class="code"><pre><span class="line">python2 vol.<span class="keyword">py</span> -<span class="keyword">f</span> Target.vmem --<span class="keyword">profile</span> Win7SP1x64 filescan | <span class="keyword">grep</span> <span class="string">"Desktop"</span></span><br></pre></td></tr></table></figure>
<blockquote>
<p><code>filescan</code> 是Volatility框架中的一个插件,它用于扫描整个物理内存的转储,以搜索Windows文件对象。这个插件会检索表示打开文件的_FILE_OBJECT结构的列表,并提供关于这些文件的详细信息,例如文件的名称、文件的大小、文件的位置以及关联的文件句柄等。</p>
<p><code>filescan</code> 插件非常有用,因为即便是已经被删除的文件,只要它们的文件对象仍然存在于内存中,这个插件依然能够检索到这些文件的信息。这对于取证分析来说是非常重要的,因为它可以揭示系统在某一特定时间点的文件活动情况。</p>
</blockquote>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/5.png"></p>
<p>我们发现了有华为手机品牌的名字,接着我们尝试提取它</p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/6.png"></p>
<p>提取</p>
<figure class="highlight stylus"><table><tr><td class="code"><pre><span class="line">python2 vol<span class="selector-class">.py</span> -f Target<span class="selector-class">.vmem</span> <span class="attr">--profile</span> Win7SP1x64 dumpfiles -Q <span class="number">0</span>x000000007d8c7d10 -D./</span><br></pre></td></tr></table></figure>
<blockquote>
<p>-Q后面跟的是偏移量</p>
<p>参数 <code>-D</code> 后面跟随的 <code>./</code> 表示当前目录,也就是说,此命令将会把提取的文件保存在你正在执行这个Volatility命令时所在的目录。通常在一个 Linux 或类 Unix 系统中,<code>.</code> 表示当前目录,而 <code>/</code> 是路径分隔符</p>
</blockquote>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/7.png"></p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/8.png"></p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/9.png"></p>
<p>再使用binwalk分离,注意要加上–run-as=root</p>
<figure class="highlight stata"><table><tr><td class="code"><pre><span class="line">binwalk -<span class="keyword">e</span> <span class="keyword">file</span>.None.0xfffffa80037e0af0.dat --<span class="keyword">run</span>-<span class="keyword">as</span>=root</span><br></pre></td></tr></table></figure>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/10.png"></p>
<p>提取后得到了一个压缩包文件,但是unzip解压不了,给给权限后图形界面解压,得到是华为的文件</p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/11.png"></p>
<p>这可能是一个华为手机的备份文件,我们使用华为备份工具kobackupdec恢复</p>
<p>kobackupdec:<a href="https://github.com/UltraUser/kobackupdec">https://github.com/UltraUser/kobackupdec</a></p>
<p>输入命令,”W31C0M3_T0_THiS_34SY_F0R3NSiCX“这个是上题的flag,题目说有用,其实就是在这里当作密码</p>
<figure class="highlight vim"><table><tr><td class="code"><pre><span class="line"><span class="keyword">python3</span> kobackupdec.<span class="keyword">py</span> -vvv W31C0M3_T0_THiS_34SY_F0R3NSiCX <span class="string">"/home/kali/volatility-master/_file.None.0xfffffa80037e0af0.dat-0.extracted/HUAWEI P40_2021-aa-bb xx.yy.zz"</span> ./backup</span><br></pre></td></tr></table></figure>
<p>得到</p>
<figure class="highlight ruby"><table><tr><td class="code"><pre><span class="line">──(kali㉿kali)-[~<span class="regexp">/volatility-master/</span>_file.<span class="title class_">None</span>.<span class="number">0xfffffa80037e0af0</span>.dat-<span class="number">0</span>.extracted/kobackupdec-master]</span><br><span class="line">└─<span class="variable">$ </span>python3 kobackupdec.py -vvv <span class="title class_">W31C0M3</span>_T0_THiS_34SY_F0R3NSiCX <span class="string">"/home/kali/volatility-master/_file.None.0xfffffa80037e0af0.dat-0.extracted/HUAWEI P40_2021-aa-bb xx.yy.zz"</span> ./backup</span><br><span class="line"><span class="variable constant_">INFO</span><span class="symbol">:root</span><span class="symbol">:searching</span> backup <span class="keyword">in</span> [<span class="regexp">/home/kali</span><span class="regexp">/volatility-master/</span>_file.<span class="title class_">None</span>.<span class="number">0xfffffa80037e0af0</span>.dat-<span class="number">0</span>.extracted/<span class="variable constant_">HUAWEI</span> <span class="variable constant_">P40_2021</span>-aa-bb xx.yy.zz]</span><br><span class="line"><span class="variable constant_">INFO</span><span class="symbol">:root</span><span class="symbol">:got</span> info.xml, going to decrypt backup files</span><br><span class="line"><span class="variable constant_">INFO</span><span class="symbol">:root</span><span class="symbol">:Parsing</span> file /home/kali/volatility-master/_file.<span class="title class_">None</span>.<span class="number">0xfffffa80037e0af0</span>.dat-<span class="number">0</span>.extracted/<span class="variable constant_">HUAWEI</span> <span class="variable constant_">P40_2021</span>-aa-bb xx.yy.zz/info.xml</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:Ignoring</span> <span class="title class_">HeaderInfo</span> entry.</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:Ignoring</span> <span class="title class_">BackupFilePhoneInfo</span> entry</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:Ignoring</span> <span class="title class_">BackupFileVersionInfo</span> entry</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:Parsing</span> <span class="title class_">BackupFilesTypeInfo</span></span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:crypto_init</span>: using version <span class="number">3</span>.</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:SHA256</span>(<span class="variable constant_">BKEY</span>)[<span class="number">16</span>] = b<span class="string">'b42ec8a3ef141e7af8f32ddd74c08cd2'</span></span><br><span class="line"><span class="variable constant_">WARNING</span><span class="symbol">:root</span><span class="symbol">:Empty</span> <span class="title class_">CheckMsg</span>! <span class="title class_">Cannot</span> check backup password!</span><br><span class="line"><span class="variable constant_">WARNING</span><span class="symbol">:root</span><span class="symbol">:Assuming</span> the provided password is correct...</span><br><span class="line"><span class="variable constant_">INFO</span><span class="symbol">:root</span><span class="symbol">:parsing</span> xml file picture.xml</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:DecryptInfo</span> dump ---</span><br><span class="line"><span class="symbol">password:</span>b<span class="string">'W31C0M3_T0_THiS_34SY_F0R3NSiCX'</span>, <span class="symbol">good:</span><span class="title class_">True</span>, has <span class="symbol">media:</span><span class="title class_">False</span>, file <span class="symbol">info:</span><span class="number">1</span>, media <span class="symbol">info:</span><span class="number">0</span>, multimedia <span class="symbol">file:</span><span class="number">1</span>, system data <span class="symbol">info:</span><span class="number">0</span>, system folder data <span class="symbol">info:</span><span class="number">0</span></span><br><span class="line"><span class="variable constant_">DUMPING</span> <span class="variable constant_">FILE</span> <span class="variable constant_">INFO</span> <span class="variable constant_">ITEMS</span></span><br><span class="line"><span class="variable constant_">NAME</span>: alarm, <span class="variable constant_">TYPE</span>: <span class="title class_">BackupFileModuleInfo</span>, </span><br><span class="line"><span class="variable constant_">DUMPING</span> <span class="variable constant_">MEDIA</span> <span class="variable constant_">INFO</span> <span class="variable constant_">ITEMS</span></span><br><span class="line"><span class="variable constant_">DUMPING</span> <span class="variable constant_">MULTIMEDIA</span> <span class="variable constant_">FILE</span> <span class="variable constant_">ITEMS</span></span><br><span class="line"><span class="variable constant_">NAME</span>: <span class="title class_">None</span>, <span class="variable constant_">TYPE</span>: <span class="title class_">Multimedia</span>, <span class="variable constant_">PATH</span>: storage/<span class="title class_">MediaTar</span>/images/images0.tar, </span><br><span class="line"><span class="variable constant_">DUMPING</span> <span class="variable constant_">SYSTEM</span> <span class="variable constant_">DATA</span> <span class="variable constant_">INFO</span> <span class="variable constant_">ITEMS</span></span><br><span class="line"><span class="variable constant_">DUMPING</span> <span class="variable constant_">SYSTEM</span> <span class="variable constant_">DATA</span> <span class="variable constant_">FOLDER</span> <span class="variable constant_">INFO</span> <span class="variable constant_">ITEMSINFO</span><span class="symbol">:root</span><span class="symbol">:working</span> on alarm.db</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:searching</span> key [alarm] of info_type.<span class="variable constant_">SYSTEM_DATA</span></span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:unable</span> to get [alarm], trying on all types</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:decrypt</span> info [alarm] found</span><br><span class="line"><span class="variable constant_">INFO</span><span class="symbol">:root</span><span class="symbol">:working</span> on [images0.tar.enc]</span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:searching</span> key [storage/<span class="title class_">MediaTar</span>/images/images0.tar] of info_type.<span class="variable constant_">MULTIMEDIA</span></span><br><span class="line"><span class="variable constant_">DEBUG</span><span class="symbol">:root</span><span class="symbol">:decrypt</span> info [storage/<span class="title class_">MediaTar</span>/images/images0.tar] found</span><br><span class="line"><span class="variable constant_">INFO</span><span class="symbol">:root</span><span class="symbol">:No</span> media folder found.</span><br><span class="line"><span class="variable constant_">INFO</span><span class="symbol">:root</span><span class="symbol">:setting</span> all decrypted files to read-only</span><br></pre></td></tr></table></figure>
<p>查看提取到的文件,发现了flag照片</p>
<p><img src="/2024/03/24/volatility%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81%E5%B7%A5%E5%85%B7%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E4%BD%BF%E7%94%A8/12.png"></p>
<h4 id="新发现:"><a href="#新发现:" class="headerlink" title="新发现:"></a>新发现:</h4><ol>
<li>才发现unzip命令不能解压tar文件</li>
<li>tar压缩文件可以使用 tar -xzf filename.tar来解压</li>
</ol>
<blockquote>
<p>在Linux系统中,使用<code>tar</code>命令来解压缩文件非常常见。<code>tar</code>是一种归档打包工具,可以将多个文件和目录打包成一个<code>.tar</code>文件。它还可以与压缩工具结合使用,比如gzip或bzip2,来减小归档文件的大小。 解压tar文件的基本命令是:</p>
<figure class="highlight applescript"><table><tr><td class="code"><pre><span class="line">tar -xvf <span class="built_in">file</span>.tar</span><br></pre></td></tr></table></figure>
<ul>
<li><code>-x</code> 表示解压缩(extract)。</li>
<li><code>-v</code> 表示显示详细过程(verbose)。</li>
<li><code>-f</code> 表示指定文件名(file)。</li>
</ul>
<p>如果tar文件还经过gzip压缩(文件扩展名通常为<code>.tar.gz</code>或<code>.tgz</code>),可以使用:</p>
<figure class="highlight applescript"><table><tr><td class="code"><pre><span class="line">tar -zxvf <span class="built_in">file</span>.tar.gz</span><br></pre></td></tr></table></figure>
<ul>
<li><code>-z</code> 选项会告知tar命令要调用gzip来进行解压。</li>
</ul>
<p>如果tar文件是使用bzip2压缩的(文件扩展名为<code>.tar.bz2</code>),可以这样操作:</p>
<figure class="highlight applescript"><table><tr><td class="code"><pre><span class="line">tar -jxvf <span class="built_in">file</span>.tar.bz2</span><br></pre></td></tr></table></figure>
<ul>
<li><code>-j</code> 选项指定tar命令调用bzip2进行解压。</li>
</ul>
<p>要记住的关键是,解压tar文件的话,就添加<code>-x</code>参数;如果tar文件还经过了压缩,那么就根据压缩类型添加相应的参数(gzip是<code>-z</code>,bzip2是<code>-j</code>)。对于<code>.xz</code>使用<code>-J</code>,对于<code>.tar.zst</code>使用<code>--zstd</code>选项。 </p>
</blockquote>
]]></content>
<categories>
<category>网络安全</category>
</categories>
<tags>
<tag>内存取证</tag>
<tag>volatility</tag>
<tag>MISC</tag>
</tags>
</entry>
<entry>
<title>我为什么热爱网络安全,并走上学习网络安全的道路</title>
<url>/2024/03/24/%E6%88%91%E4%B8%BA%E4%BB%80%E4%B9%88%E7%83%AD%E7%88%B1%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%EF%BC%8C%E5%B9%B6%E8%B5%B0%E4%B8%8A%E5%AD%A6%E4%B9%A0%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E7%9A%84%E9%81%93%E8%B7%AF/</url>
<content><![CDATA[<p>我为什么热爱网络安全,并走上学习网络安全的道路?🫤 这个嘛~,可以说我很早就有学习网络安全的打算了,在还没进入大学之前,我其实并没有真正很想报考网络空间安全专业,因为在当时我也是一个技术很平庸的人,成为不了最厉害的那一群人,但是,想到我高中参加信息学奥赛的经历,我又感觉想试试另外一个方向。我从小生活在一个四五线小城市,小学的时候家里有一台笔记本电脑,家里的电视虽然可以上网,不过只有那一点点片源(都是11年以前的),一直都没有更新,后来就没有我喜欢看的东西了,于是我就发现可以在电脑上下载影片到U盘或者读卡器然后插到电视上,<span id="more"></span>可是却放不出来,后来发现是格式不支持,于是上网搜寻,发现网上下载的MP4格式不能在这种老电视上播放,要AVI格式的才行(可能还有其他的),每次下载完视频后都要转换格式才可以在电视上播放,学会转换格式以后,我就可以在电视上看我喜欢的电视了。到了初中,我开始了解到网课,就觉得报网课很酷,当时报名几十块钱的网课都有纸质讲义赠送,包装还很精美,我对这种网课非常有兴趣,初中老师期末前还会发一些复习提纲(以前小学没有过),我感觉这个非常有用,老师临近才发太晚了,我学着自行上网搜寻资料并打印出来(当时用的学科网就很不错),在初中同班内,没有其他人自己打印学习资料(我们那地方比较落后,到高中也有很多人连在电脑操控打印都不会),我感觉很独一无二,到了初三(2019-2020),我才算是正式了解电脑,网络等以前从未了解的东西,在初三的时候,我通过视频了解到了C语言(通过B站小甲鱼的视频),并学了一段时间,当时我就被linux的命令操作界面吸引到了,感觉这是最cool的事情了,小甲鱼的教程一开始就让在vim里面编程,首先就需要安装Virtual box虚拟机软件,第一次接触输入命令老是没有注意到一些细节,比如打错字和空格少了,导致反馈报错,同样在初三,我还了解到了谷歌这些我以前几乎没有听过的公司,受到一些影响,从那时起我就几乎不用Baidu搜索引擎了,也是初三那年,我自己买了台海外VPS(考虑到不用备案)和.xyz结尾的域名建立了个人网站,当时取名叫芝麻杂货站,后来又换成.cc(更贵一点)的域名,由于没有时间管理,这个芝麻杂货站是我在上高二的时候就关闭了,服务器和域名也没有在续费了,想到大学再重新弄网站,初中我还在网上遇到了一个非常鼓励我的人,或许也是我现在学计算机类专业不可缺少的原因,在高中的时候,我进一步了解了linux,也自己安装了kali linux虚拟机和双系统,我现在回想在那个时期我为什么会对电脑痴迷呢?大概就是因为我当时的手机性能太差了,其实当时的电脑性能也很差(9年多的电脑了),不过经过我的优化,运行一些软件还是可以的,电脑速度从很卡到勉强流畅也是很有成就感的😆,在高中阶段,我们学校有信息学奥赛社团,没错,就是社团,我们那个城市比较落后,学校并不重视信息学奥赛,那个社团到高二也就只剩下了几个人,参加信息学奥赛需要学习C++语言,于是我在那个时候也正式开始学习C++和一些简单的算法,最后高二去参加NOIP,结果并不是很如意!赛后我也总结了我的原因,一定要脚踏实地,打好基础。由于从初三开始折腾电脑和一些游戏,我的学习成绩也下降了,初二时的排名在年级前列,初三就下降了很多,导致中考不理想,到了高中,信息学奥赛也占用了好多时间,高中也没有把成绩明显提起来,只有在高三由于疫情防控导致我没有参加成2022年的NOIP之后,我才专注与高考学科学习,结果我高考分数超过一本线几分,想学计算机类专业,于是填了个二本学校,本以为至少可以录取到网络空间安全专业的,结果,差4分没有录取上,被调剂到了其他专业(和计算机没有太大关系,只是涉及一点),我对这个专业也没有多大兴趣,期望能够转专业到计算机类专业,进入大学,我发现我们学校有关于网络安全的社团,工作室,我就欣然加入,大一上学期我也尝试打CTF比赛,我发现这个比赛和算法竞赛还是有很多不同点的,也加深了我的转网安专业的决心,好在大一上学期期末就有转专业机会,我在大一下学期初就成功转到了网安专业,这个博客也是我转专业不久后建立的,我也希望自己能在网络安全这个道路上走得更远!</p>
]]></content>
<categories>
<category>杂谈</category>
</categories>
<tags>
<tag>杂谈</tag>
</tags>
</entry>
<entry>
<title>数据隐藏的学习笔记</title>
<url>/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</url>
<content><![CDATA[<p>最近刚看完了Michael Raggo的《数据隐藏技术解密》这本书,书中有些内容值得做一些笔记</p>
<h4 id="1-Word中的数据隐藏"><a href="#1-Word中的数据隐藏" class="headerlink" title="1.Word中的数据隐藏"></a>1.Word中的数据隐藏</h4><p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.png"></p>
<p>右键单击,选择”字体”,勾选“隐藏”复选框即可隐藏文字</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/2.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/3.png"></p>
<p>我们可以在Word的文件->选项->勾选“隐藏文字”复选框,或者“打印隐藏文字”完成隐藏内容的显示</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/4.png"></p>
<p>另外一个识别隐藏文字的方法是使用检查文档选项,在文件->信息->检查文档中,可以检查隐藏元数据,例如作者,批注和可识别的其他信息</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/5.png"></p>
<p>在Word的属性区域还有很多可以隐藏信息的选项</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/6.png"></p>
<h4 id="2-在PDF文件中隐藏信息"><a href="#2-在PDF文件中隐藏信息" class="headerlink" title="2.在PDF文件中隐藏信息"></a>2.在PDF文件中隐藏信息</h4><p>wbStego4open:<a href="http://www.bailer.at/wbstego/pr_4ixopen.htm">http://www.bailer.at/wbstego/pr_4ixopen.htm</a></p>
<p>可以使用wbStego4open工具在PDF文件中隐藏版权信息,文件等,同时还可以设置密码,操作简单,按软件提示做就可以</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/7.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/8.png"></p>
<blockquote>
<p>工具原理:</p>
<ol>
<li>将插入数据的每一个ASCII码转换为二进制格式</li>
<li>根据20代表0,09代表1,进行替换</li>
<li>最后将这些20 09序列嵌入PDF文件</li>
</ol>
</blockquote>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/9.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/10.png"></p>
<p>原理如图:</p>
<p><img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRi-osMdLzjQD8Wl-7sPz0BqxJu-6HpvT8_gQ&s" alt="2.1)【隐写技术】数据的隐藏方法、PDF、可执行 ..."></p>
<span id="more"></span>
<h4 id="3-在可执行文件中隐藏信息"><a href="#3-在可执行文件中隐藏信息" class="headerlink" title="3.在可执行文件中隐藏信息"></a>3.在可执行文件中隐藏信息</h4><p>Hydan:<a href="http://justsolve.archiveteam.org/wiki/Hydan">http://justsolve.archiveteam.org/wiki/Hydan</a></p>
<p>由于Hydan太老了(2004年),目前的环境没有办法正常运行(不过你也可以自己配置一下以前的环境试试),于是我没有使用书上说的Hydan,选择了steg86</p>
<p>steg86: <a href="https://github.com/woodruffw/steg86">https://github.com/woodruffw/steg86</a></p>
<p>安装好steg86后,运行</p>
<p>可以使用profile查看一下这个二进制文件隐写适用性</p>
<figure class="highlight vim"><table><tr><td class="code"><pre><span class="line">┌──(root㉿kali)-[/home/kali]</span><br><span class="line">└─# steg86 --<span class="keyword">help</span></span><br><span class="line">A tool <span class="keyword">for</span> hiding <span class="keyword">messages</span> in x86(_64) binaries</span><br><span class="line"></span><br><span class="line">Usage: steg86 <span class="symbol"><COMMAND></span></span><br><span class="line"></span><br><span class="line">Commands:</span><br><span class="line"> <span class="keyword">profile</span> <span class="keyword">profile</span> <span class="keyword">a</span> binary <span class="keyword">for</span> steganographic storage capacity</span><br><span class="line"> embed embed some data into <span class="keyword">a</span> binary steganographically</span><br><span class="line"> extract extract the hidden data from <span class="keyword">a</span> binary</span><br><span class="line"> <span class="keyword">help</span> <span class="keyword">Print</span> this message <span class="built_in">or</span> the <span class="keyword">help</span> of the given subcommand(s)</span><br><span class="line"></span><br><span class="line">Options:</span><br><span class="line"> -h, --<span class="keyword">help</span> <span class="keyword">Print</span> <span class="keyword">help</span></span><br><span class="line"> -V, --<span class="keyword">version</span> <span class="keyword">Print</span> <span class="keyword">version</span></span><br><span class="line"></span><br><span class="line">┌──(root㉿kali)-[/home/kali]</span><br><span class="line">└─# steg86 <span class="keyword">profile</span> bash </span><br><span class="line">Summary <span class="keyword">for</span> bash:</span><br><span class="line"> <span class="number">195934</span> total instructions</span><br><span class="line"> <span class="number">31655</span> potential semantic pairs</span><br><span class="line"> <span class="number">39</span> potential commutative instructions</span><br><span class="line"> <span class="number">31662</span> bits of information capacity (<span class="number">3957</span> bytes, approx. <span class="number">3</span>KB)</span><br></pre></td></tr></table></figure>
<p>嵌入信息,运行命令得到了bash.steg可执行文件</p>
<figure class="highlight mipsasm"><table><tr><td class="code"><pre><span class="line">steg86 embed <span class="keyword">bash </span><span class="keyword">bash.steg </span><<< <span class="string">"The hidden message"</span></span><br></pre></td></tr></table></figure>
<p>提取消息</p>
<figure class="highlight scss"><table><tr><td class="code"><pre><span class="line">┌──(root㉿kali)-<span class="selector-attr">[/home/kali]</span></span><br><span class="line">└─# steg86 extract bash<span class="selector-class">.steg</span> > my_message</span><br><span class="line"></span><br><span class="line">┌──(root㉿kali)-<span class="selector-attr">[/home/kali]</span></span><br><span class="line">└─# cat my_message </span><br><span class="line">The hidden message</span><br></pre></td></tr></table></figure>
<h4 id="4-在HTML文件中隐藏信息"><a href="#4-在HTML文件中隐藏信息" class="headerlink" title="4.在HTML文件中隐藏信息"></a>4.在HTML文件中隐藏信息</h4><p>Snow: <a href="https://darkside.com.au/snow/">https://darkside.com.au/snow/</a> </p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/11.png"></p>
<p>对比原始的HTML文件和嵌入数据的文件,视觉上没有任何差别</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/12.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/13.png"></p>
<p>实际上我们用010编辑器打开可以看到文件发生了一些细微的变化(发现这个隐写方式和wbStego4open非常相似)</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/14.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/15.png"></p>
<h4 id="5-免费的隐写分析软件"><a href="#5-免费的隐写分析软件" class="headerlink" title="5.免费的隐写分析软件"></a>5.免费的隐写分析软件</h4><h5 id="1-StegSpy"><a href="#1-StegSpy" class="headerlink" title="1.StegSpy"></a>1.StegSpy</h5><p>StegSpy是一款著名的检测隐藏信息的签名分析软件,为什么它可以分析,是因为很多隐写程序都有一个共同特性,就是它们还会在文件中嵌入它们自己的唯一标识,比如Hiderman,会在载体文件的尾部追加“CDN”这三个ASCII码。于是可以创建一个签名库,搜集市面上大多数隐写软件的唯一标识,即可进行隐写分析。</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/16.png"></p>
<blockquote>
<p>Tip: 如果发现运行StegSpy报错“组件COMDLG32.OCX或其依赖项之一未正确注册:文件丢失或无效”:</p>
<ol>
<li><p>去网上找一个大型网站下载 COMDLG32.OCX</p>
</li>
<li><p>32位系统:将COMDLG32.OCX复制到C:\windows\system32\ 目录下,运行</p>
<figure class="highlight livescript"><table><tr><td class="code"><pre><span class="line">regsvr32 c:<span class="string">\Windows\system32\comdlg32.ocx</span></span><br></pre></td></tr></table></figure>
</li>
<li><p>64位系统:将COMDLG32.OCX复制到C:\Windows\SysWOW64\ 目录下,运行</p>
<figure class="highlight livescript"><table><tr><td class="code"><pre><span class="line">regsvr32 c:<span class="string">\Windows\SysWOW64\comdlg32.ocx</span></span><br></pre></td></tr></table></figure></li>
</ol>
</blockquote>
<h5 id="2-Stegdetect"><a href="#2-Stegdetect" class="headerlink" title="2.Stegdetect"></a>2.Stegdetect</h5><p>Stegdetect: <a href="https://www.provos.org/p/outguess-and-stegdetect-downloads">https://www.provos.org/p/outguess-and-stegdetect-downloads</a></p>
<p>原理:JPEG和MPEG文件格式使用的是离散余弦变换(DTC)函数来压缩图像,对于这种压缩方法,通过识别每个8x8像素块中相邻像素中的重复像素来减少图像大小,因此DCT是一个有损压缩技术,但是一般不会影响图像或者视频的视觉效果。Stegdetect是评估JPEG文件的DCT频率系数,把检测到的可疑JPEG文件频率与正常文件的频率对比,对比结果偏差很大则说明被检查文件有异常。(由于该原因,不能检测png文件)</p>
<p>使用:</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/17.png"></p>
<p>Stegdetect发现图像使用JPhide方法嵌入数据的,但是嵌入的可能性不同,后面的*越多可能性越大</p>
<p>通过使用以下命令还可以递归检测当前目录下的jpg图像文件</p>
<figure class="highlight jboss-cli"><table><tr><td class="code"><pre><span class="line">.\stegdetect.exe -s 10.0 *<span class="string">.jpg</span></span><br></pre></td></tr></table></figure>
<blockquote>
<p>-s 是设置敏感度,可以设置为10.0</p>
</blockquote>
<blockquote>
<p>Stegdetect 的主要选项:</p>
<p>q – 仅显示可能包含隐藏内容的图像</p>
<p>n – 启用检查 JPEG 文件头功能,以降低误报率。</p>
<p>s – 修改检测算法的敏感度,该值的默认值为 1。</p>
<p>d – 打印带行号的调试信息。</p>
<p><strong>t – 设置要检测哪些隐写工具(默认检测 jopi)</strong>,可设置的选项如下:</p>
<p>j – 检测图像中的信息是否是用 jsteg 嵌入的。</p>
<p>p – 检测图像中的信息是否是用 jphide 嵌入的。</p>
<p>o – 检测图像中的信息是否是用 outguess 嵌入的。</p>
<p>i – 检测图像中的信息是否是用 invisible secrets 嵌入的。</p>
</blockquote>
<h4 id="6-Windows中的数据隐藏"><a href="#6-Windows中的数据隐藏" class="headerlink" title="6.Windows中的数据隐藏"></a>6.Windows中的数据隐藏</h4><h5 id="1-交换数据流隐藏数据"><a href="#1-交换数据流隐藏数据" class="headerlink" title="1.交换数据流隐藏数据"></a>1.交换数据流隐藏数据</h5><p>Windows NTFS文件系统的交换数据流(ADS)一直为众人所知,它可以追朔到Windows NT3.1,NTFS使用交换数据流来存储文件的相关元数据,包括安全信息,原作者,其他数据。</p>
<p>我们使用powershell创建一个txt文件</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/18.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/19.png"></p>
<p>我们用原始文本文件(lontano.txt)创建我们的交换数据流</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/20.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/21.png"></p>
<p>常用的浏览技术对交换数据流都是免疫的,执行完上面命令后,文件大小也没有什么变化</p>
<p>统一文件创建的交换数据流不止一个</p>
<figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="attribute">notepad</span> lontano.txt:hide2.txt</span><br></pre></td></tr></table></figure>
<h5 id="2-卷影技术"><a href="#2-卷影技术" class="headerlink" title="2.卷影技术"></a>2.卷影技术</h5><p>新版本的Windows系统都有卷影副本服务,可以备份磁盘卷,以便在安装新的软件、设备驱动器或者其他程序导致系统崩溃时可以还原系统。</p>
<p>我们可以右键此电脑->属性->系统保护->配置中设置卷影副本分配的最大空间</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/22.png"></p>
<p>由于很多防病毒软件都不会扫描卷影副本,所以一般认为这里是隐藏数据和恶意软件的好地方</p>
<p>在windows7以上系统中,管理员用户可以在命令行用VSSadmin来管理卷影副本:</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/23.png"></p>
<p>通过”List shadowstorage”可以查看卷影副本的存储关联(存储空间大小)</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/24.png"></p>
<p>接下来,我们就可以在卷影副本中创建并隐藏文件了,还会演示脱离文件系统访问这个文件</p>
<p>我们在sandbox文件夹下面放了一个待隐藏的pdf文件</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/25.png"></p>
<p>还是在系统保护中创建还原点</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/26.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/27.png"></p>
<p>可以使用命令来查看卷影副本清单</p>
<figure class="highlight ebnf"><table><tr><td class="code"><pre><span class="line"><span class="attribute">vssadmin list shadows</span></span><br></pre></td></tr></table></figure>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/28.png"></p>
<p>接着我们可以删除那份待隐藏的PDF文件,然后创建符号链接来查看卷影副本的内容,本例中,新卷影副本的名称是“\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\”,执行带有/D选项的mklink命令,为符号链接创建目录,注意mklink命令使用cmd运行,如果用powershell会报错,卷影副本的名称后面一定有 \ ,这是创建符号链接必备的</p>
<figure class="highlight ruby"><table><tr><td class="code"><pre><span class="line">mklink /D hiddendir \\<span class="string">?\G</span>LOBALROOT\<span class="title class_">Device</span>\<span class="title class_">HarddiskVolumeShadowCopy2</span>\ </span><br></pre></td></tr></table></figure>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/29.png"></p>
<p>进入hiddendir目录,可以看到我们之前已经删除的PDF文件</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/30.png"></p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/31.png"></p>
<p>如果隐藏的是可执行文件,可以通过WMIC运行这个可执行文件,这里就不尝试了,有兴趣的小伙伴可以上网查询或看书</p>
<h4 id="7-Linux中的数据隐藏"><a href="#7-Linux中的数据隐藏" class="headerlink" title="7.Linux中的数据隐藏"></a>7.Linux中的数据隐藏</h4><h5 id="1-Linux文件名欺骗"><a href="#1-Linux文件名欺骗" class="headerlink" title="1.Linux文件名欺骗"></a>1.Linux文件名欺骗</h5><p>总所周知,在文件名前面加上”.”符号可以隐藏该文件,当我们执行ls命令的时候看不到这个文件,但是当我们执行”ls -al”的时候,就原形毕露了</p>
<figure class="highlight tap"><table><tr><td class="code"><pre><span class="line">┌──(root㉿kali)-[/home/kali]</span><br><span class="line">└─<span class="comment"># ls -al </span></span><br><span class="line">total 147068</span><br><span class="line">drwx------<span class="number"> 30 </span>kali kali <span class="number"> 4096 </span>Mar<span class="number"> 29 </span>19:10 .</span><br><span class="line">drwxr-xr-x <span class="number"> 3 </span>root root <span class="number"> 4096 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span>..</span><br><span class="line">-rwxr-xr-x <span class="number"> 1 </span>root root <span class="number"> 1277936 </span>Mar<span class="number"> 29 </span>14:10 bash</span><br><span class="line">-rw-r--r-- <span class="number"> 1 </span>kali kali <span class="number"> 220 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span>.bash_logout</span><br><span class="line">-rw-r--r-- <span class="number"> 1 </span>kali kali <span class="number"> 5551 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span>.bashrc</span><br><span class="line">-rw-r--r-- <span class="number"> 1 </span>kali kali <span class="number"> 3526 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span>.bashrc.original</span><br><span class="line">-rw-r--r-- <span class="number"> 1 </span>root root <span class="number"> 1277936 </span>Mar<span class="number"> 29 </span>19:08 bash.steg</span><br></pre></td></tr></table></figure>
<p>我们运行“ls -al”的时候,可以发现结果还有一个单点和一个双点符号,单点表示当前目录,双点表示上级目录,比较有趣的是,在点后面加上空格还可以创建新的目录,比如“. ”</p>
<figure class="highlight tap"><table><tr><td class="code"><pre><span class="line">┌──(root㉿kali)-[/home/kali]</span><br><span class="line">└─<span class="comment"># mkdir ". " </span></span><br><span class="line"></span><br><span class="line">┌──(root㉿kali)-[/home/kali]</span><br><span class="line">└─<span class="comment"># ls -al </span></span><br><span class="line">total 147072</span><br><span class="line">drwx------<span class="number"> 31 </span>kali kali <span class="number"> 4096 </span>Mar<span class="number"> 29 </span>22:00 .</span><br><span class="line">drwxr-xr-x <span class="number"> 2 </span>root root <span class="number"> 4096 </span>Mar<span class="number"> 29 </span>22:00 '. '</span><br><span class="line">drwxr-xr-x <span class="number"> 3 </span>root root <span class="number"> 4096 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span> ..</span><br><span class="line">-rwxr-xr-x <span class="number"> 1 </span>root root <span class="number"> 1277936 </span>Mar<span class="number"> 29 </span>14:10 bash</span><br><span class="line">-rw-r--r-- <span class="number"> 1 </span>kali kali <span class="number"> 220 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span> .bash_logout</span><br></pre></td></tr></table></figure>
<p>这里和书上不一样,估计是这个漏洞已经被官方修复了,按照书上的结果,应该是这样的,但是”. “这样也看起来很有隐蔽性</p>
<figure class="highlight tap"><table><tr><td class="code"><pre><span class="line">┌──(root㉿kali)-[/home/kali]</span><br><span class="line">└─<span class="comment"># mkdir ". " </span></span><br><span class="line"></span><br><span class="line">┌──(root㉿kali)-[/home/kali]</span><br><span class="line">└─<span class="comment"># ls -al </span></span><br><span class="line">total 147072</span><br><span class="line">drwx------<span class="number"> 31 </span>kali kali <span class="number"> 4096 </span>Mar<span class="number"> 29 </span>22:00 .</span><br><span class="line">drwxr-xr-x <span class="number"> 2 </span>root root <span class="number"> 4096 </span>Mar<span class="number"> 29 </span>22:00 . </span><br><span class="line">drwxr-xr-x <span class="number"> 3 </span>root root <span class="number"> 4096 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span> ..</span><br><span class="line">-rwxr-xr-x <span class="number"> 1 </span>root root <span class="number"> 1277936 </span>Mar<span class="number"> 29 </span>14:10 bash</span><br><span class="line">-rw-r--r-- <span class="number"> 1 </span>kali kali <span class="number"> 220 </span>Aug<span class="number"> 22 </span><span class="number"> 2023 </span> .bash_logout</span><br></pre></td></tr></table></figure>
<h4 id="8-总结"><a href="#8-总结" class="headerlink" title="8.总结"></a>8.总结</h4><p>关于本书的笔记还未完结,后续我会发布 “数据隐藏的学习笔记(二)“ ,后续内容会涉及更多Linux系统的数据隐藏,虚拟机中的数据隐藏和网络协议中的数据隐藏,最后还会总结一下电子取证的流程,策略。待所有更新完后,我会将它们整合在一起!😊</p>
<p>这里推荐这本书,内容不是很深奥,通俗易懂,是学习取证的好书!</p>
<p><img src="/2024/03/29/%E6%95%B0%E6%8D%AE%E9%9A%90%E8%97%8F%E7%9A%84%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/s27229405.jpg"></p>
]]></content>
<categories>
<category>网络安全</category>
</categories>
<tags>
<tag>MISC</tag>
<tag>网络安全</tag>
<tag>数据隐藏</tag>
<tag>取证</tag>
</tags>
</entry>
</search>