首页 > 其他分享 >2024网鼎杯青龙组Misc详解

2024网鼎杯青龙组Misc详解

时间:2024-11-18 09:29:53浏览次数:1  
标签:LOAD magic Misc 2024 lst CALL key PRECALL 网鼎杯

MISC01

某单位网络遭到非法的攻击,安全人员对流量调查取证之后保存了关键证据,发现人员的定位信息存在泄露,请对其进行分析。flag为用户位置信息进行32位md5哈希值

位置信息,所有我们开始试ip地址,试了一堆发现思路错误,4g通讯流量,直接问Chatgpt

MD5加密

MISC02

题目附件给了一个未知后缀的flag文件,是Ubuntu22.04的内存镜像,当时还不用allinone的vol,啊啊啊啊-_-...。
直接010,找到很多png形式的图片转base64

好多个位置表示的都是同一张图片
最终找到个有用图片,之前用foremost分离过,但是图片破损没有信息
提取出来
iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAABG2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+l1vpCgAAI7JJREFUeJztXU2SVTey1rVfmHgRJp6fCc88Kg/eFuwleA1sj+olwBJgE1U9gBFQQLgYAB30eQOjal2VfvI/U+feL6Kj8a1zpFRKypPKPx3+vf17O2wpbemQUkopHVJK27alQzoc0iFtadsO2+GwHdKW0nZI27dfDykd0iFtW0opbSkdDiltKaXDdvf74ZCm/3/GGWf44btDOqR0OKTD3/+XDimlf/zz3eHwTSB8kwP5qb837d//+vvvh5QO354+fBMK+feUUvrHP2+O/rv+/1PE5fWNNwlocGj2Gu+zVx9c+uXgxZuPd/+24Nt3rR8fXzwiNXZ9+5ndluSgS2ZS+tRaQFz+emyoGc0jmh5fPALPhST+/PUn8z4hyLxq8ez3X35MKcHWXuuZGZ/v9blN8Pz17ewRMJ5cvRVra2UaKKDQvcpYZ3SWf8eOKT+/Ci84oPBmKgAwePryvWRzZhgxTlIAroIeP55cvTXdSCM6Rr/Vf+8JgWhzW9JH2UuUuSELAMnNPpvQ1XD11yfU89gF3fuN058nPOmJzguMdkTBYdv+tuN74fL6hnwmPuOMEs9efbg
赛博厨子
图片不完整

缺少尾部信息,换种思路,寻找png的尾部信息
最终提取得到一下图

zsteg一下,查看图片lsb信息

有个掩码
回到镜像,找到了7z的压缩包

直接掩码爆破
值得注意的是aapr4.66以下的版本是不支持7z的压缩包的
打开压缩包
得到flag.txt

 31         226 PUSH_NULL
            228 LOAD_NAME                8 (key_encode)
            230 LOAD_NAME                7 (key)
            232 PRECALL                  1
            236 CALL                     1
            246 STORE_NAME               7 (key)

 32         248 PUSH_NULL
            250 LOAD_NAME               10 (len)
            252 LOAD_NAME                7 (key)
            254 PRECALL                  1
            258 CALL                     1
            268 LOAD_CONST               7 (16)
            270 COMPARE_OP               2 (==)
            276 POP_JUMP_FORWARD_IF_FALSE    43 (to 364)

 33         278 PUSH_NULL
            280 LOAD_NAME                9 (sm4_encode)
            282 LOAD_NAME                7 (key)
            284 LOAD_NAME                5 (flag)
            286 PRECALL                  2
            290 CALL                     2
            300 LOAD_METHOD             11 (hex)
            322 PRECALL                  0
            326 CALL                     0
            336 STORE_NAME              12 (encrypted_data)

 34         338 PUSH_NULL
            340 LOAD_NAME                6 (print)
            342 LOAD_NAME               12 (encrypted_data)
            344 PRECALL                  1
            348 CALL                     1
            358 POP_TOP
            360 LOAD_CONST               2 (None)
            362 RETURN_VALUE

 32     >>  364 LOAD_CONST               2 (None)
            366 RETURN_VALUE

