防溢出提權(quán)攻擊的解決辦法
發(fā)布時間:2009-08-08 21:57:30 作者:佚名
我要評論

在頻頻惡意攻擊用戶、系統(tǒng)漏洞層出不窮的今天,作為網(wǎng)絡(luò)管理員、系統(tǒng)管理員雖然在服務(wù)器的安全上都下了不少功夫,諸如及時打上系統(tǒng)安全補(bǔ)丁、進(jìn)行一些常規(guī)的安全配置,但有時仍不安全。因此必須惡意用戶入侵之前,通過一些系列安全設(shè)置,來將入侵者們擋在“安全門”
在頻頻惡意攻擊用戶、系統(tǒng)漏洞層出不窮的今天,作為網(wǎng)絡(luò)管理員、系統(tǒng)管理員雖然在服務(wù)器的安全上都下了不少功夫,諸如及時打上系統(tǒng)安全補(bǔ)丁、進(jìn)行一些常規(guī)的安全配置,但有時仍不安全。因此必須惡意用戶入侵之前,通過一些系列安全設(shè)置,來將入侵者們擋在“安全門”之外,下面就將最簡單、最有效的防(Overflow)溢出、本地提供權(quán)限攻擊類的解決辦法給大家分享。
一、如何防止溢出類攻擊
1、盡最大的可能性將系統(tǒng)的漏洞補(bǔ)丁都打完,最好是比如Microsoft Windows Server系列的系統(tǒng)可以將自動更新服務(wù)打開,然后讓服務(wù)器在您指定的某個時間段內(nèi)自動連接到Microsoft Update網(wǎng)站進(jìn)行補(bǔ)丁的更新。如果您的服務(wù)器為了安全起見 禁止了對公網(wǎng)外部的連接的話,可以用Microsoft WSUS服務(wù)在內(nèi)網(wǎng)進(jìn)行升級。
2、停掉一切不需要的系統(tǒng)服務(wù)以及應(yīng)用程序,最大限能的降底服務(wù)器的被攻擊系數(shù)。比如前陣子的MSDTC溢出,就導(dǎo)致很多服務(wù)器掛掉了。其實(shí)如果WEB類服務(wù)器根本沒有用到MSDTC服務(wù)時,您大可以把MSDTC服務(wù)停掉,這樣MSDTC溢出就對您的服務(wù)器不構(gòu)成任何威脅了。
3、啟動TCP/IP端口的過濾,僅打開常用的TCP如21、80、25、110、3389等端口;如果安全要求級別高一點(diǎn)可以將UDP端口關(guān)閉,當(dāng)然如果這樣之后缺陷就是如在服務(wù)器上連外部就不方便連接了,這里建議大家用IPSec來封UDP。在協(xié)議篩選中"只允許"TCP協(xié)議(協(xié)議號為:6)、UDP協(xié)議(協(xié)議號為:17)以及RDP協(xié)議(協(xié)議號為:27)等必需用協(xié)議即可;其它無用均不開放。
4、啟用IPSec策略:為服務(wù)器的連接進(jìn)行安全認(rèn)證,給服務(wù)器加上雙保險。如③所說,可以在這里封掉一些危險的端品諸如:135 145 139 445 以及UDP對外連接之類、以及對通讀進(jìn)行加密與只與有信任關(guān)系的IP或者網(wǎng)絡(luò)進(jìn)行通訊等等。(注:其實(shí)防反彈類木馬用IPSec簡單的禁止UDP或者不常用TCP端口的對外訪問就成了,關(guān)于IPSec的如何應(yīng)用這里就不再敖續(xù),可以到服安討論Search "IPSec",就 會有N多關(guān)于IPSec的應(yīng)用資料..)
5、刪除、移動、更名或者用訪問控制表列Access Control Lists (ACLs)控制關(guān)鍵系統(tǒng)文件、命令及文件夾:
?。?).黑客通常在溢出得到shell后,來用諸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 來達(dá)到進(jìn)一步控制服務(wù)器的目的如:加賬號了,克隆管理員了等等;這里可以將這些命令程序刪除或者改名。(注意:在刪除與改名時先停掉文件復(fù)制服務(wù)(FRS)或者先將 %windir%\system32\dllcache\下的對應(yīng)文件刪除或改名。)
(2).也或者將這些.exe文件移動到指定的文件夾,這樣也方便以后管理員自己使用。
?。?).訪問控制表列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 這些黑客常用的文件,在“屬性”→“安全”中對他們進(jìn)行訪問的ACLs用戶進(jìn) 行定義,諸如只給administrator有權(quán)訪問,如果需要防范一些溢出攻擊、以及溢出成功后對這些文件的非法利用,那么只需要將system用戶在ACLs中進(jìn)行拒絕訪問即可。
?。?).如果覺得在GUI下面太麻煩的話,也可以用系統(tǒng)命令的CACLS.EXE來對這些.exe文件的Acls進(jìn)行編輯與修改,或者說將他寫成一個.bat批處理 文件來執(zhí)行以及對這些命令進(jìn)行修改。(具體用戶自己參見cacls /? 幫助進(jìn)行,由于這里的命令太多就不一一列舉寫成批處理代碼給各位了!!)
?。?).對磁盤如C/D/E/F等進(jìn)行安全的ACLS設(shè)置從整體安全上考慮的話也是很有必要的,另外特別是win2k,對Winnt、Winnt\System、Document and Setting等文件夾。
6、進(jìn)行注冊表的修改禁用命令解釋器: (如果您覺得用⑤的方法太煩瑣的話,那么您不防試試下面一勞永逸的辦法來禁止CMD的運(yùn)行,通過修改注冊表,可以禁止用戶使用命令解釋器(CMD.exe)和運(yùn)行批處理文件(.bat文件)。具體方法:新建一個雙字節(jié)(REG_DWORD)執(zhí)行 HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows\System\DisableCMD,修改其值為1,命令解釋器和批處理文件都不能被運(yùn)行。修改其值為2,則只是禁止命令解釋器的運(yùn)行,反之將值改為0,則是打開CMS命令解釋器。如果您賺手動太麻煩的話,請將下面的代碼保存為*.reg文件,然后導(dǎo)入。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
"DisableCMD"=dword:00000001
7、對一些以System權(quán)限運(yùn)行的系統(tǒng)服務(wù)進(jìn)行降級處理。(諸如:將Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以System權(quán)限運(yùn)行的服務(wù)或者應(yīng)用程序換成其它administrators成員甚至users權(quán)限運(yùn)行,這樣就會安全得多了...但前提是需要對這些基本運(yùn)行狀態(tài)、調(diào)用API等相關(guān)情況較為了解. )
其實(shí),關(guān)于防止如Overflow溢出類攻擊的辦法除了用上述的幾點(diǎn)以外,還有N多種辦法:諸如用組策略進(jìn)行限制,寫防護(hù)過濾程序用DLL方式加載windows到相關(guān)的SHell以及動態(tài)鏈接程序之中這類。當(dāng)然自己寫代碼來進(jìn)行驗(yàn)證加密就需要有相關(guān)深厚的Win32編程基礎(chǔ)了,以及對Shellcode較有研究;由于此文僅僅是討論簡單的解決辦法,因此其它辦法就不在這里詳述了。
二、如何防止溢出獲取Shell后對系統(tǒng)的進(jìn)一步入侵
1、 在做好1中上述的工作之后,基本上可以防目駭客在溢出之后得到shell了;因?yàn)榧词筄verflow溢出成功,但在調(diào)用CMDSHELL、以及對外聯(lián)接時就卡了。 (為什么呢,因?yàn)?1.溢出后程序無法再調(diào)用到CMDSHLL已經(jīng)禁止system訪問CMD.exe了。2.溢出之后在進(jìn)行反彈時已經(jīng)無法對外部IP進(jìn)行連接了。所以,基本上要能過system權(quán)限來反彈shell就較困難的了...)
2、 當(dāng)然世界上是不存在絕對的安全的,假設(shè)入侵者在得到了用戶的shell之后,做些什么呢?一般入侵者在在得到shell之后,就會諸如利用系統(tǒng)命令加賬號了 通過tftp、ftp、vbs等方式傳文件了等等來達(dá)到進(jìn)一步控制服務(wù)器。這里通過1上述的辦法對命令進(jìn)行了限制,入侵者是沒有辦法通過tftp、ftp來傳文件了,但他們?nèi)匀豢梢阅苓^echo寫批處理,用批處理通過腳本BAT/VBS/VBA等從WEB上下載文件,以及修改其它盤類的文件等潛在破壞行為。所以用戶需要 將echo命令也限制以及將其它盤的System寫、修改文件的權(quán)限進(jìn)行處理。以及將VBS/VBA類腳本以及XMLhttp等組件進(jìn)行禁用或者限制system的運(yùn)行權(quán)。這樣的話別人得到Shell也無法對服務(wù)器上的文件進(jìn)行刪除以及進(jìn)行步的控制系統(tǒng)了;以及本地提權(quán)反彈Shell了。
一、如何防止溢出類攻擊
1、盡最大的可能性將系統(tǒng)的漏洞補(bǔ)丁都打完,最好是比如Microsoft Windows Server系列的系統(tǒng)可以將自動更新服務(wù)打開,然后讓服務(wù)器在您指定的某個時間段內(nèi)自動連接到Microsoft Update網(wǎng)站進(jìn)行補(bǔ)丁的更新。如果您的服務(wù)器為了安全起見 禁止了對公網(wǎng)外部的連接的話,可以用Microsoft WSUS服務(wù)在內(nèi)網(wǎng)進(jìn)行升級。
2、停掉一切不需要的系統(tǒng)服務(wù)以及應(yīng)用程序,最大限能的降底服務(wù)器的被攻擊系數(shù)。比如前陣子的MSDTC溢出,就導(dǎo)致很多服務(wù)器掛掉了。其實(shí)如果WEB類服務(wù)器根本沒有用到MSDTC服務(wù)時,您大可以把MSDTC服務(wù)停掉,這樣MSDTC溢出就對您的服務(wù)器不構(gòu)成任何威脅了。
3、啟動TCP/IP端口的過濾,僅打開常用的TCP如21、80、25、110、3389等端口;如果安全要求級別高一點(diǎn)可以將UDP端口關(guān)閉,當(dāng)然如果這樣之后缺陷就是如在服務(wù)器上連外部就不方便連接了,這里建議大家用IPSec來封UDP。在協(xié)議篩選中"只允許"TCP協(xié)議(協(xié)議號為:6)、UDP協(xié)議(協(xié)議號為:17)以及RDP協(xié)議(協(xié)議號為:27)等必需用協(xié)議即可;其它無用均不開放。
4、啟用IPSec策略:為服務(wù)器的連接進(jìn)行安全認(rèn)證,給服務(wù)器加上雙保險。如③所說,可以在這里封掉一些危險的端品諸如:135 145 139 445 以及UDP對外連接之類、以及對通讀進(jìn)行加密與只與有信任關(guān)系的IP或者網(wǎng)絡(luò)進(jìn)行通訊等等。(注:其實(shí)防反彈類木馬用IPSec簡單的禁止UDP或者不常用TCP端口的對外訪問就成了,關(guān)于IPSec的如何應(yīng)用這里就不再敖續(xù),可以到服安討論Search "IPSec",就 會有N多關(guān)于IPSec的應(yīng)用資料..)
5、刪除、移動、更名或者用訪問控制表列Access Control Lists (ACLs)控制關(guān)鍵系統(tǒng)文件、命令及文件夾:
?。?).黑客通常在溢出得到shell后,來用諸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 來達(dá)到進(jìn)一步控制服務(wù)器的目的如:加賬號了,克隆管理員了等等;這里可以將這些命令程序刪除或者改名。(注意:在刪除與改名時先停掉文件復(fù)制服務(wù)(FRS)或者先將 %windir%\system32\dllcache\下的對應(yīng)文件刪除或改名。)
(2).也或者將這些.exe文件移動到指定的文件夾,這樣也方便以后管理員自己使用。
?。?).訪問控制表列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 這些黑客常用的文件,在“屬性”→“安全”中對他們進(jìn)行訪問的ACLs用戶進(jìn) 行定義,諸如只給administrator有權(quán)訪問,如果需要防范一些溢出攻擊、以及溢出成功后對這些文件的非法利用,那么只需要將system用戶在ACLs中進(jìn)行拒絕訪問即可。
?。?).如果覺得在GUI下面太麻煩的話,也可以用系統(tǒng)命令的CACLS.EXE來對這些.exe文件的Acls進(jìn)行編輯與修改,或者說將他寫成一個.bat批處理 文件來執(zhí)行以及對這些命令進(jìn)行修改。(具體用戶自己參見cacls /? 幫助進(jìn)行,由于這里的命令太多就不一一列舉寫成批處理代碼給各位了!!)
?。?).對磁盤如C/D/E/F等進(jìn)行安全的ACLS設(shè)置從整體安全上考慮的話也是很有必要的,另外特別是win2k,對Winnt、Winnt\System、Document and Setting等文件夾。
6、進(jìn)行注冊表的修改禁用命令解釋器: (如果您覺得用⑤的方法太煩瑣的話,那么您不防試試下面一勞永逸的辦法來禁止CMD的運(yùn)行,通過修改注冊表,可以禁止用戶使用命令解釋器(CMD.exe)和運(yùn)行批處理文件(.bat文件)。具體方法:新建一個雙字節(jié)(REG_DWORD)執(zhí)行 HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows\System\DisableCMD,修改其值為1,命令解釋器和批處理文件都不能被運(yùn)行。修改其值為2,則只是禁止命令解釋器的運(yùn)行,反之將值改為0,則是打開CMS命令解釋器。如果您賺手動太麻煩的話,請將下面的代碼保存為*.reg文件,然后導(dǎo)入。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
"DisableCMD"=dword:00000001
7、對一些以System權(quán)限運(yùn)行的系統(tǒng)服務(wù)進(jìn)行降級處理。(諸如:將Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以System權(quán)限運(yùn)行的服務(wù)或者應(yīng)用程序換成其它administrators成員甚至users權(quán)限運(yùn)行,這樣就會安全得多了...但前提是需要對這些基本運(yùn)行狀態(tài)、調(diào)用API等相關(guān)情況較為了解. )
其實(shí),關(guān)于防止如Overflow溢出類攻擊的辦法除了用上述的幾點(diǎn)以外,還有N多種辦法:諸如用組策略進(jìn)行限制,寫防護(hù)過濾程序用DLL方式加載windows到相關(guān)的SHell以及動態(tài)鏈接程序之中這類。當(dāng)然自己寫代碼來進(jìn)行驗(yàn)證加密就需要有相關(guān)深厚的Win32編程基礎(chǔ)了,以及對Shellcode較有研究;由于此文僅僅是討論簡單的解決辦法,因此其它辦法就不在這里詳述了。
二、如何防止溢出獲取Shell后對系統(tǒng)的進(jìn)一步入侵
1、 在做好1中上述的工作之后,基本上可以防目駭客在溢出之后得到shell了;因?yàn)榧词筄verflow溢出成功,但在調(diào)用CMDSHELL、以及對外聯(lián)接時就卡了。 (為什么呢,因?yàn)?1.溢出后程序無法再調(diào)用到CMDSHLL已經(jīng)禁止system訪問CMD.exe了。2.溢出之后在進(jìn)行反彈時已經(jīng)無法對外部IP進(jìn)行連接了。所以,基本上要能過system權(quán)限來反彈shell就較困難的了...)
2、 當(dāng)然世界上是不存在絕對的安全的,假設(shè)入侵者在得到了用戶的shell之后,做些什么呢?一般入侵者在在得到shell之后,就會諸如利用系統(tǒng)命令加賬號了 通過tftp、ftp、vbs等方式傳文件了等等來達(dá)到進(jìn)一步控制服務(wù)器。這里通過1上述的辦法對命令進(jìn)行了限制,入侵者是沒有辦法通過tftp、ftp來傳文件了,但他們?nèi)匀豢梢阅苓^echo寫批處理,用批處理通過腳本BAT/VBS/VBA等從WEB上下載文件,以及修改其它盤類的文件等潛在破壞行為。所以用戶需要 將echo命令也限制以及將其它盤的System寫、修改文件的權(quán)限進(jìn)行處理。以及將VBS/VBA類腳本以及XMLhttp等組件進(jìn)行禁用或者限制system的運(yùn)行權(quán)。這樣的話別人得到Shell也無法對服務(wù)器上的文件進(jìn)行刪除以及進(jìn)行步的控制系統(tǒng)了;以及本地提權(quán)反彈Shell了。
相關(guān)文章
封UDP的服務(wù)器真的打不了么?封UDP、封海外服務(wù)器
很多游戲服務(wù)器租用的時候會出現(xiàn)一些封UDP的字眼,網(wǎng)上一些文章也說UDP協(xié)議不可靠!為什么要封UDP呢?既然不可靠,為什么有些人還要使用它呢?今天與你們分享一下UDP,希望2024-05-07魔獸世界服務(wù)器被DDoS攻擊怎么辦?DDoS攻擊防御方法
魔獸世界服務(wù)器被攻擊在目前來說也是比較常見的,同行競爭激烈,在官服開放時也遇到過DDOS攻擊,要是飛飛沒記錯是在22年9月14日,從剛開始的身份驗(yàn)證服務(wù)器出現(xiàn)問題,到確2023-07-17分享五大免費(fèi)企業(yè)網(wǎng)絡(luò)入侵檢測(IDS)工具
這篇文章主要分享一下五大免費(fèi)企業(yè)網(wǎng)絡(luò)入侵檢測(IDS)工具,當(dāng)前企業(yè)對于網(wǎng)絡(luò)安全越來越重視,那么后期可能就需要大家多多關(guān)注一些安全工具的使用于檢測2019-12-01網(wǎng)絡(luò)安全基礎(chǔ)之網(wǎng)絡(luò)協(xié)議與安全威脅的關(guān)系介紹
網(wǎng)絡(luò)協(xié)議是什么呢?網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)中計算機(jī)或設(shè)備之間進(jìn)行通信的一系列規(guī)則集合。本文中小編介紹的是網(wǎng)絡(luò)協(xié)議和安全威脅的關(guān)系,需要的朋友不妨閱讀本文了解一下2019-04-02DDoS攻擊原理是什么?DDoS攻擊原理及防護(hù)措施介紹
DDoS攻擊是由DoS攻擊轉(zhuǎn)化的,這項(xiàng)攻擊的原理以及表現(xiàn)形式是怎樣的呢?要如何的進(jìn)行防御呢?本文中將會有詳細(xì)的介紹,需要的朋友不妨閱讀本文進(jìn)行參考2019-01-15基于Web攻擊的方式發(fā)現(xiàn)并攻擊物聯(lián)網(wǎng)設(shè)備介紹
本文中介紹的是基于Web攻擊的方式發(fā)現(xiàn)并攻擊物聯(lián)網(wǎng)設(shè)備,感興趣的朋友不妨閱讀本文進(jìn)行了解2019-01-11為何黑客要挾制路由器DNS 用戶該怎樣實(shí)時發(fā)覺和防備方法
起首說說挾制路由器是什么意思,路由器挾制平日指的是,開啟了無線網(wǎng)絡(luò)功效的無線路由器,攻擊者經(jīng)由過程破解無線暗碼銜接上無線網(wǎng)后,再登錄路由治理界面來節(jié)制全部無線網(wǎng)2018-05-16大勢至共享文件監(jiān)控軟件、共享文件權(quán)限管理軟件主控端與客戶端的連接設(shè)
這篇文章主要介紹了大勢至共享文件監(jiān)控軟件、共享文件權(quán)限管理軟件主控端與客戶端的連接設(shè)置方法詳解,,小編覺得還是挺不錯的,具有一定借鑒價值,下面就來和小編一起看看2018-01-25詳細(xì)介紹sd卡加密軟件的選擇以及給sd卡設(shè)置密碼、給sd卡加密
這篇文章主要介紹了詳細(xì)介紹sd卡加密軟件的選擇以及給sd卡設(shè)置密碼、給sd卡加密,如何保護(hù)sd卡文件的安全,如何給SD卡設(shè)置密碼、如何給SD卡加密,下面就跟小編一起來看看吧2018-01-19server2008共享設(shè)置、服務(wù)器共享文件設(shè)置、服務(wù)器設(shè)置共享文件夾的方法
這篇文章主要介紹了server2008共享設(shè)置、服務(wù)器共享文件設(shè)置、服務(wù)器設(shè)置共享文件夾的方法詳細(xì)介紹,保護(hù)服務(wù)器共享文件設(shè)置訪問權(quán)限,讓每個部門只訪問自己的共享文件等,2018-01-19