Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows Server 2003 權限提升實戰:從 ASPX Shell 突破 IIS 6.0 預設帳號限制

編輯:Windows 2003 教學

前言

滲透測試中常遇到 IIS 6.0 預設將 IUSR_帳號降為 Guests 群組,導致 ASP WebShell 權限極低。本文分享一個真實案例:利用 ASP.NET (ASPNET 帳號) 預設屬於 Users 群組、權限高於 IUSR 的特性,上傳 ASPX 後門成功提權至 Users 甚至 Administrators 的完整過程。

環境與限制

  • 上傳限制 200KB,無法上傳大型 EXPloit。
  • WSCRIPT 元件被禁用,傳統 ASP 提權失效。
  • IIS 目錄權限極低,連修改首頁權限都無(IUSR 為 Guests)。
  • 資料庫連線帳號非 sa,無法用 xp_cmdshell。

關鍵發現:ASPNET 帳號權限較高

IIS 6.0 預設安裝 .NET Framework,ASPX 執行身分為 ASPNET(本機帳號),預設加入 Users 群組,權限顯著高於 IUSR_(Guests)。管理員常忽略 ASPX 擴展名的防護。

實戰步驟

  1. 上傳 ASPX WebShell:繞過 200KB 限制(如分割上傳、壓縮),部署支援 CMD 執行的 ASPX 後門(如 c99shell.aspx 修改版)。
  2. 驗證執行身分:在 Shell 執行 whoami 或 net user,確認為 ASPNET。
  3. 查看群組隸屬:
    net localgroup users
    net localgroup guests
    
    確認 ASPNET 在 Users,IUSR 在 Guests。
  4. 嘗試提權:
    • 列舉本地漏洞(如 MS03-026、MS04-011 等舊漏洞,2003 SP1 以上多已修補)。
    • 尋找可寫入的服務路徑、計劃任務、啟動項進行 DLL 劫持或二進制替換。
    • 利用 runas 搭配已知弱口令管理員帳號(若密碼策略弱)。
  5. 建立持久化:若成功提權至 Administrators,安裝 Rootkit、建立隱藏帳號、開啟 3389 遠端桌面、配置 IPC$ 信任關係。

防禦對策(給管理員)

  • 降低 ASPNET 權限:將 ASPNET 從 Users 移除,加入 Guests 或建立自訂低權限帳號執行 ASP.NET。
  • 移除不必要的擴展名對應:若不使用 ASP.NET,在 IIS「Web 服務擴展」禁止 .aspx、.ashx 等。
  • 啟用 URLScan / Request Filtering:封鎖可疑路徑、限制上傳大小、過濾 Shell 特徵字串。
  • 目錄權限最小化:Web 目錄僅授予「讀取、執行」、「列出資料夾」,嚴禁「寫入」。上傳目錄單獨設定寫入、禁用執行權限。
  • 稽核與監控:啟用 IIS 稽核日誌、檔案系統存取稽核,異常寫入/執行即時告警。

總結

ASPX 預設執行身分 ASPNET 屬 Users 群組,是 IIS 6.0 常被忽視的提權路徑。管理員必須同等對待 ASP 與 ASP.NET 的安全設定,「整體防禦」才是關鍵,單點防護終將被繞過。

法律聲明:本文僅供安全研究與防禦教學,嚴禁用於未授權滲透測試或非法入侵。請遵守當地法律法規。
Copyright © Windows教程網 All Rights Reserved