Kerberos双跳变通办法
作者:互联网
Kerberos双跳变通办法
这篇文章将介绍一些快速而邪恶的解决方法,以克服在Windows环境中进行红队活动时可怕的两次跳跃问题。这篇文章中介绍的方法也涉及到一般的Windows横向移动技术-而不仅仅是双跳解决方案。
如果您必须横向移动或在Windows环境中进行常规系统管理,那么您可能会遇到这个障碍-特别是Powershell Remoting / WinRM。如果您不确定什么是两次跳转问题,下面将对其进行简要介绍。否则,请查阅此Microsoft文章以获得更好的主意。
当您的攻击方具有内部网络访问权限,但未加入域时,此帖子将关注一个场景(从红色团队成员的角度出发)。还假设您作为攻击者仅具有CLI访问权限,并且具有“本地管理员”资格-而且在整个域中都启用了WinRM。
笔记
列出的方法并不全面。通常,这些方法将取决于环境配置,权限,收获的凭据等。
WinRM双跳蓝调*
这是问题的经典示例。左侧是从攻击者框到第一个目标跃点(bizintel)的PowerShell远程会话。右侧是直接终端到teltel。两者都在远程目标secdev上运行dir命令。
下面是另一个示例,显示了teltel上的PS远程会话,然后尝试将另一个PS远程会话插入secdev。类似于跳箱情况。
如果PS远程处理的功能与Linux上通过SSH跳来跳去的功能相同,那会很好吗?不,这不容易!
Microsoft解决方案
此问题是设计使然(Kerberos),Microsoft提供了解决此问题的解决方案。尽管从某种意义上说,人们可能无权或无权进行某些更改,尤其是基于资源的委派的最安全的解决方案。
相对于此博客文章,这是MS提供解决方案的最新文章。提到的建议的更高安全性方法是“基于资源的约束委派”。由于这是一个红色的团队职位,并且我们还没有Domain Admin,因此我们将避免涉及此内容。此外,此处不会介绍CredSSP技术。
调用命令
这种方法有点像“双跳”问题,“不一定”可以解决。它不依赖任何配置,您只需在攻击框中运行它即可。它基本上是一个嵌套的Invoke-Command。
这将在第三个服务器secdev上运行主机名。
$cred = Get-Credential ta\redsuit
Invoke-Command -ComputerName bizintel -Credential $cred -ScriptBlock {
Invoke-Command -ComputerName secdev -Credential $Using:cred -ScriptBlock {hostname}
}
笨拙的,但是可以照本宣科。
您还可以使用bizintel建立PS-Session,然后从那里直接运行带有$ cred的Invoke-Command。虽然,从攻击框中运行它可以集中执行任务。
端口代理
由于我们在中间目标teltel:10.35.8.17上具有本地管理员,因此您可以添加端口转发规则,以将请求发送到最终/第三个服务器secdev:10.35.8.23。
可以快速使用netsh撕掉一条线并添加规则。
netsh interface portproxy add v4tov4 listenport=5446 listenaddress=10.35.8.17 connectport=5985 connectaddress=10.35.8.23
因此,bizintel正在侦听端口5446,并将转发5446的请求转发到secdev端口5985(又名WinRM)。
然后在Windows防火墙上打一个洞,这也可以使用快速的netsh单行程序完成。
netsh advfirewall firewall add rule name=fwd dir=in action=allow protocol=TCP localport=5446
现在建立会话,它将把我们转发到secdev。
winrs.exe
使用winrs.exe时,Portforwarding WinRM请求似乎也可以工作。如果您知道正在监视PowerShell,那么这可能是一个更好的选择。下面的命令将“ secdev”作为主机名的结果。
winrs -r:http://bizintel:5446 -u:ta\redsuit -p:2600leet hostname
像Invoke-Command一样,它可以很容易地编写脚本,因此攻击者可以简单地将系统命令作为参数发出。通用批处理脚本示例winrm.bat:
笔记
如果您正在阅读TheSprawl实验室范围内的此书并杀死他们,则用户redsuit的密码不是2600leet,如上所示le
OpenSSH
此方法需要在中介盒(也称为bizintel)上安装OpenSSH。可以完全通过CLI完成Windows版OpenSSH的安装,完全不需要花费很多时间,而且它也不会标记为恶意软件!
当然,在某些情况下,这可能不可行,太麻烦或可能是OpSec的一般风险。
此方法在跳箱设置中特别有用-可以访问否则无法访问的网络。建立SSH连接后,用户/攻击者可以根据需要针对分段网络触发尽可能多的New-PSSession,而不会引发双跳问题。
当配置为在OpenSSH中使用密码身份验证(不是密钥或Kerberos)时,登录类型为8,即网络明文登录。这并不意味着您的密码是明文发送的,实际上是通过SSH加密的。到达后,它会通过其身份验证包将其加密为未加密的明文,以供您会话,以便进一步请求多汁的TGT!
这使中间服务器可以代表您请求并获取TGT,以将其本地存储在中间服务器上。然后,您的会话可以使用此TGT对其他服务器进行身份验证(PS远程)。
OpenSSH安装方案
从github下载最新的OpenSSH Release zip到您的攻击框中,然后将其移到上方(或直接将其下载到跳转框中)。
将zip解压缩到您想要的位置。然后,运行安装脚本-Install-sshd.ps1
最后,只需添加防火墙规则以打开端口22。验证已安装SSH服务,然后启动它们。这两个服务都需要运行才能使SSH正常工作。
如果收到连接重置错误,请更新权限以允许“所有人:在OpenSSH根目录上读取并执行”。
icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
现在将它们放在一起。
检测恶意使用
除了拥有一个用于监视Powershell活动的系统之外,您还可以在本地或远程检查一些配置,这些配置可能指向恶意的双跳用法(或其他安全问题)。
检测端口转发
使用netsh.exe进行快速本地检查以列出所有转发的端口。默认情况下,不应转发任何端口。
netsh interface portproxy show all
否则,请通过PS远程处理进行远程检查-也可以编写脚本以涵盖整个域。
Invoke-Command -ComputerName bizintel -Credential ta\redsuit -ScriptBlock {
netsh interface portproxy show all
}
如果整个域都禁用了WinRM,但是您仍然想远程检查转发的端口,则可以使用wmic.exe
wmic /node:bizintel /user:ta\redsuit /password:2600leet process call create 'cmd.exe /c netsh interface portproxy show all'
CredSSP
凭据安全支持提供程序是另一种明显不安全的方法。多年来,启用CredSSP一直是各种论坛上提到的解决方案。从Microsoft:
“ CredSSP身份验证将用户凭据从本地计算机委派给远程计算机。这种做法增加了远程操作的安全风险。如果远程计算机受到威胁,则在将凭据传递给它时,可以使用凭据来控制网络会话。”
如果发现在生产系统,敏感网络等上启用了CredSSP,建议将其禁用。快速检查CredSSP状态的方法是运行Get-WSManCredSSP。如果启用了WinRM,则可以远程执行。
Invoke-Command -ComputerName bizintel -Credential ta\redsuit -ScriptBlock {
Get-WSManCredSSP
}
检测服务器委派
另一个值得检查的配置是Kerberos委派。如前所述,配置受约束/不受约束的委托是Microsoft提供的解决双跳问题的解决方案。
攻击者不仅需要本地管理员来配置kerberos计算机委派,因此,如果发现恶意委派设置,则可能会遇到更大的问题。
您可以使用PowerView模块快速发现不受约束(坏!)或受约束的委托的主机。
Get-DomainComputer -Unconstrained
Get-DomainComputer -TrustedToAuth
*笔记
了解您的网络。仅仅因为这些命令和模块可能会拉回许多结果,并不意味着它们已被恶意配置。
概括*
请记住,如果您管理Windows网络,请确保遵循MS最佳实践指导,而不要遵循此帖子。
如果您发现这篇文章很有用,并且希望获得一些远程实验室动手操作,请确保签出可用范围。如果您特别想练习WinRM / PS远程处理,则可以在TheSprawl实验室范围的最终域中启用它-包括本文中讨论的teltel和secev。尽管有所建议,但不建议初学者使用TheSprawl。
标签:secdev,netsh,变通办法,Kerberos,WinRM,bizintel,OpenSSH,远程,双跳 来源: https://blog.csdn.net/weixin_51387754/article/details/116227477