第一次的pentest show总结

第一次的pentest show总结

前言

开始之前,我特别感谢TryHackMe(英)、HackTheBox(美)、zero-point security(英)、offsec(美)等平台,使我们能够通过网络以线上的方式学习与练习,打破传统线下各地区教育资源差异大的限制,对网络教育资源方面做出全球性的巨大贡献。

事实上我这次连续参加了两场攻防演练。第一场攻防演练也是本人第一次攻防演练,将thm、htb等的知识交付于现实,由于参加的第一场某市的攻防演练没有任何经验,我独自一人也打的非常困难,并没有取得大成果反而还吃了不少亏。

但虽第一次演练没有好成果,但这五天的坐牢,让我对国内的常见环境、攻防演练如何进行等,有了很新的认识。

总结

最简单而具有代表性的总结:之前所学的知识为我带来了大量帮助,坚持不懈,重新分析所有信息、战至攻防最后一刻是我这次做的最正确的事情。

第二场某市的攻防演练,也就是我们本文的重点,有了第一次攻防演练的教训和哑巴亏、以及经验,第二场攻防在与队友的配合之下,取得很多成果,在众多企业队伍的高排名中,我们夺得了属于我学校队伍的一席之地。

以下所有内容均以技术角度进行分享,不涉及任何保密协议相关的内容,所有截图也已脱敏,确保不泄露任何不利信息,仅在技术角度做技术知识、经验共享。

第二场攻防我们的总分约1.44w,被打穿内网的单靶标 得分为5200左右。

首先就是外网方面,在这两场攻防里面用的最多的信息收集工具恐怕就是鹰图了,它的名字也和我很配,它给出来的资产信息也算是相当清晰和准确了,主要还是可以通过企业名字进行过滤和准确搜索,相当不错,正如它的名字一样

我们来看一下我们的一部分成果类型:

1.在两场攻防中,都有同样的且数量占比比较高的、且简单粗暴能获取web网站权限的方式:弱口令,我的队友弱口令战神凭借弱口令为我们取得不错的优势,进入后台我能够获取更多有价值的信息以及进行漏洞挖掘以进行危害提升。

2.除了弱口令外,还有不少Springboot的heapdump信息泄露,导致泄露某些web服务、数据库凭据,虽然大部分都是泄露的内网服务,但仍有一小部分泄露了外网的服务凭据。

3.扫描结果出现频率较多的 且100%存在漏洞的web框架就是nacos,只要碰到nacos,该说不说一百分的权限分是稳了,但也有一小部分的nacos是有料的,nacos后台有一些数据库、存储桶的连接凭据,我们在这次攻防中也获得了不少阿里云、七牛云、腾讯云存储桶控制权

另一个则是shiro,本场攻防打的第一个某某特别敏感的内网就是通过shiro的key爆破打进去的

(由于该内网涉及非常敏感,相关成果便不再叙述。)

4.数据库。虽然我们在外网获得的许多数据库不是空的就是权限低有限制,但仍有小部分可以利用其来获得敏感数据,以及相关的账号密码策略等有价值的信息,更有甚者可以通过udf、xp_cmdshell来getshell获得服务器系统控制权限。

5.OSS存储桶,其实我也是第一次认识存储桶这种东西,打之前我甚至都没有这种概念,但是我们只需要知道,存储桶大概率会包含大量无价值图片,但就我本次攻防所遇到的所有存储桶中,依然也有小部分存储桶存储着一些信息文件、甚至是身份证等敏感信息,这个时候,想要确定一个存储桶有没有我们想得到的东西,那就得看你翻找得够不够仔细和认真了,这是一个究极耗费时间的过程

被打穿的内网(故事)(纯享版)(爽文)

首先还是外网入口方面,某天晚上11点 12点的时候,我的弱口令战神队友在企业X的资产的web系统上找到了两个弱口令,我登录其中一个系统后台,进行信息收集与分析、漏洞挖掘时,我发现了一处RCE,并且通过C#常规reverse shellcode获得目标服务器系统控制权。

在这里插入图片描述

没有域

