红队笔记7--Web机器为Linux&&docker逃逸

这篇具有很好参考价值的文章主要介绍了红队笔记7--Web机器为Linux&&docker逃逸。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

                红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

那么如果是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

总结


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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

1.拿下Linux服务器

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

2001 struts2  2002tomcat   2003phpmyadmin 

1.Struts2-045

首先它是访问了2001端口

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

2.Tomcat 8.5.19 _CVE-2017-12615

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

甚至只用做两步

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

3.CVE-2018-12613

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

于是就可以写shell进去了!!!红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

4.Docker逃逸

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防  可能是受限于docker的环境,所以没有ifconfig的命令

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

ls -a 

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

cat /proc/1/cgroup

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

如果是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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防 然后就是要挂载了:原理就是将Linux的根目录挂载到我们自己的目录下,然后我们呢在自己的目录下操作,就等于直接在Linux的bash下操作!!!

mkdir wanli

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防 创建成功

然后就是挂载了

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

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

cat /etc/passwd

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

然后就是下一个命令了

cat  /etc/shadow   //影子文件

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

至此,我们就得到了一个root的账户,但是我们会发现这样的一个问题,虽然有这个账号,但是是ssh不上的!!!! 这里可能是禁止了root账户的远程登录红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

咋办呢???汗流浃背了      红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

5.通过木马上线Ubuntu

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

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

然后就是去Msfconsole监听就好 

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

2.拿下内网的Win7

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

1.内网信息收集

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

2.用EW搭建隧道

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

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防  

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

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

set payload  windows/meterpreter/bind_tcp

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

但是还是打不通!!!

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防 也许这就是红队的魅力吧,不断遇到问题,不断解决问题

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

这样,也算是勉勉强强地拿下来域内地一台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校验和。

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

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

难道就要束手无策了吗??? 那肯定不是捏    红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

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

systeminfo | find "KB3011780"

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防 如果没有打补丁的话

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

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

伪造完TGT之后就是要将他写入内存里了,首先确保当前是无法访问到DC上的!红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

首先将本机的票据清除 

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

 可以看见是成功清除票据信息的红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防

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

                红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防  

总结

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

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

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

红队笔记7--Web机器为Linux&&docker逃逸,红队,实战攻防   文章来源地址https://www.toymoban.com/news/detail-843771.html

到了这里,关于红队笔记7--Web机器为Linux&&docker逃逸的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 红队笔记Day3-->隧道上线不出网机器

    昨天讲了通过代理的形式(端口转发)实现了上线不出网的机器,那么今天就来讲一下如何 通过隧道上线不出网机器      目录 1.网络拓扑 2.开始做隧道?No!!! 3.icmp隧道 4.HTTP隧道 5.SSH隧道 1.什么是ssh隧道 2.ssh隧道:端口转发 3.SSH远程端口转发 4.ssh动态端口转发 今天我

    2024年02月19日
    浏览(11)
  • 攻防演练中红队常用的攻击方法之横向移动(上)

    横向移动,是攻击者侵入企业系统时,获取相关权限及重要数据的常见攻击手法。了解横向移动的原理有助于个人和企业更好地维护网络安全。 中安网星特此推出了横向移动科普系列,本系列共有三篇文章。 近年来,随着网络攻击、勒索事件频发,企业安全防护需求迅速上

    2024年02月12日
    浏览(13)
  • 红队攻防之PC端微信个人信息与聊天记录取证

    本文转载于:https://blog.csdn.net/shuteer_xu/article/details/128245994 声明: 该公众号大部分文章来自作者日常学习笔记,未经授权,严禁转载,如需转载,联系公众号加白。 请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。 师傅们都

    2024年02月07日
    浏览(12)
  • 《黑客攻防技术宝典:Web实战篇》第二版习题答案

    1. 为什么说应用程序处理用户访问的机制是所有机制中最薄弱的机制?         典型的应用程序使用三重机制(身份验证、会话管理和访问控制)来处理访问。这些组件之间高度相互依赖,其中任何一个组件存在缺陷都会降低整个访问控制机制的效率。例如,攻击者可以利用

    2023年04月08日
    浏览(8)
  • 网络安全学习笔记——蓝队实战攻防

    目录 蓝队及发展趋势         基本概念 ​​​        发展趋势 攻击阶段         准备阶段         情报搜集         建立据点         横向移动 攻击战术         利用弱口令及通用口令         利用互联网边界渗透内网         利用通用产

    2024年02月10日
    浏览(10)
  • BurpSuite实战教程01-web渗透安全测试(靶场搭建及常见漏洞攻防)

    渗透测试(Penetration test)即安全工程师模拟黑客,在合法授权范围内,通过信息搜集、漏洞挖掘、权限提升等行为,对目标对象进行安全测试(或攻击),最终找出安全风险并输出测试报告。 Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况

    2024年02月13日
    浏览(9)
  • 网络安全全栈培训笔记(WEB攻防-51-WEB攻防-通用漏洞&验证码识别&复用&调用&找回密码重定向&状态值)

    知识点: 1、找回密码逻辑机制-回显验证码指向 2、验证码验证安全机制-爆破复用识别 3、找回密码客户端回显Response状态值修改重定向 4、验证码技术验证码爆破,验证码复用,验证码识别等 详细点: 找回密码流程安全: 1、用回显状态判断-res前端判断不安全 2、用用户名重

    2024年01月16日
    浏览(24)
  • 实战攻防演练-Linux写入ssh密钥,利用密钥登录

    密钥形式登录的原理是利用密钥生成器制作一对密钥,一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账

    2024年02月08日
    浏览(11)
  • 网络安全全栈培训笔记(53-WEB攻防-通用漏洞&CRLF注入&URL重定向&资源处理拒绝服务)

    知识点: 1、CRLF注入-原理检测利用 2、URL重定向-原理检测利用 3、Web拒绝服务-原理检测利用 #下节预告: 1、JSONPCORS跨域 2、域名安全接管劫持 #详细点: 1.CRLF注入漏洞,是因为Wb应用没有对用户输入做严格验证,导致攻击者可以输入一些 恶意字符。攻击者一旦向清求行或首部

    2024年01月15日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包