69 内网安全-域横向CobaltStrikeSPNRDP

news2025/1/21 4:52:58

目录

    • 演示案例:
      • 域横向移动RDP传递-Mimikatz
      • 域横向移动SPN服务-探针,请求,导出,破解,重写
      • 域横向移动测试流程一把梭哈-CobaltStrike初体验
    • 涉及资源

在这里插入图片描述
SPN主要是扫描技术,在渗透过程中结合kerberos协议,可以做一些事情

演示案例:

域横向移动RDP传递-Mimikatz

除了上述讲到的IPC,WMI,SMB等协议的链接外,获取到的明文密码或HASH密文也可以通过RDP协议进行链接操作。

RDP远程的连接协议,在linux上面就是ssh,在windows上面就是RDP,就是我们常说的3389,开放3389就可以进行远程连接,连接的东西也是建立在明文密码和hash

得到明文密码就可以直接用rdp协议连接
电脑属性>远程桌面终端

RDP明文密码链接

windows: mstsc
mstsc.exe /console /v:192.168.3.21 /admin
linux: rdesktop 192.168.3.21:3389

RDP密文HASH链接
windows Server需要开启 Restricted Admin mode,在windows 8.1和Windows Server 2012 R2中默认开启,同时如果win 7 和windows Server2008 R2安装了2871997、2973351补丁也支持;开启命令:

REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v
DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f

hash连接比较鸡肋,不是很常见
开启后运行:

mstsc.exe /restrictedadmin
mimikatz.exe
privilege::debug
sekurlsa::pth /user:administrator /domain:god
/ntlm:ccef208c6485269c20db2cad21734fe7 "/run:mstsc.exe/restrictedadmin"

域横向移动SPN服务-探针,请求,导出,破解,重写

kerberos中的spn详解:https://www.cnblogs.com/backlion/p/8082623.html
黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。这就是Kerberoastinq攻击的关键。
一般我们在进行内网渗透会采取端口扫描,来判定内网其它主机的开放程度和端口的一个情况,但在这里,我们使用端口扫描技术会触发一些防火墙,我们经常使用nmap扫描的知道,在nmap去扫一些带防火墙的服务器的话,有时候扫描不准,或者直接把你拦截了,他会检测到这是外部流量,有扫描的一些攻击,那么就扫描不出一些东西出来,这个是很常见的。SPN扫描就能解决这个问题,SPN扫描是优先于我们常用端口扫描的,不会被防火墙这些东西给触发,而且同样的能探针服务,命令相当简单,非常舒服,非常快
探针就是探针SPN服务,看一下有那些服务,然后在根据不同的服务,选择对应我们要操作的服务,请求完之后,我们就会相当于建立会话的东西,建立连接,然后在用相关工具把连接的数据给导出来,导出来由于他的连接,这个加密形式是可以进行破解的,所以我们可以进行破解来找到连接的东西
探针只需要一个用户就行了,不需要管理员权限,setspn是自带的命令
探针

setspn -q */*
setspn -q */* | findstr "MSSQL"

在这里插入图片描述
请求

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "xxxx"
mimikatz.exe "kerberos::ask /target:xxxx"

xxxx替换掉刚刚得到的服务名,也可以用mimikatz进行请求,请求完之后,就会得到凭据
导出

mimikatz.exe "kerberos::list /export"

用mimikatz看能不能把他导出来
破解

python tgsrepcrack.py passwd.txt xxxx.kirbi
python3 .\tgsrepcrack.py .\password.txt .\1-40a00000-jerry@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi

导出来之后,用相关工具和脚本进行破解,这个破解可以利用到前面介绍的hashcat工具,也可以用单独破解的py脚本,一般大部分破解脚本都是借于字典
重写

python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -u 500
python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -g 512
mimikatz.exe kerberos::ptt xxxx.kirbi   # 将生成的票据注入内存

