红队笔记7--Web机器为Linuxdocker逃逸

news2025/1/18 17:06:29

其实,不知道大家有没有想过,我们之前练习的都是web机器是windows的版本,但是其实,在现实生活中,服务器一般都是Linux的版本,根本不可能用到windows的版本

                

那么如果是Linux的话,我们就有很多的困难,比如说Linux的木马,cs没有插件能上线Linux? 

IPC横向移动?? 有一些代理工具不支持Linux ??? 这时候困难就出现了,但是没事!!

道高一尺魔高一丈!!!!我们一起来看看怎么打!!!


声明:本次的靶场来自于红日的vulstack靶场,课件内容来自于万里老师!!!


目录

1.拿下Linux服务器

1.Struts2-045

2.Tomcat 8.5.19 _CVE-2017-12615

3.CVE-2018-12613

4.Docker逃逸

1.Dirty Cow逃逸

2.特权模式逃逸

3.通过写入技术写入特权账号

5.通过木马上线Ubuntu

2.拿下内网的Win7

1.内网信息收集

2.用EW搭建隧道

3.拿下DC域控

MS14-068

总结


以下是本次实验拓扑!!! 

1.拿下Linux服务器

首先,它的Linux服务器开了三个docker服务,wanli老师分别用御剑扫出来了三个端口

2001 struts2  2002tomcat   2003phpmyadmin 

1.Struts2-045

首先它是访问了2001端口

通过f12在代码种找到了 Sruts2的框架

然后就是用struts2的漏扫工具去扫了,然后就能发现是存在对应的漏洞

而且whoami的返回值是一个root!!!说明很有可能是一个Linux的服务器,但是不管怎么样,rce文件上传都是可以了的,这样就已经算是把第一个靶机拿下了~~

2.Tomcat 8.5.19 _CVE-2017-12615

然后他就是能访问到了tomcat的页面

而对于这个版本,是存在文件上传的!!! 

甚至只用做两步

  1. 将POST格式改成PUT格式 ,并且添加一个  /wanli.jsp/的目录
  2. 然后将jsp木马内容粘贴到post包内

这个应该是一个解析漏洞吧,之前没见过,不管咋地,反正就是getshell了

3.CVE-2018-12613

这个就有点逆天了,直接访问,可以免密码登录(现实生活中怎么可能)

然后这个靶场,是存在文件包含的漏洞的,通过构造poc,可以看见它的用户信息

于是就可以写shell进去了!!!

至此,三个靶场都被拿下了

4.Docker逃逸

上面也说到了,他是一个Linux的服务器,那么既然能够RCE那么我们就可以尝试一下信息收集

正常来说,ifconfig是可以看见网卡信息的,但是!!

  可能是受限于docker的环境,所以没有ifconfig的命令

 ip addr  //可以换成这个命令

所以我们在看见ifconfig用不了的时候,我们就可以去想一下是不是docker环境

ls -a 

用这个命令看一下能否看见 .docker.env这个隐藏文件,或者

cat /proc/1/cgroup

如果是docker环境,那么就要docker逃逸

1.Dirty Cow逃逸

dirty cow漏洞可以让我们获取只读内存的写的权限,我们首先利用dirty cow漏洞写入一段shellcode到VDSO映射的一段闲置内存中,然后改变函数的执行顺序,使得调用正常的任意函数之前都要执行这段shellcode。这段shellcode初始化的时候会检查是否是被root调用,如果是则继续执行,如果不是,则接着执行clock_gettime函数,接下来它会检测/tmp/.X文件的存在,如果存在,则这时已经是root权限了,然后它会打开一个反向的TCP链接,为Shellcode中填写的ip返回一个Shell。\n\n这种利用方法利用成功的前提是,宿主机的内核有dirty cow漏洞。