Disassembly of <code object key_encode at 0x14e048a00, file "make.py", line 10>:
 10           0 RESUME                   0

 11           2 LOAD_GLOBAL              1 (NULL + list)
             14 LOAD_FAST                0 (key)
             16 PRECALL                  1
             20 CALL                     1
             30 STORE_FAST               1 (magic_key)

 12          32 LOAD_GLOBAL              3 (NULL + range)
             44 LOAD_CONST               1 (1)
             46 LOAD_GLOBAL              5 (NULL + len)
             58 LOAD_FAST                1 (magic_key)
             60 PRECALL                  1
             64 CALL                     1
             74 PRECALL                  2
             78 CALL                     2
             88 GET_ITER
        >>   90 FOR_ITER               105 (to 302)
             92 STORE_FAST               2 (i)

 13          94 LOAD_GLOBAL              7 (NULL + str)
            106 LOAD_GLOBAL              9 (NULL + hex)
            118 LOAD_GLOBAL             11 (NULL + int)
            130 LOAD_CONST               2 ('0x')
            132 LOAD_FAST                1 (magic_key)
            134 LOAD_FAST                2 (i)
            136 BINARY_SUBSCR
            146 BINARY_OP                0 (+)
            150 LOAD_CONST               3 (16)
            152 PRECALL                  2
            156 CALL                     2
            166 LOAD_GLOBAL             11 (NULL + int)
            178 LOAD_CONST               2 ('0x')
            180 LOAD_FAST                1 (magic_key)
            182 LOAD_FAST                2 (i)
            184 LOAD_CONST               1 (1)
            186 BINARY_OP               10 (-)
            190 BINARY_SUBSCR
            200 BINARY_OP                0 (+)
            204 LOAD_CONST               3 (16)
            206 PRECALL                  2
            210 CALL                     2
            220 BINARY_OP               12 (^)
            224 PRECALL                  1
            228 CALL                     1
            238 PRECALL                  1
            242 CALL                     1
            252 LOAD_METHOD              6 (replace)
            274 LOAD_CONST               2 ('0x')
            276 LOAD_CONST               4 ('')
            278 PRECALL                  2
            282 CALL                     2
            292 LOAD_FAST                1 (magic_key)
            294 LOAD_FAST                2 (i)
            296 STORE_SUBSCR
            300 JUMP_BACKWARD          106 (to 90)

 15     >>  302 LOAD_GLOBAL              3 (NULL + range)
            314 LOAD_CONST               5 (0)
            316 LOAD_GLOBAL              5 (NULL + len)
            328 LOAD_FAST                0 (key)
            330 PRECALL                  1
            334 CALL                     1
            344 LOAD_CONST               6 (2)
            346 PRECALL                  3
            350 CALL                     3
            360 GET_ITER
        >>  362 FOR_ITER               105 (to 574)
            364 STORE_FAST               2 (i)

 16         366 LOAD_GLOBAL              7 (NULL + str)
            378 LOAD_GLOBAL              9 (NULL + hex)
            390 LOAD_GLOBAL             11 (NULL + int)
            402 LOAD_CONST               2 ('0x')
            404 LOAD_FAST                1 (magic_key)
            406 LOAD_FAST                2 (i)
            408 BINARY_SUBSCR
            418 BINARY_OP                0 (+)
            422 LOAD_CONST               3 (16)
            424 PRECALL                  2
            428 CALL                     2
            438 LOAD_GLOBAL             11 (NULL + int)
            450 LOAD_CONST               2 ('0x')
            452 LOAD_FAST                1 (magic_key)
            454 LOAD_FAST                2 (i)
            456 LOAD_CONST               1 (1)
            458 BINARY_OP                0 (+)
            462 BINARY_SUBSCR
            472 BINARY_OP                0 (+)
            476 LOAD_CONST               3 (16)
            478 PRECALL                  2
            482 CALL                     2
            492 BINARY_OP               12 (^)
            496 PRECALL                  1
            500 CALL                     1
            510 PRECALL                  1
            514 CALL                     1
            524 LOAD_METHOD              6 (replace)
            546 LOAD_CONST               2 ('0x')
            548 LOAD_CONST               4 ('')
            550 PRECALL                  2
            554 CALL                     2
            564 LOAD_FAST                1 (magic_key)
            566 LOAD_FAST                2 (i)
            568 STORE_SUBSCR
            572 JUMP_BACKWARD          106 (to 362)

 18     >>  574 LOAD_CONST               4 ('')
            576 LOAD_METHOD              7 (join)
            598 LOAD_FAST                1 (magic_key)
            600 PRECALL                  1
            604 CALL                     1
            614 STORE_FAST               1 (magic_key)

 19         616 LOAD_GLOBAL             17 (NULL + print)
            628 LOAD_FAST                1 (magic_key)
            630 PRECALL                  1
            634 CALL                     1
            644 POP_TOP

 20         646 LOAD_GLOBAL              7 (NULL + str)
            658 LOAD_GLOBAL              9 (NULL + hex)
            670 LOAD_GLOBAL             11 (NULL + int)
            682 LOAD_CONST               2 ('0x')
            684 LOAD_FAST                1 (magic_key)
            686 BINARY_OP                0 (+)
            690 LOAD_CONST               3 (16)
            692 PRECALL                  2
            696 CALL                     2
            706 LOAD_GLOBAL             11 (NULL + int)
            718 LOAD_CONST               2 ('0x')
            720 LOAD_FAST                0 (key)
            722 BINARY_OP                0 (+)
            726 LOAD_CONST               3 (16)
            728 PRECALL                  2
            732 CALL                     2
            742 BINARY_OP               12 (^)
            746 PRECALL                  1
            750 CALL                     1
            760 PRECALL                  1
            764 CALL                     1
            774 LOAD_METHOD              6 (replace)
            796 LOAD_CONST               2 ('0x')
            798 LOAD_CONST               4 ('')
            800 PRECALL                  2
            804 CALL                     2
            814 STORE_FAST               3 (wdb_key)

 21         816 LOAD_GLOBAL             17 (NULL + print)
            828 LOAD_FAST                3 (wdb_key)
            830 PRECALL                  1
            834 CALL                     1
            844 POP_TOP

 22         846 LOAD_FAST                3 (wdb_key)
            848 RETURN_VALUE

