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

在頻頻惡意攻擊用戶、系統(tǒng)漏洞層出不窮的今天,作為網(wǎng)絡(luò)管理員、系統(tǒng)管理員雖然在服務(wù)器的安全上都下了不少功夫,諸如及時(shí)打上系統(tǒng)安全補(bǔ)丁、進(jìn)行一些常規(guī)的安全配置,但有時(shí)仍不安全。因此必須惡意用戶入侵之前,通過(guò)一些系列安全設(shè)置,來(lái)將入侵者們擋在“安全門”
在頻頻惡意攻擊用戶、系統(tǒng)漏洞層出不窮的今天,作為網(wǎng)絡(luò)管理員、系統(tǒng)管理員雖然在服務(wù)器的安全上都下了不少功夫,諸如及時(shí)打上系統(tǒng)安全補(bǔ)丁、進(jìn)行一些常規(guī)的安全配置,但有時(shí)仍不安全。因此必須惡意用戶入侵之前,通過(guò)一些系列安全設(shè)置,來(lái)將入侵者們擋在“安全門”之外,下面就將最簡(jiǎn)單、最有效的防(Overflow)溢出、本地提供權(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í)。
2、停掉一切不需要的系統(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)成任何威脅了。
3、啟動(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ú)用均不開放。
4、啟用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)用資料..)
5、刪除、移動(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)文件刪除或改名。)
?。?).也或者將這些.exe文件移動(dòng)到指定的文件夾,這樣也方便以后管理員自己使用。
?。?).訪問(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)即可。
(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)行,由于這里的命令太多就不一一列舉寫成批處理代碼給各位了!!)
?。?).對(duì)磁盤如C/D/E/F等進(jìn)行安全的ACLS設(shè)置從整體安全上考慮的話也是很有必要的,另外特別是win2k,對(duì)Winnt、Winnt\System、Document and Setting等文件夾。
6、進(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
7、對(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)單的解決辦法,因此其它辦法就不在這里詳述了。
二、如何防止溢出獲取Shell后對(duì)系統(tǒng)的進(jìn)一步入侵
1、 在做好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就較困難的了...)
2、 當(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了。
一、如何防止溢出類攻擊
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í)。
2、停掉一切不需要的系統(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)成任何威脅了。
3、啟動(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ú)用均不開放。
4、啟用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)用資料..)
5、刪除、移動(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)文件刪除或改名。)
?。?).也或者將這些.exe文件移動(dòng)到指定的文件夾,這樣也方便以后管理員自己使用。
?。?).訪問(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)即可。
(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)行,由于這里的命令太多就不一一列舉寫成批處理代碼給各位了!!)
?。?).對(duì)磁盤如C/D/E/F等進(jìn)行安全的ACLS設(shè)置從整體安全上考慮的話也是很有必要的,另外特別是win2k,對(duì)Winnt、Winnt\System、Document and Setting等文件夾。
6、進(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
7、對(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)單的解決辦法,因此其它辦法就不在這里詳述了。
二、如何防止溢出獲取Shell后對(duì)系統(tǒng)的進(jìn)一步入侵
1、 在做好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就較困難的了...)
2、 當(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了。
相關(guān)文章
封UDP的服務(wù)器真的打不了么?封UDP、封海外服務(wù)器
很多游戲服務(wù)器租用的時(shí)候會(huì)出現(xiàn)一些封UDP的字眼,網(wǎng)上一些文章也說(shuō)UDP協(xié)議不可靠!為什么要封UDP呢?既然不可靠,為什么有些人還要使用它呢?今天與你們分享一下UDP,希望2024-05-07魔獸世界服務(wù)器被DDoS攻擊怎么辦?DDoS攻擊防御方法
魔獸世界服務(wù)器被攻擊在目前來(lái)說(shuō)也是比較常見的,同行競(jìng)爭(zhēng)激烈,在官服開放時(shí)也遇到過(guò)DDOS攻擊,要是飛飛沒(méi)記錯(cuò)是在22年9月14日,從剛開始的身份驗(yàn)證服務(wù)器出現(xiàn)問(wèn)題,到確2023-07-17分享五大免費(fèi)企業(yè)網(wǎng)絡(luò)入侵檢測(cè)(IDS)工具
這篇文章主要分享一下五大免費(fèi)企業(yè)網(wǎng)絡(luò)入侵檢測(cè)(IDS)工具,當(dāng)前企業(yè)對(duì)于網(wǎng)絡(luò)安全越來(lái)越重視,那么后期可能就需要大家多多關(guān)注一些安全工具的使用于檢測(cè)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ì)算機(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)行防御呢?本文中將會(huì)有詳細(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í)時(shí)發(fā)覺(jué)和防備方法
起首說(shuō)說(shuō)挾制路由器是什么意思,路由器挾制平日指的是,開啟了無(wú)線網(wǎng)絡(luò)功效的無(wú)線路由器,攻擊者經(jīng)由過(guò)程破解無(wú)線暗碼銜接上無(wú)線網(wǎng)后,再登錄路由治理界面來(lái)節(jié)制全部無(wú)線網(wǎng)2018-05-16大勢(shì)至共享文件監(jiān)控軟件、共享文件權(quán)限管理軟件主控端與客戶端的連接設(shè)
這篇文章主要介紹了大勢(shì)至共享文件監(jiān)控軟件、共享文件權(quán)限管理軟件主控端與客戶端的連接設(shè)置方法詳解,,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,下面就來(lái)和小編一起看看2018-01-25詳細(xì)介紹sd卡加密軟件的選擇以及給sd卡設(shè)置密碼、給sd卡加密
這篇文章主要介紹了詳細(xì)介紹sd卡加密軟件的選擇以及給sd卡設(shè)置密碼、給sd卡加密,如何保護(hù)sd卡文件的安全,如何給SD卡設(shè)置密碼、如何給SD卡加密,下面就跟小編一起來(lái)看看吧2018-01-19server2008共享設(shè)置、服務(wù)器共享文件設(shè)置、服務(wù)器設(shè)置共享文件夾的方法
這篇文章主要介紹了server2008共享設(shè)置、服務(wù)器共享文件設(shè)置、服務(wù)器設(shè)置共享文件夾的方法詳細(xì)介紹,保護(hù)服務(wù)器共享文件設(shè)置訪問(wèn)權(quán)限,讓每個(gè)部門只訪問(wèn)自己的共享文件等,2018-01-19