第72篇:近年HVV、红队攻防比赛中常见外围打点漏洞的分析与总结

news2024/11/16 6:39:16

e7af55891af259e6aadfe6f13106aad9.png

 前言 

大家好,我是ABC_123。前一段时间我花时间花精力总结了最近两三年中,在攻防比赛中比较常见的Web打点漏洞类型,捎带着把钓鱼邮件的主题类型也总结了一下。今天分享出来,相信无论是对于攻击方还是防守方,都能从中获得一些启发(一些小型攻防比赛、地级*攻防比赛,由于用各种常规漏洞也能打点成功,所以暂时不在以下统计范围之内)。

信息来源主要有以下几点:1、以往的攻防比赛中积累的经验;2、作为裁判研判漏洞经历;3、朋友同事之间的讨论;4、其它。接下来分类别将近些年红队人员常见打点漏洞分类给大家讲讲,希望对于红队可以帮助其进行梳理,对于蓝队人员可以有针对性地防护

 Part1 超级0day及供应链0day 

对于一些超难的目标,很多只能靠这两种方法打进去。超级0day指的是那种可以一击致命的影响较大且又不容易被网络安全设备发现的漏洞,包括某VPN多个缓冲区溢出漏洞、某VPN任意加账号漏洞、某聊天软件命令执行、虚拟机逃逸0day、办公软件漏洞、浏览器级别的远程溢出等。对于这种超级0day,这里不多做讨论,对于大多数红队队员来说可遇不可求,这种级别0day漏洞基本上就是核武器,其它关于外网打点的技术和战术在其面前显得微不足道

供应链0day漏洞危害同样很大,防护起来难度不小。原因是:很多公司业务量、资产非常庞大,难以把供应链资产完整梳理出来,漏掉一个点都不行,而红队人员是可以随机选取一个供应链的资产进行代码审计,进行漏洞挖掘的。总体来说,两方难度都不小,所以攻防总是相对的。

 Part2 社工钓鱼篇 

  • 邮件钓鱼

这里顺带提一下邮件钓鱼的主题吧,也属于外部打点的方法之一。我总结了一下,邮件钓鱼的题材,大致包括以下这6大类,后续ABC_123有精力再细分一下。

92d374c743e381579cd5f8dd374b8139.png

 工作类主题    求职简历、求职自荐信、员工转正申请、合作详情见附件、营业执照申请归档。

 投诉类主题   违规收取各种费用投诉、针对某项事务的投诉建议、不合规责任通报、宣传与预期不符投诉、严重失职公告、过度采集用户信息投诉。

 福利类主题   薪资调整通知、福利诱骗、中秋领月饼通知、节假日领奖通知、节假日福利通知、夏季高温津贴、夏季工服领取、薪资结构调整。

 安全类主题   钓鱼邮件防护通知、安全漏洞补丁升级、攻防演练内部资料分享、防守方联系方式通知、重大漏洞检查通知。

 通知类主题   邮箱配额升级、快递待处理单子、工作十六项准则、能力提升专研培训通知、疫情防控工作安排、个人所得税年度汇算清缴、学习强国教育、食堂菜谱调研通知。

 热门话题类   世界杯、疫情相关等,估计大家都能想到。

  • 微信加好友

红队队员通常会养几个小号,而且这些小号很多都是用美女头像,朋友圈还会定期发一些生活动态。红队队员首先在网上通过各种信息收集得到目标单位的员工手机号,然后通过微信加好友的方式,谎称自己是某大型公司的HR,发送年薪百万的岗位内部招聘主题类的压缩包,实际上里面是一个后门程序,这种方式有很多成功案例,大家要注意防范

  • 加qq群

红队队员会通过各种搜索,找到目标公司的一些员工以小组、部门形式自建的qq群,谎称自己是新员工入职,或者是某某领导让加群,或者安装安全检查工具等等。一旦加进群,会在qq群里发送一个藏有后门的压缩包,基本上都会获取较大的成果,此外还会在qq群共享里面查找一些敏感文档、通讯录列表等,很多时候都会在qq群里找到一些内部系统的账号密码,大家要注意防范

  • 脉脉求职+微信聊天组合

