一段powershell的混淆代碼的解密

今天一個朋友丟過來一段代碼,是抓到C&C攻擊的,但代碼是加密的,不知道裡面是在做什麼動作,需要一起看看怎麼解密下。

注意:打開帖子,某些防毒軟體會提示病毒,主要因為代碼本身是病毒,但在本帖是純代碼的方式展示,不是可執行的狀態

代碼如下:

因為我對powershell也不熟悉,就臨時抱佛腳,從頭開始看

開頭是Invoke-Expression,看說明是:在本機電腦上執行命令或運算式。

語法:

所以看起來後面一大串就是要執行的內容,既然後面是可以被執行的,我們可以把前面拿掉,後面加上>1.txt ,就可以讓powershell自己去執行完把最終結果輸出到文件當中,執行後成功,但沒看到文件,然後系統的Windows Defender就報警已經刪除威脅,當然後來看到網路上有將執行指令改為write-output,將代碼輸出也是可以的。
經過第一次轉轉後,看到內容為:

看起來還是亂亂的,也就是代碼還是經過混淆的,根本不知道是什麼東西,一樣先從前面開始搜,原來這是經過變形的代碼,在Powershell中執行([StRing]$veRbOSEpREFERENCE)[1,3]+’x’-JOIN”可以看到返回的是ieX,也就是上面的Invoke-Expression,也就是說,前面還是執行,代碼是後半段,那我們就可以把([StRing]$veRbOSEpREFERENCE)[1,3]+’x’-JOIN”替換為write-output,然後執行此PS1,就可以看到解密後的最終代碼了。

在Powershell中執行個([StRing]$veRbOSEpREFERENCE)[1,3]+’x’-JOIN”其實本身無害的指令,Powershell提示被防毒軟體給禁止了,看起來不是代碼整體上黑名單,而是這一小段執行的部分就上黑名單了。

 

源代碼(txt文件)0711