在这里插入图片描述
这些服务,有些是可以直接攻击的,比如说我知道他上面开有sqlserver,或者其它的exchage,这些也都是被常见攻击的,exchage官方自带的邮件服务器,就好比我们进行端口扫描,进行的判定
在这里插入图片描述
首先我们要攻击他的话,我们要把名字给保存一下
我们klist看一下当前的会话
在这里插入图片描述
这个时候我们就尝试去请求刚才那个服务
在这里插入图片描述
我们在确保一下刚才的会话
在这里插入图片描述
现在有两个,我们把他删除掉,其实不删除也可以
在这里插入图片描述
我们去请求他
在这里插入图片描述
请求之后,我们去看klist,请求了就会产生票据
在这里插入图片描述
这个时候,我们用mimikatz把内存导出来,就是把刚才的票据信息导出来
在这里插入图片描述
他会导出到mimikatz的运行目录
在这里插入图片描述
导出两个
在这里插入图片描述
我们只需要用到mssqlsvc,这个就是刚才请求的票据信息
在这里插入图片描述
然后大家把这个票据信息拿去破解,这个破解由于用到的是脚本,我们就在本机里面破解
在这里插入图片描述
Admin12345是请求数据里面自带的密码,这个密码可以用来我们后期自己连接,这个密码也能做为一个凭据,当作字典后期在加载到其它协议上面的爆破上面去
在这里插入图片描述
这个服务在传输过程中,他是会验证的,每个普通用户在请求这个东西的时候,会验证你的密码正不正确
在这里插入图片描述
这边域内的一个普通用户,再去请求服务的时候,就会自带密码信息尝试去验证,去请求他,所以密码就包含在这里面了,拿出来破解,就能获取请求过程中的密码
第一个,我们多了一个口令,也知道这个东西对应的密码,第二个,我破解出来之后,我能重写
在这里插入图片描述
u指向的是用户名的编号,g就是组,所以他就能够根据kirbi,重新生成会话出来,我们说的PTT数据,然后这个时候再用mimikatz,导入到内存里面去,那我们再次请求的话,相当于进行了一个全新的提升,这是它后续的攻击,但是这个攻击不是说一定能够成功,所以这是后续的一个情况,主要是得到这个密码为后续渗透做准备,第二个还可以进行重写,重新生成票据文件,然后在用mimikatz注入到里面去,其实就是伪造admin用户的票据进行连接
攻击主要在破解这个地方,得到密码可以做为字典也可以做为连接条件去连接,但是一般连接也是普通的服务,也就是只能看一些简单的东西
在这里插入图片描述
我们要得到管理员用户才行,但是管理员账户破解不了,因为它在协议里面抓不到
spn只是扫描技术,外加域类的一种服务用户,就是常见服务在流通的时候,你可以请求这个票据,然后把票据导出来,得到里面自带的票据信息,来帮助你后续的一个渗透,算是一个比较鸡肋的东西,大家理解就可以了
主要就是利用到spn建立服务的攻击,利用spn可以探针域内主机常见服务,而这个常见服务可以根据需要进行渗透,比如说像刚才的sqlserver,我得到Admin12345,这里有帮助,有可能没帮助,那除此之外,我知道上面有sqlserver服务了,是不是也可以进行入侵的呀,还可以采取其它手段,spn这个东西的话,探针也好,它的后续利用也好,还可以为后续的渗透思路做准备

域横向移动测试流程一把梭哈-CobaltStrike初体验