红队队员去脉脉等求职平台,定位到目标单位的运维技术等人员,谎称自己是阿里、腾讯、华为高管,进行年薪百万的定向招聘,然后诱导至微信聊天,发送钓鱼邮件木马压缩包。我惊讶地发现,这样的成功案例特别多,大家要注意防范

 Part3 Web漏洞篇 

  • 敏感信息泄露

我把它放在第一位,是因为希望可以引起大家的重视,有些单位都被搞过好几轮了,但是没想到还是会存在这些信息泄露问题,以下是一些案例,供大家参考。

案例1:官网直接的JSON文档,里面直接有Mssql的明文账号密码,ip还是外网的。

案例2:使用burpsuite抓包,js源码中存在某云的AK/SK。

案例3:对apk脱壳,反编译Java代码找到了某云的AK/SK。

案例4:对apk直接批量进行信息提取,找到了很多偏门的ip+端口的资产。

案例5:网站的说明文档中会有一些意外的资产,然后用shiro反序列化、log4j2等常规漏洞可以打进去。

案例6:官网链接的软件包中,配置文件含有Socks5代理,直连内网。

案例7:SVN等源码泄露漏洞,通过php代码审计上传漏洞。

  • Shiro反序列化漏洞

这个漏洞这么多年一直存在,这一点让我还是很惊讶的,近几年一直有很多成功案例。但Shiro反序列化漏洞在一级单位或者二级域名资产非常难见到了,主要集中在2级单位的边缘资产,3、4级单位的资产,还有公众号、小程序等资产,其中的shiro的key都是常见的key,我个人感觉100多个常见的key列表足够了。

此外对于这种漏洞的利用,几个报告中贴出了难以见到的不常用的shiro key,但是我推测,应该是从springboot的heapdump中提取的shiro key,然后再进行加以利用的。对于这种漏洞的利用,记得把shiro key可以改掉,这样可以维持权限更久一些。

  • OA系统类漏洞

后续我总结了一下,这些OA系统主要包括某远oa、某微OA、某户oa、Fanruan、某综合安防系统、某微移动平台漏洞、某emobile、某凌OA、某友cloud、某友nc、某达OA系统、某道等,其nday漏洞在2级单位的边缘资产及3、4级单位还能遇到,一级、二级单位的主要资产除非有0day否则很难利用成功

  • Fastjson漏洞

这种nday老洞还是有很多,尤其在目标资产的微信公众号、小程序资产上,对于json数据包都可以尝试一下。对于1.2.47之前的版本利用很简单,回显也可以实现;对于1.2.68之前的版本,利用方式多集中在fake mysql的思路打,少数有写shell的成功案例;对于1.2.68至1.2.80版本的fastjson,虽说有漏洞,但是目前我还未见过有实战打成功的,但是不排除有大佬有内部姿势,所以该升级到最新版本还是要升级的。

对于jackson反序列化,利用条件太过苛刻,成功案例极少,所以我见到jackson,一般就是放弃。

  • Log4j2漏洞

对于这个nday漏洞,和fastjson漏洞一样,多数使用burpsuite的被动扫描插件发现的,而且不知道在什么地方就会冒出来。大家在扫描这个漏洞的时候,记得不要用常见的dnslog,因为特征太明显了,主流的waf或者流量监控设备都把常用的dnslog加入了黑名单,最好自己匿名搭建一个,这也是为什么同样的log4j2漏洞别人能发现,而自己却发现不了的原因所在。

  • Springboot框架漏洞

对于SpringBoot漏洞的利用,/actuator/env及heapdump的利用成功案例非常非常多,不但要看根目录,还要看子目录,还要看/api/目录下有没有相关的url路由。对于有的网站,每个子目录其实它映射到后端是不同的服务器应用。从heapdump里面可以提取各种账号密码,有不少找到某云AK/SK的情况。再就是也看到了spring cloud gateway的利用,这个漏洞起初我认为实战能遇到的可能性太小了,但是实战中确实存在,而且还见过好几个成功案例。

  • Nacos系列漏洞

