
什麼是環境變量
關于什麼是環境變量,我這篇文章介紹的很清楚
https://blog.csdn.net/qq_45894840/article/details/128622314?spm=1001.2014.3001.5502
這裡在擴充一點
env
env是英文單詞environment的縮寫,其功能是用于顯示和定義環境變量,我們可以通過檢視env來擷取本機全部的環境變量配置
ls env:\
在這裡可以看到很多的環境變量配置,如果是cmd那就執行以下指令檢視全部的環境變量
set
繞過Windows Defender和隐藏混淆行為
我們還可以通過env來檢視指定的環境變量
echo $env:SYSTEMROOT
然後我将T更換為?
還是能正常顯示環境變量,因為env會根據這個環境變量表來查找,類似于find -name “baimao*.exe”,這個指令會查找目前目錄是以包含baimao這幾個字元的exe檔案
我們還可以進一步來用?替代字元
再多就會因為解析多個環境變量而報錯
echo $env:S?????????
在後面加上其他的檔案夾名,輸出的内容也會改變
我們還可以使用dir或者ls或者Get-ChildItem來檢視這個檔案夾
Get-ChildItem $env:S?????????\System32
ls $env:S?????????\System32
dir $env:S?????????\System32
在後面指定的檔案夾,也可以用?來代替
Get-ChildItem $env:S?????????\Sys?????
為了縮小範圍,我們最好使用來代替字元,關于的用法,上面已經介紹過了
Get-ChildItem $env:S?????????\S*2
現在我們要彈出電腦,可以使用以下指令
start $env:S?????????\S*2\c*lc.*
如果我們要調用schtasks.exe,可以用以下指令
start $env:???t??r???\*2\??h???k?*
這些方法是我在看一篇apt惡意軟體分析的報告學到的
https://www.securonix.com/blog/detecting-steepmaverick-new-covert-attack-campaign-targeting-military-contractors/
攻擊者通過這種方法來隐藏混淆行為和繞過 Windows Defender