但是,在操作的过程中,就发现了一下问题

  1. git命令使用不了(虽然可以上传脚本)
  2. make命令用不了(这基本上就说明了这个漏洞是不存在的)
  3. ping 百度 8.8.8.8也ping不通,(apt install || update肯定是不行的)

所以不管存不存在这个漏洞,肯定是利用不了的

2.特权模式逃逸

使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。

所以我们可以先用这个命令判断一下

fdisk -l

如果能看见如下的情况,基本上就可以逃逸了

 然后就是要挂载了:原理就是将Linux的根目录挂载到我们自己的目录下,然后我们呢在自己的目录下操作,就等于直接在Linux的bash下操作!!!

mkdir wanli

 创建成功

然后就是挂载了

mount  /dev/sda1   wanli    //将Linux的根目录挂载到wanli目录下

然后就是去查看一下是否挂载成功了

okay 那么我们现在能查看系统文件了,但是我们还想远程上去捏!!

3.通过写入技术写入特权账号

我们的想法就是创建一个特权用户!!在此之前,先来普及一些知识

cat /etc/passwd

 username : password : UserID : GroupID : comment : home directory : shell 
用户名 : 密码 : 用户表示符 : 组标识符 : 注释性描述 :主目录 : 登陆的shell 

然后就是下一个命令了

cat  /etc/shadow   //影子文件

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

那么了解完以上的知识之后,我们就可以开始操作了

我们可以先写入以下两条命令,顺便来解释一下

  1. 第一行命令就是追加一个wanli账号,并且具有root的权利
  2. 第二行就是创建wanli的密码,并且写入 /etc/shadow 文件其中的密码,其他直接照搬root的就好了,对于密码我们可以自己先去创建一个账号,然后再去看影子文件,然后照搬那个密码就好了!!!!

至此,我们就得到了一个root的账户,但是我们会发现这样的一个问题,虽然有这个账号,但是是ssh不上的!!!! 这里可能是禁止了root账户的远程登录

咋办呢???汗流浃背了      

但是还是那句话,道高一尺魔高一丈!!!

我们可以先创建一个普通用户,然后以普通用户的身份ssh连接,然后再 su wanli就好了!!

可以看见成功完成dokcer逃逸,拿下Ubuntu的bash!!!

5.通过木马上线Ubuntu

那既然都能get实体shell了,那我们肯定是要上线cs或者msf啦!!!

但是又遇到问题了,cs上线Linux??? 这又要去某hub上下载插件了呀!!!

那我肯定不想啊!!但是msf能上线Linux!!!

msf也集成了一键生成木马,不过记得它的后缀名字是elf哦!!

生成之后,我们就可以部署一个http服务(同一网段)!!然后让Ubuntu去下载

然后去Ubuntu中的shell去执行下载木马的命令

然后就是去Msfconsole监听就好 

记得该权限,然后运行就好 

至此,我们就拿下了第一台Web_Linux机器了!!!!

2.拿下内网的Win7

虽然这里它最后是失败了,但是还是对我们来说能产生一定的思考和收获的!!!

1.内网信息收集

进到内网,肯定是先进行信息收集,能发现还有一个网卡!!!

那么就可以去扫描,,可以写shell脚本实现域内探测主机,不过麻烦了!!我们直接上传fscan!!一键探测!

其中130 是DC ,128是域内主机(而且都存在ms17-010!!!)

2.用EW搭建隧道

那么就算发现内网存在漏洞,那也没有用捏!!流量出不来!!

所以我们就要搭建隧道了!!!

这里用的EW,我在以前讲过,确实挺强大的,确实挺不错的!!主要是比frp简单

然后这里它用的是正向连接,上传EW到Linux服务器,然后用启用socks5代理,让kali正向连接1080端口,这样就通过Ubuntu的1080端口,我们就打通了一条进入内网的隧道!!!!

其实这里用正向连接还是反向连接主要要看目标出不出网以及防火墙对流量的过滤情况,

还是那句话!!!视情况而定!!!!

  

