问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
记一次域渗透靶场学习过程
VulnStack7是红日安全团队最近的一个ATT&CK靶场,所以有了记一次域渗透靶场学习过程
0x01环境准备: --------- 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。  至此整个域已经拿下。导出信息,方便以后学习。 
发表于 2021-04-07 20:17:41
阅读 ( 7812 )
分类:
内网渗透
3 推荐
收藏
0 条评论
请先
登录
后评论
带头大哥
50 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!