<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    IIS短文件名猜解在拿權限中的巧用

    一顆小胡椒2022-07-26 09:33:13

     Part1 前言 

    為了能在紅隊項目中發現更多的打點漏洞,我曾經花了不少精力,把那些大家覺得不重要的中低危漏洞拿來研究一下,發現有幾個漏洞還是很有利用價值的,比如說,“IIS短文件名猜解漏洞”。這個漏洞有以下這么幾個特點:1、危害等級是中低風險。2、在當前網站應用中還廣泛存在。3、微軟官網不太認可這個漏洞,不出補丁。4、很多客戶也選擇不修復。5、漏洞利用起來極其困難,需要很大的耐心和毅力。但是我借助此漏洞間接拿權限成功了很多次,還是有很多技巧在里面的,下面分享一下詳細過程。

     Part2 研究過程 

    IIS短文件名猜解漏洞簡介:

    首先簡單介紹一下IIS短文件名猜解漏洞:Windows系統為了兼容16位MS-DOS程序,為文件名較長的文件和文件夾生成了對應的Windows 8.3短文件名。比如文件名direct~1.asp中間有一個波浪號,這種就是短文件名了。

    • 查看短文件名的方法

    如下圖所示,使用windows自帶的命令即可。打開一個文件夾,使用dir /x命令,可以直接看到每個文件或者文件夾的短文件名,短文件名只保留前六位的文件名+ ~+ 1.后綴名的前三位。

    • 短文件名命名規則

    Windows短文件名的命名規則如下,實際上比以下描述要復雜一些,但是了解個大概即可,否則太費精力,不劃算(這段描述參考了freebuf的文章,文末附帶了freebuf文章的原文鏈接地址):

    1.  只有前六位字符直接顯示,后續字符用~1指代。其中數字1還可以遞增,如果存在多個文件名類似的文件(名稱前6位必須相同,且后綴名前3位必須相同)

    2.  后綴名最長只有3位,多余的被截斷,超過3位的長文件會生成短文件名

    3.  所有小寫字母都會轉換成大寫字母

    4.  長文件名中含有多個.,以文件名最后一個.作為短文件名后綴

    5.  長文件名前綴/文件夾名字符長度符合0-9和Aa-Zz范圍且需要大于等于9位才會生成短文件名,如果包含空格或者其他部分特殊字符,不論長度均會生成短文件。

    • 該漏洞的利用價值

    此漏洞可以得到網站每個目錄下文件的前6位字符,其利用價值體現在:

    1.  猜解網站的后臺地址。

    2.  猜解敏感文件,例如網站備份的.rar、.zip、.bak、.sql文件等。

    3.  獲取很多爬蟲爬不到的未授權訪問頁面、獲取WebService接口地址,從這些未授權訪問頁面中進而發現更多漏洞,如SQL注入漏洞、上傳漏洞等。

    IIS短文件名猜解的利用過程:

    假設IIS中間件網站目錄下有Databackup.zip這樣一個網站備份文件,使用dir /x查看,可以得到短文件名為DATABA~1.zip。如果在紅隊項目過程中,得知網站下有一個DATABA為前綴的文件名,那么就可以很容易猜到完整的數據庫文件名database.zip或者databackup.zip,那么就可以直接下載數據庫了,這對于紅隊項目是非常有幫助的。

    IIS早期版本和較新版本對于IIS短文件名猜解的判斷方法是不一樣的,下面分情況搭建虛擬機環境測試一下:

    • IIS6.0下GET請求判斷

    本地搭建一個IIS6.0、Win2003環境,看一下如何通過IIS短文件名猜解得到服務器文件或者文件夾地址。接下來構造如下兩個URL:

    http://192.168.237.128:8888/shop/databa~1****/a.aspx

    如下圖所示,服務器如果存在databa開頭的文件,則顯示404響應碼:

    http://192.168.237.128:8888/shop/databc~1****/a.aspx

    如下圖所示:如果服務器不存在databc開頭的文件,則顯示400響應碼提示:

    由此可知,通過以上判斷方法,可以得到逐步猜解出低版本IIS網站目錄下長文件名的前6位字符及后綴。但對于IIS較新版本,GET請求是判斷不出短文件名的,需要借助OPTIONS請求或者TRACE請求,HEAD請求、GET請求、POST請求都不行。

    • IIS 10.0下OPTIONS請求判斷

    接下來看一下IIS 10.0的情況下,同樣在wwwroot目錄下放一個databackup.zip文件:

    http://192.168.237.166/databa~1****/a.aspx

    如果服務器存在databa開頭的文件,則提示404響應碼。

    http://192.168.237.166/databc~1****/a.aspx

    如果服務器不存在databac開頭的文件名,則提示200響應碼。

    • IIS 10.0下TRACE請求判斷

    接下來換成TRACE請求方法試一試:

    http://192.168.237.166/databa~1****/a.aspx

    如果服務器存在databa開頭的文件,返回404響應碼。

    如果服務器不存在databc開頭的文件,則返回501響應碼。

    • 猜解方法總結如下(歡迎大家校勘):

    1. 對于IIS6.0左右的低版本:

    使用HEAD、GET、POST請求判斷,返回響應碼404則文件存在,返回響應碼400則文件不存在。

    2. 對于IIS10.0左右的新版本:

    使用OPTIONS、TRACE請求方法判斷,返回響應碼404則文件存在,返回響應碼200或者501則文件不存在。

    IIS短文件名猜解實戰案例分享:

    接下來分享一下我曾經做的2個實戰案例。

    • 案例一:醫療行業案例

    這個案例來源于一次醫療行業的紅隊評估項目。如下圖所示:通過IIS短文件名猜解,得到了如下兩個短文件名(為了防止泄露項目信息,截圖都來源于本地搭建的環境,原圖就不貼出來了)

    patien~1.asp 由于是醫療系統,所以很容易聯想到單詞“病人”patient.asp

    userad~1.asp 很容易聯想到添加用戶的功能頁面:useradd.asp

    訪問之后發現patient.asp、useradd.asp均不存在,因為iis短文件名猜解出來的后綴名只有前三位,于是將后綴.asp換成.aspx就顯示文件存在了。

    于是兩個未授權訪問頁面就出現了,對這兩個頁面的漏洞進行深度挖掘,追蹤頁面中的js鏈接地址。patient.aspx顯示如下頁面(圖片是本地虛擬機環境),搜索框存在SQLServer注入漏洞,而且是sa權限,直接拿到了服務器權限。

    而useradd.aspx存在未授權添加用戶漏洞。都是常規操,就不做過多介紹了。

    • 案例二:WebService接口

    接下來看另一個稍微難一點的案例,掃描出一個真實文件名/h/dmtkts~1.asm  

    dmtkts~1.asm這個短文件名耗費了我很長時間才給試出來:后來我在想,asm后綴是什么后綴,開始以為是一個臨時文件之類的后綴,后來我突然想到了:.asm 后綴就是.net的WebService接口后綴.asmx。接下來dmtkts 這個短文件名的完整名怎么猜,讓我大傷腦筋,后來突然想到了,由于.asmx是WebService的接口,后面這個s字母應該是service的首字母,最終得到如下的完整文件名dmtktservice.asmx,最終拿到了一個asmx的任意接口調用。真是太難了。。

    dmtktservice.asmx類似于如下圖片的功能(原圖就不貼了),這接口里面有一處上傳功能,后續利用上傳漏洞拿到權限的。

    對IIS短文件名猜解的利用案例就舉這兩個例子吧,都是實戰案例。此外,還可以通過短文件名+字典的方式枚舉,我曾經用過幾百萬行的目錄字典、單詞字典去跑IIS中間件,但最常用的還是自己按照研發人員的命名習慣去手工嘗試。大家也可以發散思維,找到更多更好用的思路。

    iis短文件名猜解腳本改造

    對于iis短文件名猜解,我下載了好幾個腳本,各有優缺點吧,有的腳本不支持iis10,有的腳本算法大概是有問題,跑出的iis短文件名不全。最終我把lijiejie的腳本改造了一下,使它支持iis 10.0的猜解,腳本主要改動內容如下:

    漏洞挖掘iis
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    對于公益SRC來說,想要沖榜就不能在一個站上浪費大量時間,公益SRC對洞的質量要求不高,所以只要 花時間,還是可以上榜的。在對某站點進行測試SQL注入的時候,先通過一些方式測試是否可能存在漏洞,然后可以直接sqlmap一把梭,也可以手工測試,然后提交漏洞。任意注冊算是低危漏洞,不過也有兩分。不管是進行SRC漏洞挖掘,還是做項目進行滲透測試,又或者是打紅藍對抗,一定要做好信息收集。
    業務漏洞挖掘筆記
    2022-04-03 21:16:10
    業務漏洞挖掘筆記多年的實戰業務漏洞挖掘經驗,為了讓今后的業務漏洞挖掘工作更清晰,以及盡可能的把重復性的工作自
    自己接過的一個項目,不過其實是客戶自己在使用的一個SaaS平臺,也就是對SaaS平臺的測試本質上來說沒有嚴格授權。由于沒有嚴格授權也就將測試范圍局限在了單個網站上,并沒有根據域名進行拓展。Web應用信息通過Burp發送一定請求包,可以得到服務器如下信息:開發語言:ASP. 由于使用的是ASP.NET開發框架,因此服務器中間件大概率是IIS了。以上功能點均存在類似的通過修改請求方式的CSRF漏洞
    工業互聯網安全專委會 :第二期工業互聯網安全講壇成功舉辦!
    Resin存在類似iis6.0的文件解析漏洞,影響全部版本,不僅能夠豐富其他高危漏洞挖掘知識庫,也給隱藏后門帶來了新的一種潛在方式。
    服務器的相關信息(真實ip,系統類型,版本,開放端口,WAF等) 網站指紋識別(包括,cms,cdn,證書等),dns記錄 whois信息,姓名,備案,郵箱,電話反查(郵箱丟社工庫,社工準備等) 子域名收集,旁站,C段等 google hacking針對化搜索,pdf文件,中間件版本,弱口令掃描等 掃描網站目錄結構,爆后臺,網站banner,測試文件,備份等敏感文件泄漏等 傳輸協議,通用漏洞,ex
    主要是可以拿著這些信息通過goole,或github搜索一些其他的敏感信息,擴大搜索面。效果就不多說了,在github泄漏一些賬號或源碼的事件簡直不要太多。)如果得到的ip結果不同,即可判斷使用了CDN。nmap掃描服務器進行搜集,我認為也是至關重要的一點,不能遺漏。里面的security項rename-command CONFIG ""又問:如果內容禁止使用ip如何探測內網端口1、使用dns解析2、127。
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类