因為之前找一個免殺的大馬找了好久,昨天就專門研究了下如何做大馬的免殺。要免殺,首先就要相識殺手,我們不妨從裝個安詳狗看看,從中真就能發明一些簡樸易行的免殺要領。
各人留意調查上面兩個截圖,一個之掃描網馬的默認配置,一個是主動防止的默認配置,從中就可以看出兩個亮點:
1.手動掃描和主動防止都默認忽略大于1M的文件
2.手動掃描默認掃描所有范例文件,而主動防止默認之掃描劇本后綴文件
從這兩點出發,就會有兩種簡樸易行的免殺方法,其實各人必定都早知道了,不外我照舊總結一下,細節不再敘述:
1.使webshell文件巨細大于1M——敵手動掃描及主動防止都有效
(假如你是*nix用戶,可以簡樸用dd呼吁發生一個1M文件,然后用cat呼吁將其與webshell文件毗連)
2.將大馬生存為jpg后綴文件,操作文件包括執行劇本——只對主動防止有效
這兩種方法預計各人都用爛了,雖然也是最簡樸易行的,可我就是愛折騰,下面第三種方法,也就是這篇文章主要要說的,就是特征碼定位式免殺。
作為script
kiddie我對軟件安詳一竅不通,不外照舊傳聞過myccl,multiccl之類的東西,受此開導,webshell也應能運用雷同道理定位。但是直
接用*ccl定位的話是以字節為單元拆分,而面臨劇本文件,我們需要以行為單元。由于不知道*ccl到底是什么事情流程,于是抉擇從新做起,用一句風行話
來講,就是“自主研發”。首先我猖獗的打了個草稿,想好了流程(火星人的草稿,各人忽略)
大抵講授下事情流程,巨偽偽
支解文件(001為刪去第一行,,002為刪去1至2行……依次類推,直至只剩最后一行)
查抄剩余文件,若剩余編號n今后的文件,則說明第n-1行中有特征碼;若沒有任何文件被查殺,退出輪回
用0填充已定位出的特征碼行
就這樣,就可以定位出足夠數量的特征碼。“足夠數量”是指恰好足以免殺,而非所有特征碼。經我嘗試,一個webshell中有n個特征碼,而只要有m(m<=n)個以上就會被查殺,而小于m個就不會被查殺。
寫完代碼后,做了個嘗試,以啊D目次檢測東西(asp)為小白鼠。
定位出第75和147行,我們來看看
在這兩行中我們只需簡樸的拆分修改一下字符串,然后就免殺啦: