您現(xiàn)在的位置:首頁(yè) >關(guān)于我們 >行業(yè)新聞 >服務(wù)器安全設(shè)置之防溢出提權(quán)攻擊解決辦法

服務(wù)器安全設(shè)置之防溢出提權(quán)攻擊解決辦法

時(shí)間:2007年10月12日

服務(wù)器安全設(shè)置之防溢出提權(quán)攻擊解決辦法


文章簡(jiǎn)介:本文將為大家介紹在Microsoft系列(Win2k Win2k3)SERVER中如何簡(jiǎn)單快速的解決諸如反彈木馬、Overflow溢出、提升權(quán)限、反彈Shell攻擊類的安全威脅之詳細(xì)防范設(shè)置步驟;讀完本文,您將可以使您服務(wù)器免去被溢出、提升權(quán)限等安全威脅。

前言:
在駭客頻頻攻擊、在系統(tǒng)漏洞層出不窮的今天,作為網(wǎng)絡(luò)管理員、系統(tǒng)管理員的我們雖然在服務(wù)器的安全上都下了不少功夫:諸如,及時(shí)的打上系統(tǒng)安全補(bǔ)丁、進(jìn)行一些常規(guī)的安全配置,但是仍然不太可能每臺(tái)服務(wù)器都會(huì)在第一時(shí)間內(nèi)給系統(tǒng)打上全新補(bǔ)丁。因此我們必需要在還未被入侵之前,通過(guò)一些系列安全設(shè)置,來(lái)將入侵者們擋在“安全門”之外;下面就以本人一直以來(lái)所用到的最簡(jiǎn)單、最有效的防(Overflow)溢出、本地提供權(quán)限攻擊類的解決辦法給大家講講:(由于N久沒(méi)有時(shí)間寫文章了,以前早就答應(yīng)過(guò)大家要寫這篇文章給大家,但一直沒(méi)有時(shí)間,有些對(duì)不住大家了^_^,在這里還望大家海涵... )

服務(wù)器安全設(shè)置之防溢出提權(quán)攻擊解決辦法正文:

1、如何可以防止溢出類的駭客攻擊呢?

① 盡最大的可能性將系統(tǒng)的漏洞補(bǔ)丁都打完;最好是比如Microsoft Windows Server系列的系統(tǒng)可以將自動(dòng)更新服務(wù)打開,然后讓服務(wù)器在您指定的某個(gè)時(shí)間段內(nèi)自動(dòng)連接到Microsoft Update網(wǎng)站進(jìn)行補(bǔ)丁的更新。如果您的服務(wù)器為了安全起見 禁止了對(duì)公網(wǎng)外部的連接的話,可以用Microsoft WSUS服務(wù)在內(nèi)網(wǎng)進(jìn)行升級(jí)。(關(guān)于Microsoft WSUS 2.0的安裝與配置可以參考此文: http://www.31896.net/html/2006-1-5/14001689122.shtml )

② 停掉一切不需要的系統(tǒng)服務(wù)以及應(yīng)用程序,最大限能的降底服務(wù)器的被攻擊系數(shù)。比如前陣子的MSDTC溢出,就導(dǎo)致很多服務(wù)器掛掉了。其實(shí)如果WEB類服務(wù)器根本沒(méi)有用到MSDTC服務(wù)時(shí),您大可以把MSDTC服務(wù)停掉,這樣MSDTC溢出就對(duì)您的服務(wù)器不構(gòu)成任何威脅了。

③ 啟動(dòng)TCP/IP端口的過(guò)濾:僅打開常用的TCP如21、80、25、110、3389等端口;如果安全要求級(jí)別高一點(diǎn)可以將UDP端口關(guān)閉,當(dāng)然如果這樣之后缺陷就是如在服務(wù)器上連外部就不方便連接了,這里建議大家用IPSec來(lái)封UDP。在協(xié)議篩選中"只允許"TCP協(xié)議(協(xié)議號(hào)為:6)、UDP協(xié)議 (協(xié)議號(hào)為:17)以及RDP協(xié)議(協(xié)議號(hào)為:27)等必需用協(xié)議即可;其它無(wú)用均不開放。

④ 啟用IPSec策略:為服務(wù)器的連接進(jìn)行安全認(rèn)證,給服務(wù)器加上雙保險(xiǎn)。如③所說(shuō),可以在這里封掉一些危險(xiǎn)的端品諸如:135 145 139 445 以及UDP對(duì)外連接之類、以及對(duì)通讀進(jìn)行加密與只與有信任關(guān)系的IP或者網(wǎng)絡(luò)進(jìn)行通訊等等。(注:其實(shí)防反彈類木馬用IPSec簡(jiǎn)單的禁止UDP或者不常用TCP端口的對(duì)外訪問(wèn)就成了,關(guān)于IPSec的如何應(yīng)用這里就不再敖續(xù),你可以到服安討論Search "IPSec",就會(huì)有N多關(guān)于IPSec的應(yīng)用資料..) (游刃在技術(shù)鬼神邊緣,打造服務(wù)器安全神話!創(chuàng)世紀(jì)網(wǎng)絡(luò)技術(shù)前瞻,成就互聯(lián)網(wǎng)革命先驅(qū)!服務(wù)器安全討論區(qū)[S.S.D.A] http://www.31896.net )

⑤ 刪除、移動(dòng)、更名或者用訪問(wèn)控制表列Access Control Lists (ACLs)控制關(guān)鍵系統(tǒng)文件、命令及文件夾:
⒈ 黑客通常在溢出得到shell后,來(lái)用諸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 來(lái)達(dá)到進(jìn)一步控制服務(wù)器的目的如:加賬號(hào)了,克隆管理員了等等;這里我們可以將這些命令程序刪除或者改名。(注意:在刪除與改名時(shí)先停掉文件復(fù)制服務(wù) (FRS)或者先將 %windir%\system32\dllcache\下的對(duì)應(yīng)文件刪除或改名。)

2.也或者將這些.exe文件移動(dòng)到你指定的文件夾,這樣也方便以后管理員自己使用 ^0^

3. 訪問(wèn)控制表列ACLS控制:找到%windir%\system32下找到cmd.exe、cmd32.exe net.exe net1.exe ipconfig.exe tftp.exe ftp.exe user.exe reg.exe regedit.exe regedt32.exe regsvr32.exe 這些黑客常用的文件,在“屬性”→“安全”中對(duì)他們進(jìn)行訪問(wèn)的ACLs用戶進(jìn)行定義,諸如只給administrator有權(quán)訪問(wèn),如果需要防范一些溢出攻擊、以及溢出成功后對(duì)這些文件的非法利用;那么我們只需要將system用戶 在ACLs中進(jìn)行拒絕訪問(wèn)即可。(如果你性格比較BT的話呢.^_^那么就來(lái)一招拒絕所有用戶吧!,這里就請(qǐng)各類看官根據(jù)自己實(shí)情進(jìn)行處理了)。

4. 如果你覺(jué)得在GUI下面太麻煩的話,你也可以用系統(tǒng)命令的CACLS.EXE來(lái)對(duì)這些.exe文件的Acls進(jìn)行編輯與修改,或者說(shuō)將他寫成一個(gè).bat 批處理 文件來(lái)執(zhí)行以及對(duì)這些命令進(jìn)行修改。(具體用戶自己參見cacls /? 幫助進(jìn)行,由于這里的命令太多我就不一一列舉寫成批處理代碼給各位了!!)

5.對(duì)磁盤如C/D/E/F等進(jìn)行安全的ACLS設(shè)置從整體安全上考慮的話也是很有必要的,另外特別是win2k,對(duì)Winnt、Winnt\System、Document and Setting等文件夾。(關(guān)于詳細(xì)的磁盤ACLs設(shè)置辦法與建議,本人將在下篇文章中為大家作詳細(xì)介紹^_^!)

⑥ 進(jìn)行注冊(cè)表的修改禁用命令解釋器: (如果您覺(jué)得用⑤的方法太煩瑣的話,那么您不防試試下面一勞永逸的辦法來(lái)禁止CMD的運(yùn)行^_^)
通過(guò)修改注冊(cè)表,可以禁止用戶使用命令解釋器(CMD.exe)和運(yùn)行批處理文件(.bat文件)。具體方法:新建一個(gè)雙字節(jié)(REG_DWORD)執(zhí)行 HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows\System\DisableCMD,修改其值為1,命令解釋器和批處理文件都不能被運(yùn)行。修改其值為2,則只是禁止命令解釋器的運(yùn)行,反之將值改為0,則是打開CMS命令解釋器。如果您賺手動(dòng)太麻煩的話,請(qǐng)將下面的代碼保存為*.reg文件,然后導(dǎo)入。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]

"DisableCMD"=dword:00000001

⑦ 對(duì)一些以System權(quán)限運(yùn)行的系統(tǒng)服務(wù)進(jìn)行降級(jí)處理。(諸如:將Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以 System權(quán)限運(yùn)行的服務(wù)或者應(yīng)用程序換成其它administrators成員甚至users權(quán)限運(yùn)行,這樣就會(huì)安全得多了...但前提是需要對(duì)這些基本運(yùn)行狀態(tài)、調(diào)用API等相關(guān)情況較為了解. )

其實(shí),關(guān)于防止如Overflow溢出類攻擊的辦法除了用上述的幾點(diǎn)以外,還有N多種辦法:諸如用組策略進(jìn)行限制,寫防護(hù)過(guò)濾程序用DLL方式加載windows到相關(guān)的SHell以及動(dòng)態(tài)鏈接程序之中這類。當(dāng)然自己寫代碼來(lái)進(jìn)行驗(yàn)證加密就需要有相關(guān)深厚的 Win32編程基礎(chǔ)了,以及對(duì)Shellcode較有研究;由于此文僅僅是討論簡(jiǎn)單的解決辦法,因此其它辦法就不在這里詳述了...


2、如何在防止被駭客溢出得到Shell后對(duì)系統(tǒng)的而進(jìn)一步入侵呢?

① 在做好1中上述的工作之后,基本上可以防目駭客在溢出之后得到shell了;因?yàn)榧词筄verflow溢出成功,但在調(diào)用CMDSHELL、以及對(duì)外聯(lián)接時(shí)就卡了。 (為什么呢,因?yàn)?1.溢出后程序無(wú)法再調(diào)用到CMDSHLL我們已經(jīng)禁止system訪問(wèn)CMD.exe了。2.溢出之后在進(jìn)行反彈時(shí)已經(jīng)無(wú)法對(duì)外部 IP進(jìn)行連接了^_^ 所以,基本上要能過(guò)system權(quán)限來(lái)反彈shell就較困難的了...)

