Aller au contenu

SIPVicious

SIPVicious is a suite of command-line tools for auditing SIP (Session Initiation Protocol) servers and VoIP infrastructure. It includes tools for network scanning (svmap), extension enumeration (svwar), and authentication testing (svcrack). Designed for authorized security assessments and penetration testing of VoIP systems.

# Debian/Ubuntu
sudo apt-get install sipvicious

# Fedora/RHEL
sudo dnf install sipvicious

# From source
git clone https://github.com/EnableSecurity/sipvicious.git
cd sipvicious
pip install -e .
docker pull sipvicious/sipvicious
docker run -it sipvicious/sipvicious /bin/bash
ToolPurposeUse Case
svmapSIP server scanner and mapperDiscover active SIP servers on network
svwarSIP extension/user enumeratorFind valid SIP usernames and extensions
svcrackSIP authentication crackerTest weak credentials on SIP servers
svreportResult analysis and reportingGenerate audit reports from findings
svplaybackSIP message replay toolTest SIP message handling and responses

SVMap scans IP ranges and identifies active SIP servers and services.

# Scan single host
svmap 192.168.1.100

# Scan network range
svmap 192.168.1.0/24

# Scan with custom port
svmap -p 5060 192.168.1.0/24

# Scan multiple ports
svmap -p 5060,5061,5065,15060 192.168.1.100
# Verbose output
svmap -v 192.168.1.0/24

# Timeout per host (seconds)
svmap -t 5 192.168.1.100

# Max parallel processes
svmap -j 4 192.168.1.0/24

# Save results to file
svmap -o output.txt 192.168.1.100

# Use proxy
svmap -P sip:proxy.example.com:5060 192.168.1.100

# Custom domain
svmap -d voip.example.com 192.168.1.100

# IPv6 support
svmap ::1/64
# Full verbose scan with custom timeout
svmap -v -t 3 -j 8 192.168.1.0/24

# Scan with output logging
svmap -o sip_servers.txt -v 192.168.1.100

# UDP and TCP scanning
svmap -u -t 2 192.168.1.0/24

# Range scanning with max threads
svmap -j 16 192.168.1.0-192.168.1.50

SVWar enumerates valid SIP user extensions by probing the target SIP server.

# Enumerate against discovered server
svwar -m REGISTER 192.168.1.100

# Enumerate with custom port
svwar -m REGISTER -p 5061 192.168.1.100

# Enumerate specific domain
svwar -m REGISTER -d voip.example.com 192.168.1.100

# Use extension list wordlist
svwar -m REGISTER -e usernames.txt 192.168.1.100
# REGISTER method (default)
svwar -m REGISTER 192.168.1.100

# OPTIONS method
svwar -m OPTIONS 192.168.1.100

# INVITE method
svwar -m INVITE 192.168.1.100

# SUBSCRIBE method
svwar -m SUBSCRIBE 192.168.1.100
# Enumerate with custom range
svwar -m REGISTER -e 100-999 192.168.1.100

# Threading for faster enumeration
svwar -m REGISTER -j 16 192.168.1.100

# Verbose logging
svwar -m REGISTER -v 192.168.1.100

# Save results
svwar -m REGISTER -o valid_users.txt 192.168.1.100

# Custom From domain
svwar -m REGISTER -d internal.corp.com 192.168.1.100

# Custom User-Agent
svwar -m REGISTER -A "Cisco SIP Gateway" 192.168.1.100

# Response code filtering
svwar -m REGISTER -x "401,407" 192.168.1.100
# Common extensions
svwar -m REGISTER -e extensions.txt 192.168.1.100

# Custom wordlist
svwar -m REGISTER -e /path/to/wordlist.txt 192.168.1.100

# Generate numeric range (100-999)
seq 100 999 > numeric_list.txt
svwar -m REGISTER -e numeric_list.txt 192.168.1.100

# Common names list
svwar -m REGISTER -e common_names.txt 192.168.1.100

