一、前言

我是菜鸡,没能拿到一等奖>﹏<

以下是正文。

二、组网技术

这道题是新出的,所以说我们是一点儿不会。在比赛之前,主办方也没有说用的路由器交换机是哪个品牌的,所以说我们只能赌。我就赌了华为,很显然,我们输了。o(≧口≦)o

事实证明我们等了不止一个小时ㄟ( ▔, ▔ )ㄏ

1
2
3
4
5
6
7
8
子任务描述:
创建 vlan 1000
配置 vlan接口 ip 172.16.1.254/24
创建 vlan 100
配置 vlan 接口 ip 192.168.1.254/24
接口G0/0加入vlan 1000
接口G0/1到G0/8 加入vlan 100
子任务分值:200

第一题还算稍微简单一些,不论是华为还是思科,大体思路还是相同的。

第一题任务场景主要是在这个核心交换机中。

主要创建vlan的代码如下

1
2
3
4
5
6
7
8
9
enable
configure terminal
vlan 100
int vlan 100
ip address 192.168.1.254 24

vlan 1000
int vlan 1000
ip address 172.16.1.254 24

配置好之后,我不知道从哪儿来了一个vlan 1,当时我以为这只是无伤大雅的bug,最后就没理

之后就是把接口编入vlan组的代码

1
2
3
int g0/0
switchport mode access
switchport access vlan 1000

主要就是这三行代码,之后把另外几个接口编入另外一个vlan组就是把接口和vlan编号改一下的事情

然后就喜提

然后就发现了各种各样的问题。比如说我这里设置的是vlan 1000,最后却显示的是vlan 100。

还有之前的突然冒出来的vlan 1

然后在进行查阅的过程中突然发现我分配给vlan 100的IP地址突然分给了vlan 1,我就发现不对劲了。但是呢,我又没有解决方法

那所以我就只能分给vlan 1 一个IP地址,不让它挤占其他的,因为我也不知道为什么他会出现而且他还会挤占其他的IP地址。

解决了之后就

后边就彻底不会了,防火墙是hillstone,也是我根本没见过的东西,所以这一项就这么多。

三、应急响应

1.提示词注入

这算提示词注入吗?纯签到,哎呀

2.查看系统状态(日志分析)

根据提示,我们知道应当在/opt/lobster下寻找线索

然后我们就可以在system_real.log这个日志中寻找出flag

3.配置不当获取相关信息

同时,我们知道配置文件一般是yaml文件。所以我们就可以查看config.yaml,是flag3,上图可以看到。

4.分析历史命令

这道题我们没有分析出来,比赛结束之后,在群里讨论,有大手子说在账号为andy下的历史命令没有flag。要提权为root,root的历史命令里有flag4。后面,郑州信息工程职业学院的师傅给了我正确的思路,还有答案,这是他们的图片。在此表示感谢

另外这张图片也证明了flag是可以靠全局搜索搜出来的。

5.进程分析

执行

1
ps aux

得到下面一大堆,然后直接找flag5就行。

6.计划任务、自启动分析

分析var/log/syslog,它是系统日志。会记录一些启动项和计划任务的痕迹

我们可以发现计划任务中有一个flag6

7.分析异常日志

兜兜转转一圈,又回到了起点

/opt/lobster下面还有个日志叫lobster_access.log

现在的问题是:你发现了没有?这个flag是散布在主机的各个角落,所以。赛后也有很多人说直接全局搜索flag,除了历史命令那个flag搜不到,其他的都是能搜到的。Σ(っ °Д °;)っ

四、安全加固

linux加固那几道题,我原本认为修改/etc/security的相关配置就可以,但不知为何死活不出flag。所以呢linux加固我放弃了。主要还是Windows加固。

子任务六-禁止删除桌面上的计算机图标

对于。一些学校开了信息安全的课来说,Windows安全加固是一个比较常见的实验,所以说Windows安全加固这几道题都不难。除了第二题“三权分立”我不会。

