防溢出提升权限攻击解决办法WEB安全
“Niraliu”通过精心收集,向本站投稿了6篇防溢出提升权限攻击解决办法WEB安全,以下是小编帮大家整理后的防溢出提升权限攻击解决办法WEB安全,仅供参考,大家一起来看看吧。
篇1:防溢出提升权限攻击解决办法WEB安全
在骇客频频攻击、在系统漏洞层出不穷的今天,作为网络管理员、系统管理员的我们虽然在服务器的安全上都下了不少功夫:诸如,及时的打上系统安全补丁、进行一些常规的安全配置,但是仍然不太可能每台服务器都会在第一时间内给系统打上全新补丁,因此我们必需要在还未被入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”之外;下面就以本人一直以来所用到的最简单、最有效的防(Overflow)溢出、本地提供权限攻击类的解决办法给大家讲讲。
1、如何可以防止溢出类的骇客攻击呢?
① 尽最大的可能性将系统的漏洞补丁都打完;最好是比如Microsoft Windows Server系列的系统可以将自动更新服务打开,然后让服务器在您指定的某个时间段内自动连接到Microsoft Update网站进行补丁的更新。如果您的服务器为了安全起见 禁止了对公网外部的连接的话,可以用Microsoft WSUS服务在内网进行升级
② 停掉一切不需要的系统服务以及应用程序,最大限能的降底服务器的被攻击系数。比如前阵子的MSDTC溢出,就导致很多服务器挂掉了。其实如果WEB类服务器根本没有用到MSDTC服务时,您大可以把MSDTC服务停掉,这样MSDTC溢出就对您的服务器不构成任何威胁了。
③ 启动TCP/IP端口的过滤:仅打开常用的TCP如21、80、25、110、3389等端口;如果安全要求级别高一点可以将UDP端口关闭,当然如果这样之后缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用IPSec来封UDP。在协议筛选中“只允许”TCP协议(协议号为:6)、UDP协议(协议号为:17)以及RDP协议(协议号为:27)等必需用协议即可其它无用均不开放。
④ 启用IPSec策略:为服务器的连接进行安全认证,给服务器加上双保险。如③所说,可以在这里封掉一些危险的端品诸如:135 145 139 445 以及UDP对外连接之类、以及对通读进行加密与只与有信任关系的IP或者网络进行通讯等等。(注:其实防反弹类木马用IPSec简单的禁止UDP或者不常用TCP端口的对外访问就成了,关于IPSec的如何应用这里就不再敖续,你可以到服安讨论Search “IPSec”,就 会有N多关于IPSec的应用资料..)
⑤ 删除、移动、更名或者用访问控制表列Access Control Lists (ACLs)控制关键系统文件、命令及文件夹:
1. 通常在溢出得到shell后,来用诸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 来达到进一步控制服务器的目的如:加账号了,克隆管理员了等等;这里我们可以将这些命令程序删除或者改名。(注意:在删除与改名时先停掉文件复制服务(FRS)或者先将 %windir%\system32\dllcache\下的对应文件删除或改名。)
2.也或者将这些.exe文件移动到你指定的文件夹,这样也方便以后管理员自己使用。
3.访问控制表列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 这些 常用的文件,在“属性”→“安全”中对他们进行访问的ACLs用户进 行定义,诸如只给administrator有权访问,如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用;那么我们只需要将system用户 在ACLs中进行拒绝访问即可。
4.如果你觉得在GUI下面太麻烦的话,你也可以用系统命令的CACLS.EXE来对这些.exe文件的Acls进行编辑与修改,或者说将他写成一个.bat批处理 文件来执行以及对这些命令进行修改,
(具体用户自己参见cacls /? 帮助进行,由于这里的命令太多我就不一一列举写成批处理代码给各位了!!)
5.对磁盘如C/D/E/F等进行安全的ACLS设置从整体安全上考虑的话也是很有必要的,另外特别是win2k,对Winnt、Winnt\System、Document and Setting等文件夹。
⑥ 进行注册表的修改禁用命令解释器: (如果您觉得用⑤的方法太烦琐的话,那么您不防试试下面一劳永逸的办法来禁止CMD的运行)
通过修改注册表,可以禁止用户使用命令解释器(CMD.exe)和运行批处理文件(.bat文件)。具体方法:新建一个双字节(REG_DWORD)执行 HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows\System\DisableCMD,修改其值为1,命令解释器和批处理文件都不能被运行。修改其值为2,则只是禁止命令解释器的运行,反之将值改为0,则是打开CMS命令解释器。如果您赚手动太麻烦的话,请将下面的代码保存为*.reg文件,然后导入。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
“DisableCMD”=dword:00000001
⑦ 对一些以System权限运行的系统服务进行降级处理。(诸如:将Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以System权限运行的服务或者应用程序换成其它administrators成员甚至users权限运行,这样就会安全得多了...但前提是需要对这些基本运行状态、调用API等相关情况较为了解. )
其实,关于防止如Overflow溢出类攻击的办法除了用上述的几点以外,还有N多种办法:诸如用组策略进行限制,写防护过滤程序用DLL方式加载windows到相关的SHell以及动态链接程序之中这类。当然自己写代码来进行验证加密就需要有相关深厚的Win32编程基础了,以及对Shellcode较有研究;由于此文仅仅是讨论简单的解决办法,因此其它办法就不在这里详述了。
2、如何在防止被骇客溢出得到Shell后对系统的而进一步入侵呢?
① 在做好1中上述的工作之后,基本上可以防目骇客在溢出之后得到shell了;因为即使Overflow溢出成功,但在调用CMDSHELL、以及对外联接时就卡了。 (为什么呢,因为:1.溢出后程序无法再调用到CMDSHLL我们已经禁止system访问CMD.exe了。2.溢出之后在进行反弹时已经无法对外部IP进行连接了。所以,基本上要能过system权限来反弹shell就较困难的了...)
② 当然世界上是不存在绝对的安全的,假设入侵者在得到了我们的shell之后,做些什么呢?一般入侵者在在得到shell之后,就会诸如利用系统命令加账号了 通过tftp、ftp、vbs等方式传文件了等等来达到进一步控制服务器。这里我们通过1上述的办法对命令进行了限制,入侵者是没有办法通过tftp、ftp来传文件了,但他们仍然可以能过echo写批处理,用批处理通过脚本BAT/VBS/VBA等从WEB上下载文件,以及修改其它盘类的文件等潜在破坏行为。所以我们需要 将echo命令也限制以及将其它盘的System写、修改文件的权限进行处理。以及将VBS/VBA类脚本以及XMLhttp等组件进行禁用或者限制system的运行权。这样的话别人得到Shell也无法对服务器上的文件进行删除以及进行步的控制系统了;以及本地提权反弹Shell了。
后记:其它服务器、系统的安全是个整体的概念;有可能你其它一小点的疏忽就可以让你的网站、甚至服务器沦陷。因此安全策略必需走防患未然的道路,任何一个小地方都不能马虎。
篇2:防溢出提升权限攻击解决办法
本文将为大家介绍在Microsoft系列(Win2k Win2k3)SERVER中如何简单快速的解决诸如反弹木马、Overflow溢出、提升权限、反弹Shell攻击类的安全威胁之详细防范设置步骤;读完本文,您将可以使您服务器免去被溢出、提升权限等安全威胁,
前言:
在骇客频频攻击、在系统漏洞层出不穷的今天,作为网络管理员、系统管理员的我们虽然在服务器的安全上都下了不少功夫:诸如,及时的打上系统安全补丁、进行一些常规的安全配置,但是仍然不太可能每台服务器都会在第一时间内给系统打上全新补丁。因此我们必需要在还未被入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”之外;下面就以本人一直以来所用到的最简单、最有效的防(Overflow)溢出、本地提供权限攻击类的解决办法给大家讲讲。
服务器安全设置之防溢出提权攻击解决办法正文:
1、如何可以防止溢出类的骇客攻击呢?
① 尽最大的可能性将系统的漏洞补丁都打完;最好是比如Microsoft Windows Server系列的系统可以将自动更新服务打开,然后让服务器在您指定的某个时间段内自动连接到Microsoft Update网站进行补丁的更新。如果您的服务器为了安全起见 禁止了对公网外部的连接的话,可以用Microsoft WSUS服务在内网进行升级,
(关于Microsoft WSUS 2.0的安装与配置可以参考此文:www.31896.net/html/-1-5/14001689122.shtml )
② 停掉一切不需要的系统服务以及应用程序,最大限能的降底服务器的被攻击系数。比如前阵子的MSDTC溢出,就导致很多服务器挂掉了。其实如果WEB类服务器根本没有用到MSDTC服务时,您大可以把MSDTC服务停掉,这样MSDTC溢出就对您的服务器不构成任何威胁了。
③ 启动TCP/IP端口的过滤:仅打开常用的TCP如21、80、25、110、3389等端口;如果安全要求级别高一点可以将UDP端口关闭,当然如果这样之后缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用IPSec来封UDP。在协议筛选中“只允许”TCP协议(协议号为:6)、UDP协议(协议号为:17)以及RDP协议(协议号为:27)等必需用协议即可;其它无用均不开放。
④ 启用IPSec策略:为服务器的连接进行安全认证,给服务器加上双保险。如③所说,可以在这里封掉一些危险的端品诸如:135 145 139 445 以及UDP对外连接之类、以及对通读进行加密与只与有信任关系的IP或者网络进行通讯等等。(注:其实防反弹类木马用IPSec简单的禁止UDP或者不常用TCP端口的对外访问就成了,关于IPSec的如何应用这里就不再敖续,你可以到服安讨论Search “IPSec”,就 会有N多关于IPSec的应用资料..)
⑤ 删除、移动、更名或者用访问控制表列Access Control Lists (ACLs)控制关键系统文件、命令及文件夹:
篇3:如何防止溢出提升权限攻击的解决办法Windows安全
在系统漏洞层出不穷的今天,作为网络管理员、系统管理员的我们虽然在服务器的安全上都下了不少功夫:诸如,及时的打上系统安全补丁、进行一些常规的安全配置,但是仍然不太可能每台服务器都会在第一时间内给系统打上全新补丁,因此我们必需要在还未被入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”之外;下面就以本人一直以来所用到的最简单、最有效的防(overflow)溢出、本地提供权限攻击类的解决办法给大家讲讲。
1、如何可以防止溢出类的骇客攻击呢?
① 尽最大的可能性将系统的漏洞补丁都打完;最好是比如microsoft windows server系列的系统可以将自动更新服务打开,然后让服务器在您指定的某个时间段内自动连接到microsoft update网站进行补丁的更新。如果您的服务器为了安全起见 禁止了对公网外部的连接的话,可以用microsoft wsus服务在内网进行升级
② 停掉一切不需要的系统服务以及应用程序,最大限能的降底服务器的被攻击系数。比如前阵子的msdtc溢出,就导致很多服务器挂掉了。其实如果web类服务器根本没有用到msdtc服务时,您大可以把msdtc服务停掉,这样msdtc溢出就对您的服务器不构成任何威胁了。
③ 启动tcp/ip端口的过滤:仅打开常用的tcp如21、80、25、110、3389等端口;如果安全要求级别高一点可以将udp端口关闭,当然如果这样之后缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用ipsec来封udp。在协议筛选中“只允许”tcp协议(协议号为:6)、udp协议(协议号为:17)以及rdp协议(协议号为:27)等必需用协议即可其它无用均不开放。
④ 启用ipsec策略:为服务器的连接进行安全认证,给服务器加上双保险。如③所说,可以在这里封掉一些危险的端品诸如:135 145 139 445 以及udp对外连接之类、以及对通读进行加密与只与有信任关系的ip或者网络进行通讯等等。(注:其实防反弹类木马用ipsec简单的禁止udp或者不常用tcp端口的对外访问就成了,关于ipsec的如何应用这里就不再敖续,你可以到服安讨论search “ipsec”,就 会有n多关于ipsec的应用资料..)
⑤ 删除、移动、更名或者用访问控制表列access control lists (acls)控制关键系统文件、命令及文件夹:
1. 通常在溢出得到shell后,来用诸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 来达到进一步控制服务器的目的如:加账号了,克隆管理员了等等;这里我们可以将这些命令程序删除或者改名。(注意:在删除与改名时先停掉文件复制服务(frs)或者先将 %windir%\system32\dllcache\下的对应文件删除或改名。)
2.也或者将这些.exe文件移动到你指定的文件夹,这样也方便以后管理员自己使用。
3.访问控制表列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 这些 常用的文件,在“属性”→“安全”中对他们进行访问的acls用户进 行定义,诸如只给administrator有权访问,如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用;那么我们只需要将system用户 在acls中进行拒绝访问即可。
4.如果你觉得在gui下面太麻烦的话,你也可以用系统命令的cacls.exe来对这些.exe文件的acls进行编辑与修改,或者说将他写成一个.bat批处理 文件来执行以及对这些命令进行修改。(具体用户自己参见cacls /? 帮助进行,由于这里的命令太多我就不一一列举写成批处理代码给各位了!!)
5.对磁盘如c/d/e/f等进行安全的acls设置从整体安全上考虑的话也是很有必要的,另外特别是win2k,对winnt、winnt\system、document and setting等文件夹。
⑥ 进行注册
关 键 字:Windows安全
篇4:ServU防溢出提权攻击解决办法WEB安全
文章简介:本文将为大家介绍在如今Microsoft系列(Win2k Win2k3)SERVER中使用最为广泛的FTP服务器之一、大名鼎鼎的Serv-U FTP服务器中如何简单地解决Overflow溢出、以及Hacker常用的Webhsell提升权限等类攻击的隐患与缺陷;读完本文,您将可以使您的 Serv-U服务器免去被溢出、被提升权限的安全威胁与危险,
前言:
大家应该都还没有忘记三年前在Serv-U5.004版的之前所有版本的“Serv-U FTPMDTM命令缓冲区溢出”与“Serv-U FTP服务器LIST命令超长-l参数远程缓冲区溢出漏洞”吧,这个漏洞让很多服务器管理员立坐不安,也让很多大型的站点、甚至电信级的服务器沦陷了...随着Serv-U新版本的推出,这个漏同已经不存在了;虽然溢出不存在了,但 永远也没有停止,所以伴随着来的又是Serv-U5.0到6.0之 常用的本地提升权限缺陷。(注:最常见的就如webshell+su提权,我在Baidu输入“Serv-U提权”关键词,搜索结果“百度一下,找到相关网页约34,000篇,用时0.001秒 ”)因此,解决Serv-U的安全问题迫在眉睫。
Serv-U提权虽然严格来说这个不应该算是Serv-U的重大漏洞,但只要因管理员的配置不当将会产生严重的后果;下面LeeBolin就来为大家介绍下如何安全配置 Serv-U,才能保证Serv-U甚至服务器的安全,跟我来.“go,go,go...”(最近CS玩多了,嘻嘻 :P)
Serv-U防溢出提权攻击解决办法解决办法正文:
一、大家知道Liunx系统和Unix系统比Windows安全的一个重要原因在于:Linux和Unix的系统服务不使用root权限,而是使用权限比较低的另外一个单独用户,比如web服务使用了nobody这个用户。而Serv-U默认是以system身份运行的,而System这个系统内置账户对本机有完全操作的权限;因此如果攻击者利用Serv-U程序的漏洞而获得了可执行shell的那,那么他将可以随意控制操作系统里任何一个目录了
二、我们根据一的讲解知道了为什么Serv-U提权与溢出攻击可怕的原因了,那么我们该如何防止这一类攻击的发生呢?答案就是降底Serv-U的运行权限与控制Serv-U的“Acls”可访问目录...好,下面就一步一步跟我来吧!
三、Serv-U安全配置
1、首先请保持合用Serv-U的最新版本(目前新版为6.4...)。然后在安装Serv-U的时候尽量不要选择默认的安装目录,比如俺将Serv-U 安装在D:/Pro_LeeBolin^_^/Serv-U#$$/...(因为这样复杂的目录名可防止Hacker的猜解)
2、然后将Serv-U取消MDTM命令的执行,修改Serv-U FTP Banner并开启好Serv-U的FTP日志保存到非系统盘,日志选择记录好Serv-U命名用了那些命令与DLL,并为Serv-U设置一个强壮的本地管理密码(因提权多是因为Serv-U的默认管理员:LocalAdministrator,默认密码:#l@$ak#.lk;0@P所造成的,呵呵 $_$),你还可以选择将Serv-U的FTP账户信息保存到注册表,不要存在Serv-U目录下的ini文中,这样更加安全。
3、我们再开启“计算机管理”新建一个用户Serv-UAdmin,设置好密码。将用户退出Users组,不加入任何组。并在用户的“终端服务配置文件”选项里取消“允许登录到终端服务器。并且禁止Serv-UAdmin用户的本地登陆。进入控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 用户权利指派 -> 拒绝本地登陆。(备注:这个用户我们将它来作为俺们Serv-U的服务运行账号,嘿嘿)[(AD^_^:游刃在技术鬼神边缘,打造服务器安全神话!创世纪网络技术前瞻,成就互联网革命先驱!服务器安全讨论区[S.S.D.A]) ]
4、开始运行“Services.msc”打开win的服务管理器,找开Serv-U Ftp Server的Serv-U服务;打开“登陆”对话框,
当前默认的为“本地系统帐户”。我们将其修改为我们在3中新建的Serv-UAdmin用户,并输入密码。
5、下面的工作就是设置Serv-U的运行与FTP目录的ACLs权限了:
①C:/Documents and Settings/Serv-UAdmin 目录加入Serv-UAdmin的权限,允许读取与写入..
②D:/Pro_LeeBolin^_^/Serv-U#$2008$/ Serv-U的安装目录加入Serv-UAdmin的权限,允许读取与运行。(如果选择了账户保存在ini文件的话,这里就需要增加修改与删除权限,因增删FTP账户时需要删改权才成,否则不能增删FTP账户哟^_^)
③如果Serv-U账户选择存在注册表的话。运行regedt32.exe,打开注册表编辑器。找到[HKEY_LOCAL_MACHINE/ SOFTWARE/Cat Soft]分支。在上面点右键,选择权限,然后点高级,取消允许父项的继承权限传播到该对象和所有子对象,删除除admins外的所有的账号。仅添加 Serv-UAdmin账号到该子键的权限列表,并给予完全控制权限。(如果选择了账户信息保存在ini文件中的话可略过此步。)
④现在就来设置WEB目录的ACLs了,比如我的虚拟主机总目录为E:/Leebolin$(%/wwwroot;那么我们将此WEB目录加入 Serv-UAdmin账号的权限即可,这样FTP就可以访问我们的WEB目录进行上传下载了,呵.(由于Serv-U并没有以system运行,所以这里只存留admins与serv-uadmin的权限就OK了。)
⑥如果是asp/php/html脚本的话,WEB目录只需要admins & serv-uadmin & IUSR_XX即可(这里的IUSR_XX是指站点的匿名单用户账号...关于站点的安全与asp.Net的安全请参考我以前的文章:《FSO安全隐患解决办法》、《ASP木马Webshell之安全防范解决办法》、《ASP.NET木马及Webshell安全解决方案》 、《服务器安全检查十大要素》)
四、到目前为止,我们的Serv-U已经简单的做到了防提权,防溢出了。为什么呢?因为能常远程溢出overflow的话,都是通过得一shell 而进行进一步的hacking,而我们现在的Serv-U不是以system运行,所以即使执行了overflow指命,也并不能得到什么...防提权就不用我解释了:因为我们的Serv-Uadmin没有任何系统级的ACLs访问权限..
五、今天的Serv-U防溢出提权攻击解决办法就为大家介绍到这里,您看到此处后,你会了吗?
后记:其实服务器、系统的安全是个整体的概念;有可能你其它一小点的疏忽就可以让你的网站、甚至服务器沦陷。因此安全策略必需走防患未然的道路,任何一个小地方都不能马虎、今天关于防Serv-U的安全配置小技巧就为大家介绍到这里...其它方面的服务器安全配置经验我们在下一篇文章再见吧:-) (注:由于本人才疏学浅,如文中有错误实为在所难免,还请各位看官见谅!旨在抛砖引玉,如果您有更好的办法请别忘了在服安论坛跟贴^0^,先行谢过!)
关于本文版权:本文版权归[服务器安全讨论区]与[本文作者]共同所有,您可以任意,但务必请保留文章的完整性与信息来源及作者信息等链接;但不欢迎转载者除去本版权信息。
关于本文作者:李泊林/LeeBolin 服安科技资深系统工程师、专业网络安全顾问。已成功为国内多家大中型企业,ISP服务商提供了完整的网络安全解决方案。尤其擅长于整体网络安全方案的设计、大型网络工程的策划、以及提供完整的各种服务器系列安全整体解决方案。[S.S.D.A 服务器安全讨论区] www.31896.net E-mail:bolin.lee#gmail.com QQ:24460394 您对本文有任何建议与疑问可以来信或者QQ在线与作者进行交流;或者到服安论坛与作者进行讨论!
篇5:防溢出提权攻击的解决办法
在频频恶意攻击用户、系统漏洞层出不穷的今天,作为网络管理员、系统管理员虽然在服务器的安全上都下了不少功夫,诸如及时打上系统安全补丁、进行一些常规的安全配置,但有时仍不安全,因此必须恶意用户入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”
在频频恶意攻击用户、系统漏洞层出不穷的今天,作为网络管理员、系统管理员虽然在服务器的安全上都下了不少功夫,诸如及时打上系统安全补丁、进行一些常规的安全配置,但有时仍不安全。因此必须恶意用户入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”之外,下面就将最简单、最有效的防(Overflow)溢出、本地提供权限攻击类的解决办法给大家分享。一、如何防止溢出类攻击
1、尽最大的可能性将系统的漏洞补丁都打完,最好是比如Microsoft Windows Server系列的系统可以将自动更新服务打开,然后让服务器在您指定的某个时间段内自动连接到Microsoft Update网站进行补丁的更新。如果您的服务器为了安全起见 禁止了对公网外部的连接的话,可以用Microsoft WSUS服务在内网进行升级。
2、停掉一切不需要的系统服务以及应用程序,最大限能的降底服务器的被攻击系数。比如前阵子的MSDTC溢出,就导致很多服务器挂掉了。其实如果WEB类服务器根本没有用到MSDTC服务时,您大可以把MSDTC服务停掉,这样MSDTC溢出就对您的服务器不构成任何威胁了。
3、启动TCP/IP端口的过滤,仅打开常用的TCP如21、80、25、110、3389等端口;如果安全要求级别高一点可以将UDP端口关闭,当然如果这样之后缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用IPSec来封UDP。在协议筛选中“只允许”TCP协议(协议号为:6)、UDP协议(协议号为:17)以及RDP协议(协议号为:27)等必需用协议即可;其它无用均不开放。
4、启用IPSec策略:为服务器的连接进行安全认证,给服务器加上双保险。如③所说,可以在这里封掉一些危险的端品诸如:135 145 139 445 以及UDP对外连接之类、以及对通读进行加密与只与有信任关系的IP或者网络进行通讯等等。(注:其实防反弹类木马用IPSec简单的禁止UDP或者不常用TCP端口的对外访问就成了,关于IPSec的如何应用这里就不再敖续,可以到服安讨论Search “IPSec”,就 会有N多关于IPSec的应用资料..)
5、删除、移动、更名或者用访问控制表列Access Control Lists (ACLs)控制关键系统文件、命令及文件夹:
(1). 通常在溢出得到shell后,来用诸如net.exe net1.exe ipconfig.exe user.exe query.exe regedit.exe regsvr32.exe 来达到进一步控制服务器的目的如:加账号了,克隆管理员了等等;这里可以将这些命令程序删除或者改名。(注意:在删除与改名时先停掉文件复制服务(FRS)或者先将 %windir%\system32\dllcache\下的对应文件删除或改名。)
(2).也或者将这些.exe文件移动到指定的文件夹,这样也方便以后管理员自己使用。
(3).访问控制表列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 这些 常用的文件,在“属性”→“安全”中对他们进行访问的ACLs用户进 行定义,诸如只给administrator有权访问,如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用,那么只需要将system用户在ACLs中进行拒绝访问即可,
(4).如果觉得在GUI下面太麻烦的话,也可以用系统命令的CACLS.EXE来对这些.exe文件的Acls进行编辑与修改,或者说将他写成一个.bat批处理 文件来执行以及对这些命令进行修改。(具体用户自己参见cacls /? 帮助进行,由于这里的命令太多就不一一列举写成批处理代码给各位了!!)
(5).对磁盘如C/D/E/F等进行安全的ACLS设置从整体安全上考虑的话也是很有必要的,另外特别是win2k,对Winnt、Winnt\System、Document and Setting等文件夹。
6、进行注册表的修改禁用命令解释器: (如果您觉得用⑤的方法太烦琐的话,那么您不防试试下面一劳永逸的办法来禁止CMD的运行,通过修改注册表,可以禁止用户使用命令解释器(CMD.exe)和运行批处理文件(.bat文件)。具体方法:新建一个双字节(REG_DWORD)执行 HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows\System\DisableCMD,修改其值为1,命令解释器和批处理文件都不能被运行。修改其值为2,则只是禁止命令解释器的运行,反之将值改为0,则是打开CMS命令解释器。如果您赚手动太麻烦的话,请将下面的代码保存为*.reg文件,然后导入。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
“DisableCMD”=dword:00000001
7、对一些以System权限运行的系统服务进行降级处理。(诸如:将Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以System权限运行的服务或者应用程序换成其它administrators成员甚至users权限运行,这样就会安全得多了...但前提是需要对这些基本运行状态、调用API等相关情况较为了解. )
其实,关于防止如Overflow溢出类攻击的办法除了用上述的几点以外,还有N多种办法:诸如用组策略进行限制,写防护过滤程序用DLL方式加载windows到相关的SHell以及动态链接程序之中这类。当然自己写代码来进行验证加密就需要有相关深厚的Win32编程基础了,以及对Shellcode较有研究;由于此文仅仅是讨论简单的解决办法,因此其它办法就不在这里详述了。
二、如何防止溢出获取Shell后对系统的进一步入侵
1、在做好1中上述的工作之后,基本上可以防目骇客在溢出之后得到shell了;因为即使Overflow溢出成功,但在调用CMDSHELL、以及对外联接时就卡了。 (为什么呢,因为:1.溢出后程序无法再调用到CMDSHLL已经禁止system访问CMD.exe了。2.溢出之后在进行反弹时已经无法对外部IP进行连接了。所以,基本上要能过system权限来反弹shell就较困难的了...)
2、当然世界上是不存在绝对的安全的,假设入侵者在得到了用户的shell之后,做些什么呢?一般入侵者在在得到shell之后,就会诸如利用系统命令加账号了 通过tftp、ftp、vbs等方式传文件了等等来达到进一步控制服务器。这里通过1上述的办法对命令进行了限制,入侵者是没有办法通过tftp、ftp来传文件了,但他们仍然可以能过echo写批处理,用批处理通过脚本BAT/VBS/VBA等从WEB上下载文件,以及修改其它盘类的文件等潜在破坏行为。所以用户需要 将echo命令也限制以及将其它盘的System写、修改文件的权限进行处理。以及将VBS/VBA类脚本以及XMLhttp等组件进行禁用或者限制system的运行权。这样的话别人得到Shell也无法对服务器上的文件进行删除以及进行步的控制系统了;以及本地提权反弹Shell了。
篇6:加密CMD使电脑溢出也拿不到CMD权限WEB安全
以下是lock.bat文件
@echo off
title 密码验证
SETLOCAL
set pwd=0
set times=3
echo ________________________________________________________________________________
echo 您现在使用的是[Anlge]的CMD,没有经过[Angle]的允许不能执行任何命令,
echo 您的这次使用的所有操作以及留言都已经记入日志,如果您还没有密码,那请与
echo [Angle]联系,已经有密码了请您输入密码!
echo ________________________________________________________________________________
echo ####################################################################### >>e:\CMD\mylog.txt
echo 操作: 激活密码验证 时间:%time% 日期:%date% >>e:\CMD\mylog.txt
echo 状态: 等待验证…… >>e:\CMD\mylog.txt
echo. >>e:\CMD\mylog.txt
echo [ LOGIN ]
:password
set /p pwd= 请输入您的密码:
set /A times=%times%-1
if %pwd%==fangzi goto pass
echo ***** 密码验证错误,请您重新输入 您还有 %times% 次机会输入密码 *****
echo .
if %times%==0 goto close
echo 状态: 用户输入密码 验证失败 时间:%time% >>e:\CMD\mylog.txt
goto password
:close
echo 状态: 用户3次输入密码错误 程序锁定 时间:%time% >>e:\CMD\mylog.txt
title 对不起,您无法使用[Angle]的CMD
echo --------------------------------------------------------------------------------
echo 由于您3次密码验证失败,程序已经被锁定,您已经无法继续操作,您可以选择关闭
echo 本窗口,您也可以通过留言来与[Angle]取得联系,输入留言后,请按回车提交!
echo --------------------------------------------------------------------------------
echo [ MESSAGES ]
:message
echo ________________________________________________________________________________
set /p msg= 请输入您的留言:
echo . >>e:\CMD\mymsg.txt
echo ####################################################################### >>e:\CMD\mymsg.txt
echo 日期:%date% 时间:%time% >>e:\CMD\mymsg.txt
echo 留言内容: >>e:\CMD\mymsg.txt
echo %msg% >>e:\CMD\mymsg.txt
echo. >>c:\message.txt
echo …… OK ……
echo 您的留言已经记录,您可以选择关闭窗口也可以选择继续留言
echo 操作: 用户留言 时间:%time% >>e:\CMD\mylog.txt
goto message
:pass
echo 状态: 程序已开放,欢迎使用 时间:%time% >>e:\CMD\mylog.txt
title [Angle]的CMD
ENDLOCAL
-----------------------------------------------------------------
以下是setup.bat
@echo off
copy /y lock.bat %windir%\lock.bat
echo lock.bat安装成功
regedit /s lock.reg
echo lock.reg注册成功
-----------------------------------------------------
用来卸装的文件
以下是unlock.reg
@echo off
del /f lock.bat %windir%\lock.bat
echo lock.bat删除成功
regedit /s unlock.reg
echo lock.reg反注册成功
------------------------------------------------------
双击setup.bat即可安装!
在使用CMD时,密码为fangzi (全为小写,这里的密码对大小写敏感)
所有的日志存放在E:\CMD\mylog.txt中
所有的留言存放在E:\CMD\mymsg.txt中
【防溢出提升权限攻击解决办法WEB安全】相关文章:
3.使用PHP 构建的Web 应用如何避免XSS 攻击脚本安全
8.防溺水安全短句
10.防溺水安全承诺书






文档为doc格式