渗透测试实战 | docker复杂环境下的内网打点

本文作者:Track-syst1m

一.前言

本文涉及的相关漏洞均已修复、本文中技术和方法仅用于教育目的;文中讨论的所有案例和技术均旨在帮助读者更好地理解相关安全问题,并采取适当的防护措施来保护自身系统免受攻击。

二.大概流程

1. 外网打点

  • 漏洞利用
    • 通过1Day SQL注入(MySQL)和XXE漏洞获取初始权限。
    • 发现隐藏资产(**/jmreport**),确认为Jeecg-Boot系统,利用已知RCE漏洞获取Shell。
  • 反弹Shell受阻
    • 目标环境严格限制出网,常规反弹Shell失败。
    • 尝试多种内存马注入工具,最终使用特制版哥斯拉成功植入内存马。

2. 进入Docker环境

  • 确认环境
    • 发现当前Shell处于Docker容器内,且无法逃逸。
    • 手动打入sou5内存马,建立隧道(如Socks5代理)进入Docker内网。
  • 内网侦察
    • 使用webshell工具自带的端口扫描探测内网存活主机。
    • 通过fscan快速扫描内网资产,发现多个开放服务(MySQL、MSSQL、Web等)。

3. 内网横向渗透

(1)数据库攻陷
  • MySQL
    • 发现Druid未授权访问(但无近期登录记录)。
    • 通过Swagger API接口报错注入获取MySQL root密码。
    • 破解哈希后尝试连接,但目标数据库限制外部访问。
  • MSSQL
    • 通过密码复用进入MSSQL服务器,但目标不出网,无法进一步利用。
(2)系统攻陷
  • Linux主机
    • 利用S2漏洞攻陷一台Linux服务器(不出网)。
    • 发现多台SSH弱口令主机(无法出网)。
  • Windows主机
    • 利用**永恒之蓝(MS17-010)**攻陷一台Windows机器。
    • 抓取密码,尝试突破内网隔离进入其他网段。
(3)突破隔离
  • 通过已攻陷的Windows主机作为跳板,进入内网其他隔离网段。
  • 继续扫描新网段,发现更多弱口令和未授权访问漏洞。

4. 最终成果

  • 控制多台内网主机(Linux、Windows、数据库)。
  • 获取多个高权限账户(MySQL root、MSSQL sa、SSH弱口令)。
  • 突破内网隔离,进入不同网段。

三.正文

3.1外网打点

群里师傅拿下的点

登陆口1day注入,mysql

xxe

外网还有很多小的点,没权限懒的写

3.2隐藏资产

开头拿到资产,对资产做全端口扫描的时候,发现存在一个端口,但是访问404

本着不放过每一个地方的原则,扫了目录,发现几个路径

/jmreport/save
/jmreport/xxxx

一开始没认出来是什么东西,访问全部无权限,继续对二级目录扫描,发现积木报表

jeecg-boot直接梭哈,rce有了

3.3坑点

反弹shell的时候,发现根本弹不回来,根本不出网,同时为jar包部署,除了内存马别无选择了

但是使用工具梭哈的时候,根本打不进去

3.4手工打入内存马

没办法只能手动打内存马了,最开始试了各种内存马各种办法,发现都打不进去,最后突然想起来以前有用特战版哥斯拉一样的情况,也可能是被拦截了,最后换了个版本的哥斯拉,成功拿下

3.5docker下内网横向

进来后发是docker环境,且无法逃逸,继续手动打sou5内存马开出隧道,我只能说jmg yyds

用 cs 自带的端口扫描扫一下

成功代理进docker网段

没什么好说的,丢fscan直接上去扫就完了,linux下都不用做免杀

捡到一个druid未授权,但是什么用了最近登陆时间为24年,直接放弃,看向swagger,丢给apikit自动fuzz

大部分都是401

但还是有接口报错mysql,简单手注拿到root,同时拿到新的资产,100段

丢sqlmap开始跑出root密码,丢md5解开,但是问题来了,死活连不上,查看数据库是可以任意ip连接的,同时端口也是3306,没办法只能换下一台

继续丢fscan扫新的网段资产,通过密码复用打下一批数据库,其中有一个mssql,可惜不出网

mssql rce,不出网