这种漏洞和SpringBoot接口漏洞一样,利用成功案例出奇地多,同样也是根目录、二级目录都要看,红队队员的主要利用方式都是nacos弱口令、nacos加账号漏洞等,进入nacos后台之后,会找到数据库的账号密码。如果遇到Mssql、Oracle那么基本上可以拿下服务器权限,有时候会找到某云平台的AK/SK,拿下很多服务器权限。

  • Weblogic漏洞

Weblogic漏洞的利用相对于前几年大大减少,这也是让我非常惊讶的,自己曾研究这些漏洞的回显、内存马写入等,耗费了巨大的精力,但是我总是还能碰到weblogic反序列化,我想造成weblogic漏洞出现频率降低的原因可能有以下几个:

1.  后续新出的Weblogic漏洞的利用在不出网情况下是很难拿权限的;

2.  Weblogic后续漏洞(如cve-2020-2555开始出现的coherence库系列漏洞)利用非常麻烦,解决coherence库的兼容性很麻烦,工具层面上很难兼顾;

3. Webloigc的一些漏洞利用EXP在jdk1.5、jdk1.6、jdk1.7、jdk1.8等环境的下可能是不一样的,但是最终的利用工具只能在一个版本jdk下编译,所以有时候是很难兼顾的,因为本身就是自相矛盾的,导致利用不成功。

4.  防火墙或者是waf直接拦截掉T3和IIOP协议,但是有时候只是拦截了T3,IIOP协议还是放行的,大家有时候可以试一下,当然蓝队也要记得防范。

5.  T3协议加入了filter,限制了白名单从而没法利用。

  • Ueditor上传漏洞

这个漏洞也很多,多数利用都集中在那个SSRF造成的getshell漏洞,同样根目录、二级目录都要看,一些js源码中会有ueditor目录记录,可以试试这个漏洞。

  • SQL注入漏洞

这个漏洞外网资产出现的频率比我想象的多,现在很多人都不愿意去找sql注入漏洞,但是我交流经验发现,在2级单位的边缘资产和3、4级单位仍然大量存在,如果发现sql注入漏洞,运气好遇到一个量很大的目标,那危害也是很严重的;如果遇到Mssql和Oracle可以提权拿到服务器权限。当然如果遇到云上系统,不到万不得已,还是去用其它方法吧,毕竟sql注入绕云waf成本太高了,有那个精力,还不如找一下其它入口。所以对于sql注入漏洞,大家还是要注意防范。

  • Tomcat漏洞

在多个单位的子公司的偏门资产上,居然还有tomcat弱口令tomcat:tomcat,这也是我没有想到的,这样的案例我见过好几次成功案例。我仔细看了一下,这些成功案例的共同特点就是,端口都不是常见端口8080,推测红队队员对每一个ip都做了全端口扫描及服务识别。此外还有tomcat AJP协议获取webshell的成功案例。

  • Struts2系列漏洞

现在的网站应用使用Struts2框架的越来越少了,但是还是能见到,外网也有几个成功案例。在内网横向过程中,它却发挥了比以前更大的价值,貌似都成了内网横向的利用漏洞了

  • 各种上传漏洞

管理员账号密码+后台上传shell,成功案例仍然非常多,而且非常典型,这里就不过多叙述了,相信大家都耳熟能详。

  • 各种弱口令漏洞

sentinel弱口令、mysql的3306弱口令,但我未见到过外网的SQLServer的弱口令(推测原因是,如果存在弱口令,早就被外网的那些抓肉鸡战队给光顾了)、phpmyadmin弱口令、管理员弱口令(进后台能看到通讯录的话,也是有价值的)、druid未授权获取session,登录后台获取数据。

  • 逻辑漏洞/越权漏洞

公众号、小程序也会有一些业务逻辑漏洞,如常见的订单遍历、用户身份遍历,也是非常严重的。有些安全厂商可能没有自己的红队人员,但是仍然参加了攻防比赛,他们主要精力就放在挖掘业务逻辑漏洞上,但是有时候也会收到奇效,比如用户信息遍历漏洞,结果有很多行,危害也是很大的。解密小程序或者其他加密页面的js加密算法,会挖掘到高价值的业务逻辑漏洞。

  • 其它漏洞