权限比较高,经过多次免杀尝试,最终我们直接通过WinDefender开启白名单更方便,这样省的所有工具都需要免杀,并且搭建了socks5隧道

我转储了lsass内存、转储sam,获得了admin的ntlm hash

然后发现端口开着5985,我直接用evil-winrm连了上去

在这里插入图片描述

然后找好兄弟帮我cmd5解开hash

在这里插入图片描述

根据这个密码,我发现了大概的密码策略,类似于:password123

于是使用crunch生成了000-999的字典,对内网进行爆破,然鹅没有任何成果。

我在administrator的桌面中,发现了一个类似配置文件的东西,里面保存着内网其它服务器的数据库的密码,我通过这个密码再次对内网进行密码喷洒

获得两个内网linux服务器的ssh root控制权(不要认为这是离谱的,更离谱的还在后面)

在这里插入图片描述

我在我手上控制的三台机器上反复进行各种信息收集,很漫长、很煎熬。

最终还是在linux服务器上发现了一条加密密码被存放在root家目录下,
继续让好兄弟帮我去cmd5解密,得到的结果类似于:password123

没错,这个密码类似于我们刚刚windows服务器的administrator的密码,只是数字部分不同

然后我再次对内网进行密码喷洒,发现一个mssql数据库的sa账户被匹配

在这里插入图片描述

但我000-999居然没有喷洒出来,其实我也早已知道什么原因了,因为目标开启了登录失败次数限制,这一点属于我的疏忽,也属于opsec问题

随后我登录数据库看了一下,成功找到约100万敏感数据

之后我尝试通过xp_cmdshell尝试getshell,发现卡住,我的队友弱口令战神也无法成功getshell

(我以为目标开了什么保护,直到比赛的最后一天,想知道结果请继续看下去)

就这样,我们的内网就在这里卡住了,再也没有了进展。

被卡住的这些天,我反反复复对已经获得的所有信息、所有服务器和数据库进行反反复复的重新分析,结果确实令人失望的,依然还是没有任何新的发现。

就在距离攻防结束的几个小时前,我们刚吃饱午饭,我们都觉得我们的分数10000分没办法再继续突破了,我们都尽力了,枯竭了,我的队友也还在做最后的挣扎,找了几个弱口令,但这距离我们希望的排名靠前还差些距离

我跟我的队友一样,也没有彻底摆烂,即使到了最后一刻,攻防即将结束,我也依然在翻看所有信息,所有已有的攻击路径,进行分析尝试发现新的攻击路径

我把前些天打失败了的mssql的xp_cmdshell不抱希望得又试了一遍

耶稣,它最终还是站在了我这边

居然离奇的成功了,我也不知道为什么那天没有成功,但现在它成功了,我们就此获得那台mssql服务器的低权限shell

这个shell真的很多命令都执行不了,目标也不出网,连接不到我们的vps,smb、http,以及living off the land,都没成功把提权payload下载到目标机器上

在面临攻防即将结束的压力下,我最终还是想到了一种简单的方法:通过我们在内网已经控制的其它windows服务器的UNC Path即smb来传输payload

我们恰好有一台windows服务器的完全控制权,直接在低权限的shell里面:

net use \\win-xxxxxxxxx\C$\ /user:administrator password123

结果成功了(没有截图,这一段没录上,msf免杀shell弹队友机器上后才开始录的)

后面的提权不用我说都知道了,毕竟是从mssql服务进来的,就不用作解释了

用的是PrintNotify Patato

https://github.com/BeichenDream/PrintNotifyPotato

直接通过unc path执行exe,无需下载到本地保存

在这里插入图片描述

最后我们成功拿到了system shell,并且在administrator的桌面中发现了一个bat

而这个bat也决定了我们的坚持不懈没有白费

在这里插入图片描述

我们发现了与之前密码策略类似的密码:password123abc

然后又做了密码喷洒,而这次的密码喷洒,没有让我们所有人失望,我激动的喊了出来

在这里插入图片描述

这次的喷洒结果,新增拿到了九台windows服务器的administrator

后续在这些服务器上进行本地信息收集,发现了内网其它不重复的近十台服务器数据库凭据即数据库控制权限,在数据库中发现了近百万敏感数据。

