內網滲透之向日葵幫我幹掉了殺軟

語言: CN / TW / HK

最近在某地方舉行攻防演練的時候進入後臺管理拿到了一個 webshell,但是 tasklist /svc 檢視程序 360、電腦管家赫然在列,我的小夥伴本來準備使用注入 dll 來達到上線 cs 多人運動的效果,但是奈何中間出了點差錯始終上不了線,機緣巧合之下發現被控主機有一個 SunloginClient.exe 程序,於是便有了下文。

0x01 初探

進入後臺的過程就不說了,這裡上傳了一個 asp 大馬進入到對方主機,whoami 一看一個 user 許可權

 

然後一發 tasklist /svc 放到程序一查,好傢伙 360+電腦管家的組合拳

 

 

這裡卡了很久,因為目標機器為 windows2008 r2,跟win10系統有點差別,所以我的小夥伴注入dll的時候老是出一些問題,導致直接免殺上線一直沒有成功。

中間這個資產就放了一段時間,到後面我們實在找不出其他可以打的靶標之後,我又突發奇想地回來看一下程序,翻一下目錄,這次有了新發現。

首先發現了 SunloginClient.exe 這個程序,這個程序我判斷出來應該是向日葵的程序。

 

因為之前是直接上了一個哥斯拉馬,而這個哥斯拉馬在訪問 D 盤目錄下的檔案時是有亂碼且沒有許可權進去的,所以當時就沒有管這幾個資料夾,以為是 user 許可權進不去這幾個資料夾,這次上了一個單獨的 asp 大馬之後發現了一個向日葵資料夾,進去一個 config.ini 赫然在列,這就很舒服了。

 

360 和電腦管家也是安裝在 d 盤,要不是這兩個殺軟上線打進內網的時間可能會更快

 

 

0x02 進展

向日葵的配置檔案最重要的地方有三處,分別為:encry_pwdfastcodefastcodehistory

encry_pwd 為本機驗證碼,為密文,不可解密

fastcode 為本機識別碼,為明文

fastcodehistory 為本機識別碼歷史,為密文,用 base64 解密即可,如果你的向日葵從來沒有連線過別的主機,fastcodehistory 就為空

 

 

 

為什麼說這幾個東西是向日葵檔案裡最重要的呢,首先要了解向日葵的驗證機制,當只輸入夥伴識別碼而不輸入驗證碼時,是需要對方主機同意後才能遠端控制電腦的

 

 

而當識別碼和驗證碼都輸入正確的情況下就不需要驗證就可直接進入對方桌面並進行操作,這裡可以理解為輸入驗證碼正確就去掉了一個 UAC 過程

 

0x03 復現

知道原理過後,我也沒有貿然就去直接行動,誰也不會保證在過程中會出一些其他的什麼錯誤,所以我為了保險這裡在本地的兩臺虛擬機器先進行實驗

攻擊機:192.168.10.3

被攻擊機:192.168.10.4

為了儘可能地還原主機環境,我特意為被攻擊機裝上了 360,打開向日葵如下圖所示

 

攻擊機打開向日葵如下圖所示

 

首先我試著把我攻擊機的驗證碼所對應的密文修改到被攻擊機的 config.ini 檔案中

 

首先看一下被攻擊機原本的驗證碼

 

這裡我把攻擊機的驗證碼直接改到被攻擊機的 config.ini 上,這裡我已經改了但是發現本機驗證碼沒有反應

 

因為是本地環境我試著重啟一下發現本機驗證碼才會跟攻擊機的驗證碼相同

 

這裡有一個重點,如果要更改被攻擊機的驗證碼就必須要被攻擊機端的向日葵重啟才行,但是這個地方有兩個問題,一是我拿到的 webshell 只是 user 許可權,二是我查看了向日葵的程序為 system 許可權,如果在命令列直接 taskkill 它的 pid 應該是不能結束的

 

這裡被攻擊機上更換驗證碼後需要重啟許可權不夠,但是驗證碼重啟之後確實是跟攻擊機上一樣,那麼我想了一下能不能把被攻擊機上的驗證碼放到攻擊機上來呢?

這裡其實跟流量代理部分的思想差不多,正向代理用不了的情況下使用反向代理

先更新一下被攻擊機的驗證碼,複製 encry_pwd=wdtEBc/PIxU=

 

複製到攻擊機的 encry_pwd 的位置,如圖所示

 

重啟後發現本機驗證碼已經變為了被攻擊機的驗證碼,這時候就可以用被攻擊機的識別碼和驗證碼去直接連線主機的遠端桌面了,上去之後直接簡單粗暴關掉360

 

0x04 實戰

這裡我先把靶機的 config.ini 下載回本地

 

然後修改我的 encry_pwd 為靶機的 encry_pwd,用 fastcode 連線

 

直接點選遠端協助,終於見到了廬山真面目

 

進入之後發現他好像正在看工作管理員,本來常規應該是先 quser 檢視線上情況的,這裡 quser 執行許可權不夠,也不知道我到底擠他沒有,因為之前上了兩個馬好像被殺了。不過一番麻溜操作關 360、管家直接 powershell上線,不過當時拿到 shell 之後也確實命令回顯特別慢,在 2008 上裝這麼多東西能不慢嗎,也不知道這位老哥咋想的。

0x05 後記

向日葵的每一次登入都會有記錄,所以使用向日葵登入的時候也會有痕跡,也和進內網一樣需要做痕跡清除,向日葵可能需要清除痕跡的地方可能有以下幾處:

@echo off
taskkill /f /im SunloginClient.exe
del /s /q C:\Windows\Prefetch\SUNLOGINCLIENT*.pf
del /s /q
%userprofile%\AppData\Roaming\Microsoft\Windows\Recent\SunloginClient*.lnk
rmdir /s /q C:\ProgramData\Oray\SunloginClient
rmdir /s /q %userprofile%\AppData\Roaming\Oray\SunloginClient
reg delete "HKCU\Software\Oray\SunLogin\SunloginClient" /f
reg delete
"HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run" /v
SunloginClient /f
del /s /q SunloginClient.exe

向日葵的許可權確實很高,在內網中如果能拿到向日葵的配置檔案就相當於已經拿下了這臺主機,因為 system 許可權連 360 都限制不了。

向日葵有兩種安裝模式,預設的安裝模式是會彈 UAC,而免安裝綠色版執行則不需要,在進入內網之後也可以用免安裝向日葵這種騷姿勢實現內網穿透,只是這裡會需要修改登錄檔,需要一定的許可權,這裡就不拓展了,只是給師傅們提供一種思路,溜了溜了。