
在当前快速演变的威胁环境中,抢先发现漏洞对于维护系统安全至关重要。最近,一个新的漏洞CVE-2024-6387被公开。本文将引导您完成使用自定义脚本获取公网IP并执行CVE检查,以检测和缓解您GCP实例中此漏洞的步骤。
CVE-2024-6387是在特定版本的OpenSSH中发现的一个高危漏洞。利用此漏洞可能允许未经授权的系统访问,从而导致潜在的数据泄露和其他安全事件。通过识别和缓解此类漏洞来确保系统安全势在必行。
CVE-2024-6387是OpenSSH(一套广泛使用的安全网络实用程序)特定版本中的一个高危漏洞。利用此漏洞可能允许未经授权的系统访问,从而导致潜在的数据泄露、未经授权的系统控制和其他严重的安全事件。OpenSSH在许多环境中(包括像GCP这样的云基础设施)被广泛使用,这使得及时识别和缓解此漏洞变得至关重要。
在我们深入探讨脚本之前,请确保您具备:
gcloud 已设置并具备相应权限。首先,我们需要收集GCP环境中所有实例的公网IP地址。以下是一个自动执行此过程的脚本:
#!/bin/bash
# 功能:列出组织中的所有项目
list_all_projects() {
gcloud projects list --format="value(projectId)"
}
# 功能:检查特定API是否在项目中启用
is_api_enabled() {
local project=$1
local api=$2
gcloud services list --project="$project" --filter="name:$api" --format="value(name)"
}
# 功能:列出给定项目中的所有实例
list_instances() {
local project=$1
gcloud compute instances list --project="$project" --format="json"
}
# 主函数
main() {
# 创建或清空用于存储公网IP的文件
output_file="public_ips.txt"
ip_only_file="ip_addresses.txt"
: > "$output_file"
: > "$ip_only_file"
# 获取所有项目的列表
projects=$(list_all_projects)
for project in $projects; do
echo "Processing Project: $project"
# 检查项目是否启用了Resource Manager API
if [[ -z "$(is_api_enabled "$project" "cloudresourcemanager.googleapis.com")" ]]; then
echo "Resource Manager API is not enabled for project $project. Skipping..."
continue
fi
# 检查项目是否启用了Compute Engine API
if [[ -z "$(is_api_enabled "$project" "compute.googleapis.com")" ]]; then
echo "Compute Engine API is not enabled for project $project. Skipping..."
continue
fi
# 获取当前项目中的所有实例列表
instances=$(list_instances "$project")
# 检查是否存在任何实例
if [[ "$instances" != "[]" ]]; then
# 遍历每个实例并提取公网IP
for instance in $(echo "$instances" | jq -r '.[] | @base64'); do
_jq() {
echo ${instance} | base64 --decode | jq -r ${1}
}
instance_name=$(_jq '.name')
zone=$(_jq '.zone' | awk -F/ '{print $NF}')
public_ips=$(_jq '.networkInterfaces[].accessConfigs[]?.natIP')
# 检查是否存在公网IP并写入输出文件
if [[ -n "$public_ips" ]]; then
for ip in $public_ips; do
echo "$project,$zone,$instance_name,$ip" >> "$output_file"
echo "$ip" >> "$ip_only_file"
done
fi
done
fi
done
echo "Public IPs have been written to $output_file"
echo "IP addresses have been written to $ip_only_file"
}
main接下来,我们需要检查每个IP地址是否存在该漏洞。我们将使用 https://github.com/xaitax/CVE-2024-6387_Check 这个工具。
git clone https://github.com/xaitax/CVE-2024-6387_Check.git
cd CVE-2024-6387_Check
cp ../ip_addresses.txt CVE-2024-6387_Check
python CVE-2024-6387_Check.py -l ip_addresses.txt现在,您将获得存在CVE-2024-6387漏洞的详细实例信息,并可以将其映射到您的项目。
通过利用此脚本,您可以有效地扫描GCP实例中是否存在CVE-2024-6387漏洞。定期更新您的系统并主动处理安全漏洞,是维护强大安全态势的关键步骤。我们将在后续讨论此漏洞的缓解措施和详细信息。
CSD0tFqvECLokhw9aBeRqnYu9nnJ+O8SQ3Pz74UTLjEn8iuVhGgT4I3Db63L7M81oDlB9alDPnaO3XQLnkk5Z8MRk2jUh8NlldnIlRAxH9NeZZJJnCLvwxwtrSV/x5/hLKUvAM9cjs3gZZAHmJUNI2DhS/jWlDOZyoImvp7agqc=
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。