目录
一, 漏洞利用
1.1 SQL 注入漏洞
1.2 跨站漏洞
1.3 文件上传或下载漏洞
1.4 命令执行漏洞
1.5 敏感信息泄露漏洞
在实战过程中,蓝队专家根据实战攻防演练的任务特点逐渐总结出一套成熟的做法:外网纵向突破重点寻找薄弱点,围绕薄弱点,利用各种攻击手段实现突破;内网横向拓展以突破点为支点,利用各种攻击手段在内网以点带面实现横向拓展,遍地开花。实战攻防演练中,各种攻击手段的运用往往不是孤立的,而是相互交叉配合的,某一渗透拓展步骤很难只通过一种手段实现,通常需要同时运用两种或两种以上的手段才能成功。外网纵向突破和内网横向拓展使用的攻击手段大多类似,区别只在于因为目标外网、内网安全防护特点不同而侧重不同的攻击手段
总体来说,蓝队在攻防演练中常用的攻击手段有以下几类。
一, 漏洞利用
漏洞是网络硬件、软件、协议的具体实现或操作系统安全策略上存在的缺陷,漏洞利用是对攻击者利用上述安全缺陷实现未授权访问、非法获取目标系统控制权或破坏系统的一系列恶意操作的统称。漏洞分为 0day漏洞和 Nday漏洞。0day 漏洞是指在产品开发者成供应商未知的情况下被攻击者所掌握和利用的安全缺陷,0day 漏洞没有可用的补丁程序,所以具有更强的隐蔽性和杀伤力。 Nday 漏洞则是指在产品漏洞信息已经公开的情况下,仍未对存在的漏洞采取安全补救措施而导致的依旧存在的安全缺陷,Nday 漏洞的存在依然会对日标网络具有严重的安全威胁。在实战攻防演练中,漏洞利用是蓝队攻击最重要的实现手段之一,通过漏洞利用,蓝队可以在目标外网实现快速突破,在目标内网快速获取控制权限。攻防实战中蓝队常用的漏洞利用类型有以下儿类。
1.1 SQL 注入漏洞
SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用 SQL。SQL 注人就是通过把 SQL 命令插人 Web表单提交或输人域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意 SQL 命令的目的。SQL 注人漏洞是发生在应用程序的数据库层的安全漏洞,是在设计应用程序时忽略了对输人字符串中夹带的 SQL 命令的检查,数据库误将恶意 SQL 命令作为正常 SQL 命令运行而导致的。SQL 注入漏洞被广泛用于获取目标 Web 系统的后台敏感数据、修改网站数据或获取网站控制权。蓝队主要利用 SQL 注人漏洞实现以下目的:
1. 获取后台数据库中存放的目标的隐私信息,并进一步利用这些信息拓展;
2.对目标网站挂马,进一步有针对性地开展钓鱼攻击;
3.获取后台应用系统的控制权限,进一步控制后台服务器。
SQL 注人漏洞多存在于用户目标官网、Web 办公平台及网络应用等之中比如:Apache SkyWalking°SQL 注人漏洞(CVE-2020-9483)就是蓝队攻击中用到的一个典型的 SQL 注人漏洞。利用该漏洞可通过默认未授权的 GraphQL接口构造恶意请求,进而获取目标系统敏感数据以用于进一步渗透。另一个典型的 SQL 注人漏洞--Django”SQL 注人漏洞(CVE-2021-35042)存在于 CMS(内容管理系统)上。该漏洞是由于对某丽数中用户所提供的数据过滤不足导致的。攻击者可利用该漏洞在未获授权的情况下,构造恶意数据执行 SQL注人攻击,最终造成服务器缴感信息泄露。
1.2 跨站漏洞
如果在程序设计时没有对用户提交的数据进行充分的合规性判断和 HTML编码处理,而直接把数据输出到浏览器客户端。用户就可以提交一些特意构造的脚本代码或 HTML 标签代码。这些代码会在输出到浏览器时被执行,从而导致跨站漏洞。利用跨站漏洞可在网站中插人任意代码以隐蔽地运行网页木马、获取网站管理员的安全认证信息等。蓝队主要利用跨站漏洞实现以下目的:
1.对目标网站植人恶意代码,有针对性地开展进一步攻击渗透;
2.窗取网站管理员或访问用户的安全认证信息,进一步向个人主机拓展;
3.劫持用户会话,进一步获取网站用户隐私。包括账户、测览历史、IP 地址等。
跨站漏洞多存在于用户目标官网、外部 Wcb 办公平台等之中。比如:DedeCMS跨站请求伪造漏洞(CVE-2021-32073)存在于/uploads/dede/search keywords main.php 文件下,是系统对 GetKeywordList函数过滤不全导致的。攻击者可利用该漏洞将恶意请求发送至 Web 管理器,从而导致远程代码执行。Apache Tomcat*跨站脚本漏洞(CVE-2019-0221)是由于Apache Tomcat 的某些 Web应用程序中 JSP 文件对用户转义处理不完全导致的,远程攻击者可以通过包含“;”字符的特制 URI 请求执行跨站脚本攻击,向用户浏览器会话注人并执行任意 Web 脚本或 HTML 代码。
1.3 文件上传或下载漏洞
一些网站或 Web 应用由于业务需求,往往需要提供文件上传或下载功能,但若未对上传或下载的文件类型进行严格的验证和过滤,就容易造成不受限制的文件类型上传或敏感文件下载,导致发现文件上传或下载漏洞。利用文化传或下载漏洞可上传恶意脚本文件并通过执行胸本实现对目标应用的诊透针或获取目标的安全配置、用户口令等敏感文件。蓝队主要利用上传或下载漏洞实现以下目的:
1. 向目标网站或应用上传脚本文件,通过脚本搜集关键信息或获取目标。制权限;
2.向目标网站或应用上传木马文件,开展水坑攻击。
文件上传或下载漏洞多存在于用户目标官网的后台编辑器、网络业务应用. OA 办公系统等之中。比如:某 NC系统任意文件上传漏洞的成因在于上传文件处未作类型限制,未经身份验证的攻击者可通过向目标系统发送特制数据包来利用此漏洞,在目标系统上传任意文件,执行命令;KindEditor任意文件上传漏洞形成的原因是后台 /php/upload json.php文件不会清理用户的输入或者检查用户是否将任意文件上传到系统,利用该漏洞,攻击者可通过构造一个恶意的 HTML 文件来实现跳转、钓鱼等。
1.4 命令执行漏洞
命令执行漏洞是在 Web 应用、网络设备、业务系统上由于代码过滤不严格导致用户提交的数据被解析执行而造成的漏洞,其形成的原因是在目标应用或设备开发时对执行函数没有过滤,对用户输人的命令安全监测不足。命令执行 漏洞可以分为系统命令执行和脚本(PHP、JSP 等)代码执行两类,分别通过传人系统命令和脚本代码实现。利用命令执行漏洞可通过浏览器或其他辅助程序提交并执行恶意代码,如 GitLab 远程命令执行漏洞。蓝队主要利用命令执行漏洞实现以下目的:
1.通过命令执行,非法获取目标的敏感信息,比如用户口令、安全配置等;
2.执行任意系统命令,比如添加账户操作、非法获取控制权:口 通过执行恶意代码植人木马,实现水坑攻击,以进一步拓展。
命令执行漏洞多存在于各种 Web 组件、网络应用之中,如 Web 容器、Web框架、CMS 软件、安全组件、OA 系统等。比如:vCenter 远程命令执行漏洞(CVE-2021-21972)是vSphere Client(HTML5)在vCenter Server插件中存在的一个远程执行代码漏洞,未经授权的攻击者可以通过开放 443 端口的服务器向vCenter Server 发送精心构造的请求,从而在服务器上写人 Webshell,最终造成远程任意代码执行;微软 RDP 远程代码执行漏洞(CVE-2019-0708)是一个 RDP 服务远程代码执行漏洞,未经认证的恶意攻击者通过向目标主机 RDP服务所在端口发送精心构造的请求,即可在目标主机上执行任意代码。
http://t.csdn.cn/H76GT
常见的命令执行漏洞执行函数。
1.5 敏感信息泄露漏洞
敏感信息泄露漏洞是由于代码开发、程序设计不当或后台配置疏漏,导致不应该被前端用户看到的数据信息被轻易访向到的安全缺陷。敏感信息泄露漏洞可能导致泄露的信息包括:后台日录及目录下文件列表,后台操作系统、应用部署包、中间件、开发语言的版本或其他信息,后台的登录地址、内网接口信息、数据库文件,甚至账户口令信息等。这些教感信息一旦泄露,就有可能会被攻击者用来寻找更多的攻击途径和方法。蓝队主要利用敏感信息泄露漏洞实现以下目的:
1. 对敏感目录文作进行操作,读取后台服务器上的任意文件,从中搜集有价值的信息,为后续渗透积累条件;
2. 获取后台应用部署包、中间件或系统平台的敏感信息,进一步利用它们控制后台服务器;
3.直接利用漏洞获取后台服务器认证数据库、账户口令等重要信息,直接用于仿冒接入。
敏感信息泄露漏洞多存在于各类 Web 平台、网络代理框架与网络业务应用比如:VMware 敏感信息泄露漏洞(CVE-2020-3952)是一个与目录服务相关的信息泄露漏洞,产生原因是VMware Directory Service(vmdir)组件在LDAP处理时检查失效和存在安全设计缺陷。攻击者可以利用该漏洞提取到目标系统的高度敏感信息,用于破坏vCenter Server 或其他依赖 vmdir 进行身份验证的服务并进一步实现对整个 vSphere 部署的远程接管。又如:Jetty°WEB- INF 敏感信息泄露漏洞(CVE-2021-28164)是由于对“.”字符编码规范配置不当造成在 Servlet 实现中可以通过 %2e 绕过安全限制导致的漏洞。攻击者可以利用该漏洞下载 WEB-INF 目录下的任意文件,包括一些重要的安全配置信息。