SVCrack performs credential testing against SIP authentication mechanisms.

# Test credentials against server
svcrack -u admin 192.168.1.100

# Wordlist attack
svcrack -u admin -w passwords.txt 192.168.1.100

# Dictionary password file
svcrack -u admin -w /usr/share/dict/wordlist 192.168.1.100

# With proxy
svcrack -u admin -P sip:proxy.example.com:5060 192.168.1.100
# Custom port
svcrack -u admin -p 5061 192.168.1.100

# Domain specification
svcrack -u admin -d voip.example.com 192.168.1.100

# Multiple usernames
svcrack -U users.txt -w passwords.txt 192.168.1.100

# Threading optimization
svcrack -u admin -w passwords.txt -j 8 192.168.1.100

# Timeout per request
svcrack -u admin -w passwords.txt -t 5 192.168.1.100

# Verbose output
svcrack -u admin -w passwords.txt -v 192.168.1.100

# Save results
svcrack -u admin -w passwords.txt -o cracked.txt 192.168.1.100
# Step 1: Discover SIP servers
svmap -v -j 8 192.168.1.0/24 | tee sip_discovery.txt

# Step 2: Enumerate extensions from discovered servers
for server in $(grep "SIP" sip_discovery.txt | cut -d: -f1); do
  echo "Enumerating $server"
  svwar -m REGISTER -v -j 8 $server | tee enum_$server.txt
done

# Step 3: Test credentials for valid extensions
for user in $(cat valid_extensions.txt); do
  svcrack -u $user -w passwords.txt -v 192.168.1.100
done
# Known SIP server assessment
TARGET="192.168.1.100"

# Scan for service confirmation
svmap -v $TARGET

# Enumerate extensions with REGISTER
svwar -m REGISTER -d corp.internal $TARGET -o valid_users.txt

# Attempt credential brute-force
svcrack -U valid_users.txt -w common_passwords.txt $TARGET
# Generate structured results
svmap -o scan_results.txt 192.168.1.0/24
svwar -m REGISTER -o enum_results.txt -d corp.com 192.168.1.100
svcrack -u admin -w passwords.txt -o crack_results.txt 192.168.1.100

# Combine and analyze
cat scan_results.txt enum_results.txt crack_results.txt > assessment_report.txt
  • Authorization: Only test VoIP systems you own or have explicit written permission to assess
  • Network: Run SIPVicious from a machine with network access to target infrastructure
  • Rate Limiting: Use threading (-j) judiciously to avoid causing DoS conditions
  • Documentation: Log all scan parameters and findings for compliance reporting
  • Port Discovery: Start with port 5060 (UDP) and 5061 (TCP), but verify service on alternative ports
  • Domain Enumeration: Use REGISTER method for most reliable extension discovery
# Verify connectivity
nc -zv 192.168.1.100 5060

# Check firewall rules
sudo iptables -L | grep 5060

# Test with custom timeout
svmap -t 10 192.168.1.100
# Use specific method matching behavior
svwar -m REGISTER -x "401,407" 192.168.1.100

# Filter by response codes
svwar -m REGISTER -v 192.168.1.100 | grep "401\|407"
# Increase threading
svwar -m REGISTER -j 32 192.168.1.100

# Reduce timeout
svwar -m REGISTER -t 2 192.168.1.100
  • Asterisk: Open-source VoIP PBX for testing VoIP deployments
  • SIPp: SIP protocol tester and traffic generator
  • VoIPmonitor: VoIP traffic analysis and monitoring
  • Wireshark: Packet capture and SIP protocol analysis
  • Kamailio: SIP server for test environments
  • SIPVicious generates network traffic; ensure network monitoring systems won’t trigger alerts
  • Credential testing can lock accounts; test with dedicated accounts in lab environments
  • Some VoIP systems have rate limiting; respect throttling and avoid account lockouts
  • Document all testing with proper change control and client approval