这样就开启了Ubuntu上的8765端口,等待我们kali去连接

修改以下 /etc/proxychains4.conf 这个文件,让我们以后的流量直接走socks5 Ubuntu代理!!

至此,我们可以利用kali来渗透内网啦!!!!msf直接走起

一套流程下来,竟然是如此熟悉!!!

但是网安的魅力,总在与其多变性,在这里,就算是能扫描出来这个漏洞但是也是攻击不上!!

这是我之前的,也是发现会出现此类情况,即使能检测出漏洞,但是也是攻击不成功

当然了,wanli老师在这里也是使用了其他的解决方法

1. 更换payload,毕竟我们连进去用的也是正向连接,但是永恒之蓝是用的反向连接

set payload  windows/meterpreter/bind_tcp

但是还是打不通!!!

2.更换永恒之蓝的利用版本 

但是非常可惜,就算是尝试了所有的版本的永恒之蓝也是打不进去

 也许这就是红队的魅力吧,不断遇到问题,不断解决问题

这里他就没有展示别的攻击方法了,手动上线了一波

这样,也算是勉勉强强地拿下来域内地一台Windows7了吧!!

3.拿下DC域控

既然我们都拿下了域内的机器了,那就横向移动咯!!!

这里,我们不用IPC ,不用psexec ,不用wmic 这些。来尝试一下漏洞利用

MS14-068

当然了这个漏洞和黄金票据,白银票据那些有些像,都算是一种PTT的攻击,(域内攻击老多了,像什么  PTH  PTT PTC 等等等等,不列举了)但是他不需要去知道krbtgt的hash!!

这个漏洞不需要拿到 Krbtgt 或者 服务账号的ntlm hash ,但是需要DC没有打补丁!!!

以下是它的原理:

该漏洞最本质的地方在于Microsoft Windows Kerberos KDC无法正确检查Kerberos票证请求随附的特权属性证书(PAC)中的有效签名,这里面的签名就是上面提到的服务检验和以及KDC校验和。导致用户可以自己构造一张PAC。 签名原本的设计是要用到HMAC系列的checksum算法,也就是必须要有key的参与,我们没有krbtgt的hash以及服务的hash,就没有办法生成有效的签名,但是问题就出在,实现的时候允许所有的checksum算法都可以,包括MD5。那我们只需要把PAC 进行md5,就生成新的校验和。这也就意味着我们可以随意更改PAC的内容,完了之后再用md5 给他生成一个服务检验和以及KDC校验和。

不知道大家还记不记得以前我讲的白银票据

为了防止白银票据,Microsoft引进了PAC

PAC:Privilege Access Certificate 在TGT里面包含PAC,PAC包含用户的sid,用户所在的组

在白银票据中,有些服务并没有验证PAC这一步,这也是白银票据能成功的前提,但是如果加入了验证服务的这一步呢??? 那么白银票据是不是就失败了!!!而且!只有KDC能制作PAC!!

难道就要束手无策了吗??? 那肯定不是捏    

于是这里就是MS14-068 的魅力了!!!

首先检测有没有打补丁(如果打了基本上就没有机会了)(在域控上检查哦)

systeminfo | find "KB3011780"

 如果没有打补丁的话

那么就可以进行攻击啦!!!

whoami /user    //这个可以查看它的sid值

然后就是用工具伪造一张TGT

伪造完TGT之后就是要将他写入内存里了,首先确保当前是无法访问到DC上的!

首先将本机的票据清除 

mimikatz.exe  kerberos::list  //查看当前票据信息
mimikatz.exe  kerberos::purge

 可以看见是成功清除票据信息的

然后将刚才生成的TGT写入内存中

然后此时,我们就可以看见我们能够访问到域控的C盘了

接下来就是利用Psexec这样的工具拿下它的shell了(这里我还没学)

                  

总结

对于这一次的vulstack靶场环境,还是比较真实的还原了企业内部的环境的(就web机器来说)

