命令列的封鎖與反封鎖

2021-04-12 16:37:45 字數 2591 閱讀 5578

(前言:這是我以前在shc上發過的文章,被評為了精華,寫這篇文章時參考了bct的劍心的文章,文章裡的**都是參照別人的,對不起大家啦,嘿嘿

。)正文:

這是我以前學會的,看到有人發關於cmd的文章上來就突然想起來了,

現在拿出來與大家共享。

在cmd啟動之前,系統會先檢視

hkey_local_machine/software/microsoft/command processor/autorun

hkey_current_user/software/microsoft/command processor/autorun(注:hkey_current_user比hkey_local_machine的優先權要高)

這兩個鍵值,如果有內容的話就會執行,比如:

我在c:/下建乙個批處理名為×××,接著雙擊autorun這個鍵,輸入"×××.bat",

之後只要一啟動cmd就會執行這個批處理。

那麼,現在我給出如下批處理(注:這段批處理是借用rain的,我就先懶一懶吧):

@echo off

title 解除鎖定

setlocal

set pass=0

set times=2

echo 為安全起見,您的cmd.exe已經被管理員鎖定 要解除鎖定,請輸入密碼

echo 狀態: 等待輸入密碼 >> c:/log.txt

echo. >> c:/log.txt

:start

set /p pass= 請輸入您的密碼:

if %pass%==jimmy goto ok

echo 密碼錯誤,請重新輸入   您還有 %times% 次機會

if %times%==0 goto end

set /a times=%times%-1

goto start

:end

title 驗證失敗?此次操作已經禁止?請關閉此視窗

clsecho 3次驗證失敗   你已經被鎖定 無法繼續操作 你可以關閉本視窗了

:mecho       %m% >> c:/message.txt

echo. >> c:/message.txt

goto m

:oktitle cmd.exe

endlocal

clsver

[hkey_local_machine/software/microsoft/command processor]

"autorun"=""

另存為unlock.reg檔案就行了.然後另外寫個批處理:

@echo off

copy /y unlock.bat %windir%/lock.bat

regedit /s unlock.reg

把unlock.reg放到c:/或windows目錄下,執行批處理就可以解鎖。

還有,我們一般是直接輸cmd來執行它的,但如果加上引數又如何呢,我們可以試試cmd /d(更多引數用cmd/?),我敢保證你用了之後再也看不到這個批處理了。我舉乙個例子:

大家都知道後門是通過tcp埠繫結乙個cmd.exe,將攻擊者的命令重定向到cmd.exe,再將結果

通過網路傳輸給攻擊者。

現在我給出一段程式(眾人:為什麼只有一段!!jimmy:不好意思,以後我寫乙個完整的後門

給大家,先暫時用別人的吧)

. . . . . . . . .

memset(&si,0,sizeof(si));

si.dwflags=startf_usestdhandles|startf_useshowwindow;

si.hstderror=si.hstdoutput=wp1;

si.wshowwindow=sw_hide;

si.cb=sizeof(startupinfo);

createprocess(null,"cmd.exe",null,null,1,0,null,null,&si,π);

. . . . . . . . .

有沒有看出來,最後一行啟動的是cmd.exe,如果我們改為

createprocess(null,"cmd.exe /d",null,null,1,0,null,null,&si,π);

嘿嘿。。。。。

上面的封鎖完全無效。。。。。。。

在asp後門裡我們可以將cmd.exe /c換為cmd.exe /d /c

那麼這樣我們是不是沒法防了呢?答案是否定的

我們可以為登錄檔設定許可權然後把remote registry service服務給停掉,甚至直接把cmd.exe的訪問許可權設為禁止任何人訪問,再或者bt點直接把它刪了算了,一了百了,省得活受罪。

那麼這樣就真的安全了嗎?

在webshell的環境下,我們完全可以上傳我們自己的cmd.exe,而且你要是寫程式夠牛,你就完全可以把cmd.exe或類似功能的程式附加在你自己寫的木馬裡,用自己的cmd.exe。

看來真是道高一尺,魔高一丈啊,高手和菜鳥往往只一溝之隔,誰對細節問題把握深了,誰就能贏,黑客嘛,無非是在鑽一些「空子」,給他抓住了,你就倒霉了。

在這裡向rain,劍心[b.c.t]致敬,感謝他們的文章給了我那麼多啟發。最後,祝願大家技術進步。

-----------by jimmy

27-may-2006

Linux命令列與命令

linux的命令是很重要的工具,也往往是初學者最大的瓶頸。有朋友用了很長時間的linux圖形介面,基本不使用命令列輸入命令執行,所以裝的linux最終成了擺設。這裡總結一些命令列下常使用的命令,希望能有用。什麼是命令 我們通常所說的linux命令列是執行在終端 terminal 的shell 閱讀l...

Linux命令列基礎 常用的命令列

符號 符號含義 使用者目錄 也稱作家目錄 根路徑,即整個系統 所在當前目錄 當前目錄的上一級目錄 提示可以輸入命令列了 回車 carriage return 執行輸入的命令列 絕對路徑 開頭的路徑就是絕對路徑,不是這種開頭的就是相對路徑。命令列命令列的英文全寫 中文含義 pwdprint worki...

linux簡介與命令列

liunx發行版 核心只有乙個,自己做的作業系統。第一名ubuntu window下檔案系統,碟符 ubuntu 沒有碟符,乙個根目錄 並且每個使用者有個home目錄,隱藏檔案,以點開頭,檢視隱藏檔案,a 表示上層目錄。mkdir 檔案,目錄不能重名,可以遞迴建立目錄 p ls a l,h 人性化 ...