隱匿自己的c2服務器(一)
目錄- 隱匿自己的c2服務器(一)
- ??服務器設定
- 安裝java環境
- 啟動設定
- 開啟禁ping
- ??微信機器人推送上線資訊
- ??????埠特征修改
- ??證書特征修改
- ??流量特征修改
- 利用cdn加速進行隱匿
- 域名
- cdn配置
- 證書和密鑰
- 修改profile檔案
- 上線效果
- 利用cdn加速進行隱匿
- ??服務器設定
?
??服務器設定
安裝java環境
yum install -y java-1.8.0-openjdk*

啟動設定
遇到插件中中文亂碼時,只需要更改啟動的編碼引數即可解決:
java -Dfile.encoding=utf-8 -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -Xms512M -Xmx1024M -jar cobaltstrike.jar
開啟禁ping
vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1 //添加這一行
sysctl -p //保存之后重繪配置
??微信機器人推送上線資訊
首先先注冊好企業微信,不清楚百度上搜一下就好了,下載好這個插件:專案地址上傳到服務器,然后在群聊中添加機器人

一路點過來到這里就得到了機器人的webhook地址了

然后開始修改下載好的檔案,因為配置的是微信推送,所以在CS_bot.py這個檔案里注釋掉其他的不用項,然后注意這個py檔案本來就有拼接url故需要將webhook里面key的部分(?key=之后的)提出來替換掉那個xxxx

然后編輯CS_bot.cna,劃線的地方需要修改為自己放這個py檔案的絕對路徑,再編輯好之后先運行一下這個檔案,缺什么包就用pip3下載好,

使用agscript在后臺啟動,注意這里的格式為 user那里不要和自己登錄的用戶名重復
nohup ./agscript <host> <port> <user> <pass> </file/CS_bot.cna>
最后的效果如下:

??????埠特征修改
修改teamserver默認埠
其位于teamserver的最后一段,將-Dcobaltstrike.server_port=改為自己想設定的埠,

??證書特征修改
CobaltStrike的默認證書有三個:
- cobaltstrike.store 證書:用于服務端和客戶端加密通訊
- proxy.store 證書:用于瀏覽器代理也就是browserpivot功能
- ssl.store 證書:如果你沒有配置https-certificate選項,并且使用的是https監聽器那么CobaltStrike默認就會使用這個證書
其中cobaltstrike.store證書和ssl.store證書比較敏感,特征也早已被各大廠商標記,建議自己生成替代不要使用其默認證書,我們可以使用keytool來管理或生成證書,keytool是一個Java資料證書的管理工具 ,keytool將密鑰(key)和證書(certificates)存在一個稱為keystore的檔案中(即.store后綴檔案)
可以使用 keytool -h 查看幫助,這里簡單例舉一點,其他的有需要就百度

cs的原始證書特征很明顯就不看了,我這把原先的證書刪了,用Keytool來重新生成證書
keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias 別名 -dname "CN=(名字與姓氏), OU=(組織單位名稱), O=(組織名稱), L=(城市或區域名稱), ST=(州或省份名稱), C=(單位的兩字母國家代碼)"
eg:
keytool -keystore test.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias test.tk -dname "CN=Microsoft Windows, OU=MOPR, O=Microsoft Corporation, L=Redmond, ST=Washington, C=US"
查看一下生成的證書(密鑰庫密碼默認為123456,密碼取決于上面你改不改)
keytool -list -v -keystore 證書名.store

之后還要在teamsever里面修改一下keystore:

到這里簡單的修改就完成了
??流量特征修改
利用cdn加速進行隱匿
域名
正常情況下,第一步我們要做的是先申請一個域名(這個域名的作用是用來配合 CDN 來隱藏我們的C2服務器),然后再申請一個CDN對我們所申請的域名進行加速,在這個程序中CDN會要求我們在域名的決議配置中設定相應的 CNAME,
- 一句話核心原理:使用CDN內容分發網路的多節點分布式技術,通過“加速、代理、快取”隱藏在后面的靜態檔案或服務;最終實作對外暴露的是CDN多節點的公網域名IP,很難甚至無法溯源真實后端服務器的域名或IP!
首先要做的就是申請一個域名,可以去下面這個外網的弄到免費域名https://www.freenom.com/zh/index.html?lang=zh,這里就細講一下比較詳細的程序:
沒有賬號不用管待會會有注冊的,先搜索一個域名,最好就是搜全,加上.tk .ml之類的,否則有可能搜不到,

