安恒四月月赛DASCTF-Misc Write Up

2024-01-20 07:50

本文主要是介绍安恒四月月赛DASCTF-Misc Write Up,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考资料

安恒四月春季战——DASCTF部分wp - Ga1@xy's W0r1d

石墨文档

Misc

6G还远吗(签到题)

开始点击下载后发现文件接近3.45G,而且下载速度贼慢,上面显示下完需要7.8个小时不过我们比赛时间只有四个小时

于是现将文件的部分下载下来载入010中可以看到flag

涉及考点:断点下载

blueshark(流量分析)

下载附件得到一个流量包,用Wireshark载入打开寻找

搜索一下flag发现并没有相关的东西。于是放入Kali里用binwalk查看一下里面是否含有其他文件,发现有一个7z压缩包。

 

这里有三种方法得到这个压缩包

第一种:直接修改后缀名为7z

第二种:Kali里的dd命令

dd if=1.pcapng of=1.7z bs=1 skip=24437

# if=1.pcapng 输入文件名

# of=1.7z 输出文件名

# bs=1 一次读写块的大小为1byte

# skip=24437 从输入文件开头跳过24437个块后开始复制

第三种:在Wireshark提取出来

首先用Ctrl+F进行搜索。先选择字符串;然后选择分组字节流,输入7z点击查找

 

在下方有7·z这是7z压缩包的文件头,从这儿开始往后选择然后点击左上角文件->导出分组字节流(快捷键:Ctrl+Shift+X)重命名为:1.7z

 

打开压缩包发现有一个被加密了的文件

 

我们翻译一下txt文件的名字:密码是蓝牙PIN

所以这个流量包应该是一个蓝牙流量包。但是我们没有这个PIN咋办?直接在Wireshak里再次搜索一下PIN这三个关键字(注意要改成分组列表进行搜索)然后会搜到一串数字就是PIN

 

得到flag

 

Keyboard(内存取证)

下载完附件有点大约200MB,解压一个secret和一个后缀名raw的文件

经了解xxx.raw为一个镜像文件,这道题应该为内存取证题

我们需要用到一个工具Volatility

在Win下需要用cmd在Python2环境下执行。

Kali2020版之前自带这个工具,Kali命令为

volatility -f Keyboard.raw --profile=Win7SP1x64 filescan | grep keyboard

win下使用如下代码后查看信息

(注:需要先cd到该工具文件夹下或在该工具文件地址栏输入cmd也可直接打开cmd)

(注意-f后填keyboard.raw的绝对路径或把文件放在其文件夹下)

python2 vol.py -f XXX/XXX/Keyboard.raw --profile=Win7SP1x64 filescan | findstr keyboard
python2 vol.py -f Keyboard.raw --profile=Win7SP1x64 filescan | findstr keyboard

 

发现里面有一个txt的文本档我们需要将其提取出来,用到以下命令

(注:-Q后面是要提取文件的前面的一串数)

python2 vol.py -f Keyboard.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003d700880 -D ./ -u

 

然后会在Volatility的文件夹下生成一个file开头的文件

打开这个文件,可以用记事本或者其他软件我这里用了Notepad++

 

根绝提示CTFWikiCrypto ABC

然后一大串字母判断出是键盘密码

后面两句的意思是:解密小写更易看出,但是密码是大写

 

根据下行密文解得明文为

VERACRYPTPASSWORDISKEYBOARDDRAOBYEK

veracrypt password is keyboarddraobyek

