渗透测试——网络服务渗透攻击

网络服务渗透攻击指的是:在之前的博客中描述的内存攻击中,以远程主机运行的某个网络服务程序为目标,向该目标服务开放端口发送内嵌恶意内容并符合该网络服务协议的数据包,利用网络服务程序内部的安全漏洞,劫持目标程序控制流,实施远程执行代码等行为,最终达到控制目标系统的目的。
以 Windows 系统平台为例,根据网络服务攻击面的类别来区分,可将网络服务渗透攻击分为以下三类:

  • 针对 Windows 系统自带网络服务的渗透攻击
  • 针对 Windows 系统上微软网络服务的渗透攻击
  • 针对 Windows 系统上第三方网络服务的渗透攻击

针对 Windows 系统自带的网络服务渗透攻击

在针对网络服务渗透攻击中,由于 Windows 系统的流行程度,使得针对 Windows 系统上运行的网络服务程序成了高危对象。尤其是那些 Windows 系统自带的默认安装、启用的网络服务,如:SMB、RPC等。甚至有些服务对于特定服务器来说是必须开启的,如一个网站主机的 IIS 服务。其中的经典案例包括:MS06-040、MS07-029、MS08-067、MS11-058、MS12-020等。

在 Windows 系统自带的网络服务中,经常受到攻击的主要包括以下几个:

① NetBIOS 网络服务
NetBIOS (Network Basic Input/Output System,网络基本输入输出) 为局域网内 Windows 系统上的应用程序实现会话层之间的通信提供基本支持。
NetBIOS 以运行在 TCP/IP 体系中的 NBT (NetBIOS over TCP/IP) 协议来实现。具体包括在 UDP 137 端口上监听的 NetBIOS 名字服务,UDP 138 端口上的 NetBIOS 数据报服务、TCP 139 端口上的 NetBIOS 会话服务。
针对该服务的著名攻击包括:利用 MS000-047 安全漏洞 (NetBIOS Name Server Protocol Spoofing),攻击者通过发送一个恶意构造的名字冲突数据报,造成该服务崩溃,形成拒绝服务攻击;利用 MS03-034 安全漏洞,攻击者发送恶意构造的名字服务请求,通过获得的响应数据包来图案侧到内存中的敏感信息。

② SMB 网络服务
SMB (Server Message Block,服务器消息块) 首先提供了 Windows 网络中最常用的远程文件与打印机共享网络服务;其次,SMB 的命名管道是 MSRPC 协议认证和调用本地服务的承载传输层。
SMB 作为应用层协议,既可以直接运行在 TCP 445 端口上,也可以通过调用 NBT 的 TCP 139 端口来接收数据。SMB 的文件与打印机共享服务中已被发现的安全漏洞达到数十个之多,其中可以导致远程代码执行的高危性漏洞也有十多个,包括:MS10-054、MS10-012 等。

③ MSRPC 网络服务
MSRPC (MicroSoft Remote Procedure Call,微软远程过程调用) 是对 DCE/RPC 在 Windows 系统下的重新改进和实现,用以支持 Windows 系统中的应用程序能够无缝地通过网络调用远程主机上服务进程中的过程。
DCE/RPC 独立运行于网络传输层协议之上,采用的网络传输层协议包括 ncacn_ip_tcp (TCP 135 端口)、ncadg_ip_udp (UDP 135 端口)、ncacn_np (TCP 139、445 端口) 等。其中,主要使用的是 ncacn_np (SMB 命名管道传输协议),也就是利用 SMB 命名管道机制作为 RPC 的承载传输协议 (MSRPC over SMB)。
在 MSRPC 自身可能存在安全漏洞 (如 MS09-026) 的同时,作为调用大量本地服务进程的网络接口,也常常被利用来出发这些本地服务中存在的安全漏洞。由此很多本地服务安全漏洞以 MSRPC over SMB 为通道进行攻击,MS05-039 安全漏洞就是其中之一。攻击者通过发送数据到远程主机上的 SMB 协议的 445 端口,通过 MSRPC 调用远程主机的即插即用 (Plug and Play Service) 服务,溢出该服务进程的栈缓冲区,达到控制主机的目的;而 Server 服务路径规范化处理不当漏洞 (MS08-067) 也是通过 MSRPC 协议,经过 SMB 服务通道,利用 Server 服务的 NetPathCanonicalize 方法中存在的安全漏洞。

④ RDP 远程桌面服务
RDP (Remote Desktop Protocol,远程桌面协议) 由微软开发,提供给远程的客户端用户一个登陆服务器的图形界面接口,服务默认运行于 TCP 3389 端口。
由于服务器的管理人员经常需要远程管理主机,所以服务器基本都会启用 RDP 服务。针对该服务的攻击也时有发生,除了口令猜测、破解等试图绕过认证的攻击之外,内存攻击也时有发生。2012 年爆出的 MS12-020 漏洞就是其中的典型例子。该漏洞存在于 RDP 服务的底层驱动文件 Rdpwd.sys 中,属于内核级漏洞。攻击者通过向远程主机的 3389 端口发送恶意数据包,造成服务程序使用一个不存在的指针,导致远程主机崩溃,达到拒绝服务攻击的目的。


针对 WIndows 操作系统上微软网络服务的渗透攻击

微软公司提供的网络服务产品常见的又:IIS Internet 服务、MS SQL Server 服务、Exchange 电子邮件服务、MSDTC 服务、DNS 域名服务、WINS 服务等。这些网络服务中存在着各种各样的安全漏洞,其中最常见的是针对 IIS Internet 服务和 MS SQL 数据库服务的攻击。

IIS Internet 服务集成了 HTTP、FTP、SMTP 等诸多网络服务。IIS 6.0 之前的版本包含大量的安全漏洞,其类型包括 信息泄露、目录遍历、缓冲区溢出等。在 IIS 6.0 推出后,安全性有较大提升,但仍然有不少高等级的安全漏洞,如 IPP 服务整数溢出漏洞 MS08-062、导致 FTP 服务远程代码执行漏洞 MS09-053、IIS 认证内存破坏漏洞 MS10-040 等。

MS SQL Server 服务时微软公司提供的数据库管理服务产品。使用 TCP 1433、UDP 1434 端口。针对该服务最著名的攻击是 2003 年 1 月爆发的 SQL Slammer 蠕虫。攻击者利用该服务中的一个安全漏洞 MS02-039,致使服务进程的缓冲区溢出。


针对 Windows 操作系统上第三方网络服务的渗透攻击

在操作系统中运行的非系统厂商提供的网络服务都可称之为第三方网络服务,与系统厂商提供的网络服务没有本质区别,比较常见的包括:提供 HTTP 服务的 Apache、IBM WebSphere、Tomcat 等;提供 SQL 数据库服务的 Oracle、MySQL;以及提供 FTP 服务的 Serv-U、FileZilla等。

攻击者一班在尝试攻击默认系统服务未果之后,往往会通过扫描服务的默认端口,来探测用户系统是否使用一些常见的第三方服务,尝试利用这些服务的弱点渗透对方系统。常见的此类攻击有针对 Serv-U 服务的空口令认证绕过及缓冲区溢出,攻击者可远程执行代码,控制目标服务器;以及针对 Oracle 服务的远程渗透攻击,造成目标服务的栈溢出,执行恶意代码。

摘自:《Metasploit渗透测试魔鬼训练营》

猜你喜欢

转载自blog.csdn.net/weixin_43915762/article/details/87272139