把前面我们涉及到的那些常见的攻击总结了,在实战情况下面的一个操作,因为大部分我们在前面讲过,都是把工具上到电脑上面去,然后直接在上面敲,可能在实战情况下面不是这样的,有可能你接触不到它的图形化,全部都是命令终端,或者有些权限不够,会遇到很多样的情况
我在外网建立了一个CobaltStrike弹着服务器的地址,先连接上去
在这里插入图片描述
在这里插入图片描述
它有一个团队服务器,我们可以通过任意的终端连接到这个服务器上面去,比如这里的阿里服务器,然后它做为这款服务器的根本,你可以连接到这里来,我也可以连接到这里来,通过它再去控制主机,就相当于它中间多了个东西,它去连接受害主机,你我都是客户端,我们连接上去操作受害的东西,它是一个多人运动,可以建立多人攻击,我攻击的主机,你也可以连接上去,一起进行操作
在这里插入图片描述
我们在实战情况下碰到真实目标都是这样的,真实目标肯定在内网,然后你攻击它的话,你要用到cs,是要建立一个外网的团队服务器,然后通过控制内网一台主机,向它内网进行渗透
在这里插入图片描述
webserver这台服务器上开了一个外网,就是说这个外网是能够连接的,除了它之外,内网的其它主机都是不联网的,也就是说,我们只能够先攻击到这里来,从它在对内网的主机进行通讯,因为只有webserver才能对内网主机进行通讯,同时这里是内网的域环境,入侵到它之后,对下面的主机进行渗透,取得DC的控制权
参考: [腾讯文档] 第五十二天: cobalt strike使用指南
https://docs.gg.com/doc/DZlVaY3dzwlpRZlh3
大概流程:
启动-配置-监听-执行-上线-提权-信息收集 (网络,凭证,定位等) -渗透
1.关于启动及配置讲解
2.关于提权及插件加载
3.关于信息收集命令讲解
4.关于视图自动化功能讲解
IP地址是团队服务器,密码是用工具去连接的时候会验证的密码,有这个密码就会连接到工具上去
在这里插入图片描述
启动之后需要java环境的支持,如果你上面没有配置java环境,那自己装一下就完事了,启动完之后,打开你本地的客户端
在这里插入图片描述
启动完之后,更重要的是它的配置,它如何上线,它是远控工具,然后在远控工具上面,又实现了一些功能在上面,其实就是说我们大部分提权,大部分攻击主机的话,我先要控制它,我在上面做后续操作,所以这个工具有这么个操作,先控制电脑、控制服务器,然后再在这上面去操作,下一步就是让对方上线,由于它是团队服务器,假如我和你是个团队,你搞的主机和我搞得主机,如何区分开来,它可以多个人一起攻击,我们可以通过配置监听器来实现,我自己配个监听器,从你这个监听器过来的就是你攻击的,它的监听器过来的,就是它的,监听器就是配置木马的传输管道
监听器有多个协议,就是说木马或者控制电脑、服务端、服务器,它是通过怎么回连到你的地方来,就得有这些协议选择,我们选择建立在网站HTTP协议上的连接
在这里插入图片描述
这个后门要绑定监听器,我才知道这是你这个人控制的主机,这样子就可以通过监听器区分,这个后门就绑定监听器,这个后门的触发就是通过监听器走的,生成的后门要做免杀
在这里插入图片描述
这个就相当于我前期拿到了webshell,我们把后门给上传上去,执行它
在这里插入图片描述
就会看到有一台终端上线,用户是webadmin,现在我们需要对它进行提权操作
在这里插入图片描述
进入命令终端,输入命令对它进行操作
在这里插入图片描述
导出所有hash
在这里插入图片描述
黄金票据
在这里插入图片描述
这个就是提权用的,它自带的提权方式只有两个,所以我们这里要加载插件
在这里插入图片描述
脚本管理器,上传插件
在这里插入图片描述
这个插件帮我搞了4个提权的exp
在这里插入图片描述
我们执行完提权的工具后,那就会建立payload
过慢的话,我们选择把sleep设置为1
在这里插入图片描述
突然一下子,出现了system,就是提权已经成功了
在这里插入图片描述
在这里插入图片描述
由于我这里提权了,所以我肯定是用system来执行命令
在这里插入图片描述
我们既然已经得到了主机的系统权限了,我们是不是就要对它进行内网渗透,来判断它当前的网络环境
我们收集信息主要是看一下网络环境,第二步看一下我们能不能渗透到其它东西
net view //自动探针当前的网络架构
在这里插入图片描述
cs查询结果会有类似缓存的东西
我们查询的东西不可能每个都收集一下,有时候执行执行就搞忘记了
在这里插入图片描述
你所有探针的信息都在这里展示
在这里插入图片描述
3.32没有探针到,网络问题
我们要判断是域环境还是工作组环境
net computers //查看当前所有的计算机
在这里插入图片描述
net dclist //获取域控列表
在这里插入图片描述
net user //获取本地用户权限
在这里插入图片描述
shell net user /domain
官方没有的命令,就要调用shell去执行,就相当于在windows上执行的一样
在这里插入图片描述
得到域内所有用户的名字,就是跟我前期的信息收集是差不多的
信息收集还有收集口令凭证,使用mimikatz
使用web权限,执行mimikatz
在这里插入图片描述
这就是权限不够,这就是我们为什么要提权的原因,使用system权限
在这里插入图片描述
这就是这台主机获取的密码
在这里插入图片描述
比如说,我们要攻击3.32
在这里插入图片描述
在这里插入图片描述
再把sqlserver上的口令进行再收集
在这里插入图片描述
那样我相关的字典就会越来越多
在这里插入图片描述
我们就能用这些密码对域控进行攻击
在这里插入图片描述
在这里插入图片描述
得到域控之后,后期就可以在域控上面做一些东西了,基本上渗透到这里就可以了
有两个问题没有讲,代理问题,自主工具该怎么操作
我们这个时候可以利用常规的渗透工具,对它进行操作
我们用受控的个人主机进行操作
在这里插入图片描述
把ladon上传上去
在这里插入图片描述
shell c:\ladon.exe
第三方工具是说我们自主开发的工具,因为cs工具有时候需要我们手点,只能选择两种,没有办法一直操作,所以还是会上传一些第三方的工具
shell c:\ladon.exe 192.168.3.0/24
在这里插入图片描述
所有的第三方工具不可能都有插件,插件是非常好,但是有很多功能还是需要第三方工具,比如一些新出来的恶意攻击,插件那里有,还是需要上传