(给出小写的原因是通过小写很容易看出是VeraCrypt的密码为KEYBOARDDRAOBYEK

在Kali里执行这个命令判断它是个啥东西(师傅说根据经验可以看出是一个加密的磁盘)

file Secret

 

这里我们需要用到之前解密密文时提到的一个软件VeraCrypt

用它来挂载。首先点击选择文件,然后选择一个空盘符(电脑没有的),最后点击加载

点击加载以后会让你输入密码,输入刚才得到的密码

加载完成后,会多出一个盘,就是我们刚才加载的盘

双击进去后会发现一个flag_is_here的文件夹点到最里面却没有发现flag

于是我们先修改一下让隐藏项目显示出来,Win10点击上方查看然后勾选隐藏的项目,即可发现一个flag.txt,打开可以得到flag

 

 

提交了一顿发现flag是个假的,这时想到之前做过的NpuCTF里有一道回收站的取证题,里面用到过NTFS隐写。于是我们在cmd里使用命令

dir /r

发现果然是NTFS隐写

但是没有显示出文件的名字于是我们用到下方软件NtfsStreamsEditor2

首先点击自定义磁盘/文件旁边的小文件夹Logo,随后选择挂载的盘的文件夹

 选中后点击搜索就可以显示出来一个文件:flag.txt:hahaha.txt

我们双击它就可以打开得到flag

 

如果在之前用dir /r时显示出名字我们可以用以下命令将其提取出来

notepad flag.txt:hahaha.txt
#前一个是显示的文件:隐藏文件名

 

awdshell(流量分析)(未能复现,能力有限有待学习)

参考nepnep战队icePeak师傅的wp

AWDshell_Wp

师傅tql

这篇关于安恒四月月赛DASCTF-Misc Write Up的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625283

相关文章

如何导入sun.misc.BASE64Encoder和sum.misc.BASE64Decoder

右击项目名--->Build Path--->Configure Build Path...--->java Build Path--->Access rules:1 rule defined,added to all librar...   --->Edit --->Add...

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed imageTraceback (most recent call last):File "/root/miniconda3/envs/learn-y

70-java write类应用场景

在Java中,我们可以使用java.io包中的FileWriter和BufferedWriter类来写入数据到文件。以下是一个简单的例子,展示了如何使用FileWriter和BufferedWriter来写入数据到文件: import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;pub

SylixOS write 0 字节问题

1 问题描述 在移植中间件过程中,在SylixOS调用write函数写入0字节的数据到文件中时,会导致对应的中间件测试用例失败,失败的原因是文件系统中的write函数在Linux系统和SylixOS有区别,两种实现的差别如下。 2 write函数的实现机制 2.1 SylixOS实现机制 在SylixOS下通过write 函数写数据到普通文件中时,第一步会判断写入的数据是否为0,如果是0直

Java 入门指南:Java 并发编程 —— Copy-On-Write 写时复制技术

文章目录 Copy-On-Write使用场景特点缺点CopyOnWrite 和 读写锁相同点之处不同之处 CopyOnWriteArrayList适用场景主要特性方法构造方法CopyOnWriteArrayList 使用示例 CopyOnWriteArraySet适用场景主要特性方法构造方法使用注意事项CopyOnWriteArraySet 使用示例 Copy-On-Writ

df.write.csv

# 将 DataFrame 写入 CSV 文件# 拆分 ArrayType 列df_exploded = df.withColumn("interests", explode("interests"))print("\nExploded DataFrame:")df_exploded.show(truncate=False)# 写入 CSV 文件df_exploded.write.csv

redis被攻击redis READONLY You can‘t write against a read only slave.

redis 日志路径 /var/log/redis 拿下来后发现有这种错误 Operation now in progress 可能是网络断开导致, 查找redis whereis redis 修改 vim /etc/redis.conf 大概在300行 下面代码yes改no slave-read-only no 重启redis sudo systemctl restart

B3918 [语言月赛 202401] 图像变换

[题目通道]([语言月赛 202401] 图像变换 - 洛谷) #include<bits/stdc++.h>using namespace std;int n,m,k;string a[1000],st;int main(){cin>>n>>m>>k;for (int i=1;i<=n;i++){cin>>a[i];}for (int i=1;i<=n;i++){st="";for (

dp FOJ 一月月赛C ytaaa

Accept: 57    Submit: 261 Time Limit: 2000 mSec    Memory Limit : 32768 KB  Problem Description Ytaaa作为一名特工执行了无数困难的任务,这一次ytaaa收到命令,需要炸毁敌人的一个工厂,为此ytaaa需要制造一批炸弹以供使用。 Ytaaa使用的这种新型炸弹由若干个炸药组成,每个炸药都有

Lua io.write(“\27[2J”)

Programming in Lua 第六章 More About Function 开头有一个例子。它在终端屏幕上输出一个用*号组成的正弦曲线: function eraseTerminal()io.write("\27[2J")end-- writes an `*' at column `x' , row `y'function mark (x,y)io.write(stri