后面就是写报告时间了。

结束

这属于我第一次参加攻防演练且完赛,经历已经拉满了,我们都尽力了,虽然无法与那些知名企业队伍抗衡拿到第一或是前三,但是我此刻的成就感依然是拉满了,经历拉满了,体验感拉满了

就像开头说的那样,如果我不坚持硬怼这个看起来没有任何希望的内网,如果我不一直盯死这个看起来没任何希望的内网,或许我们就真的也就只能那样了

但我没有,前段时间学习的情报分析心理学,或许派上了用场,或许是这些过去的所有知识在默默的支持我的工作。

鹰眼、鹰爪、翅膀

不要轻易放弃,就像这样。

我要金鸟蛋,我们是罐菌,我音乐播放器

让我们继续保持学习

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

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

相关文章

03:EDA的进阶使用

使用EDA设计一个38译码器电路和245放大电路 1、38译码器1.1、查看74HC138芯片数据1.2、电路设计 2、245放大电路2.1、查看数据手册2.2、设计电路 3、绘制PCB3.1、导入3.2、放置3.3、飞线3.4、特殊方式连接GND3.5、泪滴3.6、配置丝印和划分区域3.7、添加typc接口供电 1、38译码器…

20.5.【C语言】求长度的两种方式

1.sizeof 用于测数据类型的长度的函数(详细见第3篇) 2.strlen 其计算长度时只有遇到\0才会停止,并且\0不会计算在内 如char arr[]{a,1,b}; printf("%d\n",strlen(arr)); 结果是个随机数!strlen读内存中的数据&…

快递物流运输中的RFID智能锁控应用方案

一、物流货运管理的痛点分析 1.1 货物安全与监控难题 物流货运过程中,货物安全是首要关注的问题。传统的锁控方式存在诸多不足,例如易被撬锁、监控盲点以及难以实时追踪货物状态。据统计,每年因货物丢失或损坏导致的经济损失高达数十亿美元…

小白也可以部署私有化大模型知识库_私有化知识库

透过产品了解RAG技术原理,对未来大模型应用开发也将起到事半功倍的效果。 虽然网络上有很多此类技术文章,这里自己也进行一次总结,加深印象的同时给小伙伴做一个参考,多多交流。 准备 Linux服务器、windows也可以 Docker环境&…

Excel多表格合并

我这里一共有25张表格: 所有表的表头和格式都一样,但是内容不一样: 现在我要做的是把所有表格的内容合并到一起,研究了一下发现WPS的这项功能要开会员的,本来想用代码撸出来的,但是后来想想还是找其他办法,后来找到"易用宝"这个插件,这个插件可以从如下地址下载:ht…

C++基础21 二维数组及相关问题详解

这是《C算法宝典》C基础篇的第21节文章啦~ 如果你之前没有太多C基础,请点击👉C基础,如果你C语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构啦 ​ 目…

谷歌地图Google JS API 实现

demo实现 实现源码&#x1f447; // 谷歌地图Google JS API 实现 <template><div class"myMap"><gmp-map :center"center" zoom"15" map-id"ab6b6643adfa1a70"><gmp-advanced-markerv-for"(res, index) in…

MySQL | JDBC连接数据库详细教程【全程干货】

文章目录 一、什么是JDBC&#xff1f;二、JDBC工作原理三、使用JDBC连接MySQL数据库【✔】1、安装对应数据驱动包2、将jar包导入项目中3、编写代码连接数据库【⭐】1️⃣ 创建数据源2️⃣ 和数据库建立网络连接3️⃣ 构造SQL语句4️⃣ 执行SQL语句5️⃣ 断开连接&#xff0c;释…

nginx安装演示(离线安装,直接安装在Linux中)

文章目录 1、创建文件夹 tool / nginx2、把安装文件放到 /opt/tool/nginx 目录下面3、yum install gcc4、yum install gcc-c5、tar -zxvf pcre-8.37.tar.gz6、./configure7、make8、make install9、tar -zxvf openssl-1.0.1t.tar.gz10、./config11、/config 1、创建文件夹 tool…

人脉社群平台微信小程序系统源码

