2024巅峰极客-简历

很好的比赛 充分发扬py精神 最后半小时疯狂冲分

题的质量不错 算是学到了新的姿势

给到附件是一个exe文件 用010看了一眼 全是upx 判断为有壳 用upx去一下

image-20240817211321811

去壳之后跑了一下沙箱 发现没有毒

image-20240817224758718

但是存在检测虚拟机 直接在本机运行一下 得到两个文件my.pngfile file文件其实就是一个exe可执行程序文件

再来分析my.png zsteg跑一下 发现存在lsb隐写

image-20240817225025010

得到一个链接

http://47.104.129.38/79407f2309b5763fbd0e33dc583c4262/default.a

访问可以下载default.a 使用010打开发现存在大量相同的字符

image-20240817225152030

猜测是要与yyttddd进行异或 写脚本完成

def xor_with_string(file_path, xor_string):
    xor_bytes = xor_string.encode()

    with open(file_path, 'rb') as file:
        file_data = file.read()

    xor_result = bytearray()
    for i in range(len(file_data)):
        xor_result.append(file_data[i] ^ xor_bytes[i % len(xor_bytes)])
    return xor_result

def save_xor_result(xor_result, output_path):
    with open(output_path, 'wb') as output_file:
        output_file.write(xor_result)

file_path = 'default.a'
output_path = 'output_file.exe' 
xor_string = 'yyttddd'

xor_result = xor_with_string(file_path, xor_string)
save_xor_result(xor_result, output_path)
print(output_path)

导出发现其实就是运行附件exe程序时释放出来的file文件 在其中发现大量pupy字段的出现

image-20240817230639288

搜索发现Pupy确实是一个C2项目

image-20240817230710822

在github上找到解密项目 需要在python2的环境下运行

pupyrat配置解码器

直接运行发现报错 主要是第28行的问题

image-20240817230850198

脚本问题无法进行反编译 那就直接输出解码后的结果tmp

image-20240817231532915

改为

print(tmp)

在kali中运行

python2 main.py output_file.exe

image-20240817231735979

找到ip 60.177.18.44 进行md5加密

flag{b57758d5acc923137eef453239ba685b}