s2漏洞拿下一台,不出网linux

永恒之蓝拿下一台,不出网win

msf添加代理

setg Proxies socks5:127.0.0.1:1080
setg ReverseAllowProxy true

不出网,但是抓到密码了

两台弱口令ssh,不出网

内网还有n多弱口令。。。还有其他网段,通过永恒之蓝拿下的windows可以突破内网隔离,进入内网其他隔离网段,内网web没有细打,拿了一批弱口令的,到时间了就没打了。一直没打到出网机加上docker又是小水管,很卡,非常折磨,就这样吧,打了个七七八八

四.参考文章

打的不够爽,附赠一篇之前的内网文章:《某地级市三甲医院从sql注入到内网漫游

mp.weixin.qq.com/s/A-qatz9MRVrXgNANeqdlpA

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关    

网络安全学习路线/web安全入门/渗透测试实战/红队笔记/黑客入门


感谢各位看官看到这里,欢迎一键三连(点赞+关注+收藏)以及评论区留言,也欢迎查看我主页的个人简介进行咨询哦,我将持续分享精彩内容~

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

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

相关文章

阿里云服务器 CentOS 7 安装 MySQL 8.4 超详细指南

阿里云服务器 CentOS 7 安装 MySQL 8.4 超详细指南 一、准备工作 系统要求: CentOS 7.9 64位2 核(vCPU)2 GiBroot 用户权限 服务器连接工具: FinalShell 下载安装包: 访问 MySQL 官网选择版本:MySQL 8.4.0…

解决 Electron 中 window.open 打开新窗口的各种“坑”

嘿,各位开发者们!今天我们要聊聊在使用 Electron 时遇到的一个经典问题:如何正确地使用 window.open 来打开新窗口? 这听起来似乎很简单,但实际上却充满了各种“惊喜”(或者说“惊吓”)。别担心…

朝歌智慧盘古信息:以IMS MOM V6重构国产化智能终端新生态

随着5G、云计算、AI、大数据等技术深度渗透,智能终端行业正迎来场景化创新的爆发期。面对市场需求升级与技术迭代压力,国产化智能终端领域领军企业——广东朝歌智慧互联科技有限公司(以下简称“朝歌智慧”),基于集团“…

docker 离线安装postgres+postgis实践

文章目录前言一、离线安装docker二、导出导入PG镜像1.导出2.导入三、启动容器四、验证与测试前言 在企业内网环境中部署地理信息系统(GIS)时,常常面临网络隔离导致无法在线拉取 Docker 镜像的问题。 本文将详细介绍如何通过离线方式完成 Pos…

视频、音频录制

1,项目介绍。 实现全屏录屏、选择区域录屏、摄像头录像、麦克风录音、主板音频录音、截屏画板的自由组合。并通过FFmpeg完成音频与视频的合并。 功能界面 画板画笔 参考的项目 https://github.com/yangjinming1062/RecordWin 本项目是在此项目的基础上修复了部…

Linux文件系统理解1

目录一、初步理解系统层面的文件1. 文件操作的本质2. 进程管理文件核心思想二、系统调用层1. 打开关闭文件函数2. 读写文件函数三、操作系统文件管理1. 文件管理机制2. 硬件管理机制四、理解重定向1. 文件描述符分配规则2. 重定向系统调用3. 重定向命令行调用五、理解缓冲区1. …

科技向善,银发向暖:智慧养老与经济共筑适老未来

人口老龄化是当今中国社会面临的重大课题,也是推动社会变革与经济转型的重要引擎。随着数字技术的飞速发展,“智慧养老”正以科技向善的温度,为老年群体构建更舒适、更安全、更有尊严的晚年生活,同时为银发经济注入蓬勃活力&#…

numpy库 降维,矩阵创建与元素的选取,修改

目录 1.降维函数ravel()和flatten ravel(): flatten(): 2.矩阵存储与内存结构 3.修改矩阵形状的方法 4.特殊矩阵创建 全零矩阵: 如np.zeros(5) 创建含5个零的一维数组,输出中零后的点(如 0.)表示浮点数类型。 全一矩阵:如n…

SpringCloud seata全局事务

项目https://github.com/apache/incubator-seata docker拉取启动server $ docker run --name seata-server -p 8091:8091 apache/seata-server:2.1.0 seata注册到nacos <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-…

