<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/tools/1475

            0x00 背景


            Cobalt Strike 一款以metasploit為基礎的GUI的框框架式滲透工具,Armitage的商業版,集成了端口發、服務掃描,自動化溢出,多模式端口監聽,win exe木馬生成,win dll木馬生成,java木馬生成,office宏病毒生成,木馬捆綁,mac os 木馬生成,釣魚攻擊包括:站點克隆,目標信息獲取,java執行,游覽器自動攻擊等等。

            Cobalt Strike 官網為?Cobalt Strike?程序只不接受大天朝的下載,各位自行想辦法。作者博客?有很多好東西,推薦大家收藏。

            Cobalt Strike 在1.45和以前是可以連接本機windows的metasploit的,在后來就不被支持了,必須要求連接遠程linux的metasploit。

            Cobalt Strike 還有個強大的功能就是他的團體服務器功能,它能讓多個攻擊者同時連接到團體服務器上,共享攻擊資源與目標信息和sessions。

            這篇文章就給大家分享下我大家團體服務器的方法(我的不一定是最好的,參考下就行了)

            0x01 搭建


            1.服務器

            服務器強烈建議大家選擇ubuntu的,內存1G以上,帶寬8M以上,雖然在Centos上也幫朋友成功搭建過,但是很不推薦,穩定性和維護性都沒有用ubuntu好。

            2.安裝metasploit

            metasploit有3個版本 專業版,社區版,和git上面的版本,當然大家用社區版就行了,專業版的功能比起社區版要多,但是要給錢,只能免費使用一段時間,以前找到的無限免費使用專業版也被官方封鎖了,git上的版本適合高級安裝的用戶,具體可以自己去玩玩。

            下載安裝好社區版的metasploit后接下來就是要激活第一次訪問metasploit的web管理頁面必須是localhost,這好似規定死的,我這里有兩種方法1.給服務器開啟VNC,然后上去激活(不推薦)2.連接ssh的時候開啟socks5然后游覽器設置下就可以訪問了。

            還有一中快捷的安裝方式就是上傳Cobalt Strike搭服務器,在里面有個quick-msf-setup 的腳本,它可以幫你快熟部署團體服務器環境,不過我不喜歡這種方式,我比較喜歡折騰,嘿嘿。

            3.部署Cobalt Strike

            將下載好的Cobalt Strike上傳到服務器,解包后會有這些文件

            enter image description here

            Cobalt Strike是JAVA寫的,服務器還得有JAVA環境,這里我們沒必要去下載JAVA來安裝,metasploit已經有了JAVA環境,我們只需要配置下環境變量就行了 打開root目錄下的.bashrc文件,建議先備份,在最下面添加:

            #JAVA?    
            export JAVA_HOME=/opt/metasploit/java
            

            ? export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

            然后在執行

            #!bash
            source .bashrc
            

            最后看看是否成功

            enter image description here

            回到Cobalt Strike目錄

            執行./teamserver 服務器IP 連接密碼

            enter image description here

            啟動的過程中會有很多警告,不用理會它,大概幾分鐘后出現這個就OK了

            enter image description here

            這里不要關閉,然后本機啟動Cobalt Strike 連接測試

            地址是:192.168.10.62
            端口是:55553
            用戶名是:msf
            密碼是:luom  (也就是我們剛才設置的)
            

            enter image description here

            點擊連接,會彈出一個服務器認證,確認,然后彈出設置你昵稱(Cobalt Strike是可以在線聊天的)

            enter image description here

            回到SSH 你可以看到各種日志,但是這個一關閉團隊服務器也就關閉了,這里我們可以把他置于后臺來運行

            #!bash
            nohup ./teamserver 192.168.10.62 luom?&
            

            這樣就可以了,這個目錄下會生成一個nohup.out的文件,這個是程序運行的日志文件 注: 在啟動Cobalt Strike的時候報錯 如下

            enter image description here

            這個原因是你的內存使用超過%50 無法啟動java虛擬機。

            在結束Cobalt Strike的時候也要同時結束所有 msfrpcd 進程,不要下次啟動會啟動不了的。

            0x02 實例之Cobalt Strike通過DNS控制目標


            通過DNS來控制目標和滲透好處不多說把,大家都知道,不開端口,能繞過大部分防火墻,隱蔽性好等等。Cobalt Strike有個beacons的功能,它可以通過DNS,HTTP,SMB來傳輸數據,下面我以DNS為例演示下。

            1. 域名設置

            首先我們的有個域名,并且創建一條A記錄指向我們的metasploit服務器,記住不要用CDN什么的

            enter image description here

            然后再創建2個或3個ns記錄指向剛才創建的A記錄

            enter image description here

            這樣我們就可以通過dns找到我們的metasploit服務器了

            2. Cobalt Strike設置

            在Cobalt Strike中我們添加一個listener

            enter image description here

            HOST填寫的是metasplit服務的IP,在點擊Save的時候會要求填寫你的NS記錄,這里寫入我們剛才創建的3個

            enter image description here

            監聽我們設置好了,接下來創建一個木馬測試下。

            3. 木馬生成

            attack->packages中找到windows木馬生成

            enter image description here

            Listener選擇我們剛才創建的(有兩個,選擇有DNS的那個),輸出的有exe,帶服務的EXE,dll等。(我測試過連接方式以DNS生成的DLL木馬能過掉很大一部分殺毒軟件)

            我們把生成的DNS.EXE放到虛擬機中運行。

            運行前的端口情況

            enter image description here

            運行后的端口情況

            enter image description here

            沒有開新的端口,在來抓包看看

            enter image description here

            走的是DNS。

            回到Cobalt Strike打開beacons管理器發現有一個服務端響應了我們

            enter image description here

            右鍵是管理菜單,選擇sleep設置相應的時間,然后選擇interact來到操作界面

            enter image description here

            首先來設置的是傳輸的模式,有dns、dns-txt,http,smb四種,我們這里用的是DNS就在dns、dns-txt中選擇把,前者傳送的數據小后者傳送的數據多 這里我設置為 mode dns-txt(這里可以用TAB補齊命令的)

            enter image description here

            鍵入help可以看到支持的命令

                Command                   Description
                -------                   -----------
                bypassuac                 Spawn a session in a high integrity process
                cd                        Change directory
                checkin                   Call home and post data
                clear                     Clear beacon queue
                download                  Download a file
                execute                   Execute a program on target
                exit                      Terminate the beacon session
                getsystem                 Attempt to get SYSTEM
                getuid                    Get User ID
                help                      Help menu
                inject                    Spawn a session in a specific process
                keylogger start           Start the keystroke logger
                keylogger stop            Stop the keystroke logger
                message                   Display a message to user on desktop
                meterpreter               Spawn a Meterpreter session
                link                      Connect to a Beacon peer over SMB
                mode dns                  Use DNS A as data channel (DNS beacon only)
                mode dns-txt              Use DNS TXT as data channel (DNS beacon only)
                mode http                 Use HTTP as data channel
                mode smb                  Use SMB peer-to-peer communication
                rev2self                  Revert to original token
                shell                     Execute a command via cmd.exe
                sleep                     Set beacon sleep time
                socks                     Start SOCKS4a server to relay traffic
                socks stop                Stop SOCKS4a server
                spawn                     Spawn a session 
                spawnto                   Set executable to spawn processes into
                steal_token               Steal access token from a process
                task                      Download and execute a file from a URL
                timestomp                 Apply timestamps from one file to another
                unlink                    Disconnect from parent Beacon
            upload                    Upload a file
            

            這里就演示幾個常用的命令把

            Getuid  獲取當前用戶
            

            enter image description here

            Execute 運行可執行程序(不能執行shell命令)

            Shell  執行shell命令
            

            enter image description here

            Meterpreter  返回一個meterpreter會話
            

            剩下的命令就等大家自己去看吧。

            這東西好處在于比較對控制目標主機比較隱蔽,缺點在每次的命令我返回結果比較慢,在過防火墻方面還是不錯的。

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线