记一次某红蓝演练经历
在某天接到任务,对xxx进行一次红蓝演练,于是把自己渗透过程给记录下来,漏洞关键地方也会打码,希望各位大佬理解,菜鸡一枚,勿喷/(ㄒoㄒ)/~~
概述
拿到目标域名第一件事就是信息收集,曾经一位大佬告诉我的一句名言:信息收集的深度决定渗透测试的广度,送给大家。由于这里给出了xxx公司,而且目标资产基本都在云上
,我就通过这个企业的备案还有它旗下的一些资产进行收集,这里我用到的工具有大家熟知的:Hunter
、Fofa
、360Quake
等,这里也推荐一款工具就是无影TscanPlus
,之前没怎么关注,因为感觉资产测绘的工具都大差不差,但是听朋友说这款工具信息收集还不错,于是就尝试使用了一下,我配置了各种key以后,信息收集能力还是不错的,声明一下:我没有会员哈哈哈哈,不过还是可以当作一款信息收集工具的,会员可以增加全量POC,感觉还是很不错的,接下来就是拿到资产以后进行渗透
正文
首先拿到资产进行筛选,嗯?突然看到一个特别熟悉的框架,由于之前团队经常打杀猪盘这类违反网站,所以一眼就看出来了这是fastadmin
框架,当然通过findsomething
这个插件也能看到js路径有fastadmin的字样,当时看到这个瞬间兴奋起来了,这是马上要拿下了吗?
但是切记半场开香槟是大忌,于是想到之前有个fastadmin任意文件读取漏洞嘛,尝试利用一下,POC也放下面了
GET /index/ajax/lang?lang=../../application/database
很幸运,漏洞是存在的,成功拿到数据库的账号和密码,不错不错
还是不能高兴太早,因为拿到的是域名,得找它的ip并且还要开放3306端口
或者数据库端口才行,于是通过多地ping
寻找真实ip,很幸运,对方并没有购买CDN服务
,通过Nmap
也确定了3306端口
对外开放,接下来就是爽连的过程了,数据还不少呢,算一个小战果吧,因为当时进后台发现了近20W+的个人身份信息
既然有了数据库,那就尝试进后台拿shell,这里fastadmin数据库密码都经过加盐处理了,一般来说是解密不了的,当然运气好的哥们除外
这里我就想到之前可以通过修改密码进入后台的方式,于是去网上找一下fastadmin的密码与之匹配的盐值,然后修改后台密码为123456即可,记得该回去哈,如图
按照图中所示,修改了密码后,进入后台,发现了不少数据,大概4W+数据吧,还有不少实名认证信息,到这里fastadmin基本上可以结束了,因为大部分是shell不了的
但是我突然想到,欸,我有个朋友很厉害,于是跟他深入交流了一波,你懂的嘿嘿,这里成功通过后台拿到shell
,这里细节不过多描述,最后也是成功连上了哥斯拉
,看到了网站下部署的服务,很经典的框架和文件结构,而且是云上
,所以就没有再深入了
后来在复盘的时候,发现这个是主域名,但是目标主ip不是这个,所以打的稍稍有点偏了,不过没关系,还有呢!
熟悉的界面,没错就是jeecg-boot,我这里直接未授权就进来了
当时想着系统版本应该比较拉胯,于是工具(I-Wanna-GetALL
)一把梭,通过积木报表的历史漏洞RCE,当时用Vshell
上线失败了,可能是工具和环境有问题吧,于是用msf
上线拿到服务器权限,这里我没有仔细翻,也许会有宝藏谁知道呢,而且是台双网卡的云服务器
于是又在一堆目标里翻垃圾,终于苍天不负有心人,在xx目标url中一处js里找到了阿里OSS的AK/SK,所以平常多翻翻j
s文件还是有好处的,指不定就有AK/SK
等着咱们呢,这有个小技巧就是阿里云的存储桶key这些的特征是LTAI
开头等,各大云厂商的特征网上也有文章介绍,这里不做过多阐述,下面开始爽连
既然有了存储桶权限,那我们去看看这个key
下有什么东西吧,这里我想到一款云上工具:CF
,来自狼组安全团队的一款工具,挺不错的,这里也放一下工具的使用手册,新手放心食用,最新的云鉴也可以试试,毕竟CF的动静还是挺大的
https://wiki.teamssix.com/CF/
于是就根据工具罗列出该AK/SK
的权限,不错不错,最高权限,后来也是看到有大概50+
个ECS、6+
个域名、3+
个数据库服务
这里是下面的ECS实例
AK\SK下的OSS Bucket
这里我也是成功通过创建凭据拿到了阿里云的控制台权限
这里提示一下,用CF
创建后门用户的时候,阿里云会产生告警,可能会让对方警惕起来,所以非必要还是杜绝这种操作吧,项目结束后也要记得把后门用户给清理掉,否则追责起来很麻烦
后来就是列举一些ECS
实例,通过反弹shell
的方式或者执行命令来上线,这里也是成功上线大概10+
台机器,因为机器太多了,然后关键机器已经拿到了,所以后续就没有必要继续拿服务器权限了
基本上一天就打穿了,非常爽,后来就是在云上翻垃圾的时候,通过搭建隧道进入云上内网,翻到一些泛微、Nacos这种服务,这里是翻到Nacos的配置文件里ssh账密泄露、数据库等,拿拿数据分啥的
数据库配置,用DBeaver和Navicat都可以连,这两都挺不错
这里是利用内网泛微E-mobile的弱口令进的后台,网上可以搜搜泛微的通用默认密码,说不定瞎猫碰见死耗子了呢
然后看到泛微E-mobile
就想尝试一下之前爆出的任意文件读取漏洞,因为我在公网当时找了好几个ip,都是302重定
向然后说资源不存在之类的,可能是接口做了鉴权?这里也不太清楚,于是我就抱着试一试的心态看看内网这次能不能成功,果然,上天比较眷顾我,竟然复现成功了!刚开始读取的是Linux
的etc/passwd
,返回302
,心里已经拔凉拔凉的了,但是我不甘心!突然想到也许是windows
系统?于是读取windows/win.ini
,成功读取到了文件,果然渗透还是要不放过任何细节才能出货呀
后来就是无情的翻垃圾过程了,服务器上存在一些Gitlab配置文件,导致信息泄露,可以拿到代码仓库等信息
apixis配置信息泄露
然后还有黑盒测一些系统通过一些接口可以访问到后台的功能,这里是没有做足够的鉴权,危害还是挺大的
后续他们的成员也是发现了入侵行为,赶紧购买了阿里云一系列资源保护服务,还好把整个过程都提前记录了下来,后续也是希望能够通过本次红蓝演练提升企业的安全意识吧,我认为这才是攻防演练的目的,并不是为了攻击而攻击,而是提高企业的安全水位和员工的安全意识
总结
到这里基本就结束了,后续就是写报告进行复盘了,主要还是记录一下自己攻防的一次经历吧,算不上特别出彩,但是整个红蓝演练过程中还是学到了不少奇淫技巧,也对云上的攻防有了更多的了解,当作一次小小的练习吧,同时也希望能够给大家一些启发,互相交流,不断学习!
声明
本文所提供的信息仅供学习和研究网络安全技术之用途。读者在使用这些信息时应自行判断其适用性,并对其行为负全责。作者不对任何读者因使用本文中信息而导致的任何直接或间接损失负责。
原文链接:记一次某红蓝演练经历 - 先知社区
相关文章:
![](https://i-blog.csdnimg.cn/img_convert/8e857df036ff6bdbbc963dfb39b78875.webp?x-oss-process=image/format,png)
记一次某红蓝演练经历
在某天接到任务,对xxx进行一次红蓝演练,于是把自己渗透过程给记录下来,漏洞关键地方也会打码,希望各位大佬理解,菜鸡一枚,勿喷/(ㄒoㄒ)/~~ 概述 拿到目标域名第一件事就是信息收集,曾经一位大…...
![](https://i-blog.csdnimg.cn/img_convert/13da8033f31c20ff14e38f2bbe6f260a.png)
一个运行在浏览器中的开源Web操作系统Puter本地部署与远程访问
文章目录 前言1.关于Puter2.本地部署Puter3.Puter简单使用4. 安装内网穿透5.配置puter公网地址6. 配置固定公网地址 💡 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站…...
![](https://www.ngui.cc/images/no-images.jpg)
【零基础入门Go语言】struct 和 interface:Go语言是如何实现继承的?
提到面向对象编程中的继承,许多人脑海中可能会浮现出 Java、C 等语言中那一套熟悉的类继承体系。然而,Go 语言作为一门别具一格的编程语言,并没有遵循传统的继承模式。那么,在 Go 语言的世界里,它是怎样实现类似于继承…...
![](https://i-blog.csdnimg.cn/direct/98ae2e0848fb46f5be79f49a696be728.png)
麦田物语学习笔记:实现拖拽物品交换数据和在地图上生成物品
基本流程 1.代码思路 (1)InventoryUI的PlayerSlots与PlayerBag里一一对应,所以想要实现交换数据实际上是,先拿到被拖拽的物体所对的Slot的序号和目标的Slot序号,然后将这两个序号对调一下 (2)物品交换的数据逻辑应该在InventoryManager里去调用,因为InventoryManager里管理了p…...
![](https://i-blog.csdnimg.cn/direct/4f42d0f662e444a3a36d463d7921f42c.jpeg)
一些计算机零碎知识随写(25年1月)-1
我原以为世界上有技术的那批人不会那么闲,我错了,被脚本真实了。 今天正隔着画画呢,手机突然弹出几条安全告警通知。 急忙打开服务器,发现问题不简单,直接关服务器重装系统..... 首先,不要认为小网站&…...
![](https://i-blog.csdnimg.cn/direct/984fc79c2247401ea15895134ccab8d6.png)
Qt学习笔记第81到90讲
第81讲 串口调试助手实现自动发送 为这个名叫“定时发送”的QCheckBox编写槽函数。 想要做出定时发送的效果,必须引入QT框架下的毫秒级定时器QTimer,查阅手册了解详情。 在widget.h内添加新的私有成员变量: QTimer *timer; 在widget类的构造…...
![](https://www.ngui.cc/images/no-images.jpg)
Centos9 + Docker 安装 MySQL8.4.0 + 定时备份数据库到本地
Centos9 Docker 安装 MySQL8.4.0 定时备份数据库到本地 创建目录,创建配置文件启动容器命令定时备份MySQL执行脚本Linux每日定时任务命令文件内参数其他时间参数 AT一次性定时任务 创建目录,创建配置文件 $ mkdir -p /opt/mysql/conf$ vim /opt/mysql/…...
![](https://i-blog.csdnimg.cn/direct/d23d4208f7054c5cb70348b66be79a1a.png)
网络原理一>UDP协议详解
UDP和TCP都是应用层中的重要协议,如果做基础架构开发,会用得多一些。 这一篇我们先简单聊一下的UDP TCP格式呈现: 我们知道UDP是一种无连接,面向数据报,全双工,不可靠传输特性的网络协议。 基本格式如图…...
![](https://i-blog.csdnimg.cn/direct/2312d43857b94ebf97bfd4f64fcb967b.png)
MySQL的小问题
编码问题 不管官方使用什么编码:latin1、gbk、utf8、utfmb4。统一使用utfmb4 MySQL中的utf8并不是utf-8,它省略了一个字节,只是用三个字节存储所有的符号,utfmb4才是utf-8 远程登录问题: MySQL官方默认没有启动远程…...
![](https://i-blog.csdnimg.cn/img_convert/c6bba40421aee7fa4fbef5bfca8e9c6d.png)
Mac——Docker desktop安装与使用教程
摘要 本文是一篇关于Mac系统下Docker Desktop安装与使用教程的博文。首先介绍连接WiFi网络,然后详细阐述了如何在Mac上安装Docker,包括下载地址以及不同芯片版本的选择。接着讲解了如何下载基础镜像和指定版本镜像,旨在帮助用户在Mac上高效使…...
![](https://i-blog.csdnimg.cn/direct/c5c70ceda7b4482cbae3a1f7fc53327e.png)
FastApi Swagger 序列化问题
问题 错误现象: fastapi的 swagger 界面无法正常打开控制台报错:raise PydanticInvalidForJsonSchema(fCannot generate a JsonSchema for {error_info}) 详细报错: File "d:\Envs\miniconda3\envs\xdagent\lib\site-packages\pydan…...
![](https://i-blog.csdnimg.cn/direct/433cee489fa1439aaf6ab316c49788e3.png)
《机器学习》——sklearn库中CountVectorizer方法(词频矩阵)
CountVectorizer方法介绍 CountVectorizer 是 scikit-learn 库中的一个工具,它主要用于将文本数据转换为词频矩阵,而不是传统意义上的词向量转换,但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵,它是文本特征…...
![](https://i-blog.csdnimg.cn/img_convert/d0b897e4aadf7cdc2ea13d5174a60099.png)
UML系列之Rational Rose笔记三:活动图(泳道图)
一、新建活动图(泳道图) 依旧在用例视图里面,新建一个activity diagram;新建好之后,就可以绘制活动图了: 正常每个活动需要一个开始,点击黑点,然后在图中某个位置安放,接…...
![](https://i-blog.csdnimg.cn/img_convert/91fb3d3c48ed8f4f96e5b934a7581ea1.png)
Java面向对象面经总结
目录 面向对象基础 面向对象与面向过程的区别 创建一个对象用什么运算符,对象实体与对象引用的区别 对象相等和引用相等的区别 构造方法的特点,是否可被重写? 面向对象三大特征 封装 继承 多态 接口和抽象类的共同点和区别 深拷贝…...
![](https://www.ngui.cc/images/no-images.jpg)
红队工具使用全解析:揭开网络安全神秘面纱一角
红队工具使用全解析:揭开网络安全神秘面纱一角 B站红队公益课:https://space.bilibili.com/350329294 学习网盘资源链接:https://pan.quark.cn/s/4079487939e8 嘿,各位网络安全爱好者们!在风云变幻的网络安全战场上&am…...
![](https://i-blog.csdnimg.cn/direct/3f00c9d61a0c4d54add12219389beda6.png)
OpenLinkSaas 2025年第一季度开发计划
OpenLinkSaas在2025的发展方向是强化基础设施和研发协作,弱化管理相关的功能。 为了根据参与到软件研发的整个流程,OpenLinkSaas会增加一系列的基础设施项目,并和OpenLinksaas进行深度整合。 目前计划中的基础设施: 链路追踪系统(OpenDragonF…...
![](https://www.ngui.cc/images/no-images.jpg)
【python小工具】怎么获取视频的关键帧频率?
使用 FFmpeg 提取 MP4 视频的关键帧并计算关键帧频率可以按以下步骤进行: 提取关键帧: 使用 FFmpeg 提取视频中的关键帧可以通过以下命令实现: ffmpeg -i input.mp4 -vf "selecteq(pict_type,I)" -vsync vfr keyframes_%03d.jpg…...
![](https://i-blog.csdnimg.cn/img_convert/4403c5ea40b88faea18627228e3e13c8.jpeg)
数字孪生可视化在各个行业的应用场景
数字孪生技术,作为新一代信息技术的集大成者,正在深刻改变着我们对物理世界的认知和管理方式。本文将探讨数字孪生可视化在不同行业的应用场景,以及它们如何赋能行业数字化转型。 1. 智慧城市与交通 在智慧城市领域,数字孪生技术…...
![](https://www.ngui.cc/images/no-images.jpg)
Python实现windows自动关机
python <shut.py> import ntplib from datetime import datetime, timezoneimport time import osimport easygui# net time def get_network_time():time.sleep(3)"""从网络时间服务器获取时间"""client ntplib.NTPClient()response c…...
![](https://www.ngui.cc/images/no-images.jpg)
Go可以使用设计模式,但绝不是《设计模式》中的那样
文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...
![](https://i-blog.csdnimg.cn/direct/bc73ef2a3b5b4c6fbd9ac7882332095d.png)
【C语言】_使用冒泡排序模拟实现qsort函数
目录 1. 排序函数的参数 2. 排序函数函数体 2.1 比较元素的表示 2.2 交换函数Swap的实现 2.3 排序函数bubble_sort的实现 3. 测试整型数据排序 3.1 整型数据比较函数cmp_int的实现 3.2 整型数据排序后输出函数print_int的实现 3.3 整型数据测试函数test_int的实现 3…...
![](https://i-blog.csdnimg.cn/direct/ffa28748e9c645cfb53af56fbe4f63d0.png)
openCvSharp 计算机视觉图片找茬
一、安装包 <PackageReference Include"OpenCvSharp4" Version"4.10.0.20241108" /> <PackageReference Include"OpenCvSharp4.runtime.win" Version"4.10.0.20241108" /> 二、准备两张图片 三、编写代码 using OpenCv…...
![](https://i-blog.csdnimg.cn/direct/c9ccf4a256454d0daad973d71849c34f.png)
从零开始开发纯血鸿蒙应用之处理外部文件
从零开始开发纯血鸿蒙应用 一、外部文件二、外部文件的访问形式1、主动访问2、被动访问 三、代码实现1、DocumentViewPicker2、Ability Skills3、onNewWant 函数4、冷启动时处理外部文件 一、外部文件 对于移动端app来说,什么是外部文件呢?是那些存储在…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring中三级缓存详细讲解
1、Spring三级缓存是什么,过程是怎么样的? Spring 中的三级缓存主要用于单例 Bean 的生命周期管理,特别是在循环依赖时,它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下: 一级缓存 (singleton…...
![](https://i-blog.csdnimg.cn/img_convert/4fda25460f53e8abe1d1f244fb64a17f.png)
论文阅读:《Whole-animal connectomes of both Caenorhabditis elegans sexes》
一 论文整体概述 论文下载链接:《Whole-animal connectomes of both Caenorhabditis elegans sexes》 补充信息和额外数据:https://www.nature.com/articles/s41586-019-1352-7 1. 作者期刊背景 该论文由Scott W. Emmons,David H. Hall等…...
![](https://i-blog.csdnimg.cn/direct/aab11f38adde4fe1b14b03ef9503b77a.png)
嵌入式开发之STM32学习笔记day03
STM32之ADC(模拟数字转换器) 1 ADC简述2 ADC转换时间3 ADC转化结果存放机制4 ADC转化结果存放机制5 ADC电压转换 1 ADC简述 ADC(Analog-Digital Converter)模拟—数字转换器;ADC可以将引脚上连续变化的模拟电压转换为…...
![](https://i-blog.csdnimg.cn/direct/1450691a950c46ea866f27558257159f.png)
windows10 安装 Golang 版本控制工具g与使用
下载包:https://github.com/voidint/g/releases 解压, 并添加到环境变量 g 常用命令 查询当前可供安装的stable状态及所有的 go 版本 # stable 版本 g ls-remote stable# 所有版本 g ls-remote安装目标 go 版本1.23.4g install 1.23.4切换到已安装的…...
![](https://i-blog.csdnimg.cn/img_convert/b8f53426bd0b87653c47cb78ea1f2c56.png)
SpringBoot 使用 Cache 集成 Redis做缓存保姆教程
1. 项目背景 Spring Cache是Spring框架提供的一个缓存抽象层,它简化了缓存的使用和管理。Spring Cache默认使用服务器内存,并无法控制缓存时长,查找缓存中的数据比较麻烦。 因此Spring Cache支持将缓存数据集成到各种缓存中间件中。本文已常…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fp3-sign.toutiaoimg.com%2Ftos-cn-i-axegupay5k%2F189887ca52044a0bb4699180b4a3d161~tplv-tt-origin-web%3Agif.jpeg&pos_id=6zugGdxZ)
R数据分析:多分类问题预测模型的ROC做法及解释
有同学做了个多分类的预测模型,结局有三个类别,做的模型包括多分类逻辑回归、随机森林和决策树,多分类逻辑回归是用ROC曲线并报告AUC作为模型评估的,后面两种模型报告了混淆矩阵,审稿人就提出要统一模型评估指标。那么肯定是统一成ROC了,刚好借这个机会给大家讲讲ROC在多…...
![](https://i-blog.csdnimg.cn/direct/2e90bb6a11a7473582f2ad1ea22a4217.png)
数据结构与算法之二叉树: LeetCode 654. 最大二叉树 (Ts版)
最大二叉树 https://leetcode.cn/problems/maximum-binary-tree/ 描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值递归地在最大值 左边 的 子数组前缀上 构建左子树递归地在最大值…...
![](https://img-blog.csdnimg.cn/img_convert/5ba333d07cc9a434e319ca945271527b.png)
网站为什么提示风险/如何做营销推广
1、 通过属性和接口获取鼠标拾取(Pick)的物体 2、 通过事件获取鼠标拾取的物体 3、 区域 Pick 物体 4、 pickedResultFunc设置拾取对象回调函数 在开发数字孪生可视化场景应用时经常会用到拾取功能,顾名思义,在数字孪生可视化…...
![](https://img-blog.csdnimg.cn/46e93ea50dcf4bdb93f372d49435cd83.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5YW15LyQ55y4,size_19,color_FFFFFF,t_70,g_se,x_16)
美食网站建设的背景和目的/郑州网站seo优化公司
1、下载 Git 建议使用右键使用迅雷下载或是使用阿里云镜像下载 2、设置用户信息 $ git config --global user.name "jiayafei" $ git config --global user.email "2013026216qq.com" 3、配置github免密登录 利用.ssh生成公钥私钥 ssh-keygen -t rs…...
![](/images/no-images.jpg)
武汉做网站冰洁找到冰洁工作室/网站软件下载
变量的赋值 一个变量声明后,可以在任何时候对其赋值。赋值的语法是: <变量> <表达式>; 其中“”叫“赋值符”,它的作用是把右边的值赋给左边的变量。转载于:https://www.cnblogs.com/happyty/archive/2012/05/26/2519391.html...
![](https://img-blog.csdnimg.cn/2020030119154275.png)
手机自适应的网站怎么做/论坛推广软件
文章目录现象原因解决更新 20200318现象 由于安装anaconda3时在是否把anaconda3加入path那里 Add to Path…(Not recommend) 是不建议的,因此很多安装时会不勾选这一选项。 然后使用vscode调用cmd运行Python的编辑器调试Python时,终端经常会出现诸如 …...
![](https://img-blog.csdnimg.cn/20210611164549250.gif)
wordpress上传gif/个人引流推广怎么做
Taro.showToast(option) 显示消息提示框 Taro.showToast({title: 成功,icon: success,duration: 2000 })Taro.showModal(option) 显示模态对话框 Taro.showModal({title: 提示,content: 这是一个模态弹窗,success: function (res) {if (res.confirm) {console.log(用户点击…...
![](/images/no-images.jpg)
新闻网站的编辑该怎么做/软文广告经典案例分析
1背景Permalink .NET Framework 提供了四种定时器,然而其精度都不高(一般情况下 15ms 左右),难以满足一些场景下的需求。 在进行媒体播放、绘制动画、性能分析以及和硬件交互时,可能需要 10ms 以下精度的定时器。这里不…...