正向就是我连接它,反向就是它连接你
那些被控主机是因为开了外网才成功上线,不开外网它上不了,它网络通不出来,这里就会涉及到代理的相关知识点,网上说的什么隧道,都指的是那种协议隧道,这个很好理解,无非是代理的事情

sqlserver数据传递到webserver端口,在通过webserver转发到外网端口上去,这种连接是不是反向连接,它主动把流量交出来给它主机,然后它主机有关接口在给你,但这里会有一个回显的问题,执行完之后,会有一个结果,结果就是通过代理隧道给到你,这是把这些信息通过隧道传递过来,所以这个代理知识,也是一个非常重要的知识点,而且是内网渗透,很多诸多领域里面的很难理解,但是又必须理解的一个东西
在这里插入图片描述
我们可以C语言编译出来,这个C语言在linux上也能上线的吗,把C语言编译成执行文件
在这里插入图片描述
梼杌插件介绍,它把所有东西都集成上去,现在是不对外公开了

涉及资源

https://github.com/nidem/kerberoast
https://pan.baidu.com/s/1Vh4ELTFvyBhv3Avzft1fCw 提取码: xiao
https://github.com/pandasec888/taowu-cobalt-strike
https://pan.baidu.com/s/15DCt2Rzg5cZjXnEuUTgQ9Q 提取码: dtm2
https://pan.baidu.com/s/14eVDglqba1aRXi9BGcBbug 提取码:taqu
https://github.com/DeEpinGhOst/Erebus
https://github.com/rsmudge/ElevateKit
https://github.com/harleyQu1nn/AggressorScripts
https://github.com/bluscreenofjeff/AggressorScripts

做主机加固的时候,我们把rdp协议给关掉了,那人家岂不是用不了远程,这不是会影响到人家的业务,我们可以提升rdp协议的安全性

攻防演练主要比的是获取的敏感数据的多少

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

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

相关文章

第三章 栈和队列【数据结构与算法】【精致版】

第三章 栈和队列【数据结构与算法】【精致版】 前言版权第 3 章 栈和队列3.1 应用实例应用实例一 迷宫求解问题应用实例二“马”踏棋盘问题 3.2栈3.2.1 栈的概念及运算3.2.2栈的顺序存储结构1. 顺序栈**1-顺序栈.h**2. 多栈共享邻接空间**2-共享栈.c** 3.2.3栈的链式存储结构1&…

【错误解决方案】ModuleNotFoundError: No module named ‘torchvision.models.utils‘

1. 错误提示 在python程序,尝试导入一个名为torchvision.models.utils的模块,但Python提示找不到这个模块。 错误提示:ModuleNotFoundError: No module named torchvision.models.utils 2. 解决方案 1)这可能是因为你还没有安装…

SolidWorks2022安装教程(正版)

网盘资源附文末 一.简介 SolidWorks软件是世界上第一个基于Windows开发的三维CAD系统,由于技术创新符合CAD技术的发展潮流和趋势,SolidWorks公司于两年间成为CAD/CAM产业中获利最高的公司。良好的财务状况和用户支持使得SolidWorks每年都有数十乃至数百…

学习笔记二十九:K8S配置管理中心Configmap实现微服务配置管理

Configmap概述 Configmap概述Configmap能解决哪些问题?Configmap应用场景局限性 Configmap创建方法命令行直接创建通过文件创建指定目录创建configmap 编写configmap资源清单YAML文件使用Configmap通过环境变量引入:使用configMapKeyRef通过环境变量引入…

关于单片机CPU如何控制相关引脚

目录 1、相关的单片机结构 2、通过LED的实例解释 1、相关的单片机结构 在寄存器中每一块都有一根导线与引脚对应,通过cpu改变寄存器内的数据(0或1),通过驱动器来控制对于的引脚。 2、通过LED的实例解释 如图所示,芯片…

【云备份|| 日志 day3】服务端配置信息模块

