漏洞簡介:
漏洞是使用Serv-u本地默認管理連線埠,以默認管理員登入新建域和用戶來執行命令,Serv-u>3.x版本默認本地管理連線埠是:43958,默認管理員:LocalAdministrator,默認密碼:#l@$ak#.lk;0@P,這是集成在Serv-u內部的,可以以Guest許可權來進行連線,對Serv-u進行管理。
防止辦法和對策:
一般防止方法:設定目錄許可權,通過去掉Web目錄iusr用戶的執行許可權來防止使用Webshell來運行Exp程式。
對策:這種方法有一定的局限性,需要設定的目錄很多,不能有一點疏漏,比如我就發現很多虛擬主機在C:\Documents and Settings\All Users\ Documents目錄以及下邊幾個子目錄Documents沒有設定許可權,導致可以在這個目錄上傳並運行Exp,這種目錄還有x:\php,x:\perl等,因為這種目錄都是everyone完全控制的。有些主機還支持php,pl,aspx等,這簡直就是伺服器的Serv-U災難,運行程式更加方便。
高級一點的防止辦法:修改Serv-u管理連線埠,用Ultraedit打開ServUDaemon.exe查找B6AB(43958的16進制),替換成自己定義的連線埠比如3930(12345),打開ServUAdmin.exe找到最後一個B6AB替換成3930(12345),啟動Serv-u,現在本地管理連線埠就成了12345了:
TCP 127.0.0.1:12345 0.0.0.0:0 LISTENING
對策:對付這種也很簡單,netstat –an,就能看到連線埠了,有人說netstat無法運行,其實你再上傳個netstat.exe到可執行目錄運行就ok了,然後修改一下Exp編譯,上傳運行就好了,我修改了一個可以自定義連線埠的Exp,運行格式:
USAGE: serv-u.exe port "command"
Example: serv-u.exe 43958 "net user xl xiaoxue /add"
更高級的防止辦法:修改管理員名和密碼,用Ultraedit打開ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等長度的其它字元就可以了,ServUAdmin.exe也一樣處理。
對策:這下默認的管理員連線不上了,還有辦法么?嘿嘿,有的管理員安裝Serv-u都是使用默認目錄C:\Program Files\Serv-U安裝,這個目錄雖然不能寫,也不能修改,但是默認iusr是可以讀的,我們可以用webshell來下載ServUDaemon.exe,用Ultraedit打開分析一下,Serv-U的帳號密碼就到手了,修改Exp編譯上傳運行,我們又勝利了。
終極防禦:
1.設定好目錄許可權,不要疏忽大意;
2.Serv-U最好不要使用默認安裝路徑,設定Serv-U目錄的許可權,只有管理員才能訪問;
3.用我介紹的辦法修改Serv-U的默認管理員名字和密碼,喜歡的話連線埠也可以改掉。