前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安恒杯DASCTF——四月春季赛部分wp

安恒杯DASCTF——四月春季赛部分wp

作者头像
L1near
发布2022-11-11 20:15:25
5620
发布2022-11-11 20:15:25
举报
文章被收录于专栏:CTF-WPCTF-WP

这里记录一下安恒杯DASCTF——四月春季战misc的部分wp

Re

入门reverse

这道题下载完以后打开ida32进行分析:

image-20200425155822034
image-20200425155822034

可以看到v6的起始是A0hv5起始是30h,那么两个相减为70h,转为10进制刚好为112

所以第12行的v6[i-112]就可以看成是v6+i-112,也就是说v6第一个对应着v5的第一个,第i+1个对应着v5的第i+1

所以写了个脚本:

代码语言:javascript
复制
s = 'akhb~chdaZrdaZudqduvdZvvv|'
for i in s:
    print(chr((ord(i)-1) ^ 6),end='')

得到flag

Misc

blueshark

这是一道蓝牙流量分析题,之前没有见过,挺新颖的,但是题目不是特别难

链接:https://pan.baidu.com/s/1j_eZDSPqWoJc0j9vvzPhnA 提取码:3apr

首先我们对流量包binwalk分析一下:

image-20200425151910073
image-20200425151910073

会发现流量里面曾经传输过一个7z压缩包,那么我们去流量包里面给他找到这个压缩包(直接ctrl+F 搜索7z):

image-20200425152906020
image-20200425152906020

然后提取出来:

image-20200425152936523
image-20200425152936523

然后会发现一个名为password_is_Bluetooth_PIN的文件

那么继续去流量包里面搜索PIN,找到PIN181454

得到flag

Keyboard

这是一道内存取证题

链接:https://pan.baidu.com/s/12hiim_4elJfXkgGxxR3XMQ 提取码:gbwo

解压以后发现是一个.raw文件和一个名为secret的文件,secret那个文件是磁盘加密的文件

我们先对.raw文件进行取证分析:

(关于取证可以看看Ga1@xy师傅的这篇博客:http://www.ga1axy.top/index.php/archives/16/)

image-20200425170702156
image-20200425170702156

主要命令是用: 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,那么我们把他导出:

image-20200425170721784
image-20200425170721784

那么他有提示说ctfwikiCRYPTO ABC,可知是QWE加密:https://zhuanlan.zhihu.com/p/33858548

那么提供一个脚本:

代码语言:javascript
复制
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

image-20200425170916329
image-20200425170916329

那么用veracrypt给他加载,密码根据前面说的uppercase可以知道是大写KEYBOARDDRAOBYEK

那么进去之后发现是个vhd文件

这里有两种解法:

  1. 非预期,直接string一下就可以出来:
image-20200425175003332
image-20200425175003332
  1. 预期解,首先挂载vhd文件,然后发现这个文件是隐藏文件,给他取消隐藏,然后用dir /r命令
image-20200425175154046
image-20200425175154046

发现有NTFS隐写,那么获得flag:

image-20200425175256642
image-20200425175256642
(签到题)6G还远吗?

这道题文件不用下完,下一部分然后记事本打开就可以看到了:

image-20200425154355987
image-20200425154355987
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Re
    • 入门reverse
    • Misc
      • blueshark
        • Keyboard
          • (签到题)6G还远吗?
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档