magic_key:5afe22e113aa05ae
encrypted_data:128ae9d850aa394bc1e13eb785f3a2049ef260011195b3f54ebdf23e550eb0ce0d46e1d99b312fd8975f91dc70ba03c5

python的字节码,内容是加密了密钥然后用SM4算法加密了flag,用下Lunatic神的手搓脚本

def restore(mk):
    magic_key = [_ for _ in mk]
    for i in range(0, len(mk), 2):
        magic_key[i] = hex(int("0x" + magic_key[i], 16) ^ int("0x" + magic_key[i + 1], 16)).replace("0x", "")
    
    for i in range(len(mk) - 1, 0, -1):
        magic_key[i] = hex(int("0x" + magic_key[i], 16) ^ int("0x" + magic_key[i - 1], 16)).replace("0x", "")

    return "".join(magic_key)

def encode_key(key):
    magic_key = [_ for _ in key]
    for i in range(1, len(key)):
        magic_key[i] = hex(int("0x" + magic_key[i], 16) ^ int("0x" + magic_key[i - 1], 16)).replace("0x", "")

    for i in range(0, len(key), 2):
        magic_key[i] = hex(int("0x" + magic_key[i], 16) ^ int("0x" + magic_key[i + 1], 16)).replace("0x", "")
        
    magic_key = "".join(magic_key)

    wdb_key = hex(int("0x" + magic_key, 16) ^ int("0x" + key, 16)).replace("0x", "")
    return wdb_key