云备份day3 使用文件配置加载一些程序的运行关键信息可以让程序的运行更加灵活,且当需要修改部分内容时,不需要在代码上修改,只需要修改配置文件,然后重启服务器即可。 配置信息 热点判断时间文件下载URL前缀路径压缩包后缀名称…

项目管理-采购管理过程讲解

项目采购管理是指在项目执行过程中,对项目所需的产品、服务或资源进行采购的过程。它涉及确定采购需求、编制采购计划、寻找供应商、进行招标或谈判、签订合同、监督供应商履约等一系列活动。 项目采购管理的目标是确保项目能够按时、按质、按预算获取所需的产品或…

fastapi-路由

FastAPI的APIRouter是一个用于将不同功能模块的端点进行划分的工具,类似于Flask中的蓝图(Blueprint)。通过APIRouter,你可以将应用程序的不同部分组织成独立的路由模块,从而提高代码的可读性和可维护性。 APIRouter允…

【Midjourney入门教程2】Midjourney的基础操作和设置

文章目录 Midjourney的常用命令和基础设置1、 /imagine2、 /blend3、 /info4、 /subscribe5、 /settings(Midjourney的基础设置)6、 /shorten 有部分同学说我不想要英文界面的,不要慌: 点击左下角个人信息的设置按钮,找…

(2023最新版)总结 TCP 三挥四握的面试题

任 TCP 虐我千百遍,我仍待 TCP 如初恋。 TCP 基本认识 TCP 头格式有哪些? 我们先来看看 TCP 头的格式,标注颜色的表示与本文关联比较大的字段,其他字段不做详细阐述。 TCP 头格式 序列号:在建立连接时由计算机生成的…

C/C++苹果和虫子 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C苹果和虫子 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C苹果和虫子 2021年3月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 你买了一箱n个苹果,很不幸的是买完时箱…

小程序day03

目标 页面导航 声明式导航 1.导航到tabBar页面 2.导航到非tabbar页面 3.后退导航 编程式导航 1.导航到tabBar页面 2.导航到非tabBar页面 3.后退导航 导航传参 1.声明式导航传参 2.编程式导航传参 3.在onLoad中接收导航参数 页面事件 下拉刷新 这个可以获取完数据之后再停止…

06、如何将对象数组里 obj 的 key 值变成动态的(即:每一个对象对应的 key 值都不同)

1、数据情况: 其一、从后端拿到的数据为: let arr [1,3,6,10,11,23,24] 其二、目标数据为: [{vlan_1: 1, value: 1}, {vlan_3: 3, value: 1}, {vlan_6: 6, value: 1}, {vlan_10: 10, value: 1}, {vlan_11: 11, value: 1}, {vlan_23: 23, v…

java--深刻认识面向对象

1.面向对象编程有啥好处 万物皆对象 汽车的数据,找汽车对象处理 手机的数据,找手机对象处理 学生的数据,找学生对象处理 符合人类思维习惯,编程更简单、更直观 2.程序中的对象到底是啥 对象本质上是一种特殊的数据结构(具体…

基于深度学习的目标检测算法 计算机竞赛

文章目录 1 简介2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 1 简介 &#x1f5…

安卓应用开发环境

安卓应用开发环境 安卓应用开发环境安卓Studio下载安装安卓Gradle下载安装 安装&构建问题Android Studio无法下载SDKSSH变体simple不支持设置端口cvc-complex-type.2.4.aFailed to find Build Tools revison 30.0.2Android Studio无法找到CMakeCMake was unable to …

lang_process() (一)

一、lang_process() 从现在开始介绍 lang_process()函数,是GNU ld(GNU链接器)的一个核心函数,负责执行链接过程中的各个关键操作。lang_process(void) 函数涵盖了整个链接过程中的各个关键步骤,包括符号解析、重定位、…

Spring Boot Actuator 漏洞利用

文章目录 前言敏感信息泄露env 泄露配置信息trace 泄露用户请求信息mappings 泄露路由信息heapdump泄露堆栈信息 前言 spring对应两个版本,分别是Spring Boot 2.x和Spring Boot 1.x,因此后面漏洞利用的payload也会有所不同 敏感信息泄露 env 泄露配置信…

【使用Python编写游戏辅助工具】第二篇:键盘监听的应用

前言 这里是【使用Python编写游戏辅助工具】的第二篇:键盘监听的应用。本文主要介绍使用Python实现事件监听功能。 键盘监听是指通过编程的方式监控用户在键盘上的按键操作。 在这里键盘监听的主要用途是: 监听我们按下的按键,如果按下了指…