前言
完成免殺任務之后迅速上線了某個目標,開啟了這次木馬的釣魚生涯
但是這種被丟到沙箱里 然后給你上線一大堆沒用的虛擬機
把你的遠控搞得一團亂糟糟不說 還容易增加你shellcode被暴露的風險

反沙箱虛擬機操作
習慣用python我就用python 寫了
而且我只挑了幾個我認為準確率比較高的方法
開機時間檢測
沙箱檢測木馬文件一般都是運行完就關機的,所以可以根據開機時間來判斷是不是真實的運行狀況
開機時間長短來判斷是否是沙箱虛擬機
boot_time = psutil.boot_time()???????????????????????????????????????? # 開機時間長短來判斷是否是沙箱虛擬機
boot_time_obj = datetime.fromtimestamp(boot_time)
h = boot_time_obj.hour
m = boot_time_obj.minute
s = boot_time_obj.second
b = int(h)*3600 + int(m)*60 + int(s)
now_time = datetime.now()
h = now_time.hour
m = now_time.minute
s = now_time.second
a = int(h)*3600 + int(m)*60 + int(s)
running_time = a - b
if running_time > 600:
? ? tkinter.messagebox.showinfo('Windows提示', '開機運行時間正常顯示')
else:tkinter.messagebox.showerror('Windows提示', '檢測到運行環(huán)境為虛擬機')
這里是與600秒作比較,也就是判斷機器是否運行超過10分鐘
正常機器運行

虛擬機運行

檢測CPU核心數(shù)
大多數(shù)pc擁有4核心cpu,許多在線檢測的虛擬機沙盤是2核心,我們可以通過核心數(shù)來判斷是否為真實機器或檢測用的虛擬沙箱。
? ? #檢測CPU核心數(shù)
? ? num_cpu = multiprocessing.cpu_count()
? ? if num_cpu > 3:
? ? ? ? tkinter.messagebox.showinfo('Windows提示', '正??蛻舳诉\行')
? ? else:tkinter.messagebox.showerror('Windows提示', '檢測到運行環(huán)境為虛擬機')
虛擬機(兩個):

檢測臨時文件數(shù)
正常使用的系統(tǒng),其中用戶的臨時文件夾中有一定數(shù)量的臨時文件,可以通過判斷臨時文件夾內的文件數(shù)量來檢測是否在沙箱中運行。
? ? ? ? #檢測系統(tǒng)臨時文件的數(shù)量
? ? ? ? path = 'C:\Windows\Temp'
? ? ? ? files = os.listdir(path)
? ? ? ? fold_num = len(files)
? ? ? ? if fold_num > 20:
? ? ? ? ? ? tkinter.messagebox.showinfo('Windows提示', '正??蛻舳诉\行')
? ? ? ? else:tkinter.messagebox.showerror('Windows提示', '檢測到運行環(huán)境為虛擬機')
傳到沙箱看一下

檢測臨時文件數(shù)的時候報了個高風險,可以換個寫法或者直接直接用計算temp文件夾大小來替代目錄遍歷