让安全动起来 | 重保期间真实案例,“我”都是怎么被攻击的?


反客为主 无中生有
暗度陈仓 树上开花
四步告诉你,是怎么被攻击的

一、反客为主——旁路攻击搞定目标

伴随着数字政府改革建设的推进,各地政府都把主要业务系统部署在政务云中。在红蓝对抗中, 蓝方会对靶标进行加固,外网靶标几乎是不存在任何漏洞。此时,红队一般会采取旁路攻击的方式, 对和靶标同处一个政务云上的脆弱资产进行攻击,一步一步接近目标,直到获取靶标系统权限。

在某省级攻防演练中就遇到了类似的情况,该攻防演练将某政府的门户首页当做靶标。在对该政府网站的域名、端口、业务等信息进行收集,并逐项测试可能存在的漏洞后,结果发现大部分站点基本是静态页面,只做新闻展示,不存在任何与用户交互的接口。根据对该省政府数字化的了解,其大部分政务平台都部署在政务云中,再考虑到上述情况,我方团队果断放弃直接攻击该政府首页网站的打算,转而去攻击与该政府同处于一个政务云的其他站点。经过坚持不懈的挖掘,终于发现了其中一个站点存在反序列化漏洞,对漏洞进行利用后,发现该站点的内网 ip 隶属于目标政务外网网段,与靶标站点系统同处于一个 C 段中。然而这时候问题又来了,该怎么通过这个服务器拿下靶标服务器呢?

我方团队首先对该已被控制的服务器进行信息收集:抓取管理员账号密码、查看连接记录、获取开放的远程连接端口、获取浏览器记录等等。接着拿出屡试不爽的 RDP(远程连接)暴破工具, 利用抓取到的管理员账号密码对整个 C 段的存活主机进行了登录暴破。这时一串熟悉的 ip 出现在暴破成功的框框里,经过反复确认这就是靶标服务器!最后,利用暴破出来的密码成功登录靶标服务器,结束战斗。

二、无中生有——信息收集突破系统

随着高校逐步推动信息现代化建设,学校对数据中心资源进行了大刀阔斧的优化调整,现在外网能访问到的都是校园网集群站点,绝大部分校内资源需要通过登录校园统一身份认证平台或者校园 VPN 后才能进行访问。可以说高校把可能暴露在公网的漏洞都藏在了统一认证接口后面,红队如果没有对应的账号,就无法访问特定的功能,也就无法找出漏洞,于是红队一般会采取大规模的信息收集动作以寻找到可以登录统一身份认证平台或 VPN 的账号密码,再进一步对站点发起漏洞利用攻击。

山石网科红队就遇到过这么个情况,在某一次省级攻防演练中,某学校的官网被指定为靶标。经过一系列信息收集后发现该学校把重要的系统都放在校园网内,公网能访问到的资源较少。山石网科红队于是对目前能访问到的公网资源进行了多方面的渗透测试,然而最终也是没有发现有效的漏洞。这时要拿下靶标,就只能进入校园网内再找找机会了。而如果想要进入校园网,存在两种办法:一 是登录校园统一身份认证平台,二是利用校园 VPN。

确定了前进的路线后,山石网科红队继续进行信息收集。有队员发现统一身份认证平台的登录框下面存在一行刺眼的红字,写着“初始登录密码为身份证后六位”。从这行红字中可以获知账号对应的密码规则,如果能够再获取到学工号或者身份证号,也许就获得了进入校园网的机会。于是继续收集信息,在官网发现信息技术中心发布过一篇关于“新版 VPN 启用”的通知文章,文章中说到校园 VPN 的账号密码与统一身份认证平台的账号密码一致,文章结尾还说“附件为教职工 VPN 账号和 VPN 连接工具”。下载附件后就获得了教师的姓名和工号,连带着 VPN 连接工具也有了,最后就只缺教师的身份证号了,而这也是最难获取到的数据。经过苦苦的搜索还是毫无进展,最后在团队头脑风暴的帮助下迎来了一丝曙光:如果有教师的手机号,再配合已公开的社工库,是不是就能获取到其身份证号呢?说干就干,谷歌语法敲起来,接着发现学校的某个通知中泄露了部分教师的手机号,于是再结合社工库一查询,就获取了数个教师的身份证号。数据两相结合,来到统一身份认证平台上敲下工号和身份证后六位尝试进行登录,在多次失败后,终于得偿所愿的登录成功, 继续尝试登录 VPN,也是成功。

终于进入了校园内网,山石网科红队继续在校园内网中进行信息收集,接着发现一个内网网站存在 SA 权限的注入点,直接 powershell 免杀执行上线 cs(反弹服务器)。该数据库服务器的 ip 在 172 网段中,接着在 172 网段尝试内网渗透,又发现一个系统后台弱口令,成功登陆后台并利用任意文件上传漏洞成功上传后门文件获得服务器权限。继续信息收集发现该服务器存在双网卡, 能通 172 网段和192 网段。接着又开始在 192 网段进行渗透,偶然发现一台存在漏洞的 vcenter 服务器,通过漏洞利用也成功获取了该服务器的管理权限,更巧的是,该 vcenter 服务里刚好部署着校园网集群,于是顺利拿下了靶标。

三、暗渡陈仓——迂回渗透取得突破

在有明确靶标的实战攻防演习中,蓝队通常会把靶标设置在内网 DMZ 区,并对靶标进行加固,严防死守,时时刻刻盯着从外网进来的所有流量。不管你攻还是不攻,他们始终坚守在那里,一旦发现有可疑 ip 立即成段地执行封堵动作,一点机会都不会留给攻击者。很显然从正面硬刚很不划算而且成功率也低,红队一般会采取暗度陈仓的方式,攻击同个医院的其他资产,绕过蓝队的防守线, 从其他没有防守的地方撕开通向内网的口子,以迂回攻击的方式打向目标。

山石网科红队也遇到过类似的情况,某省级攻防演练把某医院的官网作为了靶标。经过多层次的漏洞挖掘和利用,最终发现官网安全做的滴水不漏。接着进行信息收集,转而尝试攻击该医院的其他资产,于是发现医院的 OA 系统中间件 tomcat 对外开放访问,并且使用弱口令就能登录上去,最后通过 tomcat 后台部署 war 包获得了该服务器的权限。

对该服务器进行信息收集发现该服务器不出网(不能主动访问公网),于是山石网科红队通过搭建正向代理的方式进入到内网中。在将内网信息收集工具上传到该服务器并发起扫描后,成功发现C段某台服务器存在 phpmyadmin 弱口令漏洞,接着通过日志备份功能写入了后门文件成功获得服务器管理权限,进一步发现这台服务器可以出网,所以就搭建了反向代理。

继续在内网中进行漏洞利用尝试,因为内网服务器一般都存在 ms17010 这种远古漏洞,尤其是医院的服务器常常由于业务需要而不方便升级补丁。扫描 C 段存在 ms17010 漏洞的服务器,同时通过 445 端口的 banner 信息,顺利的找到了域控服务器。接着利用 MSF(漏洞利用工具)中 MS17010 执行命令模块成功上线域控服务器,利用域控服务器的账号密码登录域内服务器,成功的拿到了医院所有核心系统及数据库,包括 HIS、LIS、官网服务器(靶标)、财务、备份服务器、 存储服务器等。

四、树上开花——代码审计攻下目标

随着我国金融改革的不断深化,网络金融已广泛渗透到社会经济生活的诸多方面,金融业网络安全建设相对成熟,普通的攻击手段已经很难威胁到他们。此时,红队会采取树上开花的攻击方式, 通过审计金融行业的源代码和挖掘金融行业供应链的漏洞,利用未公开的 0day 漏洞来进行攻击。

山石网科红队也经常面对类似的场景,某省级攻防演练把某金融单位的靶标设置在内网 DMZ 区中。通过信息收集和漏洞挖掘,发现该金融单位互联网系统坚如磐石,已公开的漏洞都进行了修复加固。面对这么棘手的问题,团队内部开展了一次头脑风暴,制定了一套树上开花的攻击方案,将团队兵分两路,代码审计和社工钓鱼并行实施。

代码审计团队:通过审查元素发现某系统的登录处存在较为明显的特征 js,在 github 平台上利用搜索获取到了其历史版本 1.0 的源码 , 而目标系统版本是 1.0.3,只存在小版本的差异,所以依旧可以审计下源码,因为有些老版本的接口在新版本依然能利用。下载源代码到本地进行审计,开展漏洞挖掘工作,成功发现多个严重漏洞,将这些 0day 漏洞联合利用起来,成功获取官网服务器权限。同时还发现公网上存在此漏洞的金融公司数量较多,于是将该 0day 漏洞提交给了 CNVD 进行处置。

社工钓鱼团队:通过信息收集获取到该公司安全运维部门的邮箱访问权限,借着近期新的高危漏洞频繁爆发的契机,将最新漏洞的补丁(实际为免杀的远控木马 exe)作为邮件附件,给全体员工发送补丁更新通知,并提醒大家尽快下载附件后运行补丁进行漏洞修复。在发送了一批邮件后, 就有好几个企业员工中招。在控制了他们的主机和邮箱后,继续进行钓鱼邮件发送,通过这些手段不断的获取邮箱权限、系统权限,最终内网横向渗透拿下了靶标。