Serv-U本地權限提升的ASP實(shí)現Author:lake2 (
http://lake2.0x54.org )
最近的生活真無(wú)聊,寒冰掌老大見(jiàn)我無(wú)所事事,就說(shuō)如果我能把Serv-U本地提權的ASP程序做出來(lái)就給介紹個(gè)MM,所以呢,就有了這篇文章^_^
Serv-U本地提權的問(wèn)題很古老了,不清楚的朋友谷歌一下先,我就不羅嗦啦。呵呵,最主要的是相繼出現了php、perl、aspx版本的提權腳本,一時(shí)間刀光劍影滿(mǎn)天飛,惟獨缺了ASP版的。主要是由于郁悶的ASP不能像其他腳本那樣訪(fǎng)問(wèn)Socket(另一個(gè)原因是因為老大沒(méi)早點(diǎn)對我用美眉計^_^)。
網(wǎng)上流傳可以利用MSWinsock控件實(shí)現,這是不好滴。因為這是個(gè)第三方組件,呵呵,幾率相當小,既然要殺人滅口,嘿嘿,肯定要采用一套通殺的方法才是。
Serv-U服務(wù)器管理那里使用了FTP協(xié)議,所以我們應該研究一下FTP協(xié)議先。
正常的FTP協(xié)議的認證過(guò)程:
220 Serv-U FTP Server v5.2 for WinSock ready...
user lake2
331 User name okay, need password.
pass lake2lake2
230 User logged in, proceed.
……
現在我亂來(lái):
220 Serv-U FTP Server v5.2 for WinSock ready...
Hi, I’m Bill Gates!
530 Not logged in.
Open!
530 Not logged in.
I am hacker !
530 Not logged in.
Give you money
530 Not logged in.
user lake2
331 User name okay, need password.
pass lake2lake2
230 User logged in, proceed.
……
注意,如果期待的數據不是user XXX,Serv-U將返回錯誤信息并一直等待正確的登陸命令。暗示著(zhù)什么呢,呵呵,暗示我們要成功啦。
最近用XMLHTTP組件比較多,這個(gè)系統內置組件就是利用HTTP協(xié)議發(fā)送和接收數據。我們將利用這個(gè)組件實(shí)現Serv-U的提權?,F在的問(wèn)題在于我們怎么把FTP協(xié)議通過(guò)HTTP協(xié)議發(fā)送出去呢?
嘿嘿,沒(méi)看到剛才我辛辛苦苦測試的結果么,只要利用POST方式提交數據,POST的內容是FTP命令就行啦,因為前面的HTTP報文頭會(huì )被Serv-U認為是非法的命令而忽略,而POST的內容即FTP命令就會(huì )被接受執行!
由于XMLHTTP及Serv-U的特性,又帶來(lái)一系列問(wèn)題:XMLHTTP沒(méi)有超時(shí)設置,由于等不到服務(wù)器響應的HTTP報文頭,會(huì )一直掛起;XMLHTTP是單用戶(hù)且復用Socket的,根據HTTP協(xié)議版本對同一目標只有2個(gè)或者4個(gè)連接,所以執行一次(或者2次)添加域刪除域之后就不能再次連接了;Serv-U的管理模式使用的偽FTP協(xié)議,也就是不認QUIT命令,造成連接不能斷開(kāi)(用ServerXMLHTTP可以很好的解決這些問(wèn)題,但是僅限于XP下,2000/2003上又不行,郁悶)。
所以只有用一個(gè)折中的辦法來(lái)解決以上的若干問(wèn)題:
1、XMLHTTP先添加FTP用戶(hù);
2、自己登陸FTP用新賬號執行N多命令提權;
3、XMLHTTP刪除新用戶(hù)
你必須記得,因為連接不能斷開(kāi),你只有一次或者兩次執行上述步驟的機會(huì )!如果還想再來(lái),呵呵,等著(zhù)IIS或者FTP重啟吧。
好在以前我也寫(xiě)過(guò)一個(gè)利用有執行權限的FTP賬號執行命令的程序,使得第2步方便了不少,程序這里下載之:
http://www.0x54.org/lake2/program/ftpshell.exe完整的ASP代碼這里下載:
http://www.0x54.org/lake2/program/suASP.rar該ASP程序將在端口21添加一個(gè)用戶(hù)名lake密碼admin123的執行權限用戶(hù),有什么特殊情況(比如ftp端口不是21),自己改代碼吧。
舉一反三,似乎這樣也可以在特定情況利用asp來(lái)訪(fǎng)問(wèn)FTP做些事情,不過(guò)那是你的事情了。
搞定散伙收工走人,enjoy it!