print(encode_key(restore("5afe22e113aa05ae")))

最后CyberChef解一个SM4即可得到flag

MISC03

近日某公司服务器遭到恶意攻击,随后公司立即对流量监测系统中遭受攻击时段的流量进行了取证,但是公司某一网络安全实习生进行分析溯源后并未找到攻击者的攻击IP,于是公司决定将这个任务重新交给更具经验的你来进行,接手工作后,你立即对其进行了深入调查!

好入手,直接爆破出所有IP即可

from scapy.all import rdpcap

def extract_ip_related_info(file_path):
    # 读取.pcap文件
    packets = rdpcap(file_path)

    # 使用集合存储唯一的与IP相关的信息
    ip_info_set = set()

    for packet in packets:
        # 检查是否是IP包
        if packet.haslayer('IP'):
            ip_src = packet['IP'].src
            ip_dst = packet['IP'].dst
            flags = packet['IP'].flags

            # 将源IP和目标IP添加到集合中
            ip_info_set.add(f"Source IP: {ip_src}")
            ip_info_set.add(f"Destination IP: {ip_dst}")
            ip_info_set.add(f"Flags: {flags}")  # 如果需要其他IP层字段,可以添加更多

            # 检查是否有其他与IP相关的字段
            # 例如:协议类型
            protocol = packet['IP'].proto
            ip_info_set.add(f"Protocol: {protocol}")

    # 输出唯一的与IP相关的信息
    print("提取到的与IP相关的唯一信息:")
    for info in ip_info_set:
        print(info)

# 调用函数并传入.pcap文件路径
extract_ip_related_info(r'C:\Users\Lenovo\Desktop\c.pcap')

第一个就是flag呢

MISC04

某测试人员刚刚完成了一款图像加密算法的开发,想要邀请你进行深入的分析测试。

参考irisctf2024 The Peano Scramble
https://zhuanlan.zhihu.com/p/305623626<----peano搜索发现是一种分形几何

from PIL import Image
from tqdm import tqdm

def peano(n):
    if n == 0:
        return [[0,0]]
    else:
        in_lst = peano(n - 1)
        lst = in_lst.copy()
        px,py = lst[-1]
        lst.extend([px - i[0], py + 1 + i[1]] for i in in_lst)
        px,py = lst[-1]
        lst.extend([px + i[0], py + 1 + i[1]] for i in in_lst)
        px,py = lst[-1]
        lst.extend([px + 1 + i[0], py - i[1]] for i in in_lst)
        px,py = lst[-1]
        lst.extend([px - i[0], py - 1 - i[1]] for i in in_lst)
        px,py = lst[-1]
        lst.extend([px + i[0], py - 1 - i[1]] for i in in_lst)
        px,py = lst[-1]
        lst.extend([px + 1 + i[0], py + i[1]] for i in in_lst)
        px,py = lst[-1]
        lst.extend([px - i[0], py + 1 + i[1]] for i in in_lst)
        px,py = lst[-1]
        lst.extend([px + i[0], py + 1 + i[1]] for i in in_lst)
        return lst

order = peano(6)

img = Image.open(r"C:\Users\Lenovo\Desktop\1.png")

width, height = img.size

block_width = width # // 3
block_height = height # // 3

new_image = Image.new("RGB", (width, height))

for i, (x, y) in tqdm(enumerate(order)):
    # 根据列表顺序获取新的坐标
    new_x, new_y = i % width, i // width
    # 获取原图像素
    pixel = img.getpixel((x, height - 1 - y))
    # 在新图像中放置像素
    new_image.putpixel((new_x, new_y), pixel)

new_image.save("rearranged_image.jpg")

恢复二维码扫码即可。

