閱讀本文大概須要 5 分鐘。html
」2020年 第 14 篇文章 ,flag 繼續 python
每週至少更一篇linux
前言
良好的習慣是人生產生複利的有力助手
上一篇文章中講解了elf loader的實現,接下來會有文章繼續拓展這個內容:打造無execve的shellcode版 bash,將來的linux滲透大殺器。git
今天不分享這個,以前分享HW資料的時候,有朋友後臺給我留言讓我分享一下HW中的攻擊,有點超出個人能力邊界了。github
可是想一想 HW中使用 Cobalt-Strike 仍是挺多的,因而就分享一下Cobalt-Strike的學習吧,花了一週的時間看了官方手冊,以及網上公開的資料,對Cobalt-Strike有了總體認識。web
此次的分享比較宏觀,但願能對你們Cobalt-Strike的學習有必定的啓發做用吧。shell
一.高質量的輸入
輸入windows
Cobalt Strike 4.0 手冊 :安全
關注公衆號,回覆 【13】返回下載連接。bash
Cobalt Strike|Beacon原理淺析:
https://www.secpulse.com/archives/124454.html
啓明星辰ADLab:滲透利器Cobalt Strike在野利用狀況專題分析:
https://nosec.org/home/detail/4449.html
Cobalt-Strike 系列:
http://blog.leanote.com/cate/snowming/Cobalt-Strike
Cross C2:
https://github.com/gloxec/CrossC2/blob/master/README_zh.md
基於DNS、HTTP和HTTPS隧道協議的木馬流量分析:
http://www.lucien116.com/archives/261
滲透測試神器Cobalt Strike使用教程:
https://www.freebuf.com/company-information/167460.html
滲透利器Cobalt Strike - 第2篇 APT級的全面免殺與企業縱深防護體系的對抗:
https://xz.aliyun.com/t/4191
Cobalt-Strike-Aggressor-Scripts:
https://github.com/qiyeboy/Cobalt-Strike-Aggressor-Scripts
Cobalt Strike手冊-環境搭建與基本功能:
https://cloud.tencent.com/developer/article/1512022
70.遠控免殺專題(70)-終結篇:
https://mp.weixin.qq.com/s/4shT8tP-Gu3XX7fnWKQHAA
二.思考整理輸出
思考整理輸出
找到比較合適資料後,不要匆忙地去學習細節,容易陷入裏面,沒法產生對Cobalt-Strike的總體認知,沒法實現對知識的降維打擊。
在學習Cobalt-Strike的過程當中 ,先從定位,架構,功能,核心概念四個方面入手,至於對抗就屬於比較細節的內容了,你們實踐就能夠了。總體思路以下圖所示。
定位
首先須要瞭解一下Cobalt-Strike 的定位,沒有什麼解決方案是萬能的,瞭解它的定位才能知道它的適用邊界。在官方手冊中有說明:
Cobalt Strike 是一個爲對手模擬和紅隊行動而設計的平臺,主要用於執行有目標的攻擊和模擬高級威脅者的後滲透行動
簡單說就是適合有肯定目標的apt攻擊,對那種大範圍的「無腦」攻擊,例如ddos,僵屍網絡,是不適用的。
下圖是官方手冊中描述Cobalt-Strike的一個攻防過程,有各類安全防護工具,也有攻擊突破。
架構
Cobalt-Strike 是一個C/S結構,比較特殊的是屬於多對多的關係,以下圖所示:
一個client能夠鏈接多個server, 一個server能夠被 多個client鏈接,在下圖中 cobaltstrike.exe對應的是client,teamserver 對應的是 server。
雖然不少文章也是如上文描述Cobalt-Strike的架構,可是我我的認爲被攻擊機器上的木馬也應該屬於client端,只是功能和角色不同罷了。
類比一下,好比咱們使用的QQ和微信,騰訊的服務器屬於server端,裏面維持着全部client的通訊和數據存儲,每一個人的QQ APP 屬於client,而QQ項目組員工的運維平臺也應該屬於client。
下圖描述了Cobalt-Strike在攻擊過程當中的架構關係:
功能
總結起來,Cobalt-Strike 就幹了兩件事 :種馬 和 用馬。在本機,簡單使用Cobalt-Strike 演示一下種馬和用馬。
1. 啓動TeamServer
192.168.0.108:這是主機ip
qiye:這是client 與teamserver 鏈接使用的口令
2. 啓動Cobalt-Strike 鏈接teamserver
雙擊 cobaltstrike.exe,teamserver默認端口 爲50050,輸入User(隨意只是個標識),輸入password(見上文) 。
最後connect 鏈接上線:
3. 建立Listener和beacon
在Attacks中選擇 PE的攻擊方案生成 exe,你也能夠選擇其餘的payload,好比生成 宏和html 應用。
接着選擇反連http的payload,選擇listener中監聽的ip和端口,listener是和teamserver是一側的,生成的木馬文件則是位於被攻擊主機,木馬保存爲artifact.exe。
4. 木立刻線
雙擊artifact.exe,木立刻線,在被攻陷主機上執行個whoami。
核心概念
看你對一個事物是否清楚,主要是能明白其中的核心概念。
TeamServer
TeamServer是整個系統中的「大腦」,包括數據的存儲和共享,並維持着client的鏈接和流量中轉
Listener
附屬TeamServer的監聽設施,與Beacon呼應 ,生成一個Beacon 對應一個Listener與之鏈接。
Beacon
Beacon 在Cobalt-Strike 中是很常見的概念,它是Cobalt Strike運行在目標主機上的payload,Beacon在隱蔽信道上爲咱們提供服務,用於長期控制受感染主機,簡單理解的話就是一個木馬。Beacon payload 有兩種傳輸方式,第一種,像我上文使用的那樣,是生成一個完整功能的payload。第二種是分段傳輸payload,屬於 Staging模式,主要分爲兩個部分:
stager :payload加載器,很精簡的彙編指令
stage:真正的payload
這種模式適用於漏洞場景。假如windows有一個遠程代碼漏洞,exp 須要使用較短的shellcode,有長度限制,這很常見,否則沒法觸發,若是Cobalt-Strike 直接生成一個完整木馬,是沒法使用的,那能夠先生一個精簡的payload加載器,裏面的功能只有下載和執行,完整的payload在下載的內容中。
對抗
Cobalt-Strike 在滲透測試過程當中,主要對抗如下安全防護產品:
防火牆
殺軟
EDR
IDS
檢測手段無外乎,針對文件,流量和行爲,具體在思惟導圖中,你們能夠看一下 高質量的輸入 章節中的對抗方式,再也不贅述。
最後
Cobalt-Strike 進行對抗很靈活,你們按照官方手冊好好練習,提供一份 破解版 cobaltstrike3.14 ,你們在公衆號 回覆【14】便可。
最近有朋友說在後臺和我交流技術不是很方便,下面是個人微信號,想進行技術交流的能夠加我,備註公衆號,賣貨的,伸手黨不要加我,謝謝。
推薦閱讀
沙盒syscall監控組件:strace and wtrace
無"命令"反彈shell-逃逸基於execve的命令監控(上)
若是你們喜歡這篇文章的話,請不要吝嗇分享到朋友圈,並置頂公衆號。
關注公衆號:七夜安全博客
回覆【11】:領取Sandboxie源碼
回覆【1】:領取 Python數據分析 教程大禮包
回覆【2】:領取 Python Flask 全套教程
回覆【3】:領取 某學院 機器學習 教程
回覆【4】:領取 爬蟲 教程
回覆【5】:領取編譯原理 教程
回覆【6】:領取滲透測試教程
回覆【7】:領取人工智能數學基礎
回覆【8】:領取 python神經網絡 教程
回覆【9】:領取 安卓逆向 教程
本文分享自微信公衆號 - 七夜安全博客(qiye_safe)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。