使用Aggressor指令碼雕飾Cobalt Strike
眾所周知,第三次忍界大戰之後cobalt strike 3.0是作為無Armitage為基礎的重寫版本,在這之前其依附於Metasploit協同作戰之時就有開源拓展指令碼Cortana可以為Cobalt strike和Armitage所用。CS作者的Cortana指令碼可以把MSF和Beef聯動,可以配合Veil進行bypass,還能爆破口令、嗅探、配合powershell等等,可謂騷得不行。
脫離MSF之後的Aggressor Script 成為了開源指令碼引擎 Cortana 的接班人,個人總結得出的結論是
Aggressor指令碼的定位是red team用於方便自己和實現一定程度的例如橫向滲透這種滲透工作自動化進行 ,另外Aggressor指令碼仍然良好的支援用於滿足自身需求的擴充套件和修改。下面我要介紹的就是CS 3.0版本之後的一點點相關知識和一些agressor指令碼。一、後前置知識
在Cobalt Strike(下文簡稱為CS) 客戶端當中操作Aggressor 指令碼有兩種方式,第一種是在“Cobalt Strike”功能區下的“Script Manager”當中管理Aggressor指令碼,有幾個簡單的載入、解除安裝、重新載入和幫助按鈕,指令碼匯入之後每次開啟CS都會自動載入或者執行指令碼。
第二種方式是在CS的Script Console當中對指令碼進行管理,相對於上面的manager個人認為console的定位更偏向於aggressor指令碼的開發者或者除錯者使用,再或者是一些指令碼的高階設定也可以在Console當中線上修改,而上面介紹的manager則更偏向於使用者對於現成指令碼的直接使用。另外我在測試時發現了一個小問題不好斷定是作者故意的設定還是無意的BUG,就是在Console裡使用load命令匯入的指令碼不會在manager當中進行同步,並且最大的區別是關閉CS再次開啟之後在Console裡使用load匯入的指令碼會全部釋放掉,不會像manager裡的一樣會自動匯入和儲存。
我把console裡面的命令盡力解釋了一下直接註釋在了圖片裡,對這些命令的理解僅限於翻譯+使用者角度去揣測,所以對這注釋的解釋必然不是最佳的版本,也期待著師傅們來實錘和更正我。
二、一些指令碼和對它們的簡單介紹
先介紹一個展示程序並給程式上色的指令碼,作者實際上是修改自harleyQu1nn (後面會介紹)的ProcessColor.cna,但是個人認為這一手程序樹展示修改可謂畫龍點睛。
指令碼名稱: ProcessTree.cna
指令碼功能:ps命令展示程序樹並上色
指令碼位置:命令列中
地址: https://github.com/ars3n11/Aggressor-Scripts
另外可以針對國情以及其他因素自行在程序列表當中增加需求程序,例如火絨、360國際版等,而且還可以新增點不那麼常見但是大家都喜歡的東西,比如VPN、筆記、網盤等的程序。
下面這張圖應該就很明瞭了,與單純的程序上色相比,增加了defender等幾個程序,最重要的是巧妙的展示出了父子程序的關係,我覺得海星。
第二個介紹出鏡率比較高的elevate指令碼,CS作者rsmudge大佬官方出品,增加五種提權方式。有時候一把梭能用得上,本來存了張利用成功打算放在這裡的圖來著,死活找不到了。後面還有幾個該指令碼的升級版,大體是在此基礎上做的增加或者修改。
指令碼名稱: elevate.cna
指令碼功能:增加五種提權方式
指令碼位置:在elevate中
地址: https://github.com/rsmudge/ElevateKit
介紹一個VincentYiu大佬寫的一鍵起CVE-2018-4878(Flash漏洞)服務指令碼。
指令碼名稱: CVE-2018-4878.cna
指令碼功能:CVE-2018-4878
指令碼位置:在attacks中
地址: https://github.com/vysec/CVE-2018-4878
4、 下面介紹harleyQu1nn的指令碼合集。
地址:
https://github.com/harleyQu1nn/AggressorScripts
AVQuery.cna 檢查防毒是通過檢查登錄檔鍵值來判斷,同樣的可以自行新增自己需要的條目。
ArtifactPayloadGenerator.cna 生成的結果位於cs目錄下的opt目錄下。
CertUtilWebDelivery.cna和大家熟知的使用CertUtil下載檔案的姿勢差不多。
EDR.cna使用檢測驅動的方式來檢測是否存在終端安全產品。個人對於EDR產品的理解是:相對於主流防毒軟體,這類終端安全產品主要用來反APT類的持久化攻擊,所以較之常規防毒更為難纏。
logvis.cna 實現了beacon command log的視覺化。
ProcessColor.cna 就是簡單的程序上色版本啦,雖然沒有tree,但是作者這一手也算是獨具匠心。
ProcessMonitor.cna 可以實現指定時間段內對於程式執行情況的監控。
RedTeamRepo.cna 當中包含了不少tips,可以使用RedRepo命令檢視。
SMBPayloadGenerator.cna 可以生成基於SMB型別listener的payload,同樣是輸出到opt目錄下。
Logging目錄下的 logger.cna 可以將log匯出到HTML,log也位於opt目錄中。
功能和實現方式上面指令碼介紹那裡都寫了,總之就是持久化啦。不過某些操作動靜比較大,以及存在特殊環境功能失效的可能,自己玩明白再實戰哦,不然會翻車。
5、 下面介紹bluscreenofjeff藍屏大佬的合集。
地址:
https://github.com/bluscreenofjeff/AggressorScripts
blog.log檔案當中。
beacon_to_empire.cna 可以一鍵把會話彈到empire,不過需要提前在cna腳本當中配置好empire的資訊。
beaconestablishednote.cna 用來給新上線的機器備註時間,雖然event log當中有,但是這裡備註相對直觀。
beaconid_note.cna會給所有機器備註修改為bid,作者在註釋中寫到該指令碼主要在編寫aggressor指令碼時使用。
簡單來說就是執行這兩個命令的快捷鍵,按鍵位置就在右鍵靶機出現的選單當中。
eventlog-to-slack.cna 的作用是配置後將日誌傳送到slack實現多端同步,有點像QQ或者TG的機器人。
forcecheckin.cna 用來在設定的時間頻率強制SMB型別的beacon回連,感覺其用意應該是用來檢測連線性。
mass-dcsync.cna 用來同步指定域內域使用者的列表。
mimikatz-every-30m.cn 可以實現每30分鐘抓一次密碼,想修改時間的話可以直接在腳本當中修改。
mimikatz-timestamp-note-BETA.cna 用來給mimikatz的執行結果新增一個時間戳,不過作者表示該指令碼目前正在測試當中。感覺應該是配合上面的定時mimikatz指令碼來使用的。
ping_aliases.cna 指令碼增加了“qping”和“smbscan”兩條命令。qping就是使用-n引數做限制只ping目標一下,smbscan用來掃描SMB的445埠,smbscan支援將目標設定為ip段。
powershell.cna 包含powerview和powerup,多個功能皆需藉助PowerUp.ps1 和powerview.ps1 兩個指令碼來實現,指令碼需要自行下載。
ps-window-alias.cna 為命令列中增加pspane命令一鍵開啟processlist。
silver-tickets.cna 可以一鍵製作一個白銀票據。
slack-notify-beacon.cna 和 slack-notify-webhit.cna 可以實現機器上線和web接收到web請求時通過slack進行通知。
sleep-down-when-no-operators.cna 可以實現當沒有黑客線上時自動把sleep的時間調長。
sleeptimer.cna 則可以根據人類作息自動設定sleep間隔,預設時間是晚八點到早六點。
stale-beacon-notifier.cna 可以實現機器長時間(時間可以指定)沒有回連時通過slack進行通知。
timestamped_activitylog_export.cna 實現以時間戳為基準CS全域性日誌輸出到指定位置的指定檔案當中。
Beaconpire/beaconpire.cn 實現empire相關配置引數的視覺化控制,以及與empire實現一定程度的聯動。
CCDC/lulz.cna 是一個整人指令碼,功能與國外一些遠控的joke很相似,可以實現 使用IE開啟網頁、彈訊息框、關機、召喚clippy、開啟boo.exe。
CCDC/misc.cna 可以實現單條修改目標機器hosts、替換目標機器hosts檔案。
CCDC/sysinternal-killer.cna 微軟工具包專殺。
OPSEC Profiles 目錄下的指令碼會覆蓋內建的Cobalt Strike命令,個人理解為作者是為了防止使用者操作時誤觸某個命令導致不好的後果,配置檔案當中可以修改每個命令的開關。
例如powershell.cna 的效果:
6、 下面要介紹的是一個老哥收集的別人的指令碼,跟上面的有很大的重複,所以我只分析幾個上面沒有的我又找不到原作者的指令碼。
地址:
https://github.com/michalkoczwara/aggressor_scripts_collection
這裡的 All_In_One.cna 就是上面藍屏大佬的舊版本,雖然舊版本可以用但是舊版本沒有太大意義。
backdoor_accounts.cna 兩個選項的作用分別是啟用guest使用者新增到本地管理員或者域管。
beaconSMS.cna可以實現變動簡訊息通知。
say.cna 看程式碼的意思是上線機器是admin的話就說“一個新的admin機器”,不知道是不是其他地方的元件,意義不大。
service-reboot.cna 會使用sc建立一個後門服務,重啟有效 。
sticky-keys.cna 會修改防火牆規則然後把粘滯鍵在登錄檔的記錄修改為cmd,這樣就可以實現連線機器3389然後調出粘滯鍵後門了。
7、 下面要介紹Vincent Yiu師傅的小合集。
地址: https://github.com/vysec/Aggressor-VYSEC
auto-prepenv.cna 機器上線時自動把explorer.exe設定為ppid,測試時不知道是不是許可權原因沒有生效。
Blacklist.cna 可以實現設定一個上線機器的黑名單列表,如果機器再次上線會自動退出會話。感覺如果遇到溯源或者蜜罐以及一些虛擬分析環境等這個指令碼會比較有用。
mimikatz_addons.cna 則是新註冊了一個password_change命令,可以實現直接使用mimikatz的密碼更改功能強制修改NTLM雜湊。
ping.cna 註冊一個ping命令,並使用IP地址為HEX的形式去執行該命令。
portfwd.cna 會註冊一個portfwd命令,可以實現埠轉發。
pushover-ng.cna 當中的pushover則是一個和slack很相似的東西,配置好相關的api和key之後都可以實現動態推送到手機。
test.cna 只是一個簡單的test指令碼。
vnc-psh.cna 是一個把Invoke-Vnc.ps1 注入到記憶體當中開啟VNC服務的指令碼,預設埠為5900,密碼為SuperMan123。
8、 接下來介紹一個針對domain admin和local admin的輔助發現指令碼。
地址:https://github.com/killswitch-GUI/CobaltStrike-ToolKit
Initial-DACheck.cna 會在機器上線時對域使用者組進行列舉,同時也可以使用命令列中新增的checkda命令進行主動檢測。
Initial-LAdminCheck.cna 如果檢測到上線機器當前使用者為普通管理員會自動 bypassuac 然後 logonPassword 抓密碼。命令列中對應的獨立命令是checkla。
DA-Watch.cna 是另一個小夥伴們開發的,相對於上面的指令碼好處在於可以避免使用powershell,同樣可以實現對DA一定程度的監控,命令有:uaddDA、uremDA、ulistDA、uhookOn、uhookOff、Credential Checks。不過這個指令碼比較特殊,並沒有把這些命令註冊到beacon命令列裡,需要在script console中執行。命令含義基本如字面意思,github有更詳細的介紹這裡不再多說。
這裡講一個持久化指令碼,指令碼優秀之處在於不需要依賴外部指令碼完全依靠自身命令完成。
地址:
https://github.com/ZonkSec/persistence-aggressor-script
persistence.cna 簡單來說就是通過登錄檔, 寫服務, WMI, linkinfo, 粘滯鍵5種方式通過9種手法實現持久控制,在命令列中新註冊了一個persistence命令,具體命令如下所示。
10、 一個讓人很舒服的輔助性指令碼小套裝。
地址:
https://github.com/ramen0x3f/AggressorScripts
bueller.cna 簡單來說可以實現這麼一個需求:你想知道哪些機器是能通某個特定網的時候,可以使用該外掛做到。結果會輸出在script console當中。需要注意的一點是,因為是所有beacon,所以獲得最終結果的時間和給beacon設定的sleep時間是緊密相關的。
cdolla.cna 會檢測當前上線機器當中哪些是localadmin許可權,並且會列出過去90天內登陸過的使用者。掃描之前需要先給待掃描的機器新增“cdolla”備註,掃描單個目標直接在cdolla命令後面接目標ip。
compromised_log.rpt 是cs匯出報告時的一個模板,模板具體說明見github,至於匯入方式可以在 Cobalt Strike > Preferences > Reporting > Select template 匯入。
credpocalypse.cna 的用意是通過在設定的時間內定時dump密碼來防止錯過新登入的使用者,新增和移除登陸監視列表的操作都在圖形化介面當中。
leave_no_trace.cna 會記錄使用者上傳過得檔案,測試是不管檔案上傳成功或者失敗都會記錄。用意是攻擊流程完成之後便於痕跡清理和樣本回收。展示位於view欄下,右鍵彈出的兩個選項是嘗試刪除和檢查是否清理完畢。
portscan_results.cna 會在view下新加一欄"Port Scan Results",用來展示portscan的結果,並且支援排序。
save_log.cna 用來記錄和匯出單個beacon的命令和輸出資訊,對應的命令是start_log和stop_log,檔案會匯出在 cobaltstrike / saved_logs / [beacon id] _yyyyMMdd_HHmmssSSS.log
utils.cna 是一組小功能的集合,包括列印環境變數、獲得指定程序的第一個pid、返回登陸的使用者數等等。
11、 下面介紹一組短小精悍的指令碼,幾個指令碼做到兼具許可權提升和持久控制。
地址:
https://github.com/rasta-mouse/Aggressor-Script
既可以針對功能單個匯入,也可以通過直接載入 loader.cna 一次性載入兩個指令碼, elevate.cna 會增加五種提權方式, persistence.cna 提供兩種持久控制的方式。
dcom.cna 的作用是使用DCOM執行PowerShell在遠端主機上生成會話。
介紹一個專注uac bypass的指令碼,uacbypass.cna 會增加三種bypass uac的方式。
地址:
https://github.com/RhinoSecurityLabs/Aggressor-Scripts
增加三種bypass uac 的說法是寫於十月份的文章簡版,當時的3.8版本elevate選單當中只有兩種提權方式,包括ms14-058和uac-dll。如今cs已經出到3.12,elevate選單當中已經自帶了這個腳本當中的一種提權方式——uac-token-duplication,所以說使用3.12版本載入指令碼後的效果是隻增加了兩種新的提權方式。另外指令碼會註冊一條audit_uac 命令,該命令的作用是通過檢查uac設定和主機版本來確認哪些無檔案的uac bypass 手法是有效的。
13、 下面介紹一個有點調皮的指令碼小套裝,幾個整蠱功能和國外的幾款遠控比較相似。
地址:
https://github.com/Und3rf10w/Aggressor-scripts
KitLoader.cna 可以一鍵匯入上面除鍵盤記錄外的8個指令碼,auto-keylogger.cna 可以實現在機器上線時自動進行鍵盤記錄。
AnnoyKit.cna 的功能主要是整蠱型的,包括隱藏IE的程序,播放整蠱歌曲等方式。
AntiForensicsKit.cna 主要功能是反取證,包括檢查虛擬機器環境、清除日誌、對付CarbonBlack等等。
CredKit.cna 是一個憑證竊取的小集合,包括Firefox、尋找keepass的配置檔案、獲取keepass資料庫的key、執行Invoke-mimikittenz。
EnumKit.cna 包含的功能很多,包括獲取主機WLAN密碼、更新時間、使用者許可權情況、ip、安裝應用等,也有定位carbon black的CB server和聯動bloodhound的功能。
PersistKit.cna 是持久控制模組,可以建立後門服務,NTFS ADS後門和無檔案後門。
PrivescKit.cna 主要是藉助power up 把提權模組遍歷掃描一遍。
thirdparty.cna 在命令列中註冊了一條com-exec 命令,可以實現通過DCOM在目標上機器上彈shell。
auto-keylogger.cna 外掛載入後會在機器上線之後自動進行鍵盤記錄工作。
剩下四個是kit套裝之外的外掛,當中的knightlab-timeline.rpt 是一個cs報告的模板。
inveigh.cna 會在機器上執行指定時間的Inveigh,自動啟用LLMNR和NBNS欺騙,Inveigh.ps1 需要自己去下載。
https://github.com/Kevin-Robertson/Inveigh
pushover.cna 在配置好之後也可以通過 pushover.net 實現資訊推送功能。
ebowla-interop.cna 可以藉助ebwola建立加密的payload,不過需要自己提前下好ebwola.py 放到目錄下。
https://github.com/Genetic-Malware/Ebowla
14、 再來一個來自001SPARTaN的小合集,老哥頭像是個很親切的藍屏。
地址:
https://github.com/001SPARTaN/aggressor_scripts
elevate.cna 是基於原作者的修改版本,增加了七種elevate的方式。
個人認為 logvis.cna 是一個相當人性化的外掛,載入之後view command_log 可以實現管理員對機器操作命令的視覺化。
vis.cna 會新建一個檢視,實時顯示web動態和上線機器ID及user等資訊。
bot.cna 是一個多功能機器人,功能包括提權、下載、標記、命令執行等等,命令格式是“!+命令”,載入外掛後在event log 裡輸入“!help”可以獲得機器人的所有操作命令。
custom_defaults.cna 會一鍵載入 elevate.cna 和powershell.cna ,另外會增加幾個快捷鍵。
dcom_lateral_movement.cna 註冊了一個“dcom_shellexecute”命令,使用dcom執行命令橫向移動,該外掛是對enigma0x3研究的cna實現。
download_screenshots.cna 會抓取所有機器的截圖並下載下來,按鈕新增在cobalt strike標籤裡。
http.cna 算是cs指令碼編寫當中http請求的一個小demo,載入後會自動發出一個獲取當前ip的請求。
powershell.cna 會在右鍵選單當中增加一個powershell選項,包含powerup、bloodhood等,不過PS12檔案作者並沒有放到目錄下,需要自己去找。
web.cna 會直接起一個test的web,輸出在script console裡。
15、 下面介紹幾個附屬在一個大集合專案當中的小指令碼。
地址:
https://github.com/gaudard/scripts/tree/master/red-team/aggressor
Admin.cna 主要是藉助 netsh 實現新增埠規則、展示規則、刪除規則等操作的一個指令碼,作者的程式碼寫得比較簡約,沒有在命令列中對命令進行註冊,所以help是看不到命令的,直接在命令列裡輸入命令就會執行對應的操作,說白了是對手打命令的一個簡化。
attacks.cna 包含幾個整蠱功能,Deny 包括修改hosts檔案、替換hosts檔案、關機、禁用網路四個功能。Lulz 包含IE開啟網頁、Clippy復活、彈框(win7+)三個功能。
beacon_initial.cna 有點讓人看不透,機器上線之後操作太多了。
persistence.cna 會增加八種持久控制的手法,不過個人認為寫的和上一個一樣有點暴力。
16、 作者收集的幾個指令碼,有和前面相似的地方。
地址:
https://github.com/branthale/CobaltStrikeCNA
Beaconpire.cna 可以與 empire 聯動,可以在頂部選單配置server資訊,並在右鍵選單通過圖形介面管理listener。
dnstxt_checkin.cna 會自動將初始化資訊為空的 beacon 通過DNS-txt 方式彈shell,並設定sleep時間等。
Mimikatz30min.cna 是bluscreenofjeff的原指令碼,每30分鐘mimi一下,時間可以自己在腳本當中修改。
Sleep_Menu.cna 會提供一個圖形化的介面來管理sleep的時間間隔和抖動頻率。
下面是一個修改自VYsec版本的CVE-2018-4878,測試沒有體驗出區別。
地址:https://github.com/hybridious/CVE-2018-4878
CVE-2018-4878.cna 的作用就是起一個 CVE-2018-4878 的payload。
下面是幾個比較簡單的指令碼。
地址:
https://github.com/oldb00t/AggressorScripts
beacon-aliases.cna 增加了很多很多別名,整個 scripts 目錄的指令碼以及其他的幾個小功能,不過別名都沒有註冊在命令列裡,使用起來需要自己去程式碼裡看看然後去命令列直接執行。
beacon-ps-highlight.cna 是又一個程式列表上色操作,紅綠藍三種顏色,意義參考前面的。
jacob-tools-loader.cna 會一鍵載入以上指令碼。
19、 下面介紹頭像讓人記憶比較深刻的老哥的兩個指令碼。
地址:
https://github.com/p292/Phant0m_cobaltstrike
https://github.com/p292/DDEAutoCS
disableeventvwr.cna 載入 Invoke-Phant0m.ps1 禁用事件檢視器。
ddeauto.cna 可以一鍵起一個psh的payload server,然後生成DDE一鍵上線語句,Ctrl+F9新增。
slack-alerts.cna修改自藍屏哥,配置好之後會通過slack進行通知,作者預置了5個事件,git上有介紹。
地址:https://github.com/secgroundzero/CS-Aggressor-Scripts
powershell_survey.cna是一個藉助 PSH 檢測目標機器狀況的外掛,檢測物件包括PSH和.NET。
地址:
https://github.com/skyleronken/Aggressor-Scripts
下面要介紹的這個小外掛就有點精彩了,第一個版本算是cs的 powerview (PowerSploit和Empire中都有)整合,第二個版本作者把 自己寫的 SharpView 也實現在了cna腳本當中,個人認為想法和功能都比較優秀。
地址:
https://github.com/tevora-threat/aggressor-powerview
https://github.com/tevora-threat/PowerView3-Aggressor
功能比較多,簡單做了兩張圖列出所有功能的同時也可以對兩個版本前後做一個對比。
23、 下面這位師傅比較高產,除了這裡一股腦的幾個cna指令碼,git上還有幾個profile可以自己參考。
地址:
https://github.com/threatexpress/aggressor-scripts
https://github.com/threatexpress/red-team-scripts
https://github.com/threatexpress/persistence-aggressor-script
automigrate.cna 的功能是機器上線時按照設定自動進行程序遷移,但是測試一有點問題。
handler.cna 主要功能是對於sleep的優化,會標記已經dead的會話,會對SMB型別的會話單獨標記等,同時對automigrate也起到一定的輔助作用。
init.cna 是上面兩個指令碼的主指令碼,同時對於上面兩個指令碼的全域性設定(比如automigrate的開關與否)也在這個指令碼中進行。
make_webview.cna 的功能是可以一鍵生成一個如下圖所示的html展示頁面。使用方法是載入 make_webview.cna 指令碼之後在script console 當中執行make_webview 命令,此時會生成teamserver對應的excel資訊,再執行指令碼目錄中的 beacons_to_json.py 指令碼就會生成對應的beacons.json 檔案,html的展示就是基於該檔案的。
enumerate.cna 的功能是對系統檔案列表、powershell和.NET的安裝情況等等資訊進行蒐集和展示,對linux也在SSH中註冊了一個enumerate 命令,也是對一些系統資訊及IP資訊等的列舉。
persistence.cna 就是更新之前的ZonkSec版本,上面有提到這裡不再重複介紹。
24、 下面這個小合集和 harleyQu1nn 比較相似,一併介紹一下。
地址:
https://github.com/FortyNorthSecurity/AggressorAssessor
persist_assist.cna 如下圖所示增加了三種持久化的方式。
ArtifactPayloadGenerator.cna 和 SMBPayloadGenerator.cna 是兩個payload構造器。
text_aggressor.cna 可以實現機器上線郵件通知,具體配置在python腳本當中。
EDR.cna 和harleyQu1nn版本的相比略有改動,但是基本是一樣的,都是基於列舉驅動檔案等來判斷安全產品是否安裝。
ProcessColor.cna 、 redteamrepo.cna 和原版一模一樣。
msbuild_exec.cna 註冊了兩條命令:msbuild_cmd、msbuild_script。兩者都是將PSH轉換為XML檔案再借助msbuild執行,區別在於一個是本地轉換,另一個是本地讀取。
remote_msbuild.cna 也註冊了兩條命令,程式碼基本相同,不過上傳路徑沒有寫死。
compromised_log.rpt 是一個模板檔案。
下面再介紹一個Vincent Yiu團隊的作品。
地址:
https://github.com/mdsecactivebreach/CACTUSTORCH
CACTUSTORCH.cna 只是整個專案當中的一部分,該專案可以實現通過JavaScript和VBScript進行shellcode注入。開始的時候免殺效果好一些,後來被黑客們廣泛使用眾多殺軟打特徵碼之後殺的比較狠了,國內一些公眾號也報道過。
是C#重寫的BloodHound,這裡要講的外掛就是基於cs 的一個 SharpHound 輔助外掛,專案比較新。
地址:
https://github.com/C0axx/AggressorScripts
SharpHound.cna 會在右鍵選單當中增加一個 Invoke-Bloodhound 選項,命令執行方式有:PowerPick、PowerShell、Execute-Assembly 三種方式。
來自scanf 師傅的 CVE-2018-15982 payload外掛,跟前面的兩個Flash外掛使用方式基本相同,不多介紹了。
地址:https://github.com/scanfsec/CVE-2018-15982
直接載入 custom_payload_generator.cna ,生成自定義payload的時候可以自己選擇,上面有介紹過一個相似的多種payload的生成指令碼,不過那個沒得選擇,一鍵就是生成一坨。這裡的 payload_generator 支援自己選擇的同時也會給出大體的執行和使用方式,使用者體驗比較好,目前為止payload的效果也還比較好。
地址:
https://github.com/offsecginger/AggressorScripts
藉助redis 來實現事件通道和作業佇列,沒有搭建測試,可以自己參照說明嘗試。
地址:
https://github.com/tomsteele/cs-magik
nopowershell是一個基於C#用來替代PowerShell的專案, NoPowerShell.cna 只是一個用來註冊命令的殼,該條命令是"nps"。然後整個專案依託於NoPowerShell.exe,所以需要提前在專案的releases下載或者自己編譯NoPowerShell.exe 然後放到cs的/script 目錄下,注意不是cna指令碼下的/script 目錄,然後眾多命令都在介紹當中了。
個人認為作者的出發點是好的,但是這種實現方式存在一個比較致命的問題,如果AV把特徵碼打在程式一個很瓶頸的位置,整個專案基本就廢掉了,雞蛋都在一個籃子裡,還要花精力去免殺。
地址:
https://github.com/bitsadmin/nopowershell
Invoke-CredentialPhisher是一個比較騷的專案,作者通過PSH實現了Windows幾種場景下的釣魚彈窗,誘導目標輸出賬號密碼之後會帶回teamserver,win7測試有點問題,但是win10效果比較好,視窗效果很逼真。作者部落格有一篇文章專門介紹撰寫思路,可以參考。
地址:
https://github.com/SpiderLabs/SharpCompile
文章地址:
https://blog.fox-it.com/2018/08/14/phishing-ask-and-ye-shall-receive/
outlook彈窗效果,點選就會要求輸入相應憑證:
將憑證帶回teamserver的效果:
SharpCompile專案可以實現在靶機上實時編譯和執行C#,右鍵選單的圖形介面有以下兩種方式,命令列中註冊了下圖中的兩條命令。該指令碼需要提前在cna中配置server和tmp目錄。另外作者沒提到的關於靶機.NET版本的問題也是實際操作中需要注意的細節。
地址:
https://github.com/SpiderLabs/SharpCompile
reflectivepotato是對ms16075(爛土豆)的cna指令碼實現,使用方法直接一把梭右鍵elevate,指令碼通過載入dll的方式進行漏洞利用。不過在win7靶機上試了下如果開著防火牆會攔,另外rundll32會崩,可以自己編譯測試下。
地址:
https://github.com/realoriginal/reflectivepotato
三、寫在最後
之前有一段特別忙碌的時間,有很明確的方向,所以人在那段時間的狀態就像錄音機裡的磁帶一樣循著軌跡來來回回,雖然總是重複,但是至少有奔頭。後來磁帶卷像是被摳出來丟在一邊,滾了兩步就倒在地上,像瀕死的蒼蠅又被掐掉了頭,混吃等死。這是前因。
我是個特別不理性的人,受人和事的影響總是特別大,經常會做出一些衝動和不合邏輯的事。自從我從yhg那裡學會了說對不起,感覺自己就總是在說對不起,也不知道到底欠了這個世界究竟多少人情。我以為人生是個迎來送往的過程,假設活著是一場修行,接受苦難和送別過去能概括一個人修行的大部分內容。技術和認知的提升是外在的修飾,知行合一還需要一個人對自己內在的雕琢。什麼時候能看的清自己,也就能放得下,過得去,起得來。這是後果。
後來讀到K師傅的文章和另外幾位師傅的文章發現很多東西在我瞭解之前早就寫得很明白了,而且有的東西官網上有寫我還要跑去問,所以說學習工作做的還是不到位,沒有看到師傅們的文章就把自己的歪解寫出來瞎指路。另外發的這些也幾乎全部都是在沒什麼系統性的指導和培訓的情況下自己摸索和嘗試的結果,要麼就是東拼西湊出來的稗官野史,所以說
這裡寫的東西萬萬要辯證著看,只做參考,只做菜雞hjb研究的一個記錄 。這是額外。文筆垃圾,措辭輕浮,內容淺顯,操作生疏。不足之處歡迎大師傅們指點和糾正,感激不盡。
參考連結:
http://www.vuln.cn/6879
https://github.com/c4bbage/aggressor-script-cn
https://github.com/rsmudge/cortana-scripts
封面圖片來自:getdrawings.com