Voltar às atualizações
New releaseSep 15, 2026

sippts v4.2.1

Conjunto de ferramentas para auditar sistemas VoIP baseados em SIP

Compartilhar
logo

O que é o Sippts?

O Sippts é um conjunto de ferramentas para auditar servidores e dispositivos VoIP que utilizam o protocolo SIP. O Sippts é programado em Python e permite-nos verificar a segurança de um servidor VoIP utilizando o protocolo SIP.

É gratuito?

Sim. Pode utilizá-lo, modificá-lo e distribuí-lo livremente. Se o modificar, inclua uma referência a este site.

O sippts pode ser utilizado para fins ilegais?

O objetivo desta ferramenta é auditar os seus próprios sistemas ou realizar testes de intrusão em sistemas para os quais recebeu autorização expressa. Não sou responsável pela utilização indevida desta ferramenta.

Utilização

Mostrar ajuda:``` sippts -h usage: sippts [-h] [-up] {video,astami,scan,exten,rcrack,send,wssend,enumerate,leak,ping,invite,dump,dcrack,flood,sniff,spoof,pcapdump,rtpbleed,rtcpbleed,rtpbleedflood,rtpbleedinject} ...

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⠤⠶⠒⠛⠉⠉⠉⠉⠀⠀⢀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣬⣍⣙⣳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠴⠒⠋⠉⠀⠀⠀⢀⣀⣠⡤⠴⠖⠚⠛⠉⠉⠉⠀⣠⡶⠖⠲⣄⠀⠀⠀⠀⠀⠀⠀⠈⠉⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡤⠖⠋⠁⠀⠀⠀⣀⣤⠴⠖⣛⣉⣁⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⡇⢹⡄⠀⠸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⣀⡤⠞⠋⠀⠀⠀⢀⣠⠴⠚⠋⠁⠀⠀⡿⡏⠀⠈⣧⣤⠴⠖⠚⠛⠉⠉⠳⢄⡀⠀⣧⠀⠀⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢠⡞⠧⣄⠀⢀⣠⠴⠚⠉⠀⠀⠀⠀⠀⢀⣴⠇⢹⠀⠀⢸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠉⣲⣿⣀⣠⣼⣦⣤⣀⣀⣀⡀⠀⢀⣀⣠⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢀⡿⠀⠀⠈⣿⠉⠀⠀⠀⠀⠀⠀⠙⢄⣰⠏⠀⠀⠘⡇⠀⠀⣇⢀⣀⡤⠤⠖⠒⠛⠉⠉⠉⣁⣀⠀⠀⠀⠉⠙⠛⢿⣿⡛⠛⠛⢻⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⣸⣧⣄⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⡄⠀⠀⠀⣷⠴⠚⠋⠉⠀⠀⢀⣠⣴⡖⠛⠉⠿⢻⣿⣉⡉⠙⠓⢲⠦⢤⣈⠙⢶⣶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢠⣏⠙⢦⣹⣼⠀⠀⠀⠀⠀⠀⢀⣴⣾⠟⠁⢀⡏⢀⡞⠀⠀⠀⠀⠀⣰⣯⡟⡀⠀⣼⡏⢘⡢⢠⣷⣾⡿⠿⠿⣷⣤⣞⠀⠙⢦⡀⠀⠙⢿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣰⡟⠿⡍⢷⢀⡇⠀⠀⠀⠀⠀⠀⠀⣠⣾⠏⣧⠀⢀⡞⠁⠀⠀⠀⠀⢠⡴⠋⠛⠻⣧⣤⡶⢿⡹⡟⠛⢯⣉⣿⢾⣧⣄⡈⠙⠲⢝⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢠⣏⠙⢦⣹⣼⠀⠀⠀⠀⠀⠀⢀⣴⣾⠟⠁⢀⡏⢀⡞⠀⠀⠀⠀⠀⣰⣯⡟⡀⠀⣼⡏⢘⡢⢠⣷⣾⡿⠿⠿⣷⣤⣞⠀⠙⢦⡀⠀⠙⢿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ SIPPTS version 4.1.2 (updated) ⣿⣍⡓⣄⣿⣧⣤⣤⣤⣶⣶⠿⠟⠋⠀⠀⣠⣎⣠⠎⠘⢄⠀⠀⠀⢀⡏⠛⠙⠋⢸⠋⠧⠤⠗⣾⢻⠁⠀⠀⠀⠀⠈⠻⡳⡀⠀⠙⢦⠀⣠⡹⡟⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ CVE version 0.1 (updated) ⣷⣤⣙⢾⣿⣭⡉⠉⠉⠁⠀⠀⣀⣠⠴⠚⠉⠉⠀⠀⠀⠈⠳⡀⠀⠘⣧⣤⢀⠀⢸⡶⣏⠙⣦⠹⡜⢦⡀⠀⠀⠀⠀⢀⡇⣿⣶⣶⣾⣿⣥⡇⠹⡌⠻⣄⠀⠀⠀⠀⠀⠀⠀⠀ https://github.com/Pepelux/sippts ⣿⠤⢬⣿⣇⠈⢹⡟⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢆⠀⢻⡹⡎⠃⠀⠳⡄⣽⠛⠦⠉⠲⣍⣓⣒⢒⣒⣉⡴⠋⣟⠙⢲⣿⠘⠃⠀⣷⠀⠙⢧⡀⠀⠀⠀⠀⠀⠀by Pepelux - https://twitter.com/pepeluxx ⣿⠶⠒⠺⣿⡀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢣⡀⠳⡄⢀⡀⠀⠙⠮⣗⠚⢠⡖⠲⣌⣉⡭⣍⡡⣞⠓⣾⠉⣽⠃⢠⡄⣼⣿⠀⠀⠈⠳⡄⠀⠀⠀⠀⠀ ⠸⡟⠉⣉⣻⣧⣼⠿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣄⠙⢮⡿⢿⡃⠀⠈⠑⠶⢽⣒⣃⣘⣲⣤⣗⣈⣹⠵⠛⠁⠀⠀⡴⣻⠃⠀⠀⠀⠀⠹⣆⠀⠀⠀⠀ ⠀⠹⣯⣁⣠⠼⠿⣿⡲⠿⠷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢦⠀⠙⠳⣄⡀⠀⣄⣶⣄⠀⠉⠉⠉⣉⡉⠉⠀⠀⠘⣶⣴⣦⠞⠁⠀⠀⠀⠀⠀⠀⠘⣧⠀⠀⠀ ⠀⠀⠘⣧⡤⠖⢋⣩⠿⣶⣤⣈⣙⣷⣤⣀⣠⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⡀⠀⠀⠉⠓⠶⢽⣼⣆⡀⠀⠀⢿⣿⣶⣀⣀⡬⠷⠚⠁⣀⣀⣀⠀⢰⣿⠿⡇⠀⠘⣧⠀⠀ ⠀⠀⠀⠀⠙⠾⣏⣤⠞⢁⡞⠉⣿⠋⣹⠉⢹⠀⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡄⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠀⣤⣤⣄⠀⣿⠙⢻⠆⠀⠓⢒⣁⡤⠴⠺⡆⠀ ⠀⠀⠀⠀⠀⠀⠀⠙⠒⠻⠤⣴⣇⣀⣿⣀⣾⡤⠿⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⣀⣀⡀⠀⢸⠿⢷⡄⠀⣿⣀⡿⠀⢈⣉⡭⠴⠒⠋⠉⠀⠀⠀⠀⢻⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠀⠰⣟⠛⡇⠀⠘⠧⠞⢁⣀⡤⠴⠒⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣼⠃ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠳⣦⣀⠀⠀⠀⠀⠀⠀⠈⢧⠀⠀⠀⠉⢋⣁⡤⠴⠚⠋⠉⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣴⠶⠚⠛⠉⢉⣽⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠷⣤⡀⠀⠀⠀⠀⠘⡆⠴⠒⠋⠉⠀⠀ ⢀⣀⣤⠴⠖⠛⠉⠉⠉⠉⠙⠛⠋⠉⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢛⠷⠦⠀⠀⠀⣿⠀⠀ ⠀⠀⠀⢠⠴⡖⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠷⣤⡀⠀⠘⡆⠴⠒⠋⠉⣤⠴⠖⠛⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢛⢠⠴⡖⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

-= SIPPTS is a set of tools for auditing VoIP systems based on the SIP protocol =-

Commands: {video,astami,scan,exten,rcrack,send,wssend,enumerate,leak,ping,invite,dump,dcrack,flood,sniff,spoof,pcapdump,rtpbleed,rtcpbleed,rtpbleedflood,rtpbleedinject} video Animated help astami Asterisk AMI pentest scan Fast SIP scanner exten Search SIP extensions of a PBX rcrack Remote password cracker send Send a customized message wssend Send a customized message over WS enumerate Enumerate methods of a SIP server leak Exploit SIP Digest Leak vulnerability ping SIP ping invite Try to make calls through a PBX dump Dump SIP digest authentications from a PCAP file dcrack SIP digest authentication cracking flood Flood a SIP server sniff SIP network sniffing spoof ARP Spoofing tool pcapdump Extract data from a PCAP file rtpbleed Detect RTPBleed vulnerability (send RTP streams) rtcpbleed Detect RTPBleed vulnerability (send RTCP streams) rtpbleedflood Exploit RTPBleed vulnerability (flood RTP) rtpbleedinject Exploit RTPBleed vulnerability (inject WAV file)

Options: -h, --help show this help message and exit -up Update scripts

Command help: sippts -h

Mostrar ajuda para o comando scan:```
sippts scan -h
usage: sippts scan [-i IP|HOST] [-f FILE] [-r REMOTE_PORT] [-p PROTOCOL]
                   [-proxy IP:PORT] [-m METHOD] [-d DOMAIN]
                   [-cd CONTACT_DOMAIN] [-fn FROM_NAME] [-fu FROM_USER]
                   [-fd FROM_DOMAIN] [-tn TO_NAME] [-tu TO_USER]
                   [-td TO_DOMAIN] [-ua USER_AGENT] [-ppi PPI] [-pai PAI] [-v]
                   [-vv] [-nocolor] [-o FILE] [-oi FILE] [-ot FILE] [-oj FILE]
                   [-ocsv FILE] [-cve] [-th THREADS] [-t TIMEOUT] [-ping]
                   [-fp] [-random] [-local-ip IP] [-h]


  ___ ___ ___ ___ _____ ___                    
 / __|_ _| _ \ _ \_   _/ __|  ___ __ __ _ _ _  
 \__ \| ||  _/  _/ | | \__ \ (_-</ _/ _` | ' \ 
 |___/___|_| |_|   |_| |___/ /__/\__\__,_|_||_|
            
  Module scan is a fast SIP scanner using multithread that can check several IPs and port ranges. It works with UDP, TCP and TLS protocols.

Target:
  -i IP|HOST            Host/IP address/network (ex: mysipserver.com | 192.168.0.10 | 192.168.0.0/24)
  -f FILE               File with several IPs or network ranges
  -r REMOTE_PORT        Ports to scan. Ex: 5060 | 5070,5080 | 5060-5080 | 5060,5062,5070-5080 | ALL for 1-65535 (default: 5060)
  -p, --protocol PROTOCOL
                        Protocol: udp|tcp|tls|all (default: udp)
  -proxy IP:PORT        Use an outbound proxy (ex: 192.168.1.1 or 192.168.1.1:5070)

Headers:
  -m METHOD             SIP method: options, invite, register (default: options)
  -d, --domain DOMAIN   SIP Domain or IP address. Ex: my.sipserver.com (default: target IP address)
  -cd CONTACT_DOMAIN    Domain or IP address for Contact header. Ex: 10.0.1.2
  -fn FROM_NAME         From Name. Ex: Bob
  -fu FROM_USER         From User (default: 100)
  -fd FROM_DOMAIN       From Domain. Ex: 10.0.0.1
  -tn TO_NAME           To Name. Ex: Alice
  -tu TO_USER           To User (default: 100)
  -td TO_DOMAIN         To Domain. Ex: 10.0.0.1
  -ua USER_AGENT        User-Agent header (default: pplsip)
  -ppi PPI              P-Preferred-Identity
  -pai PAI              P-Asserted-Identity

Log:
  -v                    Increase verbosity
  -vv                   Increase more verbosity
  -nocolor              Show result without colors
  -o FILE               Save data into a log file
  -oi FILE              Save IPs into a log file
  -ot FILE              Save found hosts as ip:port/proto, ready for -f of exten, rcrack and leak
  -oj FILE              Save results into a JSON file
  -ocsv FILE            Save results into a CSV file
  -cve                  Show possible CVEs

Other options:
  -th THREADS           Number of threads (default: 200)
  -t, --timeout TIMEOUT
                        Sockets timeout (default: 5)
  -ping                 Ping host before scan
  -fp                   Try to fingerprinting
  -random               Randomize target hosts
  -local-ip IP          Set local IP address (by default try to get it)
  -h, --help            Show this help

Usage examples:
  Searching for SIP services and devices with default ports (5060/udp) on the local network
     sippts scan -i 192.168.0.0/24
  Extend the port range from 5060 to 5080 and look for UDP, TCP and TLS services
     sippts scan -i 192.168.0.0/24 -r 5060-5080 -p all
  Load several target IP addresses from a file
     sippts scan -f targets.txt
  Random scanning for non-sequential scanning of IP ranges
     sippts scan -f targets.txt -random
  Disguise the tool behind another User-Agent
     sippts scan -i 192.168.0.0/24 -ua Grandstream
  Scan all ports and protocols of an address range using 500 threads (slow)
     sippts scan -f targets.txt -r all -p all -th 500 -ua Grandstream
  Typical scanning for large ranges
     sippts scan -f targets.txt -r 5060-5080 -p all -th 500 -ua Grandstream -v -fp -o output.txt
  Save the hosts found as ip:port/proto, to chain with exten, rcrack or leak
     sippts scan -i 192.168.0.0/24 -r 5060-5080 -p all -ot targets.txt
     sippts exten -f targets.txt -e 100-200 -oe extens.txt
     sippts rcrack -f targets.txt -ef extens.txt -w wordlist.txt
  Save the results as JSON or CSV, to process them with another tool
     sippts scan -i 192.168.0.0/24 -oj result.json -ocsv result.csv

Atualizar scripts:``` sippts -up

# Conjunto de ferramentas para teste de penetração no protocolo SIP #

Você pode obter ajuda sobre como usar esta ferramenta em https://sippts.seguridadvoip.com e também nas páginas wiki do Github:

Sippts é um conjunto de ferramentas para auditar servidores e dispositivos VoIP usando o protocolo SIP. Sippts é programado em Python e consiste nos seguintes comandos ou módulos:
  * _**scan**_ é um scanner multithread rápido para serviços SIP. Ele pode verificar vários endereços IP e intervalos de portas, e funciona sobre UDP, TCP e TLS. [Clique aqui para ler mais sobre o comando scan](https://github.com/Pepelux/sippts/wiki/Command-scan)

  * _**exten**_ identifica extensões em um servidor SIP. Também informa se a extensão requer autenticação. Ele pode verificar vários endereços IP, e com -f lê os alvos de um arquivo. [Clique aqui para ler mais sobre o comando exten](https://github.com/Pepelux/sippts/wiki/Command-exten)

  * _**rcrack**_ é um quebrador de senhas remoto. Ele pode testar senhas para vários usuários em vários endereços IP, e com -f lê os alvos de um arquivo. [Clique aqui para ler mais sobre o comando rcrack](https://github.com/Pepelux/sippts/wiki/Command-rcrack)

  * _**invite**_ verifica se um servidor nos permite fazer chamadas sem autenticação. Se o servidor SIP tiver uma configuração ruim, ele nos permitirá fazer chamadas para números externos. Ele também pode transferir a chamada para um segundo número externo. [Clique aqui para ler mais sobre o comando invite](https://github.com/Pepelux/sippts/wiki/Command-invite)

  * _**leak**_ explora a vulnerabilidade SIP Digest Leak descoberta por Sandro Gauci, que afeta um grande número de dispositivos de hardware e software. [Clique aqui para ler mais sobre o comando leak](https://github.com/Pepelux/sippts/wiki/Command-leak)

  * _**flood**_ envia mensagens ilimitadas para o alvo. [Clique aqui para ler mais sobre o comando flood](https://github.com/Pepelux/sippts/wiki/Command-flood)

  * _**send**_ envia uma mensagem SIP personalizada e analisa a resposta. [Clique aqui para ler mais sobre o comando send](https://github.com/Pepelux/sippts/wiki/Command-send)

  * _**wssend**_ envia uma mensagem SIP personalizada sobre WebSockets e analisa a resposta. [Clique aqui para ler mais sobre o comando wssend](https://github.com/Pepelux/sippts/wiki/Command-wssend)

  * _**enumerate**_ enumera os métodos disponíveis de um serviço ou servidor SIP. [Clique aqui para ler mais sobre o comando enumerate](https://github.com/Pepelux/sippts/wiki/Command-enumerate)

  * _**dump**_ extrai autenticações SIP Digest de um arquivo PCAP. [Clique aqui para ler mais sobre o comando dump](https://github.com/Pepelux/sippts/wiki/Command-dump)

  * _**dcrack**_ quebra as autenticações digest do protocolo SIP. [Clique aqui para ler mais sobre o comando dcrack](https://github.com/Pepelux/sippts/wiki/Command-dcrack)

  * _**pcapdump**_ extrai dados SIP e RTP de um arquivo PCAP, e pode salvar os fluxos de áudio como arquivos WAV. [Clique aqui para ler mais sobre o comando pcapdump](https://github.com/Pepelux/sippts/wiki/Command-pcapdump)

  * _**ping**_ envia um ping SIP para verificar se um servidor ou dispositivo está ativo. [Clique aqui para ler mais sobre o comando ping](https://github.com/Pepelux/sippts/wiki/Command-ping)

  * _**astami**_ escaneia e audita a Asterisk Manager Interface (AMI), e pode executar um comando naquelas onde as credenciais funcionam. [Clique aqui para ler mais sobre o comando astami](https://github.com/Pepelux/sippts/wiki/Command-astami)

  * _**sniff**_ captura tráfego SIP ao vivo e mostra as mensagens, os dispositivos e as autenticações digest que vê. [Clique aqui para ler mais sobre o comando sniff](https://github.com/Pepelux/sippts/wiki/Command-sniff)

  * _**spoof**_ é uma ferramenta de ARP spoofing, para se colocar entre dois dispositivos e capturar seu tráfego. [Clique aqui para ler mais sobre o comando spoof](https://github.com/Pepelux/sippts/wiki/Command-spoof)

  * _**video**_ reproduz uma demonstração animada dos fluxos de trabalho usuais: scan para exten para rcrack, dump para dcrack, leak para dcrack, e spoof para sniff.

  * _**rtpbleed**_ para explorar a vulnerabilidade RTP Bleed enviando dados para portas RTP. [Clique aqui para ler mais sobre o comando rtpbleed](https://github.com/Pepelux/sippts/wiki/Command-rtpbleed)

  * _**rtcpbleed**_ para explorar a vulnerabilidade RTP bleed enviando dados para portas RTCP. [Clique aqui para ler mais sobre o comando rtcpbleed](https://github.com/Pepelux/sippts/wiki/Command-rtcpbleed)

  * _**rtpbleedflood**_ para explorar a vulnerabilidade RTP Bleed inundando uma porta RTP com um diálogo ativo. [Clique aqui para ler mais sobre o comando rtpbleedflood](https://github.com/Pepelux/sippts/wiki/Command-rtpbleedflood)

  * _**rtpbleedinject**_ para explorar a vulnerabilidade RTP Bleed injetando tráfego RTP. [Clique aqui para ler mais sobre o comando rtpbleedinject](https://github.com/Pepelux/sippts/wiki/Command-rtpbleedinject)

## Certificados TLS ##

sippts fala TLS, e até agora descartava o certificado. Com
`-tlsinfo` o módulo `scan` lê o que o servidor apresenta:```
sippts scan -i 192.168.0.1 -r 5061 -p tls -tlsinfo

Não custa nenhuma conexão extra, porque o handshake acontece de qualquer forma. Duas tabelas vêm depois da habitual: o que o certificado diz (versão de TLS, cifra, chave, expiração e, com -v, também subject, issuer, SAN e SHA-256), e o que vale a pena reportar sobre ele — expirado, autoassinado, chave com menos de 2048 bits, assinatura SHA-1 ou MD5, um nome que não corresponde, uma versão de TLS antiga ou uma cifra fraca.

A que mais importa em VoIP é CERT_DEFAULT_VENDOR: o certificado de fábrica de um PBX ou de um telefone, cuja chave privada vem dentro da imagem do firmware. Qualquer pessoa que descarregue essa imagem pode colocar-se no meio do SIP-TLS.

Com -tlsversions também tenta TLS 1.0, 1.1, 1.2 e 1.3 um de cada vez, o que custa um handshake por versão e é feito uma vez por host e porta:``` sippts scan -i 192.168.0.1 -r 5061 -p tls -tlsversions

Cada versão retorna como `accepted`, `refused` ou `untested`. A última
significa que *este* OpenSSL não pode oferecer essa versão, o que não é o mesmo
que o servidor tê-la desativada, e a diferença importa quando o resultado vai
para um relatório.

Dois limites honestos, que a ferramenta imprime em vez de esconder:

  * **SSLv2 e SSLv3 não podem ser testados.** O OpenSSL 3 é compilado sem eles, então
  o sippts não pode oferecê-los. Eles são reportados como `untested`, nunca como
  `disabled`.

  * Um certificado autoassinado num tronco SIP interno não é um achado por
  si só. Julgue-o em contexto.

A tabela principal, o arquivo de `-o` e o CSV de `-ocsv` não mudam. O
JSON de `-oj` ganha `tls` e `tls_findings`.

## Sequestro de chamadas ##

`Replaces` (RFC 3891) aponta para uma chamada que já está ativa, pelo seu Call-ID e
suas duas tags. `sippts dump` e `sippts sniff` são o que lhe dão esses três
valores a partir de uma captura; a partir daí:```
sippts send -i 192.168.0.1 -m REFER -refer-to 200 -replaces "CALLID;to-tag=X;from-tag=Y"
sippts send -i 192.168.0.1 -m INVITE -replaces "CALLID;to-tag=X;from-tag=Y"

Em um REFER é uma transferência assistida, e em um INVITE ele assume a chamada. sippts invite também aceita -replaces, para adicioná-lo ao REFER que -t já envia, de modo que a transferência acontece dentro de uma chamada que ele acabou de estabelecer.

O que um servidor diz que suporta

enumerate tenta os 14 métodos SIP um a um e os distingue pela resposta, mas um servidor também declara o que aceita nos cabeçalhos Allow, Supported e Allow-Events. Esses também são lidos e impressos em uma segunda tabela, que também aponta as duas contradições que vale a pena observar: um método anunciado em Allow que depois responde 405, e um método que responde bem sem ser anunciado de forma alguma. Allow-Events é o que diz se dialog, message-summary ou presence podem ser assinados, que é para onde send -m subscribe vai em seguida.``` sippts enumerate -i 192.168.0.1

A primeira tabela mantém a forma que sempre teve, e o mesmo acontece com o CSV de
`-ocsv`. Os novos dados são adicionados apenas ao JSON de `-oj`, sob
`capabilities`.

## Vulnerabilidades conhecidas ##

Com `-cve`, o módulo `scan` compara o que identifica com uma lista de
vulnerabilidades conhecidas que viaja dentro do pacote
(`src/sippts/data/cve.csv`). Contém cerca de 1400 CVEs de 54 fornecedores, construída
a partir do [NVD do NIST](https://nvd.nist.gov), e os intervalos de versão vêm dos
CPEs de cada CVE:```bash
sippts scan -i 192.168.0.0/24 -fp -cve

Resultados cuja versão realmente cai dentro do intervalo afetado são listados primeiro. Os demais são mostrados atrás deles como meramente possíveis, porque em um scanner um CVE que existe e não é reportado é pior do que um reportado em excesso. Uma linha sem intervalo significa que todas as versões daquele dispositivo são afetadas.

Dois limites que vale a pena conhecer. A detecção se apoia no User-Agent, então um servidor que o oculta não pode ser verificado contra nada. E alguns produtos são versionados com letras (o A, B e C do Asterisk Business Edition, ou beta_5), que nenhuma comparação numérica consegue ordenar: esses são correspondidos apenas por texto, e sempre aparecem como possíveis em vez de confirmados.

Para atualizar a lista:```bash sippts -up

que o baixa do github juntamente com o resto dos módulos.

### Severidade ###

Cada CVE traz o seu CVSS, colorido por severidade: roxo para crítico, vermelho
para alto, amarelo para médio e ciano para baixo. Os piores são listados primeiro.

O NVD não tem CVSS v3 para todos os CVE: cerca de um terço da lista é
anterior a 2016 e só tem v2, e para o Asterisk é a maioria deles. Quando
só existe v2, este é usado e **marcado com `v2`**, porque as duas escalas não são
equivalentes e a v2 não tem nível CRITICAL: CVE-2017-16563 é 6.0 MEDIUM em
v2 e 8.0 HIGH em v3.

Um sippts anterior ao 4.2.1 não consegue ler esta coluna. Atualize com `sippts -up`.

### Reconstruir a lista (mantenedores) ###

`tools/cve_update.py` reconstrói o `cve.csv` a partir do NVD. Não é algo que o
utilizador do sippts executa: a ideia é regenerá-lo, olhar para o diff, fazer commit,
e deixar que todos os outros o obtenham com `sippts -up`. Isso mantém a chave da API e os
limites de taxa do NVD fora do meio de uma auditoria.```bash
./tools/cve_update.py --dry-run          # what would change, writing nothing
./tools/cve_update.py                    # rebuild it
./tools/cve_update.py --vendor yealink   # only one vendor
NVD_API_KEY=xxxx ./tools/cve_update.py   # ten times faster

Sem uma chave de API, o NVD permite 5 pedidos a cada 30 segundos e uma execução completa demora cerca de quinze minutos. São gratuitas em nvd.nist.gov.

Duas listas no topo do script controlam o que é procurado. VENDORS contém os fornecedores, e cada um pode ser o fornecedor completo, uma lista de produtos, ou filtrado por tag. TAGS_VOIP contém as tags (voip, sip, ip_phone, ata, pbx, ip_office, mivoice...). O filtro é importante para fornecedores que também fabricam routers e firewalls: pedir ao NVD o Zyxel completo devolve 3223 linhas de equipamento WiFi e DSL que o sippts nunca vai ver via SIP.

Sistemas Operativos

O Sippts foi testado em:

  • Linux
  • MacOS

Requisitos

  • Python 3
  • As dependências listadas em requirements.txt, instaladas automaticamente pelo pip
  • Para sniff, dump e pcapdump: tshark (parte do Wireshark)
  • Para extrair áudio com pcapdump: sox e ffmpeg

Instalação

Instalar via git: ```bash git clone https://github.com/Pepelux/sippts.git

```bash
cd sippts
pip3 install .

Categorias