ctfshow 摆烂杯 writeup

23 篇文章 13 订阅

Web

黑客网站

某葱访问xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxon即可
(详略)

web签到

计算方式为(A)**3+(B)**3+©**3
使用+0来绕过开头为0的判断
用括号来绕3次方
绕过我们A输入+114)+(0
B和C输入+0
整个式子就成了
(+114)+(0)**3+(+0)**3+(+0)**3 =114
问题解决

Misc

套套的套套

g4师傅说这道题的考点是如何利用多线程,而不是说如何爆破。因为爆破过程非常简单,而这道题故意设置了每次回复之后都会停顿0.3s,当爆破到第300位的时候每错一次就会等90s,除非一直续(环境最长续4次好像是)
g4说他的脚本只需要15分钟就能跑出来。
第二是因为知道开头是ctfshow{,中间部分是0-9a-f和-。因此可以知道第1位是0 第3位是1。详细原因对照ascii码表二进制部分找共同点。
但是因为我懒,开摆了,所以就用最垃圾的脚本在windows上跑了三个多小时就跑出来了

from pwn import *
# context.log_level='debug'
answer='0110001101110100011001100111001101101000011011110111011101111011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
p = remote('pwn.challenge.ctf.show',28057)
while True:
    try:
        for i in range(len(answer)):
            p.recvuntil(b'):')
            p.sendline(answer[i])
    except:
        p.close()
        p = remote('pwn.challenge.ctf.show', 28057)
        print(i)
        if(answer[i] == '1'):
            answer = answer[:i-1] + '0' + answer[i:]
        else:
            answer = answer[:i-1] + '1' + answer[i:]
        print(answer)

在这里插入图片描述
最后一位懒得等,直接爆破去了。更标准的wp看g4写的吧。

零下90度的圣诞夜

base64decode—>To binary(5)—>竖着重排—>From binary(7)

tb = ''.join(str(ord(i)).zfill(2) for i in (__import__("base64")).b64decode(b"Hx4JDQMbHR8XGAMeBAQfHwAMERAHHx8RBA4XGh8VChoLCg8eHwAeHBgbHxsfBRUeFw==").decode())

data = ""
for j in range(5):
    for i in range(len(tb)//2):
        data += str(bin(int(tb[i*2:i*2+2])))[2:].zfill(5)[j]

print("".join(chr(int(i,2)) for i in __import__('re').findall(r'.{7}',data)))

火烤大牛3.0

图片只是hint,按照时间排序能拼出来。
在这里插入图片描述

确实,可以发现bfReserved1和bfReserved2的值都不是00 00 ,而通常都是00 00(虽然我是先发现的这个再去找铜匠要的上面那张图)
并且可以发现bfReserved1的值不超过20000,而bfReserved2的值很随意,在0-65535之间都有。
一开始一直以为是bfReserved1索引为拼图的索引,于是诞生了这张图
在这里插入图片描述
后来铜匠说不是,于是就有了如下脚本(脚本中存在无用部分,懒得删,开摆)

from tqdm import tqdm
import os
from PIL import Image
pic = Image.new('RGB',(12000,8000),(0,0,0))
list1 = ['']*20000
list2 = [0]*20000
list3 = ['']*20000
i = 0
path = 'C:\\Users\\mumuzi\\Desktop\\大牛3.0'
path1 = 'C:\\Users\\mumuzi\\Desktop\\大牛3.0\\'
for filename in os.listdir(path):
    list1[i] = filename
    i += 1
print(list1)
for j in tqdm(range(len(list1))):
    f = open(path1+list1[j],'rb').read()
    # print(f[6],f[7],list1[j])
    num = f[6] + f[7]*256
    if(num > 0):
        # print(str(hex(f[9]))[2:].zfill(2)+str(hex(f[8])[2:]).zfill(2),list1[j])
        list3[num] = str(hex(f[9]))[2:].zfill(2)+str(hex(f[8])[2:]).zfill(2)

flag_pic = ''
for k in list3:
    flag_pic += k
fw = open('flag.jpg','w')
fw.write(flag_pic)

因为在找索引的时候发现bfReserved1和2都为00 00 的图片不止1张,猜测是无用数据,所以才num > 0,然后端序是小端。所以是f[7]*256而不是f[6]

得到jpg的hex值,只不过少来前俩字节,补充一下FFD8即可
得到flag
在这里插入图片描述

绀青之拳

扫码下载文件得到emoji-aes
删掉png部分得到hint:注意题目标题
图片文件尾有个时间,然后题目说是2位数
出题人说忘了改
然后最傻逼的地方来了
在绀青之拳的1:18:16部分,手机上存在一堆数字
而且nm单纯那一秒数字都是二三十个
手机开0.5倍录屏+0.2倍查看
在这里插入图片描述
得到key是这个数字
flag就不说了,自己去试试吧

Suica32_Game

用CE修改关卡到21关即可。

OSINT

ez_apple

直接谷歌识图然后发现上面写的有字。Apple Park Visitor Center
谷歌地图搜这个字就搜到那条街了
在这里插入图片描述

我的朋友2.0

怎么说。
我就直接搜的superpads 148 48 48 78
因为我印象这个就是superpads。。。。
在这里插入图片描述
因此就能得到flag

Suica32_Engine

因为T佬在群里给了个Suica32_Secret的hint。说那道re要用的工具是https://github.com/theKeithD/thmj3g-tools
然后这里面就讲的是关于AIMS的,所以知道是AIMS。全名进去找就行了。

forensics

forensics题这次出的不怎么好,给大师傅们磕个头咚咚咚

套的签到题

签个屁,没PC机好签到
第一部分(0-2807)都在扫42.xxx.x.xx这个ip搭建的网站

看了一下返回为200的,其中有a.php、secret.zip、README.html等,而secret.zip能够在导出HTTP流中查看。

dump出来发现就是一些wp的配置,其中wp-config.php中包含了数据库的配置,而a.php是预置的马儿,根据网站的title为mumuzi尝试将其当成密码连接被连接上了,从流211之后就连上了马在操作了,稍微看了一下发现是蚁剑

在第220流发现cat了一个根目录的f1111114g.txt,base64解码之后内容为p4rt1_y00_you_crack_my_wpweb

然后在第246流发现从数据库找到的flag2,base64解码之后的内容为now_you_can_submit_flag2

再往后看,发现访问过/wp-admin/setup-config.php,然而访问到这个页面,数据的配置一定被修改或者删除过。

分析之后发现,数据库被修改过。然后小hack才能够成功的修改成功账号和密码,登录进wp发布文章的

在流336中发现发布的内容,是由hacker发布的。内容是content=oh_you_got_the_part_3

所以flag为
自己拼

JiaJia-CP-1

取证出的不怎么好,见谅。

1.佳佳的电脑用户名叫什么(即C:\Users{name})
2.最后一次运行计算器的时间?(格式为yyyy-mm-dd_hh:mm:ss,注意冒号为英文冒号)

第一题问的是用户名叫什么,这里顺便filescan一下桌面就可以了(一举两得)
当然在此之前还要imageinfo看一下。
在这里插入图片描述
然后看看桌面

volatility -f JiaJia_Co.raw --profile=Win7SP1x64 filescan |grep "Desktop"

发现JiaJia的名字就是JiaJia(
第二个问题是问最后一次打开计算器的时间,这里pslist看一下
在这里插入图片描述
结果居然是没有,那还有的思路是dump注册表看看了,使用hivelist
在这里插入图片描述
dump出来,使用dumpregistry命令

volatility -f JiaJia_Co.raw --profile=Win7SP1x64 dumpregistry -o 0xfffff8a005ef7010 -D ./

然后使用能够查看注册表的工具来查看,这里使用的是RegistryRecon

在Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\calc.exe 找到时间
在这里插入图片描述

2021-12-10_20:15:47
所以flag懂得都懂

JiaJia-CP-2

1.佳佳在公司使用了一款聊天软件,请问此软件的版本号为?
2.佳佳在网页上登录了自己的邮箱,请问佳佳的邮箱是?

在filescan的时候可以发现在桌面上有Telegram,估摸着是个快捷方式,于是filescan一下Telegram
在这里插入图片描述
导出下面这个(后来发现上面和下面这个都行,不用filescan Telegram了,导桌面的就行了)

volatility -f JiaJia_Co.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000013fde26a0 -D ./

导出来之后是img文件,改拓展名为exe查看属性即可看到版本号
在这里插入图片描述
3.3.0.0
这里佳佳是在网页上登录的自己的邮箱,于是查看iehistory,但是呢并没有显示
这里使用screenshot,因为他登录了网页,网页的title很有可能会显示

volatility -f JiaJia_Co.raw --profile=Win7SP1x64 screenshot -D ./

在这里插入图片描述

JiaJia-CP-3

1.佳佳最后一次运行固定在任务栏的google chrome的时间(格式为yyyy-mm-dd_hh:mm:ss,注意冒号为英文冒号)
2.佳佳解压了从chrome下载了一个压缩文件,此文件的相关信息已经写入了到环境中,请问文件的内容是?

第一问问的是打开最后一次从任务栏打开的chrome,任务栏的chrome其实是快捷方式,其实这里还是用第一题找计算器的方法

不难得出时间是2021-12-10_20:28:43

第二个题也很简单,说好的难题唉结果都是简单题去了。找环境变量就行了,垃圾题,下次不这么出了,主要是复现的时候发现有俩东西没运行,又没存快照,淦。
使用envars指令
3396 DumpIt.exe 0x00000000000f1320 rAR Th1s_i5_Ur_P5wd

所以flag为2021-12-10_20:28:43_Th1s_i5_Ur_P5wd的md5值
这里存在一个理解上的问题点,就是可能有人用pswd去解压了rar,本来之前是想这样的,但是怕太套了,所以就没有这样干。

这是第一次放出取证分区,相当于是练练手了,题目相对也比较简单,下一次不取Win7了

JiaJia-PC

考虑到第一次在ctfshow弄这个,考点都出的比较简单,如果有取证大师当然是能很容易梭出来的(但是这里希望是不用取证大师这类工具)

这里那道E01的镜像,如果用取证大师梭当然能很容易的梭出来flag,但是一般碰到的话可以使用FTK+VM仿真 和 diskgenius恢复文件,来找我们需要查找的内容

为了方便做题,这里是采用FTK+VMware仿真的形式。挂载方式可以看【电子取证:FTK Imager 篇】DD、E01系统镜像动态仿真

遇到报错问题请自己解决,别问,问就是百度。但是这里依然给出两种做法
用取证大师做的一律弹鸡鸡

仿真-1

仿真起之后发现需要登录密码,这里不管你怎么绕都行。比如用passware kit跑config文件夹。几秒钟的事
在这里插入图片描述
这里我设置的密码是ljj1226,打开后如下
在这里插入图片描述
第一题第一问,问产品秘钥。

打开注册表,win+r输入regedit,然后找到

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform

其BackupProductKeyDefault的值就是产品秘钥,即YC7N8-G7WR6-9WR4H-6Y2W4-KBT6X
当然这是卷影中的值,不知道为啥某些软件梭出来的不一样,然后另一种方法查看的也不一样。。。居然有3个值这个 我也不知道为啥
但是这里我注册就是用到的这个值,所以以卷影中的为准

第二问问的是系统版2本号,在左下角开始菜单处右击选择系统即可
在这里插入图片描述
然后这里21H2和取证大师梭出来的10.0其实应该是包含关系,所以我专门给了format说是21H2这种格式。

flag即YC7N8-G7WR6-9WR4H-6Y2W4-KBT6X_21H2的md5值

仿真-2

第二题涉及到邮箱,桌面上有一个Foxmail,于是去查找foxmail的默认存放目录

其中发现了C:\Foxmail 7.2\Storage\2492853776@qq.com

所以佳佳的QQ号就是2492853776

在mails文件夹下发现9个目录和Index,在其中发现了发送人QQ 77602440,并且还发现佳佳注册了TeamViewer

但是附件在邮件中,需要将文件夹导入到foxmail中,随便登录一个邮箱进入foxmail,看这个步骤

foxmail storage文件夹 导入新安装的Foxmail 7.2,然后重启foxmail

在这里插入图片描述
在这里插入图片描述
打开文件看属性
在这里插入图片描述
所以flag为2492853776_77602440_mumuzi的md5值

仿真-3

之前说到了,佳佳使用了TeamViewer,而且在最近添加 或 控制面板-卸载程序处也能看到TeamViewer,且在最近访问里面也能够看到,因此知道问的是此软件。

而此软件会存放在

C:\Program Files\TeamViewer\

C:\Users\<User Profile>\AppData\Roaming\TeamViewer\

在这里插入图片描述
时间是在Connections_incoming找到 为14-12-2021 14:20:52 到 14-12-2021 14:23:35

整个时间为23:35-20:52=163秒,而开始安装的时间能在Logfile找到,为2021/12/14 22:14:00.570,别去纠结啥install字段才是安装开始时间,程序开始运行写日志的时候已经算是开始安装了,这点不要去纠结(如果没有当我没说)。

第三个问题,问的是密码。这里还有的软件就是QQ、浏览器、火绒。foxmail是找不出密码了,因此在剩下的里面找,最后发现火狐浏览器里面存放了密码。

在这里插入图片描述
因此flag为163_2021/12/14_22:14:00.570_Miaojia123的md5值

不仿真-1

即使不仿真,依然可以用FTK进行挂载,如果不挂载也可以用diskgenius。这里我图方便就挂载了。首先产品秘钥在注册表中,因此用Registry Recon直接扫windows/system32/config,骚微等一会就好了
在这里插入图片描述
21H2在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion下即可查看

秘钥在这个下的SoftwareProtectionPlatform中
在这里插入图片描述
在这里插入图片描述

不仿真-2

这道题看仿真部分第2题

不仿真-3

前俩个问和仿真第3题做法一样。第三个问不同,这个问不仿真或者用取证大师这种一把梭的工具,可能不方便找,passware kit没试过能不能梭出来。

密码文件在Users\Jia~miao\AppData\Roaming\Mozilla\Firefox\Profiles\ee4qj4xf.default-release下,算是一个老考点了,github也有工具

我用的是passwordfox
在这里插入图片描述

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值