用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/CyberStrikeus/CyberStrike --skill wstg-conf-05命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | wstg-conf-05 |
| description | Enumerate Infrastructure and Application Admin Interfaces |
| category | configuration |
| owasp_id | WSTG-CONF-05 |
| version | 1.0.0 |
| author | cyberstrike-official |
| tags | ["misconfiguration","hardening","server","wstg","conf"] |
| tech_stack | ["apache","nginx","iis"] |
| cwe_ids | ["CWE-548"] |
| chains_with | ["wstg-inpv-05","wstg-inpv-09","wstg-info-06"] |
| prerequisites | ["wstg-info-01"] |
| severity_boost | {} |
WSTG-CONF-05
Enumerate Infrastructure and Application Admin Interfaces
Administrative interfaces provide privileged access to application and infrastructure management functions. These interfaces are high-value targets for attackers as they often allow configuration changes, user management, and access to sensitive data. This test identifies hidden or poorly protected admin interfaces through directory enumeration, port scanning, and analysis of application behavior.
#!/bin/bash
TARGET=$1
# Common admin paths
admin_paths=(
"/admin" "/admin/" "/administrator" "/administrator/"
"/admin.php" "/admin.html" "/admin.asp" "/admin.aspx"
)
path ;
status=$(curl -s -o /dev/null -w )
[ != ];
# WordPress
wp_paths=("/wp-admin" "/wp-admin/" "/wp-login.php"
"/wp-admin/admin-ajax.php" "/xmlrpc.php")
# Joomla
joomla_paths=("/administrator" "/administrator/"
"/administrator/index.php")
# Drupal
drupal_paths=("/admin" "/user/login" "/user" "/admin/content")
# Magento
magento_paths=("/admin" "/admin_xxxxx" "/backend")
# Test all CMS paths
for path in "${wp_paths[@]}" "${joomla_paths[@]}" "${drupal_paths[@]}" "${magento_paths[@]}"; do
status=$(curl -s -o /dev/null -w "%{http_code}" "https://target.com$path")
echo "$path: $status"
done
# Web server status pages
curl -s https://target.com/server-status # Apache
curl -s https://target.com/server-info # Apache
curl -s https://target.com/nginx_status # Nginx
# Application servers
curl -s https://target.com:8080/manager/html # Tomcat
curl -s https://target.com:8080/host-manager # Tomcat
curl -s https://target.com/jmx-console # JBoss
curl -s https://target.com/web-console # JBoss
curl -s https://target.com/admin-console # WebLogic
# Database interfaces
curl -s https://target.com/phpmyadmin
curl -s https://target.com/pma
curl -s https://target.com/adminer
curl -s https://target.com/adminer.php
# Common admin ports
nmap -sV -p 8080,8443,9090,9443,10000,2082,2083,2086,2087,8000,3000,4443,5000 target.com
# Specific service ports
# 8080 - Tomcat, Jenkins, alternative HTTP
# 8443 - HTTPS alternative
# 9090 - Cockpit, Prometheus
# 10000 - Webmin
# 2082/2083 - cPanel
# 2086/2087 - WHM
# 8000 - Django dev, various
# 3000 - Grafana, Node.js
# 5000 - Flask
# Common admin subdomains
subdomains=("admin" "administrator" "manage" "management"
"panel" "console" "dashboard" "backend"
"cms" "control" "portal" "secure"
"internal" "intranet" "staff" "sysadmin")
for sub in "${subdomains[@]}"; do
host="${sub}.target.com"
if host "$host" > /dev/null 2>&1; then
echo "[+] Found: $host"
curl -sI "https://$host" | head -5
fi
done
# Check for admin parameters
curl -s "https://target.com/index.php?admin=true"
curl -s "https://target.com/index.php?debug=1"
curl -s "https://target.com/index.php?test=1"
# Check cookies
curl -sI https://target.com | grep -i "set-cookie"
# Test with modified cookies
curl -s https://target.com -H "Cookie: admin=1"
curl -s https://target.com -H "Cookie: isAdmin=true"
curl -s https://target.com -H "Cookie: role=admin"
# Look for admin links in source
curl -s https://target.com | grep -iE 'admin|manage|dashboard|console|control'
# Check JavaScript files
curl -s https://target.com | grep -oP 'src="[^"]*\.js"' | while read js; do
curl -s "https://target.com$js" | grep -iE 'admin|/manage|/control|/dashboard'
done
# Look for hidden admin fields
curl -s https://target.com/login | grep -i 'type="hidden"'
# Common hidden fields to look for:
# <input type="hidden" name="admin" value="0">
# <input type="hidden" name="role" value="user">
# <input type="hidden" name="isAdmin" value="false">
| Tool | Description | Usage |
|---|---|---|
| Gobuster | Directory brute-force | gobuster dir -u target.com -w admin-wordlist.txt |
| ffuf | Fast fuzzer | ffuf -u target.com/FUZZ -w admin-paths.txt |
| Dirb | Directory scanner | dirb https://target.com |
| ZAP Forced Browse | OWASP scanner | GUI-based |
| Tool | Description | Usage |
|---|---|---|
| Nmap | Port scanner | nmap -sV -p- target.com |
| Masscan | Fast scanner | masscan -p1-65535 target.com |
| Tool | Description | Usage |
|---|---|---|
| Hydra | Password brute-force | hydra -L users.txt -P pass.txt target.com http-form-post |
| Burp Intruder | Web brute-force | GUI-based |
#!/bin/bash
TARGET=$1
echo "=== ADMIN INTERFACE SCANNER ==="
echo "Target: $TARGET"
echo ""
# 1. Directory enumeration
echo "[+] Scanning admin paths..."
gobuster dir -u "https://$TARGET" \
-w /usr/share/seclists/Discovery/Web-Content/combined-wordlists/combined-admin-paths.txt \
-t 50 -q -o admin_paths.txt
# 2. Port scanning
echo "[+] Scanning admin ports..."
nmap -sV -p 8080,8443,9090,9443,10000,2082,2083,2086,2087 $TARGET -oN admin_ports.txt
# 3. Subdomain check
echo "[+] Checking admin subdomains..."
for sub in admin manage panel console dashboard; do
host="${sub}.$TARGET"
if dig +short "$host" | grep -q '^[0-9]'; then
echo " [!] Found subdomain: $host"
fi
done
# 4. CMS detection and specific paths
echo "[+] Checking CMS-specific paths..."
# WordPress
if curl -s "https://$TARGET/wp-login.php" | grep -q "WordPress"; then
echo " [!] WordPress detected"
echo " Admin: https://$TARGET/wp-admin/"
fi
# Joomla
if curl -s "https://$TARGET/administrator/" | grep -qi "joomla"; then
echo " [!] Joomla detected"
echo " Admin: https://$TARGET/administrator/"
fi
echo "[+] Scan complete. Review output files."
# Run admin panel detection templates
nuclei -u https://target.com -t http/exposed-panels/
nuclei -u https://target.com -t http/default-logins/
# Apache - Restrict admin to IP
<Location /admin>
Require ip 10.0.0.0/8
Require ip 192.168.0.0/16
</Location>
# Nginx - IP restriction
location /admin {
allow 10.0.0.0/8;
allow 192.168.0.0/16;
deny all;
}
| Finding | CVSS | Severity |
|---|---|---|
| Admin panel with default creds | 9.8 | Critical |
| Admin panel accessible externally | 7.5 | High |
| Admin panel with weak auth | 8.8 | High |
| Admin subdomain discovered | 5.3 | Medium |
| CWE ID | Title | Description |
|---|---|---|
| CWE-200 | Information Exposure | Admin interface disclosure |
| CWE-284 | Improper Access Control | Insufficient protection |
| CWE-287 | Improper Authentication | Weak admin authentication |
[ ] Common admin paths tested
[ ] CMS-specific paths checked
[ ] Alternative ports scanned
[ ] Admin subdomains enumerated
[ ] Source code analyzed for admin links
[ ] Hidden form fields examined
[ ] Parameter manipulation tested
[ ] Cookie manipulation tested
[ ] Default credentials tested
[ ] Access controls verified
[ ] Findings documented