以下这些漏洞有成功案例,但是非常少见。向日葵RCE漏洞(非常见的高端口)、Jboss反序列化、ewebeditor上传漏洞、dubbo高端口的反序列化漏洞、RMI端口反序列化漏洞、nexus cve-2019-7238漏洞等等,xxl-job从内网翻到密码去外网拿权限,此外还有一些网络设备的漏洞,就不一一列举了。

 Part4 内网篇 

这部分后续有时间我再写文章着重讲解,本期先简单介绍一下:

1.  针对VMware Vcenter等的漏洞利用大大增多,很多红队人员都喜欢在内网用这种漏洞打下一片机器,也就是打下了云平台。

2.  打域控可以看到很多用Zerologon漏洞拿下来的,当然不排除可能是通过其它手段拿下域控,但是写报告时误写成了Zerologon漏洞。

3.  拿到webshell或数据库后,多去翻一番某云的AK/SK等,会有意想不到的收获。

4.  对于工控系统,不得不承认,有些红队人员内网横向能力很强,从文字描述看,他们就是奔着工控目标去的,从一个网段跳到另一个网段,每横向一步,都知道自己在内网的什么位置,脑海中逐步形成一个清晰的内网拓扑图

也有的红队队员拿下工控系统,是在内网中扫一圈各种服务的弱口令、通过MS17-010打了几台服务器,提取了通用的密码或者hash值,然后再滚雪球批量扫描,内网大批量扫描发现了工控的web管理界面等等,无意中进入了工控段,这其实也是一种方法

5.  内网拿到数据库或者域控服务器之后,别忘了用同等账号密码,尝试一下外网的统一认证系统,往往会有意想不到的收获,有时候会直接连上VPN等系统。所以要加强对外网统一认证系统的防护。

7651c169c0a139b5e03236acca39bc9f.png

公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。

Contact me: 0day123abc#gmail.com(replace # with @)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/810661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【雕爷学编程】MicroPython动手做(14)——掌控板之OLED屏幕2

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

Spring学习笔记之spring概述

文章目录 Spring介绍Spring8大模块Spring特点 Spring介绍 Spring是一个轻量级的控制反转和面向切面的容器框架 Spring最初的出现是为了解决EJB臃肿的设计,以及难以测试等问题。 Spring为了简化开发而生,让程序员只需关注核心业务的实现,尽…

从源码角度去深入分析关于Spring的异常处理ExceptionHandler的实现原理

ExceptionHandler的作用 ExceptionHandler是Spring框架提供的一个注解,用于处理应用程序中的异常。当应用程序中发生异常时,ExceptionHandler将优先地拦截异常并处理它,然后将处理结果返回到前端。该注解可用于类级别和方法级别,…

【RabbitMQ】golang客户端教程1——HelloWorld

一、介绍 本教程假设RabbitMQ已安装并运行在本机上的标准端口(5672)。如果你使用不同的主机、端口或凭据,则需要调整连接设置。如果你未安装RabbitMQ,可以浏览我上一篇文章Linux系统服务器安装RabbitMQ RabbitMQ是一个消息代理&…

STL 关于vector的细节,vector模拟实现【C++】

文章目录 vector成员变量默认成员函数构造函数拷贝构造赋值运算符重载函数析构函数 迭代器beginend size和capacityresizereserve[ ]push_backpop_backinserteraseswap vector成员变量 _start指向容器的头,_finish指向容器当中有效数据的下一个位置,_end…

Python(五十一)获取列表中的多个元素——切片操作

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

【Rust教程 | 基础系列1 | Rust初相识】Rust简介与环境配置

教程目录 前言一,Rust简介1,Rust的历史2,Rust的特性3,为什么选择Rust4,Rust可以做什么 二, Rust环境配置1,windows11安装2,Linux安装 三,安装IDE 前言 Rust是一种系统编…

谈谈3D打印技术

目录 1.什么是3D打印 2.3D打印与传统打印技术的不同之处 3. 3D打印带来的技术变革 1.什么是3D打印 3D打印技术,也称为增材制造(Additive Manufacturing),是一种将数字模型转化为实体物体的制造方法。它通过逐层添加材料的方式&a…