② 當(dāng)然世界上是不存在絕對(duì)的安全的,假設(shè)入侵者在得到了我們的shell之后,做些什么呢?一般入侵者在在得到shell之后,就會(huì)諸如利用系統(tǒng)命令加賬號(hào)了通過(guò)tftp、ftp、vbs等方式傳文件了等等來(lái)達(dá)到進(jìn)一步控制服務(wù)器。這里我們通過(guò)1上述的辦法對(duì)命令進(jìn)行了限制,入侵者是沒(méi)有辦法通過(guò)tftp、 ftp來(lái)傳文件了,但他們?nèi)匀豢梢阅苓^(guò)echo寫批處理,用批處理通過(guò)腳本BAT/VBS/VBA等從WEB上下載文件,以及修改其它盤類的文件等潛在破壞行為。所以我們需要將echo命令也限制以及將其它盤的System寫、修改文件的權(quán)限進(jìn)行處理。以及將VBS/VBA類腳本以及XMLhttp等組件進(jìn)行禁用或者限制 system的運(yùn)行權(quán)。這樣 的話別人得到Shell也無(wú)法對(duì)服務(wù)器上的文件進(jìn)行刪除以及進(jìn)行步的控制系統(tǒng)了;以及本地提權(quán)反彈Shell了^_^

后記:其實(shí)服務(wù)器、系統(tǒng)的安全是個(gè)整體的概念;有可能你其它一小點(diǎn)的疏忽就可以讓你的網(wǎng)站、甚至服務(wù)器淪陷。因此安全策略必需走防患未然的道路,任何一個(gè)小地方都不能馬虎、今天關(guān)于防Overflow的安全小技巧就為大家介紹到這里...關(guān)于其它方面的服務(wù)器安全配置經(jīng)驗(yàn)我們?cè)谙乱黄恼略僖姲?-) (注:由于本人才疏學(xué)淺,如文中有錯(cuò)誤實(shí)為在所難免,還請(qǐng)各位看官見諒!旨在拋磚引玉!)


 


 


                                                    海騰數(shù)據(jù)中心(技術(shù)部整理)
                                                    2007-10-12

Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營(yíng)性ICP/ISP證 備案號(hào):B1-20180452   豫公網(wǎng)安備 41019702002018號(hào)    電子營(yíng)業(yè)執(zhí)照