`

加强防护 防溢出提升权限攻击解决办法

 
阅读更多

在骇客频频攻击、在系统漏洞层出不穷的今天,作为网络管理员、系统管理员的我们虽然在服务器的安全上都下了不少功夫:诸如,及时的打上系统安全补丁、进行一些常规的安全配置,但是仍然不太可能每台服务器都会在第一时间内给系统打上全新补丁。因此我们必需要在还未被入侵之前,通过一些系列安全设置,来将入侵者们挡在“安全门”之外;下面就以本人一直以来所用到的最简单、最有效的防(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了。

  后记:其它服务器、系统的安全是个整体的概念;有可能你其它一小点的疏忽就可以让你的网站、甚至服务器沦陷。因此安全策略必需走防患未然的道路,任何一个小地方都不能马虎。

分享到:
评论

相关推荐

    基于Linux的栈溢出攻击防护系统.pdf

    针对这一问题,本文将探讨一种有效的基于Linux的栈溢出攻击防护系统——FuncFence系统,该系统能有效提升Linux系统的安全性,防范栈溢出攻击。 栈溢出攻击是一种常见的攻击手段,攻击者通过向程序的栈区域填充超量...

    基于Open Source的网络安全实验模拟缓冲区溢出攻击,arp攻击和防范,基于认证的入侵

    本文主要探讨了基于开源技术的网络安全实验模拟,重点关注了缓冲区溢出攻击、ARP攻击及其防范以及基于认证的入侵这三种网络安全威胁。该研究对于理解网络攻防原理、提升网络安全意识具有重要意义。 首先,缓冲区...

    实验五缓冲区溢出攻击与防范实验报告.doc

    其中,缓冲区溢出是一种常见的安全漏洞,它可能导致各种严重后果,包括但不限于系统崩溃、权限提升甚至远程代码执行。因此,深入理解和掌握缓冲区溢出的基本原理及其防范措施对于提高系统的安全性至关重要。 本实验...

    医院网络安全防护体系建设研究.pdf

    随着信息技术的快速发展,医院网络系统正面临更多来自外部的威胁,如缓冲区溢出攻击、Web应用攻击、木马蠕虫攻击和勒索病毒等。这些攻击方式的多样化和复杂化使得传统网络防护设备的防护能力已不能满足现代医院的...

    selinux攻击shellcode

    通常,安全研究人员会使用这些工具来测试系统防护、复现漏洞,并为防御提供解决方案。例如,这些文件可能包含以下内容:** - **漏洞复现代码**:用于演示CVE-2009-2692的攻击向量。 - **分析工具**:帮助理解...

    神经网络算法检测Java溢出攻击.zip

    这种攻击通常是通过利用编程语言的漏洞,尤其是缓冲区溢出,来篡改程序的内存管理,进而可能导致系统崩溃、数据泄露或权限提升。本项目名为“神经网络算法检测Java溢出攻击”,其核心在于运用深度学习技术来构建一个...

    rootkid--windows内核的安全防护

    5. **安全编程实践**:教授如何编写更安全的代码,避免常见的安全漏洞,如缓冲区溢出、格式字符串攻击、权限提升等。 6. **案例分析**:分析已知的rootkit实例,揭示它们的工作原理和攻击手段,帮助读者理解和防范...

    ASDP攻击用例.7z

    4. **代码漏洞**:编程错误可能导致内存泄漏、缓冲区溢出等,攻击者可能利用这些漏洞执行任意代码或提升权限。 5. **不安全的数据存储和传输**:未加密的敏感数据、明文传输的密码、不安全的文件共享等都可能成为...

    课内资源 - 针对MBR的文件型病毒及其防护程序的研究与实现.zip

    4. **安全编程实践**:学习如何在C++中编写安全的代码,避免缓冲区溢出、未初始化的变量等问题,以防止防护程序本身成为攻击目标。 5. **反病毒策略**:探讨预防和清除MBR病毒的方法,如备份MBR、实时监控MBR变化、...

    现代iOS系统溢出缓解机制.pdf

    自iOS操作系统诞生以来,Apple一直在逐步加强其安全措施,以抵御各种攻击,包括但不限于溢出攻击。本文将深入探讨iOS的安全进化,特别是针对溢出漏洞的缓解策略。 在iOS早期版本中,系统安全性相对薄弱。iPhone OS ...

    网络渗透--《C++中溢出覆盖虚函数指针技术》

    这样,当通过基类指针调用该对象的虚函数时,实际执行的将是攻击者指定的恶意代码,从而实现远程代码执行或者权限提升等攻击。 四、危害分析 这种攻击方式的危害巨大,因为攻击者可以利用这种技术绕过安全检查,...

    云服务:防护嵌入式安全的有效手段.pdf

    除了硬件信任根,还需要采取额外的多层次安全策略来增强设备对网络攻击的抵御能力。例如,采用安全启动机制,将非易失性内存区域设置为只读区,并进行完整性检查。如果完整性检查失败,则设备将不会启动。此外,确保...

    《rootkit windows内核安全防护》源代码

    《rootkit windows内核安全防护》是一本深入探讨Windows操作系统内核...通过对这些源代码的深入学习和实践,读者不仅能够掌握rootkit的工作原理,还能提升在Windows内核安全防护方面的技能,为网络安全提供更强的保障。

    Win32 缓冲区溢出实战

    ### Win32缓冲区溢出实战详解 #### 引言 缓冲区溢出是一种常见的安全漏洞,尤其是在老旧的系统...通过本文的实战案例分析,我们不仅深入了解了缓冲区溢出的原理与利用方法,同时也意识到了加强软件安全防护的紧迫性。

    通用型安全操作系统解决专项方案.doc

    传统的安全措施,如防火墙、防病毒软件等,虽然在一定程度上提供了防护,但并未从根本上解决操作系统自身的安全缺陷。 本文着重分析了两种安全操作系统解决方案,并强调了通用型安全操作系统的优越性。通用型安全...

    计算机网络攻击的应对研究.pdf

    5. 缓冲区溢出攻击:攻击者利用软件缺陷,向程序缓冲区写入过长的内容,导致程序堆栈破坏,进而执行其他指令或覆盖原函数返回地址,使程序执行攻击者的代码。 6. TCP/IP欺骗攻击:攻击者伪造IP地址和身份,通过发送...

    政务数据中心总体建设方案.docx

    智能联动模块则增强了防火墙、入侵防御和web安全子系统间的协同防御能力,有效对抗自动化攻击,减少APT攻击的风险。 在业务可靠性方面,随着业务系统的增多,如何保证业务平稳切换和连续性成为关键。通过部署应用...

    【技术分享】glibc 2.27-2.32版本下Tcache Struct的溢出利用 .pdf

    - 在满足条件的程序中,通过Tcache Struct溢出可以达到任意读写的效果,进而可能执行任意代码,提升权限或实施其他恶意活动。 3. **思路详解**: - **修改Tcache最大数量**:TCACHE_MAX_BINS是常量,但通过大型...

    脱敏版-神秘黑客组织:揭秘美国0Day攻击平台与APT实战案例.pdf

    接着,利用远程溢出漏洞控制边界服务器,并通过NOPEN木马进行权限提升和持久化。钓鱼邮件是攻击的常见手段,伪装成科研评审、答辩邀请或出国通知,诱导受害者点击含有木马的链接。一旦得手,NSA会进一步利用“二次...

Global site tag (gtag.js) - Google Analytics