關(guān)于蟻劍反制深入的分析和利用的一點小思路
?
前言
前幾天我在公眾號看到了一篇名為《端內(nèi)釣魚,反制蟻劍》的文章,我覺得這個思路很好,之后決定深入研究一下,通過兩天的研究,現(xiàn)在已經(jīng)寫出了比較真實的反制馬。在研究的過程中把一些經(jīng)驗分享出來,希望可以給大家解決一下問題。
一、反制思路
首先我們知道蟻劍虛擬終端遇到http/https協(xié)議頭時會發(fā)生轉(zhuǎn)換,這個鏈接打開的頁面是以蟻劍內(nèi)部的瀏覽器打開的,蟻劍在實現(xiàn)上用了node.js,之后通過打開的頁面嵌入js來直接執(zhí)行命令
這里松鼠A師傅的文章說的很明白了,https://mp.weixin.qq.com/s/WNv9nPWvKudwimtYTd1zDQ
文章里面初步認證的問題已經(jīng)解決了,但是依舊存在很多問題沒有解決。
1.功能模塊實現(xiàn)太少,達不到釣魚效果。
2.返回連接那里執(zhí)行命令返回一次內(nèi)容后用戶名變化。
3.執(zhí)行命令的exec對windows不友好。
4.如果為了追求真實性,釣魚的html過大會導致JS命令執(zhí)行失敗。
5.蟻劍讀取外部網(wǎng)站會產(chǎn)生緩存,如果釣魚的html過大需要清理Appdata的緩存在執(zhí)行才可以。
所以我這里做了優(yōu)化和改進,把思路轉(zhuǎn)換
1.jb小子日站爆目錄
2.爆到一個shell.php
3.通過弱口令蟻劍連接成功
3.讀取文件和目錄都沒有問題,常見的命令執(zhí)行沒有問題,但是上傳下載顯示連通性出現(xiàn)問題
4.執(zhí)行命令突然報錯,后面出現(xiàn)一個欺騙性很高的域名和偽裝度極高的網(wǎng)站
5.急不可耐的點擊進去,渲染惡意js腳本
6.明線:jb小子開始查看文檔尋找解決方法。暗線:C2上線查戶口
二、分析結(jié)論
我經(jīng)過分析之后得出結(jié)論
蟻劍分為連通密鑰和功能密鑰兩種密鑰,只用連通密鑰而不去管功能密鑰,導致后面的路徑丟失,自然而且出現(xiàn)“2.返回連接那里執(zhí)行命令返回一次內(nèi)容后用戶名變化”,而且雖然連通密鑰前半部分就可通過認證,但如果要實現(xiàn)完整功能(比如查看內(nèi)容)其實還是不夠的。
上面三張圖,首先第一張是蟻劍在執(zhí)行命令的源碼,第二張是執(zhí)行命令請求包,第三張是解碼后的內(nèi)容,
蟻劍執(zhí)行命令的結(jié)構(gòu)是
cd /d "路徑"&命令&echo 功能密鑰首&cd&echo 功能密鑰尾。而這種請求的特征也有兩種,這里大家可以自行去分析。
PS建議:另外蟻劍是通過F S 等這樣的字母去生成大鑰匙的
三、利用效果
如果明白了,上面說的連通密鑰和功能密鑰,去分析流量找特征可以實現(xiàn)基本上全部功能。效果如下
?
浙公網(wǎng)安備 33010602011771號