然后注冊那里,我沒截圖但這里拿編輯頁面來說,就是你的資訊不能亂寫,正確度不高的話是成功不了的,比如如果你是掛代理上來的,那就在編輯資訊就得和你的IP所在地盡可能匹配,像我用的就是下面這個網站洛杉磯地址生成器 - 美國地址生成器 - 美國身份生成器 (meiguodizhi.com)來生成資訊,

注冊成功了就可以點上面橫欄service里面查看,
cdn配置
cdn我用的是免費的Cloudflarehttps://www.cloudflare.com/zh-cn/,注冊賬號后登陸,選擇免費計劃然后添加剛剛弄到的欲與CS服務器系結的域名

進入站點后,點擊左側的dns,查看Cloudflare的名稱服務器,把這兩個ns記錄下

然后會帶剛剛注冊域名的網站,在service里面有管理頁面,進來如下依次填入前面的兩個ns記錄,這樣就可以將自己的域名的所有決議功能都托管在Cloudflare,這樣Cloudflare可以提供CDN的決議功能了

然后接著就是添加兩條記錄,一個的名稱@或者其他的也可以,一個為www,添加后保存

在頁面規則這里也添加兩條,一個的url為*.域名/*,一個為.域名/*,底下選快取級別和繞過

之后可以ping一下自己的域名,能ping通而底下的ip也已經不是我們服務器的ip了,

證書和密鑰
這里的設定就是把下面的自動配置的功能都關了,

下面創建證書,如下圖

很簡單看圖操作:

創建之后保存一下生成的密鑰和證書
在服務器上加倆個檔案分別為secret.key 和 cert.pem 來保存,使用以下命令生成 certout.p12 ,再接著生成新的證書:
openssl pkcs12 -export -in 保存的源證書.pem -inkey 保存的私鑰.key -out 輸出的p12檔案名(自定義).p12 -name 設定別名 -passout pass:設定密碼
keytool -importkeystore -deststorepass 設定密碼 -destkeypass 設定密碼 -destkeystore 設定證書檔案名.store -srckeystore 上面自定義的p12檔案.p12 -srcstoretype PKCS12 -srcstorepass 上面設定的密碼 -alias 設定別名
eg:
openssl pkcs12 -export -in cert.pem -inkey secret.key -out certout.p12 -name cloudflare_cert -passout pass:753015
keytool -importkeystore -deststorepass 753015 -destkeypass 753015 -destkeystore bk.store -srckeystore certout.p12 -srcstoretype PKCS12 -srcstorepass 753015 -alias cloudflare_cert
修改profile檔案
然后就是修改以下profile檔案,根據你自己的檔案來改GitHub上有很多拿來改一下就可以用了,我這里就大概這樣

最后檢查一下域名能否正常使用,這個ip就是我們使用的Cloudflare的最近CDN節點的公網ip

上線效果
配置CS Listener,將高信譽域名填入HTTPS Hosts和HTTPS Host(Stager)中,將CS服務器域名填入HTTPS Host Header中
但是要注意:Cloudflare的代理模式只有部分埠能夠使用,使用時要注意埠的設定,否則是監聽不到的,(Cloudflare 支持的 HTTP 埠:80、8080、8880、2052、2082、2086、2095;Cloudflare 支持的 HTTPS 埠:443、2053、2083、2087、2096、8443)
還有因為我是使用的國內云主機,域名沒有進行備案,所以沒有辦法使用80、8080、443、8443埠提供服務;這里就直接拿https的來了

上線之后等一會是可以看到,CS上顯示該機器的外部ip為某云的ip,并且該ip是動態變化的,

查看受控主機本地回接C2服務器的ip地址已經是CDN節點IP,而不是我們自己服務器的真實ip

查一下這個IP可以看到來自cloudflare

至此就簡單完成了,后面還會接著嘗試其他方法來隱匿
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/538456.html
標籤:其他
上一篇:克拉瑪依初賽-wp
下一篇:面試題系列:網路篇奪命連環12問