OpenLayers 快速入门(八)事件系统

看过的知识不等于学会。唯有用心总结、系统记录&#xff0c;并通过温故知新反复实践&#xff0c;才能真正掌握一二 作为一名摸爬滚打三年的前端开发&#xff0c;开源社区给了我饭碗&#xff0c;我也将所学的知识体系回馈给大家&#xff0c;助你少走弯路&#xff01; OpenLayers…

【Linux | 网络】应用层(HTTPS)

目录一、HTTPS的概念二、准备概念2.1 什么是加密和解密2.2 为什么要加密2.3 常见的加密方式2.3.1 对称加密2.3.1 非对称加密2.4 数据摘要&&数据指纹三、HTTPS理解过程3.1 只使用对称加密3.2 只使用非对称加密3.3 双方都使用非对称加密3.4 对称加密 非对称加密3.5 中间…

GRE协议

一、实验拓扑二、实验配置1、静态路由实现GRERT1配置&#xff1a;RT1(config)# int fa1/0RT1(config-if)# ip add 192.168.20.1 255.255.255.0RT1(config-if)# no shutdownRT1(config)# int fa0/0RT1(config-if)# ip add 172.1.1.2 255.255.255.0RT1(config-if)# no shutdownRT…

JDialong弹窗

public class DialogDemo extends JFrame {public DialogDemo(){this.setVisible(true);this.setSize(700,500);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame 放东西&#xff0c;容器Container contentPane this.getContentPane();//绝对布局conte…

tlias智能学习辅助系统--违纪处理(实战)

目录 1.StudentController.java 2.interface StudentService 3.StudentServiceImpl.java 4.interface StudentMapper 1.StudentController.java // 违纪处理PutMapping("/violation/{id}/{score}")Operation(summary "违纪处理")public Result violat…

传统RNN模型笔记:输入数据长度变化的结构解析

一、案例背景 本案例通过PyTorch的nn.RNN构建单隐藏层RNN模型&#xff0c;重点展示RNN对变长序列数据的处理能力&#xff08;序列长度从1变为20&#xff09;&#xff0c;帮助理解RNN的输入输出逻辑。 二、核心代码与结构拆解 def dm_rnn_for_sequencelen():# 1. 定义RNN模型rnn…

OpenLayers 快速入门(四)View 对象

看过的知识不等于学会。唯有用心总结、系统记录&#xff0c;并通过温故知新反复实践&#xff0c;才能真正掌握一二 作为一名摸爬滚打三年的前端开发&#xff0c;开源社区给了我饭碗&#xff0c;我也将所学的知识体系回馈给大家&#xff0c;助你少走弯路&#xff01; OpenLayers…

测试左移方法论

测试左移&#xff08;Shift-Left Testing&#xff09;​是一种软件测试方法论&#xff0c;核心思想是将测试活动从传统的开发后期&#xff08;如系统测试、验收测试阶段&#xff09;提前到软件生命周期的更早期阶段&#xff08;如需求分析、设计、编码阶段&#xff09;&#xf…

OpenCV(01)基本图像操作、绘制,读取视频

图像基础 import cv2 as cv#读取图像 cv.imread(path,读取方式)默认读为彩色图像 #cv.imread(path) cat cv.imread(E:\hqyj\code\opencv\images\\face.png)#显示图像 cv.imshow(window,img) cv.imshow(myimg,cat)print(cat) print(cat.shape) #(h,w,c) 元组(1,1) print(cat…

biji 1

1.应用层&#xff1a;为应用程序提供网络服务。2.表示层&#xff1a;定义数据的格式&#xff0c;对数据进行压缩、解压缩、加密、解密、编码、解码。3.会话层&#xff1a;对通信双方间的会话进行建立、维护、拆除-----session id---区分同一应用程序的不同进程4.传输层&#x…

mongodb的备份和还原(精简)

1 官网下载对应版本msi2 运行msi mongodb-database-tools-windows-x86_64-100.12.2.msi3 将安装地址加到环境变量 C:\Program Files\MongoDB\Tools\100\bin4 查看version mongodump --version mongorestore --version5 运行 备份命令 mongodump --host 127.0.0.1 --db dbname--…