这里记录一下安恒杯DASCTF——四月春季战misc的部分wp
这道题下载完以后打开ida32进行分析:
可以看到v6
的起始是A0h
,v5
起始是30h
,那么两个相减为70h
,转为10进制刚好为112
所以第12行的v6[i-112]
就可以看成是v6+i-112
,也就是说v6
第一个对应着v5
的第一个,第i+1
个对应着v5
的第i+1
个
所以写了个脚本:
s = 'akhb~chdaZrdaZudqduvdZvvv|'
for i in s:
print(chr((ord(i)-1) ^ 6),end='')
得到flag
这是一道蓝牙流量分析题,之前没有见过,挺新颖的,但是题目不是特别难
链接:https://pan.baidu.com/s/1j_eZDSPqWoJc0j9vvzPhnA 提取码:3apr
首先我们对流量包binwalk
分析一下:
会发现流量里面曾经传输过一个7z压缩包,那么我们去流量包里面给他找到这个压缩包(直接ctrl+F 搜索7z):
然后提取出来:
然后会发现一个名为password_is_Bluetooth_PIN
的文件
那么继续去流量包里面搜索PIN
,找到PIN
为181454
得到flag
这是一道内存取证题
链接:https://pan.baidu.com/s/12hiim_4elJfXkgGxxR3XMQ 提取码:gbwo
解压以后发现是一个.raw文件和一个名为secret的文件,secret那个文件是磁盘加密的文件
我们先对.raw文件进行取证分析:
(关于取证可以看看Ga1@xy
师傅的这篇博客:http://www.ga1axy.top/index.php/archives/16/
)
主要命令是用: volatility -f Keyboard.raw imageinfo volatility -f Keyboard.raw --profile=Win7SP1x64 pslist volatility -f Keyboard.raw --profile=Win7SP1x64 filescan | grep -E 'png|jpg|gif|zip|rar|7z|pdf|txt|doc' volatility -f Keyboard.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003d700880 --dump-dir=./
然后查看会发现有个keyboard-log/t.txt
,那么我们把他导出:
那么他有提示说ctfwikiCRYPTO ABC
,可知是QWE加密:https://zhuanlan.zhihu.com/p/33858548
那么提供一个脚本:
def search(x):
return{'q':'a','w':'b','e':'c','r':'d','t':'e','y':'f','u':'g','i':'h','o':'i','p':'j','a':'k',
's':'l','d':'m','f':'n','g':'o','h':'p','j':'q','k':'r',
'l':'s','z':'t','x':'u','c':'v','v':'w','b':'x','n':'y','m':'z',
}.get(x,x)
def main():
print("QWE键盘解密程序")
print("请输入待解密的字符串:")
while True:
try:
miwen=input()
miwen=miwen.lower()
print("结果是:")
for i in miwen:
print(search(i),end='')
print("\n")
except:
break
if __name__=="__main__":
main()
解得veracryptpasswordiskeyboarddraobyek
:
那么用veracrypt
给他加载,密码根据前面说的uppercase
可以知道是大写KEYBOARDDRAOBYEK
那么进去之后发现是个vhd
文件
这里有两种解法:
dir /r
命令发现有NTFS
隐写,那么获得flag:
这道题文件不用下完,下一部分然后记事本打开就可以看到了: