0x00 測(cè)試環(huán)境操作系統(tǒng):Windows Server 2008 R2 Enterprise Service Pack 1 x64 IIS版本:IIS7.5 程序:asp.net 0x01 IIS7.5的安裝
http 常見功能:開啟靜態(tài)內(nèi)容,默認(rèn)文檔,HTTP錯(cuò)誤;目錄瀏覽,WebDAV發(fā)布如無特殊要求,不要開啟;HTTP重定向可根據(jù)需要開啟。 應(yīng)用程序開發(fā):這個(gè)可根據(jù)實(shí)際情況開啟,如為asp.net的開啟ASP.NET,.NET擴(kuò)展性,ISAPI擴(kuò)展,ISAPI篩選;在服務(wù)器端的包含文件根據(jù)需要開啟。 健康和診斷:建議開啟HTTP日志記錄,日志記錄工具,請(qǐng)求監(jiān)視;其他可根據(jù)需要開啟。 安全性:建議開啟URL授權(quán),請(qǐng)求篩選,IP和域限制;其他根據(jù)需要開啟。 性能,管理工具,ftp服務(wù)器,IIS可承載的Web核心可根據(jù)開啟。 0x02 IIS7.5權(quán)限配置介紹IIS7.5涉及兩個(gè)賬戶,一個(gè)為匿名賬戶,一個(gè)為應(yīng)用程序池賬戶。在磁盤的NTFS權(quán)限設(shè)置中,匿名賬戶只需要擁有對(duì)網(wǎng)站目錄的讀取權(quán)限即可;而應(yīng)用程序池賬戶需要根據(jù)程序?qū)嶋H情況給予相應(yīng)權(quán)限,比如:需要去寫文件,則要給予寫權(quán)限,需要去調(diào)用一個(gè)程序(如cmd.exe)則需要給予執(zhí)行權(quán)限??傊?,對(duì)文件的訪問,首先需要有匿名賬戶的訪問權(quán)限,然后再根據(jù)程序的操作需要什么樣的權(quán)限給予應(yīng)用程序池賬戶相應(yīng)的權(quán)限。 研究發(fā)現(xiàn)的幾個(gè)基本問題:1. 上傳目錄的寫入權(quán)限由應(yīng)用程序池賬戶決定; 2. 應(yīng)用程序池默認(rèn)對(duì)于的賬戶為IIS APPPOOL\{app pool name},且屬于IIS_IUSRS組; 3. 默認(rèn)的匿名賬戶為IUSR賬戶,且屬于authenticated users 組; 4. 任何用戶都屬于USERS組,且手工刪除后仍然屬于USERS組; 5. 上傳木馬之后,能夠看到的目錄是由應(yīng)用程序池賬戶決定的; 6. 在此測(cè)試環(huán)境下,USERS組默認(rèn)擁有網(wǎng)站目錄的寫入權(quán)限; 7. 一個(gè)aspx文件的運(yùn)行跟NTFS的運(yùn)行權(quán)限無關(guān); 8. 對(duì)于網(wǎng)站的匿名賬戶只需要對(duì)網(wǎng)站目錄有讀取權(quán)限; 9. 應(yīng)用程序池賬戶運(yùn)行aspx也只需要讀取權(quán)限,但是如果要寫文件需則寫權(quán)限,要執(zhí)行其他程序則需要執(zhí)行權(quán)限; 0x03 常見服務(wù)器被入侵威脅及解決措施常見服務(wù)器入侵威脅:1. webdav直接上傳webshell 2. 通過程序文件上傳漏洞上傳webshell 3. webshell的權(quán)限過高導(dǎo)致被提權(quán) 解決常見問題措施:1. 解決webdav問題在安裝的時(shí)候直接不安裝webdav組件 2.防止上傳的木馬文件執(zhí)行可以在IIS中設(shè)置需要上傳文件的目錄,處理程序映射中的編輯功能權(quán)限中的腳本去掉,這樣即使上傳了木馬文件在此目錄,也是無法執(zhí)行的。
上傳目錄取消應(yīng)用程序池賬戶的執(zhí)行權(quán)限
3. 防止木馬執(zhí)行后看到網(wǎng)站目錄之外的文件可以設(shè)置進(jìn)程池賬戶對(duì)其他文件夾無讀取權(quán)限。 4. 防止木馬執(zhí)行后可執(zhí)行cmd取消進(jìn)程池賬戶的NTFS執(zhí)行權(quán)限。 5. 防止木馬執(zhí)行后運(yùn)行cmd權(quán)限過高進(jìn)程池賬戶選擇權(quán)限較低的賬戶,最好就是默認(rèn)的賬戶。 0x04 推薦安全配置方案安全配置簡(jiǎn)單配置:1. 匿名賬戶使用默認(rèn)的IUSR。
2. 應(yīng)用程序池使用默認(rèn)的標(biāo)識(shí),對(duì)于的賬戶為IIS AppPool\應(yīng)用程序池名稱。
3.IIS中對(duì)上傳目錄設(shè)置為腳本不可執(zhí)行
加強(qiáng)安全配置:1. 匿名賬戶使用默認(rèn)的“應(yīng)用程序用戶”也就是對(duì)應(yīng)的IUSR。 2. 應(yīng)用程序池賬戶使用默認(rèn)的IIS AppPool\應(yīng)用程序池名稱。 3. 刪除everyone,users在所有磁盤上的權(quán)限。 4. 刪除users在system32上的所有權(quán)限(需要先修改所有者為administrator)。 5. 在網(wǎng)站目錄下給予IUSR讀取權(quán)限。 6. 在網(wǎng)站目錄下給予IIS AppPool\應(yīng)用程序池名稱讀取權(quán)限,如果程序中有特殊要求的權(quán)限,如寫入文件等,則再對(duì)應(yīng)的目錄下給予相應(yīng)的權(quán)限,如寫入權(quán)限。 7. 在網(wǎng)站要求的上傳目錄給予IIS AppPool\應(yīng)用程序池名稱寫入權(quán)限,但是不給予執(zhí)行權(quán)限。 8. 在IIS中取消上傳目錄的腳本執(zhí)行權(quán)限。 注意:
0x05 疑問
注: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files 這個(gè)目錄不需要賦予IUSR權(quán)限,但需要IIS_IUSRS組的權(quán)限 =============================================================================================
一、這樣配置的好處? 不知大家有沒有聽過旁注?我簡(jiǎn)單的解釋一下吧:有個(gè)人想黑掉A站點(diǎn),但找來找去都沒發(fā)現(xiàn)可利用的漏洞,無意中他發(fā)現(xiàn)與A同服務(wù)器上還有個(gè)B站點(diǎn),并且在B站點(diǎn)上找到了可利用的漏洞,于是他將木馬從B站中上傳至服務(wù)器,如果服務(wù)器權(quán)限配置不當(dāng),那么現(xiàn)在他就可以黑掉服務(wù)器上的所有站點(diǎn)了!如果我們?yōu)槊總€(gè)站點(diǎn)都建立一個(gè)用戶,并設(shè)置該用戶只有訪問本站點(diǎn)的權(quán)限,那么就能將訪問權(quán)限控制在每個(gè)站點(diǎn)文件夾內(nèi),旁注問題也就解決了。 二、準(zhǔn)備工作
1、運(yùn)行環(huán)境:Win2K 服務(wù)器版 + IIS 5.0 OK,在IE中分別輸入http://192.168.0.146:101和http://192.168.0.146:102測(cè)試兩站點(diǎn)是否建立成功。 三、配置過程 1、建立用戶組和用戶 新建一用戶組webs,以后所有站點(diǎn)用戶全部隸屬于該組,以便于權(quán)限分配。 建立用戶web01,注意要鉤選"密碼永不過期"(否則背后會(huì)出現(xiàn)"HTTP 401.1 - 未授權(quán):登錄失敗"),并設(shè)置其只隸屬于webs用戶組。同樣在建一個(gè)用戶web02。 2、各分區(qū)NTFS權(quán)限設(shè)置 打開各分區(qū)的安全選項(xiàng)卡依次給各分區(qū)授于administrator和system完全控制權(quán)限,并設(shè)置webs組完全拒絕權(quán)限。 3、站點(diǎn)文件夾NTFS權(quán)限設(shè)置 打開E:\web01文件夾屬性窗口,選擇安全選項(xiàng)卡,先去掉"允許將來自父系的可繼承權(quán)限傳播給該對(duì)象"前的鉤,經(jīng)彈出的對(duì)話框中選擇刪除繼承權(quán)限。 最終確保administrator、system和web01對(duì)該文件夾都有完全控制權(quán)限。 E:\web02文件夾也一樣設(shè)置。 4、設(shè)置各站點(diǎn)的匿名訪問用戶 在IIS中打開web01站點(diǎn)屬性,選擇目錄安全性→匿名訪問和驗(yàn)證控制→編輯,去掉"集成Windows驗(yàn)證"前的鉤,再編輯匿名訪問使用的賬號(hào),設(shè)置匿名訪問賬號(hào)為web01(web02站點(diǎn)也一樣設(shè)置)。 四、測(cè)試 將老兵寫的站長(zhǎng)助手放至web02站點(diǎn)中進(jìn)行測(cè)試,經(jīng)測(cè)試除站點(diǎn)文件可以瀏覽外,其他分區(qū)均不能訪問。 |
|