其中遇到的问题也是比较贴切生活的,像用的Linux服务器,cs存在对应的限制,msf上线不成功,proxychains的摇曳等等等等,都是现实生活中会遇到的众多的问题,总之还是那句话

学海无涯,学无止境,cease to live ,cease to struggle !!!

   

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

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

相关文章

express+mysql+vue,从零搭建一个商城管理系统14--快递查询(对接快递鸟)

提示:学习express,搭建管理系统 文章目录 前言一、安装md5,axios,qs二、新建config/logistics.js三、修改routes/order.js四、添加商品到购物车总结 前言 需求:主要学习express,所以先写service部分 快递鸟…

隐藏深的bug发现不了 ,有点挫备感 ,那是你没有进行bug总结 。

1.bug总结的意义 作为功能测试人员来说,可能有一半的时间都花在了和bug打交道上,比如如何发现bug ,提交bug ,跟踪bug以及回归bug上 。作为测试人员最重要的成果的bug ,我们往往更看重的是它的数量 ,却很少…

Android 辅助功能 -抢红包(三)

Android 辅助功能 -抢红包(三) 本篇文章继续讲述辅助功能. 主要通过监听通知栏红包消息,来跳转聊天页面,并自动回复对方"谢谢". 上篇文章我们讲述了监听notification, 跳转聊天界面. 具体可查看: Android 辅助功能 -抢红包(二) 1: 使用monitor抓取id. 打开andro…

RabbitMQ 模拟实现【六】:程序模拟实现

文章目录 模拟实现模拟消费者模拟生产者效果展示 启动结果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/71841546ad8043f1bd51e4408df791de.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f6e3e72ff9a4483c978ec48e24f075c2.p…

运营模型—RFM 模型

运营模型—RFM 模型 RFM 是什么其实我们前面的文章介绍过,这里我们不再赘述,可以参考运营数据分析模型—用户分层分析,今天我们要做的事情是如何落地RFM 模型 我们的数据如下,现在我们就开始进行数据处理 数据预处理 因为数据预处理没有一个固定的套路,都是根据数据的实…

Unity类银河恶魔城学习记录10-1 10-2 P89,90 Character stats - Stat script源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Stat.cs using System.Collections; using System.Collections.Generic; us…

C类期刊:基于改进粒子群优化算法的电力系统有功最优潮流程序代码!

程序提出了一种基于改进粒子群优化算法的有功最优潮流模型及求解方法,采用了自适应罚函数法处理最优潮流问题的各种约束条件。通过对IEEE-30节点系统的仿真计算,并且与遗传算法进行比较,验证了提出的模型和方法的有效性。程序算例丰富、注释清…

3.排序查找——2.整数奇偶排序

输入 4 7 3 13 11 12 0 47 34 98 输出 47 13 11 7 3 0 4 12 34 98 【提交地址】 题目分析 关键是找到交换位序的逻辑,有如下几种情况: 左值为奇数,右值为偶数 > 不需要交换左值为偶数,右值为奇数 > 需要交换左值和右值同…

【数据结构】 Map和Set万字总结(搜索树+哈希桶+使用方法+实现方法)

文章目录 Map和Set一、搜索树1.二叉搜索树的查找(search)2.二叉搜索树的插入3.二叉搜索树的删除4.性能分析 二、搜索方法1.概念 三、Map的使用1.概念:2.Map的常用方法:1.V put(K Key ,V Value )2.V get(Object key)3.V getOrDefau…

YOLOv8旋转目标检测实战:训练自己的数据集

课程链接:https://edu.csdn.net/course/detail/39393 旋转目标检测是计算机视觉领域的一个高级任务,它在传统目标检测的基础上进一步发展。传统目标检测技术主要关注于识别和定位图像中的物体,通常以水平边界框(HBB)来标识目标物体的位置。而…

某阿系影城网爬虫JS逆向

