记一次域渗透靶场学习过程(全程干货)

Posted 李志宽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次域渗透靶场学习过程(全程干货)相关的知识,希望对你有一定的参考价值。

VulnStack7是红日安全团队最近的一个ATT&CK靶场,为一个三层靶场,靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/9/

整体拓扑如下。

 

配置过程这里不再赘述,因为本人主机为linux主机,由于路径问题,导致dmz区域的机器无法正常运行,于是直接砍掉,反正网站为二层的docker环境内,不影响总体操作。且为了增加难度,在PC1和PC2安装了某安全软件,于是拓扑变成了下面这样:

 

记得开启相关服务,在各个机器上。

0x02知识点

  1. 信息收集
  2. Laravel Debug mode RCE(CVE-2021-3129)漏洞利用
  3. Docker逃逸
  4. Linux环境变量提权
  5. 路由转发与代理
  6. CobaltStrike利用
  7. 内网横向
  8. 杀软绕过

0x03入口突破;;’

首先对目标进行端口扫描,获取入口点:

nmap -T4 -sC -sV 192.168.52.20

 

发现开放22端口与8000,访问8000,发现是一个Laravel的网站。

 

而这个版本的框架是存在一个rce漏洞的,即Laravel <= v8.4.2 debug mode: Remote code execution (CVE-2021-3129)。使用POC测试,发现的确可以成功利用

使用一键化工具,写入一个webshell进去就行啦,蚁剑连接:

 

进入终端时发现,主机信息处有些特殊:

Linux 8e172820ac78 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64

猜测可能是docker环境,一般来说有以下两个方法:

  1. 判断根目录下 .dockerenv 文件
  2. 查询系统进程的cgroup信息

发现的确为docker环境

 

0x04 docker逃逸

下面我们要做的就是docker逃逸了,不过目前我们仅仅是一个www权限,所以来进行提权。看了看版本信息,且目标机器存在gcc,此时我们完全可以使用内核提权

 

不过根据靶机的信息,我们这里也使用suid的方法进行提权。查找SUID提权的命令如下:

find / -user root -perm -4000 -print 2>/dev/null find / -perm -u=s -type f 2>/dev/null find / -user root -perm -4000 -exec ls -ldb {} ;

 

发现存在一个shell程序,尝试运行该文件

 

发现其就是在执行ps命令而已,此时我们可以使用路径劫持的方法,来获取一个高权限的shell,首先使用蚁剑反弹一个shell回来

然后替换环境以获取到了一个root的shell.这里可以直接获取一个Cs的shell回来或者是MS的shell.

 

这里为了方便起见,就没有在root的环境下获得会话。下面就是docker逃逸了,在之前我打类似的靶机的时候也遇到docker逃逸的情况,一般使用漏洞进行逃逸或者使用特权模式进行逃逸,我们这里使用特权模式进行逃逸。

即当控制使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。此时查看设备时,会发现拥有很多的设备。

 

然后新建目录并挂载目录:

mkdir /abc mount /dev/sda1 /abc
最终我们可以通过访问容器内部的/abc路径来达到访问整个宿主机的目的:ls /abc

 

下面就是写文件或者写计划任务上线即可。

 

顺便获得了密码文件的内容。通过查看网卡信息,发现后面的192.168.93.0的网段以及本网段192.168.52.0,下面就是横向移动了。

 

0x05内网横向

因为是上线的Cs所以我们很多操作不是很方便操作,所以我们先对192.168.52.0来进行测试,直接一个ping获取本网段的存活主机信息(可能不是很准确)

for k in $( seq 1 255);do ping -c 1 192.168.99.$k|grep "ttl"|awk -F "[ :]+" '{print $4}'; done

但是毫无反应,没关系,我们直接搞个sockets代理进去。

 

发现目标网段内具有30这个主机,我们再对其进行信息收集。发现其开放了8082端口

访问之,发现是一个OA系统

 

下面就好说了,拿shell就可以了。首先伪造session登录后台。

 

然后附件添加一个存储

 

选择 组织-管理员-附件上传-txt,抓包修改

 

抓包修改,绕过黑名单 txt修改为 php.

挂好代理,蚁剑成功连接

 

但此时我们是无法执行命令的,因为有杀软的缘故,我们执行命令会被拦截

 

绕过方法就是使用自定义终端

 

然后我们就可以执行命令了,因为第二个网段是出网的,所以直接powershel上线即可

然后就是提权、抓密码一条龙

 

0x06获取域控

而且因为该机器使用域管理员来启动OA的缘故,机器上也存在域管信息,直接拿到域管密码。

 

通过net view发现其93段下面的其他机器

 

发现DC字样,因为我们已经有了域管的密码,直接横向过去

 

均失败,没关系我们使用net use来做,尝试关闭它的防火墙,然后再横向。

 

拿下域控。然后我们继续横向下一台机器,因为有火绒的存在,我们没有办法直接横向过去,我们选择使用net use的方法把我们的免杀马复制过去,然后在获取session。

 

至此整个域已经拿下。导出信息,方便以后学习。

最后在多说几句:我是一名网络安全工程师,也是刚开始做自媒体

为了感谢读者们,我想把我收藏的一些网络安全/渗透测试学习干货贡献给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本网安必看电子书(主流和经典的书籍应该都有了)

② PHP标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ 网络安全基础入门、Linux运维,web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

各位朋友们可以关注+评论一波 然后私信 备注:CSDN  即可免费获取

 

 

以上是关于记一次域渗透靶场学习过程(全程干货)的主要内容,如果未能解决你的问题,请参考以下文章

记一次靶场实战网络安全

安全学习记一次内网环境渗透

后渗透之权限维持——隐藏用户的创建和使用(全程干货)

内网渗透之Msf-Socks代理实战(CFS三层靶场渗透过程及思路)

超细DVWA靶场搭建--(小黑栈渗透测试初级篇1)

记一次渗透测试过程中的Zabbix命令执行利用