快捷搜索:  网络  渗透  后门  CVE  扫描  木马  黑客  as

内网漫游:通过RDP挟制向遥程体系执行任意代码

遥程桌面协定(RDP)被广泛应用于治理员的内部收集。该协定允许体系所有者和治理员遥程治理其Windows环境。然而,RDP在为我们带来方便的同时,黑客漏洞,也为虎视眈眈的攻击者关上了一扇窗,攻击者常会行使该协定肆意的在内部收集中漫游。下列攻击,可让攻击者获取凭证挟制其他用户的RDP会话,并向那些使用RDP作为验证机制的受感染工作站遥程体系执行任意代码。

RDP中间人攻击

中间人攻击是攻击者用于获取凭证经常使用的手段以及方式。对RDP会话执行此攻击,攻击者将能轻松地获取到可用于内网渗透排泄的域帐户的明文暗码。Seth是一种可以帮助你自动执行RDP中间人攻击的工具,无论目标是否启用了收集级身份验证(NLA),它都将为你完善的执行。我们只要提供四个必要参数即可:

  1. 以太网接口
  2. 攻击者的IP
  3. 受害者工作站的IP(客户端)
  4. 目标RDP主机(服务器)的IP
./seth.sh eth0 10.0.0.2 10.0.0.3 10.0.0.1

seth-man-in-the-middle.png

成功执行后,该工具将在后台执行一系列的步骤,以确保攻击的成功实施。下列是执行的相干流程:

  1. 诈骗ARP归复
  2. 启用IPv4流量转发,将流量从受害主机重定向到攻击者机器,然后再转发到目标RDP服务器。
  3. 设置一个iptable规则拒尽SYN数据包,以防止直接的RDP认证。
  4. 拿获目标主机的SYN数据包。
  5. 克隆SSL证书。
    重新设置iptables规则,以将流量从受害工作站路由到目标RDP主机。
  6. 阻止到端口88的流量,以将Kerberos身份验证降级到NTLM。

步骤1-3将在受害者身份验证之前执行。尝试通过RDP向目标服务器进行身份验证的用户将会收到下列新闻:

remote-desktop-connection-certificate-errors.png

当用户确立连接时,其凭证将以明文情势显示给攻击者。

seth-rdp-password-in-plain-text.png

RDP Inception

RDPInception是MDSec发现的一种攻击方式。其主若是基于“启动(Startup)”程序,也就是行使人人熟知的“启动项”目录,强制登录进入RDP访客计算机执行恶意代码。为此,MDSec还开发了RDPInception的PoC验证程序,一个简单的批处理脚本。在攻击者已经获得走访权限的工作站上执行批处理脚本,攻击者将会获取到一个shell。

rdp-inception-executing-bat-file.png

要是提权用户(治理员或域治理员)尝试通过RDP与已感染的主机进行身份验证,则批处理脚本将会被体系上的其他用户复制。

rdp-inception-administrator-connects-to-workstation-via-rdp.png

批处理脚本将会在工作站每一次启动时执行,以完成后门持久化。

rdp-inception-propagation-of-code.png

当通过RDP向受感染主机验证的提权用户重启他的机器时,代码将被执行。

rdp-inception-code-execution-on-the-dc.png

新的Meterpreter会话将在治理员的主机上,通过RDP服务的滥用被关上,而不需要直接攻击该体系。

rdp-inception-meterpreter-on-the-dc.png

active Meterpreter sessions列表,将验证攻击者是否可以在两个体系上走访。

rdp-inception-meterpreter-active-sessions.png

RDP会话挟制

要是攻击者在目标体系上获得内陆治理员走访权限,则可能挟制其他用户的RDP会话。这也解决了攻击者对该用户的凭证需求。这项手艺最初是由Alexander Korznikov发现的,在他的博客中已有描摹。

可使用的可用会话列表可以在Windows义务治理器中的“Users“选项卡中查看。

rpd-sessions-gui.png

也能够从命令提示符中获取相同的信息。

query user

1rdp-sessions-terminal.png

创建一个使用体系级权限执行tscon的服务,将挟制ID为3的会话。

sc create sesshijack binpath= "cmd.exe /k tscon 3 /dest:rdp-tcp#0"
net start sesshijack

2rdp-session-hijacking-via-service.png

当服务启动时,用户“test”可以在不知道他暗码的情形下使用netbiosX的会话。

3rdp-session-hijacking-via-service-netbiosx-user.png

Mimikatz也支持这类手艺。 第一步是检索终端服务会话列表。

ts::sessions

4mimikatz-terminal-services-sessions1.png

尝试直接使用会话1将失败,因为Mimikatz并未以SYSTEM权限执行。因此,如下命令将会将token从内陆治理员抬举到SYSTEM。如许一来,当再次使用其他会话时,将不需要提供用户的暗码。

ts::remote /id:1
privilege::debug
token::elevate

5mimikatz-rdp-session-hijacking.png

再次执行下列命令,将成功挟制netbiosX用户的会话。

ts::remote /id:1

6mimikatz-rdp-session-of-netbiosx.png

*参考来源:pentestlab, secist 编译,

您可能还会对下面的文章感兴趣: