PEASS-ng/linPEAS/builder/linpeas_parts/functions/check_az_vm.sh
2025-05-24 08:29:47 +02:00

44 lines
1.2 KiB
Bash

# Title: Cloud - check_az_vm
# ID: check_az_vm
# Author: Carlos Polop
# Last Update: 22-08-2023
# Description: Check if the script is running in Azure VM
# License: GNU GPL
# Version: 1.0
# Functions Used:
# Global Variables:
# Initial Functions:
# Generated Global Variables: $is_az_vm, $meta_response
# Fat linpeas: 0
# Small linpeas: 1
check_az_vm(){
is_az_vm="No"
# 1. Check if the Azure log directory exists
if [ -d "/var/log/azure/" ]; then
is_az_vm="Yes"
# 2. Check if 'reddog.microsoft.com' is found in /etc/resolv.conf
elif grep -q "search reddog.microsoft.com" /etc/resolv.conf 2>/dev/null; then
is_az_vm="Yes"
else
# 3. Try querying the Azure Metadata Service for more wide support (e.g. Azure Container Registry tasks need this)
if type curl >/dev/null 2>&1; then
meta_response=$(curl -s --max-time 2 \
"http://169.254.169.254/metadata/identity/oauth2/token")
if echo "$meta_response" | grep -q "Missing"; then
is_az_vm="Yes"
fi
elif type wget >/dev/null 2>&1; then
meta_response=$(wget -qO- --timeout=2 \
"http://169.254.169.254/metadata/identity/oauth2/token")
if echo "$meta_response" | grep -q "Missing"; then
is_az_vm="Yes"
fi
fi
fi
}