然后因为相关的录屏文件缺失,Windows安全加固的相关操作会用我自己的虚拟机演示

打开组策略管理器

可以win+r输入gpedit.msc

如图所示,这道题目是:用户配置->管理模板->桌面

然后就是编辑策略设置。点击已启用,然后应用即可。

如果你想获得flag,别忘了重启一下让电脑设置应用这个策略,这样等运行脚本的时候才能拿到flag。

剩下的题目(除了第二题) 基本上都是这种过程

子任务八-禁止用户修改IP地址

1
题目要求:禁止添加或删除用于lan连接或远程访问连接的组件

子任务九-安全选项策略中,“关机:清除虚拟内存页面文件 ”策略状态为已启用

子任务十:为了方便企业安全管理,请做相关配置,关闭相关服务端口,创建 Rule1规则

1
题目要求:以下端口禁制开放:TCP23

windows防火墙->高级设置->入站规则->新建规则

五、实网渗透

渗透分为两个板块,一个是 Ping命令执行的容器,另一个是若依后台

1.若依后台获取

第一道题比较简单。若依后台的默认密码已经给了,你直接登录进去,在后台上随便翻找,有好几处都给你了相同flag,都能找到。

2.命令执行获取

很简单的ping命令执行

4.容器内信息收集获取

比赛的时候。我想到了要提权到root,但是我没想到的是他不用提权啊,直接root就行了∑( 口 ||

5.获取管理员权限然后在桌面

虽然题目比较谜语人,但是,我们能大致的猜出来出题人的意思就是Flag在桌面。

使用ruoyi vue扫描工具

我们发现存在任意文件读取,根据出题人提示说flag在管理员的桌面上,我们可以

6.容器逃逸在jack用户下获取

这道题的漏洞在于它是“特权容器”,对于特权容器,有以下几种的逃逸方式。

方式 本质 结果
宿主设备暴露 + mount 容器能看到 /dev/sdX,又能 mount 把宿主文件系统挂进容器
Docker socket 暴露 容器能控制宿主 Docker daemon 直接让 daemon 起一个更高权限容器
共享 host namespace 跟宿主共用 PID/NET/IPC 看到或影响宿主资源
真正的内核漏洞 利用 kernel bug 从容器打到宿主内核

对于这道题,我们可以先看一下容器的Linux capability 的有效权限

1
-1;cat /proc/1/status | grep CapEff

按常见 Linux capability 编码,这代表低位大量 capability 都处于启用状态,包括:

  • CAP_SYS_ADMIN
  • CAP_SYS_MODULE
  • CAP_SYS_PTRACE
  • CAP_SYS_RAWIO
  • CAP_MKNOD
  • CAP_NET_ADMIN
  • CAP_SYS_CHROOT
  • CAP_DAC_OVERRIDE

这已经不是普通容器的默认权限,而是接近“特权容器”的能力集合。尤其是:CAP_SYS_ADMIN.它权限非常宽,经常被称为 Linux capability 中的“万能管理员权限”,挂载文件系统等操作通常需要它。

因此我们可以挂载文件

创建一个挂载点 mkdir /mnt/host

将宿主机的根目录磁盘挂载到容器内 mount /dev/sda2 /mnt/host

检查

1
-1;df -h

那么 挂载之后/mnt/host 实际上就是宿主机根文件系统的一个入口,此时容器内的进程可以通过这个目录看到宿主机的目录,因此

根据题目提示是Jack用户,那么一般会有./home/jack,从这里可以找到flag

7.读取宿主机root目录

跟第四题一样,说是提权,但是一点儿都不用提啊

好的渗透就讲到这里,后边的就真不会了

六、some others

这上面的一部分题目我在赛场没写出来,赛后,我们隔壁院校的大手子在群里发布了他的WP,一些题目是按照他的WP思考的思路。

感谢郑州信息工程职业学院的杨师傅,他提供了应急响应第四题历史命令分析的正确思路和答案。

感谢信阳学院的师傅,一些没有做出来的题目的思路参考的是他们的WP。