1.2 攻击流程

1.2.1 攻击流程简介

攻击者对目标的攻击并不是毫无章法的,而是有一定攻击流程的,攻击流程一般分为四个阶段:信息收集阶段、漏洞分析阶段、攻击阶段、后渗透阶段。

攻击者在明确攻击目标后,第一步不是对攻击目标发起攻击,而是要对目标进行信息收集,信息收集的内容涉及网络架构、IP资源、域名信息、服务器信息、人力资源信息等多个方面。攻击者通过对IP资源、域名信息、服务器信息收集后就可以分析出目标的网络架构及IT资产信息;通过对目标人力资源的信息收集可以判断目标企业的组织结构、关键人员信息、供应商、合作伙伴等相关信息。

上文讲到攻击路径分为互联网链路攻击、社会工程学攻击、近源攻击、供应链攻击等多种不同的攻击路径,攻击者是通过互联网链路的漏洞进行攻击,还是通过供应商进行供应链攻击,亦或是通过社会工程学对相关的关键人员进行钓鱼攻击,都取决于对收集到的信息综合分析的结果。实际攻击中,攻击者收集到相关信息后就需要对所有的信息进行综合分析,判断哪个地方可能是目标的薄弱点,将薄弱点作为最优先的攻击路径,这样的攻击才可能是最快速有效的攻击。

攻击者通过综合分析确定攻击路径后,下一步就是实施攻击,这个过程称为“打点”,就是通过攻击获取目标的一个有效权限。最有效的攻击过程就是“一击致命”,通过最少的攻击流量达到获取权限的目的,攻击者可能会通过nday漏洞、1day漏洞、甚至0day漏洞进行攻击,还有可能要通过各种方式来绕过目标的防御机制,如防火墙、WAF等,攻击者在攻击的过程中还要注意隐蔽性,减少不必要的扫描和测试行为,大规模扫描和测试有可能会触发目标的告警机制,攻击行为可能会被发现。

攻击者“打点”成功、获得应用服务器的权限后,下一步要做的就是对内网进行信息收集,横向渗透获取最终目标的数据及权限,这个阶段称为后渗透阶段。后渗透阶段需要做的事情非常多,为了能够对此“据点”服务器进行长期有效控制,还需要进行权限提升和后门植入,通过植入隐蔽性的后门程序,即使是漏洞修复了或者是服务器重启,攻击者依然可以通过植入的后门对服务器进行控制。一般攻击者还要建立从攻击者到“据点”的代理隧道,为后面要实施的攻击做好准备。当攻击者建立一个或者多个有效“据点”后,最重要的一步就是进行信息收集,首先要判断目前的网络架构,“打点”获取权限的服务器是否跟目标在同一网络域中,如果不是在同一个网络域中还需要进一步进行渗透。在内网渗透过程中还要重点对视频监控器、摄像头、LED大屏服务器、共享服务器、FTP服务器、OA服务、邮件服务器、Wiki服务器等重点服务器、堡垒机、运维系统、监控系统等集权类系统进行关注。

1.2.2 典型案例

本节将通过案例,讲述攻击者是如何通过信息收集、漏洞分析、攻击渗透、后渗透最终拿到目标权限的。

某公司网络拓扑如图1-1所示,攻击者的目标是要拿到核心区数据库服务器的数据及权限。

信息收集阶段:攻击者在执行任务时获取的信息只有目标的互联网主站域名的信息“www.any.com”,并不是整个目标网络拓扑的信息。如上文所述,正确的攻击流程的第一步是要对“www.any.com”这个域名进行信息收集,信息收集分为IT资产收集和人力资源情报收集两部分,本案例只涉及IT资产收集,并利用IT资产存在的漏洞攻击目标。

首先对“www.any.com”进行域名反查,通过“站长工具”获取其服务器IP信息及旁站信息,其IP地址为“192.168.88.21”,发现存在一个旁站:网上办公系统,域名反查与旁站查询如图1-25所示。

img

图1‑25 域名反查与旁站查询

获取IP信息后,下一步可以对其端口服务信息进行扫描识别,发现开放多个端口,运行Apache、IIS、SQL Server、MySQL等多个服务,端口扫描结果如图1-26所示。

img

图1‑26 端口扫描结果

漏洞分析阶段:利用自动化扫描工具进行漏洞扫描,如图1-27所示,发现可能存在SQL注入漏洞。

img

图1‑27 漏洞扫描

漏洞攻击阶段:尝试利用SQL注入进行攻击,发现存在SQL注入漏洞,通过此漏洞获得此网站的Webshell,可以实现对此网站的控制,如图1-28所示。

img

图1‑28 获取Webshell

后渗透阶段:现在已经“打点”成功,需要建立“据点”并对目标进行横向渗透。首先查看Webshell权限,确定是否有足够的权限建立稳固的“据点”。通过命令查看发现是普通用户权限,如图1-29所示。

img

图1‑29 查看Webshell权限

然后利用工具进行权限提升,获得最高权限,如图1-30所示。

img

图1‑30 权限提升

下一步就是“建立隧道”和“植入后门”,先通过植入远控后门对目标进行长期控制,也方便后面进行后渗透,远程控制“据点”如图1-31所示。

img

图1‑31 远程控制“据点”

然后通过上传代理建立隐匿隧道,攻击内网资产,这里以reGeorg建立隧道,选择对应脚本上传到DMZ区服务器,然后访问脚本显示“Georg says, 'All seems fine'”则表示上传成功,如图1-32所示。

img

图1‑32 上传成功

在攻击机运行命令启动reGeorg,配置监听的地址、端口,以及用来建立隧道的脚本的URL,建立隧道如图1-33所示。

img

图1‑33 建立隧道

代理服务器搭建成功后使用ProxyChains给Nmap挂上代理进行资产发现,发现存活主机“192.168.1.1”,然后对其进行扫描,收集信息,扫描主机如图1-34所示。

img

图1‑34 扫描主机

通过扫描结果发现是一个数据库服务器,挂上代理进行弱口令暴力破解,发现为空密码,登录并获取核心数据,登录数据库服务器如图1-35所示。

img

图1‑35 登录数据库服务器