Security Testing Checklist
Security Testing Checklist - SAP Platform
My personal pentesting checklist for SAP. Use this when you run into one of these things.
Pre-Assessment Phase
1. Information Gathering
-
Target Identification
- Find SAP deployment URL(s)
- Figure out if it's cloud/on-prem/hybrid
- Map subdomains and related services
- Get version and build info
-
Network Discovery
- Port scan for default ports (3200, 3300, 3600, 8000, 44300, 50000, 50013)
- Service enumeration and version detection
- SSL/TLS config analysis
- Network segmentation assessment
-
Technology Stack Analysis
- Identify underlying tech (ABAP, Java, databases)
- Check for third-party components
- Analyze HTTP headers and error messages
- Review JavaScript and client-side code
2. Vulnerability Research
-
CVE Analysis
- Check CVE-2025-31324 (unauthenticated file upload)
- Check CVE-2025-42999 (deserialization)
- Check CVE-2025-0070 (auth bypass)
- Check CVE-2025-0066 (info disclosure)
- Check CVE-2024-41730 (missing auth check)
-
Security Advisories
- Review SAP Security Notes
- Check for recent security updates
- Analyze patch levels and missing updates
Unauthenticated Testing
1. Default Credentials
- Common Defaults
- admin/admin
- sap/sap
- DDIC/19920707
- SAP*/PASS
- TMSADM/ADMIN
- EarlyWatch/SUPPORT
- BCUSER/BCUSER
- DEVELOPER/DEVELOPER
2. Publicly Exposed Services
- Service Enumeration
- Check for exposed RFC interfaces (port 3300)
- Check for exposed ICM (port 8000, 44300)
- Check for exposed Web Dispatcher (port 50000, 50013)
- Check for exposed Message Server (port 3600)
3. Unsecured Interfaces
-
RFC Interface Testing
- Test for unauthorized RFC access
- Check for exposed function modules
- Test for data extraction via RFC
-
ICM/Web Dispatcher Testing
- Test for path traversal
- Check for information disclosure
- Test for authentication bypass
4. File Upload Vulnerabilities
- CVE-2025-31324 Testing
- Test for unauthenticated file upload
- Try to upload webshells
- Test for path traversal in upload
5. Information Disclosure
-
Error Messages
- Check for verbose error messages
- Look for system information in errors
- Check for stack traces
-
System Information
- Check for version information
- Look for system configuration details
- Check for user information
Authenticated Testing
1. Authentication Mechanisms
- Login Functionality
- Test for SQL injection in login forms
- Check for auth bypass vulnerabilities
- Test for brute force protection
- Verify password complexity requirements
2. Session Management
- Session Security
- Test for session fixation vulnerabilities
- Check session timeout configuration
- Verify session invalidation on logout
- Test for concurrent session handling
3. Access Control Testing
-
Role-Based Access Control
- Test for privilege escalation
- Check for horizontal privilege escalation
- Verify role assignment controls
- Test for role manipulation
-
CVE-2025-0070 Testing
- Test for authentication bypass
- Check for privilege escalation
- Verify proper authorization checks
4. Custom Code Review
-
ABAP Code Analysis
- Test for SQL injection in custom ABAP
- Check for authorization bypass
- Test for input validation flaws
- Check for business logic flaws
-
Java Code Analysis
- Test for deserialization vulnerabilities
- Check for injection vulnerabilities
- Test for authorization bypass
5. Business Logic Testing
-
Workflow Security
- Test for workflow bypass
- Check for step skipping
- Test for approval bypass
- Verify process integrity
-
Data Validation
- Test for data validation bypass
- Check for business logic flaws
- Test for data manipulation
- Verify business rule enforcement
API Security Testing
1. REST API Testing
-
Authentication & Authorization
- Test API authentication mechanisms
- Check for API key security
- Test for token-based authentication
- Verify API access controls
-
Input Validation
- Test for API parameter injection
- Check for mass assignment vulnerabilities
- Test for API rate limiting
- Verify input sanitization
2. SOAP API Testing
- SOAP Security
- Test for SOAP injection
- Check for XML external entity (XXE) attacks
- Test for SOAP action manipulation
- Verify SOAP authentication
Database Security Testing
1. Database Access
- Direct Database Access
- Test for direct database connections
- Check for database user permissions
- Test for privilege escalation
- Verify database access controls
2. SQL Injection
- ABAP SQL Injection
- Test for SQL injection in custom ABAP
- Check for parameterized query usage
- Test for blind SQL injection
- Verify input validation
Configuration Testing
1. Security Misconfigurations
-
Default Configurations
- Check for default credentials
- Verify default service settings
- Test for debug mode enabled
- Check for verbose error messages
-
Service Configuration
- Check for exposed services
- Verify service permissions
- Test for service misconfigurations
- Check for unnecessary services
2. Network Configuration
- Firewall Configuration
- Check for unnecessary open ports
- Verify network segmentation
- Test for internal network access
- Check for DMZ configuration
Patch Management Testing
1. Security Notes
- Patch Verification
- Check for missing SAP Security Notes
- Verify patch installation
- Test for patch bypass
- Check for custom patches
2. Version Analysis
- Version Detection
- Identify SAP version and build
- Check for end-of-life versions
- Verify version-specific vulnerabilities
- Check for unsupported versions
Logging and Monitoring
1. Security Logging
- Audit Logs
- Check for security event logging
- Verify log integrity
- Test for log tampering
- Check for log rotation
2. Monitoring
- Security Monitoring
- Check for real-time monitoring
- Verify alerting mechanisms
- Test for monitoring bypass
- Check for log analysis
Post-Exploitation Testing
1. Privilege Escalation
- System Privileges
- Test for local privilege escalation
- Check for sudo privileges
- Test for SUID binaries
- Verify user permissions
2. Data Access
- Sensitive Data
- Test for database access
- Check for file system access
- Test for configuration access
- Verify data encryption
3. Persistence
- Backdoor Installation
- Test for user account creation
- Check for service installation
- Test for scheduled task creation
- Verify persistence mechanisms
HOW TO Guides
1. How to Identify SAP Instance Type
- Check if it's ABAP or Java
- Method 1: Port Analysis
- ABAP: Usually ports 8000, 8001, 8002 (ICM)
- Java: Usually ports 50000+ (Web Dispatcher)
- Method 2: HTTP Headers
- Check for "SAP NetWeaver" in headers
- Look for "X-SAP-System" header
- Method 3: URL Patterns
- ABAP:
/sap/bc/ui2/nwbc/or/sap/bc/gui/sap/its/webgui - Java:
/sap/bc/ui5_ui5/or/sap/bc/webdynpro/
- ABAP:
- Method 4: Error Messages
- ABAP errors mention "ABAP" or "SAP NetWeaver AS ABAP"
- Java errors mention "Java" or "SAP NetWeaver AS Java"
- Method 1: Port Analysis
2. How to Determine On-Prem vs Cloud
- Check for Cloud Indicators
- URL Analysis
- Cloud:
*.sapbydesign.com,*.s4hana.cloud.sap.com - On-prem: Internal domains, IP addresses
- Cloud:
- HTTP Headers
- Look for "X-SAP-System" with cloud indicators
- Check for "X-SAP-Cloud" headers
- Error Messages
- Cloud: References to "SAP Cloud Platform"
- On-prem: Local system names, internal paths
- Port Analysis
- Cloud: Usually only 443/80 exposed
- On-prem: Multiple SAP ports (3200, 3300, 3600, 8000, etc.)
- URL Analysis
3. How to Connect to RFC
- RFC Connection Methods
- Method 1: SAP GUI
- Install SAP GUI
- Use transaction SM59 to configure RFC connections
- Test connection with transaction SMGW
- Method 2: Python Scripts
- Use
pyrfclibrary - Connect to port 3300 (Gateway)
- Use
- Method 3: Java/JCo
- Use SAP Java Connector (JCo)
- Connect to port 3300
- Method 4: .NET Connector
- Use SAP .NET Connector
- Connect to port 3300
- Method 1: SAP GUI
4. How to Test RFC Security
- RFC Security Testing
- Check RFC Permissions
- Use transaction SM59
- Check for "Trusted RFC" connections
- Verify RFC user permissions
- Test RFC Function Modules
- Use transaction SE37
- Test for unauthorized function calls
- Check for data extraction possibilities
- Network Testing
- Port scan for 3300 (Gateway)
- Test for exposed RFC interfaces
- Check for RFC over HTTP
- Check RFC Permissions
5. How to Identify SAP Version
- Version Detection Methods
- Method 1: HTTP Headers
- Look for "Server" header
- Check "X-SAP-System" header
- Method 2: Error Pages
- Trigger errors to see version info
- Check stack traces
- Method 3: URL Patterns
- Different versions use different URL patterns
- Check for version-specific endpoints
- Method 4: File System
- Check for version files (if accessible)
- Look for installation directories
- Method 1: HTTP Headers
6. How to Test File Upload Vulnerabilities
- File Upload Testing
- CVE-2025-31324 Testing
- Target:
/sap/bc/ui2/nwbc/visualcomposer/metadata - Upload JSP webshell
- Test for path traversal
- Target:
- General File Upload Testing
- Test various file types
- Check for file type validation
- Test for size limits
- Look for path traversal
- CVE-2025-31324 Testing
7. How to Test Authentication Bypass
- Auth Bypass Testing
- CVE-2025-0070 Testing
- Test for auth bypass in NetWeaver AS ABAP
- Check for privilege escalation
- CVE-2024-41730 Testing
- Target BusinessObjects BI Platform
- Test for missing auth checks
- Try to get login tokens
- CVE-2025-0070 Testing
8. How to Test Custom ABAP Code
- ABAP Code Testing
- Transaction SE80
- Use SE80 to browse custom code
- Look for SQL injection points
- Check for authorization bypass
- Transaction SE37
- Test function modules
- Check for input validation
- Test for business logic flaws
- Transaction SE38
- Browse ABAP programs
- Look for security issues
- Check for hardcoded credentials
- Transaction SE80
Tools and Resources
1. Automated Testing Tools
- Vulnerability Scanners
- Nessus/OpenVAS
- Burp Suite Professional
- OWASP ZAP
- Nikto
2. SAP-specific Tools
-
SAP GUI
- For RFC testing
- For custom code analysis
- For system administration
-
SAP NetWeaver Developer Studio
- For custom code analysis
- For Java application testing
3. Custom Scripts
- Exploitation Scripts
- CVE-2025-31324 exploitation
- CVE-2025-42999 exploitation
- Default credential testing
- RFC interface testing
Reporting & Documentation
1. Vulnerability Documentation
- Finding Documentation
- Document all vulnerabilities found
- Assign CVSS scores
- Provide proof of concept
- Include remediation steps
2. Risk Assessment
- Risk Analysis
- Assess business impact
- Evaluate exploitability
- Determine remediation priority
- Provide risk mitigation strategies
3. Remediation Recommendations
- Security Improvements
- Provide specific remediation steps
- Suggest security controls
- Recommend monitoring solutions
- Include best practices
Disclaimer: This checklist is for authorized security testing only. Always ensure you have proper authorization before testing any systems.