本次逆向目标网站如下,使用base64解码获得 aHR0cHM6Ly9oNWxhcmsueXVla2V5dW4uY29tL2ZpbG0vaW5kZXguaHRtbD93YXBpZD1GWVlDX0g1X1BST0RfU19NUFMmc3RhbXA9MTcxMDExNzc5NDM0NiZzcG09YTJvZjYubG9jYXRpb25faW5kZXhfcGFnZS4wLjA= 打开网站,发起请求后,发现请求参数没有加密,请求头…

【Stable Diffusion】入门-03:图生图基本步骤+参数解读

目录 1 图生图原理2 基本步骤2.1 导入图片2.2 书写提示词2.3 参数调整 3 随机种子的含义4 拓展应用 1 图生图原理 当提示词不足以表达你的想法,或者你希望以一个更为简单清晰的方式传递一些要求的时候,可以给AI输入一张图片,此时图片和文字是…

CorelDRAW2024中文版全新功能和软件使用介绍!

亲爱的用户们,我们非常高兴地向您介绍CorelDRAW 2024的全新功能和软件使用介绍!作为一款深受设计师们喜爱的图形设计软件,CorelDRAW一直在不断地优化和升级,力求为您提供更加优秀的创作体验。今天,我们就来一起了解一下…

免费开源的 Vue 拖拽组件 VueDraggablePlus (兼容移动端)

VueDraggablePlus 支持 Vue2 / Vue3,是被尤雨溪推荐了的拖拽组件。我自己试用过了,还挺好用的,兼容移动端。 官网:https://alfred-skyblue.github.io/vue-draggable-plus/ 官网文档里面很详细了,我就不再介绍安装和用…

vitepress里使用gitalk(图文教程)

vitepress里使用gitalk Gitalk 是一个基于 GitHub Issue 和 Preact 开发的评论插件 生成client配置 创建OAuth application 填写完毕,点击 Register application 即可 生成client secrets 一开始没有自动生成 Client secrets,需要手动生成&#xff…

亚信安慧AntDB数据库分布式架构剖析之snapshot receiver进程

本文主要介绍亚信安慧AntDB数据库的分布式架构下的特有进程之snapshot receiver的设计,这也是分布式架构的核心进程之一。 进程简介 该进程的作用从逻辑上解释包含两个方面: 同步快照,并且是作为通信的client端存在 同步事务号,…

css之常用样式

展示样式一&#xff1a; <div class"showListBox"><div class"List" v-for"(i,index) in sealList" :key"index"> <div class"ListItemCon"><div class"ListItem-titleBox"><img src…

Ollama管理本地开源大模型,用Open WebUI访问Ollama接口

现在开源大模型一个接一个的&#xff0c;而且各个都说自己的性能非常厉害&#xff0c;但是对于我们这些使用者&#xff0c;用起来就比较尴尬了。因为一个模型一个调用的方式&#xff0c;先得下载模型&#xff0c;下完模型&#xff0c;写加载代码&#xff0c;麻烦得很。 对于程…

工作中用到的 —— 工作总结提炼出来的股文

这里是目录 ---------------- VUE相关 -----------------1 - Vue3 是怎么得更快的&#xff1f;1-1 Fragment [frɡˈment]1-2 Suspense [səˈspens]1-3 Teleport [ˈtelipɔːt]1-4 v-memo 2- 说一下 Composition API3- 说一下 setup4- watch 和 watchEffect 的区别5- Vue3 响…

mysql索引 (索引的忧缺点 ,联合索引)

索引的忧缺点 优点 &#xff08;增加读操作效率&#xff0c;排序成本&#xff09; 1 查询效率高 2 降低排序成本&#xff0c;索引对应的字段 就已经 自动排序&#xff0c;因为索引本身就是一种排好序的数据结构 缺点&#xff08;降低写操作效率&#xff0c;占用空间&#xf…