渗透技巧——利用tscon实现未授权登录远程桌面

幸运草
幸运草
幸运草
896
文章
3
评论
2020年3月28日18:39:34 评论 343

0x00 前言

Windows系统下,tscon可被用来切换远程桌面的会话。正常情况下,切换会话时需要提供登录密码,但通过特殊的利用方法能够绕过验证,不输入密码实现未授权登录。

这会造成什么影响呢?这个方法能用在哪种条件下呢?结合利用方法又该如何防御呢?本文将要一一介绍

注:

本文使用tscon未授权登录的思路借鉴于如下链接:

https://medium.com/@networksecurity/rdp-hijacking-how-to-hijack-rds-and-remoteapp-sessions-transparently-to-move-through-an-da2a1e73a5f6

0x01 简介

本文将要介绍以下内容:

·tscon的正常用法

·利用tscon实现未授权登录远程桌面的方法

·应用实例

·防御建议

0x02 tscon的正常用法

对于开启远程桌面服务的Windows系统,当有多个用户登录该系统时,会产生多个会话,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

测试系统: Server2012 R2

用户Administrator为本地登录

用户b为通过远程桌面服务(RDP)连接3389端口远程登录

接下来,如果用户Administrator想要切换至用户b的远程桌面,可通过右键-Connect进行连接,接着输入密码即可

如下图

渗透技巧——利用tscon实现未授权登录远程桌面

tscon是命令行下使用的工具,可实现相同的功能

首先获取用户对应的sessionid,执行如下命令:

query user

输出如下图

渗透技巧——利用tscon实现未授权登录远程桌面

用户b对应的sessionid为2

通过tscon切换至用户b的桌面,命令如下:

tscon 2 /PASSWORD:test123!

0x03 利用tscon实现未授权登录远程桌面的方法

在System权限执行同样的命令,就能够绕过输入密码的过程,直接切换

从Admin权限切换到System权限的方法在之前的文章《渗透技巧——从Admin权限切换到System权限》有过详细介绍,常用方法有如下三种:

·通过创建服务获得System权限

·利用MSIExec获得System权限

·利用token复制获得System权限

选取其中的一种,获得system权限,接着输入如下命令:

tscon 2

成功登录

0x04 应用实例一

对于Server2012 R2系统,默认情况下,通过mimikatz无法导出明文口令,测试环境下,通过某些方法获得了服务器的一个用户名密码,可以通过远程桌面进行登录

登录后发现后台存在另一用户

由于未导出明文口令,通过常规方法无法切换至另一用户的桌面

这里就可以借助上文提到的方法,先提权至System权限,再切换过去

特别的地方:

当用户通过远程桌面登录后,直接点击关闭断开连接,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

此时该会话并没有结束,后台显示Disconnected,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

此时,仍能在system权限下通过tscon实现未授权连接

0x05 应用实例二

利用辅助工具管理器后门(放大镜后门原理相同,进程为sethc.exe)绕过系统登录界面

进程: utilman.exe

登录界面可通过点击图标对其调用,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

调用辅助工具管理器的快捷键: Win+U

通过注册表劫持实现后门,修改注册表的命令如下:

REG ADD "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsutilman.exe" /t REG_SZ /v Debugger /d "C:windowssystem32cmd.exe" /f

在登录界面启动辅助工具管理器,弹出cmd.exe,权限为system,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

通过tscon可直接切换至目标用户的桌面

补充:

在登录界面状态下,降权方法受限,SelectMyParent和Invoke-TokenManipulation.ps1均报错

使用incognito能够成功降权,但是操作仍受限,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

注:

SelectMyParent、Invoke-TokenManipulation.ps1和incognito的使用说明可参考文章《渗透技巧-Token窃取与利用》

无法对目标用户桌面进行截屏,截屏的powershell代码可参考:

https://gallery.technet.microsoft.com/scriptcenter/eeff544a-f690-4f6b-a586-11eea6fc5eb8

受限的原因:

登录界面下,虽然是system权限,但是此时的进程均是winlogon的子进程

如下图

渗透技巧——利用tscon实现未授权登录远程桌面

绕过思路:

利用WMI做中转,通过WMI启动进程,默认父进程为svchost.exe->WmiPrvSE.exe

命令如下:

wmic process call create commandline = "powershell -ep bypass -f c:testsystem4.ps1"

system4.ps1的内容来自于Invoke-TokenManipulation.ps1,以用户win-eq8jfsr081db的权限执行脚本,具体参数为:

Invoke-TokenManipulation -CreateProcess "c:testtask.bat" -Username "in-eq8jfsr081db"

task.bat的功能为输出环境变量到task.txt中,具体参数为:

set >>c:testtask.txt

执行如下图

渗透技巧——利用tscon实现未授权登录远程桌面

查看task.txt的内容,判断环境变量,成功降权,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

通过这种方式,可以分别降权至High和Medium权限,如下图

渗透技巧——利用tscon实现未授权登录远程桌面

0x06 防御建议

建议用户使用注销用户的方式断开远程桌面,注销后,无法通过tscon获得桌面会话

监控系统用户的登录日志,攻击者需要先远程登录系统后才能做进一步利用:未授权切换桌面会话

对于Windows系统,虽然新版本(包括server 2012等)无法在远程登录界面中调用放大镜和辅助工具管理器,但需要注意攻击者如果获得了系统的物理访问权限,能够利用放大镜和辅助工具管理器后门实现未授权登录

0x07 小结

本文介绍了利用tscon实现未授权登录远程桌面的方法,站在攻击者的角度,分析利用思路,最后站在防御的角度,结合攻击方法,给出防御建议。

本文来源于:渗透技巧——利用tscon实现未授权登录远程桌面-变化吧博客
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧博客观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

转载请注明:{{title}}-变化吧
  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 赞助本站
  • 支付宝扫一扫
  • weinxin
幸运草
当心!你的DNS可能被劫持了! 劫持

当心!你的DNS可能被劫持了!

百度疑遭神马流量劫持 搜索暗战又将爆发?近期,有网友在微博上爆料说,在使用百度搜索的时候,浏览完落地页返回搜索结果页时,会进入到一个虚假的百度移动搜索结果页,一眼看去与百度搜索并无差别,但仔细观察会发...
8种网络黑灰产作案工具 劫持

8种网络黑灰产作案工具

个人信息安全、黑灰产业链... 这些词语近年来高频出现 除了网络安全相关的专业人士 现在普通的网络用户 对网络安全的重视程度也越来越高 9月17日,2018国家网络安全宣传周——网络安全博览会揭幕。本...
网络诈骗就在我们身边,时刻提高警惕 劫持

网络诈骗就在我们身边,时刻提高警惕

为什么DNS监测能够让你的网络更加安全但由于极少有公司会出于安全目的监测DNS状态,DNS如今已成为攻击者理想的攻击手段。 在DNS层实施安全防御,可以有效检测和控制此类恶意软件感染。在恶意连接建立之...