提醒:本文最后更新于 200 天前,其中某些信息可能已经过时,请谨慎使用!
你似乎正在查看一篇很久远的文章。
为了你这样的访客,我特地保留了我的历史博文。不要笑话过去的我,用温柔的目光看下去吧。

HRDP原理及应用的研究

上次文章讲到HVNC这个高级远控功能后,描述了一种躲避设备指纹验证异地登陆的思路,这次就来说应用较广的另一种方法——HRDP。

顾名思义,HVNC指的是hidden vnc,HRDP指的是hidden rdp。两个技术有着相似性。顾名思义,HRDP就是创建一个隐藏的rdp连接。这里我们就会想到常见的创建隐藏用户以及服务器上多个账户同时登陆电脑的操作。

但是,家庭及跟踪常用的Windows版本并不支持多账户登录。所以经过简单的搜索我们会发现这个项目:https://github.com/stascorp/rdpwrap

这是一个在没有多账户登录的机器上开启多账户登录的方法,原理便是修改系统中的termsrv.dll为对应的服务器版本(当然,实际操作起来要考虑更多情况,并不是像说的这么简单)。

这样简单的来看,通过添加一个账户并修改系统使支持多账户登录,就可以简单的实现我们的目标。然而实际操作起来,应当还有几点要注意。

首先,为了在最大程度上保持应用版本及其他考量,我们可以将用户文件夹复制至我们新建的用户文件夹处,这样就在各种意义上创建了一个除了用户名外完全相同的用户账户了。

其次,为了使rdp顺利连接,必须使用穿透、代理等技术,方便直接与目标进行rdp连接。

最后就是与杀软的对抗,大部分杀软都有防止创建隐藏用户的操作,以及rdp连接的通知,所以使用一些手段来规避杀软提示也是重中之重。

到此为止,只是我通过HRDP的名字所能想到的手法,如何验证就成了问题。市面上应用最广的HRDP应当是Warzone rat里所带有的,我在一番寻找后找到了一个两年前的破解版本,虽然不知道因为什么程序运行不起来,失去了动态调试的机会,但是通过IDA的逆向,我们还是可以简单的验证下我自己的想法。

其通过NetUserAdd和NetLocalGroupAddMembers来创建用户并给予用户管理员权限。

其后,对一系列注册表项进行修改,以达到多用户登录的目的。

通过逆向可以发现,Warzone Rat使用的也是https://github.com/stascorp/rdpwrap这个项目来开启多用户登录。这里就是创建了对应的配置文件。

回头看下控制端目录,也验证了这个想法。

之后就是修改rdp服务配置并启动rdp服务,并就此可以开始HRDP的操作了。

尽管据我所知,Warzone Rat的HRDP模块也在经常的修改中,这个两年前的版本并不是十分完善,但是我们仍然验证了自己的想法,也揭开了HRDP神秘的面纱。

HVNC和HRDP这两种方法各自都有自己的缺点:HVNC中有部分应用会出现黑框白框或者根本无法在新屏幕运行的问题,而HRDP也有动静太大,痕迹过多,难以规避行为查杀以及部分Windows版本会出错的问题。

实际上,除了极少数情况,大部分渗透中都没有机会用到这两个功能。网上甚至也找不见HRDP的文章,这里也算填补下空白吧。

ps:对应HRDP的防范其实也很简单,只要注意用户的建立,以及监视https://github.com/stascorp/rdpwrap所操作的注册表和dll文件即可。

发表评论

共有 0 条看法