一文了解MySQL中的多版本并发控制

在开始之前,先抛出一个问题:我们都知道,目前(MySQL 5.6以上)数据库已普遍使用InnoDB存储引擎,InnoDB相对于MyISAM存储引擎其中一个好处就是在数据库级别锁和表级别锁的基础上支持了行锁,还有就是…

windows环境安装elasticsearch+kibana并完成JAVA客户端查询

下载elasticsearch和kibana安装包 原文连接:https://juejin.cn/post/7261262567304298554 elasticsearch官网下载比较慢,有时还打不开,可以通过https://elasticsearch.cn/download/下载,先找到对应的版本,最好使用迅…

24考研数据结构-第二章:线性表

目录 第二章:线性表2.1线性表的定义(逻辑结构)2.2 线性表的基本操作(运算)2.3 线性表的物理/存储结构(确定了才确定数据结构)2.3.1 顺序表的定义2.3.1.1 静态分配2.3.1.2 动态分配2.3.1.3 mallo…

MacOS Monterey VM Install ESXi to 7 U2

一、MacOS Monterey ISO 准备 1.1 下载macOS Monterey 下载🔗链接 一定是 ISO 格式的,其他格式不适用: https://www.mediafire.com/file/4fcx0aeoehmbnmp/macOSMontereybyTechrechard.com.iso/file 1.2 将 Monterey ISO 文件上传到数据…

更简单的读取和存储对象 (Bean)

怎样才能比之前更简单的 读取和存储对象 (Bean) 呢? 答: 就两个字"使用注解", 接下来就说说如何利用注解来更简单的操作 Bean 目录 一. 前置工作 (配置扫描路径) 二. 使用注解存储 Bean 2.1 注解介绍 2.1.1 类注解存储 Bean 的默认命名规则 2.2 Controller (控…

手把手移植 simpleFOC (四):pwm 六相 篇

文章目录 系列文章目录前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 今天移植的内容,为定时器生在pwm,能按矢量数据控制电机到相应的位置 一、定时器的配置 通读了simpleFoc的代码,准备让定时器1生成的pwm波…

【玩转python系列】【小白必看】使用Python爬虫技术获取代理IP并保存到文件中

文章目录 前言导入依赖库打开文件准备写入数据循环爬取多个页面完整代码运行效果结束语 前言 这篇文章介绍了如何使用 Python 爬虫技术获取代理IP并保存到文件中。通过使用第三方库 requests 发送HTTP请求,并使用 lxml 库解析HTML,我们可以从多个网页上…

要单片机和RTOS有必要学习嵌入式linux吗?

学习嵌入式 Linux 是否有必要,取决于你的项目需求和职业发展目标。以下是一些考虑因素: 项目需求:如果你的项目需要处理复杂的网络、文件系统、多任务管理等功能,嵌入式 Linux 可能是更适合的选择。Linux 提供了丰富的开源软件包和…

生成对抗网络DCGAN实践笔记

在AI内容生成领域,有三种常见的AI模型技术:GAN、VAE、Diffusion。其中,Diffusion是较新的技术,相关资料较为稀缺。VAE通常更多用于压缩任务,而GAN由于其问世较早,相关的开源项目和科普文章也更加全面&#…

华为OD机试真题2022Q4 A + 2023 B卷(Java)

大家好,我是哪吒。 五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题。 5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧。B卷新题库正在更…

微服务 - Consul集群化 · 服务注册 · 健康检测 · 服务发现 · 负载均衡

一、Consul 概括 Consul 是由N多个节点(台机/虚机/容器)组成,每个节点中都有 Agent 运行着,各节点间用RPC通信,所有节点内相同的 Datacenter 名称为一个数据中心,节点又分三种角色 Client/Server/Leader: Agent&…

Python算法笔记(3)-树、二叉树、二叉堆、二叉搜索树

树和二叉树 什么是树 树是一种非线性的数据结构,由n个节点构成的有限集合,节点数0的树叫空树,在任意一棵树中,有且仅有一个特点的称为根节点,当N>1时,其余节点可分m为互不相交的有限集。 例如如下&…