内网漫游:通过RDP劫持向远程系统执行任意代码

作者:网友投稿 时间:2018-05-07 21:47

字号

远程桌面协议(RDP)被广泛应用于管理员的内部网络。该协议允许系统所有者以及管理员远程管理其Windows环境。然而,RDP在为我们带来方便的同时,也为虎视眈眈的攻击者打开了一扇窗,攻击者常会利用该协议肆意的在内部网络中漫游。以下攻击,可让攻击者获取凭据劫持其他用户的RDP会话,并向那些使用RDP作为验证机制的受感染工作站远程系统执行任意代码。

RDP中间人攻击

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

以太网接口

攻击者的IP

受害者工作站的IP(客户端)

目标RDP主机(服务器)的IP

./seth.sh eth0 10.0.0.2 10.0.0.3 10.0.0.1

seth-man-in-the-middle.png

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

欺骗ARP回复

启用IPv4流量转发,将流量从受害主机重定向到攻击者机器,然后再转发到目标RDP服务器。

配置一个iptable规则拒绝SYN数据包,以防止直接的RDP认证。

捕获目标主机的SYN数据包。

克隆SSL证书。
重新配置iptables规则,以将流量从受害工作站路由到目标RDP主机。

阻止到端口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服务的滥用被打开,而不需要直接攻击该系统。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接