&#x1f31f;【解锁人脉新纪元&#xff1a;探索人脉社群平台小程序】&#x1f31f; &#x1f680;【开篇&#xff1a;为什么我们需要人脉社群平台小程序&#xff1f;】&#x1f680; 在这个快节奏的时代&#xff0c;人脉不再是简单的名片交换&#xff0c;而是通往成功与机遇…

昇思25天学习打卡营第17天|ChatGLM-6B聊天demo

一、简介&#xff1a; 本次实验&#xff0c;基于MindNLP和ChatGLM6B模型搭建一个小的聊天应用&#xff0c;ChatGLM6B 是基于 GLM-4 模型开发的开源对话机器人&#xff0c;拥有 62 亿个参数&#xff0c;能够进行自然流畅的语言交流。在对话中&#xff0c;ChatGLM6B 可以胜任文案…

我关于Excel使用点滴的笔记

本篇笔记是我关于Excel使用点滴的学习笔记&#xff0c;摘要和地址链接列表。临时暂挂&#xff0c;后面可能在不需要时删除。 (笔记模板由python脚本于2024年06月28日 12:23:32创建&#xff0c;本篇笔记适合初通Python&#xff0c;熟悉六大基本数据(str字符串、int整型、float浮…

(2024)KAN: Kolmogorov–Arnold Networks:评论

KAN: Kolmogorov–Arnold Networks: A review 公和众与号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. MLP 也有可学习的激活函数 2. 标题的意义 3. KAN 是具有样条基激活函数的 M…

python通过COM Interface控制CANoe

python通过COM Interface控制CANoe 介绍打开示例工程python代码示例介绍 通过python可以控制CANoe的启动和停止等其他操作,在做高阶的自动化项目时可以用到。 打开示例工程 python代码示例 # --------------------------------------------------------------------------…

卫星网络——Walker星座简单介绍

一、星座构型介绍 近年来&#xff0c;随着卫星应用领的不断拓展&#xff0c;许多任务已经无法单纯依靠单颗卫星来完成。与单个卫星相比&#xff0c;卫星星座的覆盖范围显著增加&#xff0c;合理的星座构型可以使其达到全球连续覆盖或全球多重连续覆盖&#xff0c;这样的特性使得…

Redis三种模式——主从复制、哨兵模式、集群

一、Redis模式 Redis有三种模式&#xff1a;分别是主从同步/复制、哨兵模式、Cluster 主从复制&#xff1a;主从复制是高可用Redis的基础&#xff0c;哨兵和群集都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简…

关于ORACLE单例数据库中的logfile的切换、删除以及添加

一、有关logfile的状态解释 UNUSED&#xff1a; 尚未记录change的空白group&#xff08;一般会出现在loggroup刚刚被添加&#xff0c;或者刚刚使用了reset logs打开数据库&#xff0c;或者使用clear logfile后&#xff09; CURRENT: 当前正在被LGWR使用的gro…

深入理解【 String类】

目录 1、String类的重要性 2、常用方法 2、1 字符串构造 2、2 String对象的比较 2、3 字符串查找 2、4字符转换 数值和字符串转换&#xff1a; 大小写转化&#xff1a; 字符串转数组&#xff1a; 格式转化&#xff1a; 2、5 字符串替换 2、6字符串拆分 2、7 字符串…

Mysql中间件和高可用

文章目录 一、MySQL中间件代理服务器MycatMycat应用场景Mycat部署 实现读写分离 二、MySQL高可用高可用解决方案MHA高可用实现MHA 一、MySQL中间件代理服务器 数据库主要分为两大类&#xff1a;关系型数据库与 NoSQL 数据库&#xff08;非关系型数据库&#xff09;。 数据库主…

ATFX汇市:美国大非农数据来袭,美指与欧元或迎剧烈波动

ATFX汇市&#xff1a;今日20:30&#xff0c;美国劳工部将公布6月非农就业报告&#xff0c;其中新增非农就业人口数据最受关注&#xff0c;前值为27.2万人&#xff0c;预期值19万人&#xff0c;预期降幅高达8.2万人。如果公布值确实如预期一般&#xff0c;美联储降息预期将增强&…