标签:LOAD,magic,Misc,2024,lst,CALL,key,PRECALL,网鼎杯
From: https://www.cnblogs.com/alexander17/p/18551685

相关文章

  • 20222414 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容本实践目标是掌握metasploit的用法。指导书参考Rapid7官网的指导教程。https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/下载官方靶机Metasploitable2,完成下面实验内容。(1)前期渗透(2)Vsftpd源码包后门漏洞(21端口)(3)SambaMS-RPCShell命令......
  • 2024-11-17 uniapp小程序之自定义 · 全局弹窗
    效果图:目录结构: 共需要修改6个地方,开始前请安装一个依赖:vue-inset-loadernpmivue-inset-loadervue-inset-loader的GitHub地址:https://github.com/1977474741/vue-inset-loader一:新建弹窗文件components/golbalModa.vue<template><viewclass="modal"v-if="globa......
  • TPAMI 2024 | 无需去噪的含噪图像表示
    题目:RepresentingNoisyImageWithoutDenoising无需去噪的含噪图像表示作者:ShurenQi;YushuZhang;ChaoWang;TaoXiang;XiaochunCao;YongXiang源码链接:https://github.com/ShurenQi/FMR摘要在人工智能领域,一个长期的话题是从噪声图像中有效识别模式。在这......
  • 20222408 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容1.1实验要求(1)掌握metasploit、nmap的用法。(2)学习前期渗透的方法。(3)利用4个漏洞,实现对靶机的攻击。1.2学习内容(1)metasploit的用法:可以简单总结为“Search-Use-Show-Set-Exploit/run”。(2)四种漏洞的原理。a.Vsftpd源码包后门漏洞:在特定版本的vsftpd服务......
  • 学期2024-2025-1 学号20241424 《计算机基础与程序设计》第8周学习总结
    学期2024-2025-1学号20241424《计算机基础与程序设计》第8周学习总结作业信息|这个作业属于2024-2025-1-计算机基础与程序设计||-- |-- ||这个作业要求在[2024-2025-1计算机基础与程序设计第8周作业](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目......
  • 20222326 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    一、实验内容实验内容:掌握metasploit的用法,下载完官方靶机Metasploitable2后,可以通过前期渗透、Vsftpd源码包后门漏洞(21端口)、SambaMS-RPCShell命令注入漏洞(端口139)、JavaRMISERVER命令执行漏洞(1099端口)和PHPCGI参数执行注入漏洞(80端口)来具体实践,掌握metasploit,本周学习内......
  • 2024-2025-1 20241406 刘书含《计算机基础与程序设计》第8周学习总结
    2024-2025-120241406《计算机基础与程序设计》第8周学习总结这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 如2024-2025-1计算机基础与程序设计第八周作业这个作业的目标 功能设计与面向对象设计>面向对象设计过程面向对象语言三要素汇编、编......
  • [考试记录] 2024.11.16 noip模拟赛14
    T1字符串构造机考虑将一个LCP条件拆分成两个,一个是相等的部分,使用并查集维护,另一个是不等的部分,两个串末尾的字符一定不相等,随便那啥维护。对于非法情况就是在同一个相等联通块内有不相等的条件。然后考虑从前往后贪心即可。#include<bits/stdc++.h>usingnamespacestd;#d......
  • MLLM_20241117
    Paper1题目:INFERENCEOPTIMALVLMSNEEDONLYONEVISUALTOKENBUTLARGERMODELS作者团队:KevinY.Li,SachinGoyal,JoãoD.Semedo,J.ZicoKolter(CMU)链接:https://arxiv.org/abs/2411.033121.论文试图解决什么问题?是否是一个新问题?论文试图解决VLMs推理阶......
  • 2024-2025-1 20241328 《计算机基础与程序设计》第八周学习总结
    2024-2025-120241328《计算机基础与程序设计》第八周学习总结作业信息课程2024-2025-1-计算机基础与程序设计作业要求2024-2025-1计算机基础与程序设计第八周作业作业目标功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行作......