Pentesting VoIP
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
Znajdź i zgłoś krytyczne, podatne na ataki luki z rzeczywistym wpływem na biznes. Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
Aby zacząć uczyć się, jak działa VoIP, sprawdź:
Basic VoIP Protocols1xx—Odpowiedzi Provisional
2xx—Odpowiedzi z sukcesem
3xx—Odpowiedzi przekierowujące
4xx—Odpowiedzi o błędach klienta
5xx—Odpowiedzi o błędach serwera
6xx—Global Failure Responses
Jednym z pierwszych kroków, które może podjąć Red Team, jest wyszukiwanie dostępnych numerów telefonów do kontaktu z firmą za pomocą narzędzi OSINT, wyszukiwania w Google lub skanowania stron internetowych.
Gdy masz numery telefonów, możesz skorzystać z usług online, aby zidentyfikować operatora:
Znając operatora, który świadczy usługi VoIP, możesz zidentyfikować, czy firma korzysta z VoIP... Co więcej, możliwe jest, że firma nie zatrudniła usług VoIP, ale używa kart PSTN do połączenia własnej centrali VoIP z tradycyjną siecią telefoniczną.
Rzeczy takie jak automatyczne odpowiedzi z muzyką zazwyczaj wskazują, że używane jest VoIP.
Każda inna enumeracja OSINT, która pomoże zidentyfikować używane oprogramowanie VoIP, będzie pomocna dla Red Team.
nmap
jest w stanie skanować usługi UDP, ale z powodu liczby skanowanych usług UDP, jest bardzo wolny i może nie być zbyt dokładny w przypadku tego rodzaju usług.
svmap
z SIPVicious (sudo apt install sipvicious
): Zlokalizuje usługi SIP w wskazanej sieci.
svmap
jest łatwy do zablokowania, ponieważ używa User-Agent friendly-scanner
, ale możesz zmodyfikować kod z /usr/share/sipvicious/sipvicious
i go zmienić.
SIPPTS scan
from sippts: Skanowanie SIPPTS to bardzo szybki skaner dla usług SIP przez UDP, TCP lub TLS. Używa wielowątkowości i może skanować duże zakresy sieci. Umożliwia łatwe wskazanie zakresu portów, skanowanie zarówno TCP, jak i UDP, użycie innej metody (domyślnie użyje OPTIONS) oraz określenie innego User-Agent (i więcej).
metasploit:
PBX może również udostępniać inne usługi sieciowe, takie jak:
69/UDP (TFTP): Aktualizacje oprogramowania
80 (HTTP) / 443 (HTTPS): Zarządzanie urządzeniem z poziomu sieci
389 (LDAP): Alternatywa do przechowywania informacji o użytkownikach
3306 (MySQL): Baza danych MySQL
5038 (Manager): Umożliwia korzystanie z Asteriska z innych platform
5222 (XMPP): Wiadomości za pomocą Jabber
5432 (PostgreSQL): Baza danych PostgreSQL
I inne...
Możliwe jest znalezienie które metody są dostępne do użycia w PBX za pomocą SIPPTS enumerate
z sippts
Bardzo ważne jest, aby analizować nagłówki, które serwer wysyła z powrotem do nas, w zależności od rodzaju wiadomości i nagłówków, które wysyłamy. Za pomocą SIPPTS send
z sippts możemy wysyłać spersonalizowane wiadomości, manipulując wszystkimi nagłówkami, i analizować odpowiedź.
Możliwe jest również uzyskanie danych, jeśli serwer używa websockets. Z SIPPTS wssend
z sippts możemy wysyłać spersonalizowane wiadomości WS.
Rozszerzenia w systemie PBX (Prywatna Centrala Telefoniczna) odnoszą się do unikalnych identyfikatorów wewnętrznych przypisanych do poszczególnych linii telefonicznych, urządzeń lub użytkowników w organizacji lub firmie. Rozszerzenia umożliwiają efektywne kierowanie połączeń wewnątrz organizacji, bez potrzeby posiadania indywidualnych zewnętrznych numerów telefonów dla każdego użytkownika lub urządzenia.
svwar
z SIPVicious (sudo apt install sipvicious
): svwar
to darmowy skaner linii rozszerzeń SIP PBX. W koncepcji działa podobnie do tradycyjnych wardialerów, zgadując zakres rozszerzeń lub podaną listę rozszerzeń.
SIPPTS exten
z sippts: SIPPTS exten identyfikuje rozszerzenia na serwerze SIP. Sipexten może sprawdzać duże zakresy sieci i portów.
metasploit: Możesz również enumerować rozszerzenia/nazwy użytkowników za pomocą metasploit:
enumiax
(apt install enumiax
): enumIAX to enumerator brute-force nazw użytkowników protokołu Inter Asterisk Exchange. enumIAX może działać w dwóch odrębnych trybach: sekwencyjnego zgadywania nazw użytkowników lub ataku słownikowego.
Po odkryciu PBX i niektórych rozszerzeń/nazw użytkowników, Zespół Czerwony może spróbować uwierzytelnić się za pomocą metody REGISTER
do rozszerzenia, używając słownika powszechnych haseł do przeprowadzenia ataku brute force na uwierzytelnienie.
Zauważ, że nazwa użytkownika może być taka sama jak rozszerzenie, ale ta praktyka może się różnić w zależności od systemu PBX, jego konfiguracji i preferencji organizacji...
Jeśli nazwa użytkownika nie jest taka sama jak rozszerzenie, będziesz musiał ustalić nazwę użytkownika, aby przeprowadzić atak brute-force.
svcrack
z SIPVicious (sudo apt install sipvicious
): SVCrack pozwala na złamanie hasła dla konkretnej nazwy użytkownika/rozszerzenia na PBX.
SIPPTS rcrack
z sippts: SIPPTS rcrack to zdalny program do łamania haseł dla usług SIP. Rcrack może testować hasła dla kilku użytkowników w różnych zakresach IP i portów.
Metasploit:
Jeśli znajdziesz sprzęt VoIP w otwartej sieci Wifi, możesz przechwycić wszystkie informacje. Co więcej, jeśli jesteś w bardziej zamkniętej sieci (połączonej przez Ethernet lub chronioną Wifi), możesz przeprowadzić ataki MitM, takie jak ARPspoofing między PBX a bramą, aby przechwycić informacje.
Wśród informacji sieciowych możesz znaleźć dane logowania do zarządzania sprzętem, numery wewnętrzne użytkowników, nazwy użytkowników, adresy IP, a nawet zhardcodowane hasła i pakiety RTP, które możesz odtworzyć, aby usłyszeć rozmowę, i więcej.
Aby uzyskać te informacje, możesz użyć narzędzi takich jak Wireshark, tcpdump... ale specjalnie stworzone narzędzie do przechwytywania rozmów VoIP to ucsniff.
Zauważ, że jeśli TLS jest używany w komunikacji SIP, nie będziesz w stanie zobaczyć komunikacji SIP w czystym tekście. To samo stanie się, jeśli używane są SRTP i ZRTP, pakiety RTP nie będą w czystym tekście.
Sprawdź ten przykład, aby lepiej zrozumieć komunikację SIP REGISTER, aby dowiedzieć się, jak są wysyłane dane logowania.
sipdump
i sipcrack
, część sipcrack (apt-get install sipcrack
): Te narzędzia mogą wyodrębnić z pcap uwierzytelnienia digest w protokole SIP i przeprowadzić atak brute-force na nie.
SIPPTS dump
z sippts: SIPPTS dump może wyodrębnić uwierzytelnienia digest z pliku pcap.
SIPPTS dcrack
z sippts: SIPPTS dcrack to narzędzie do łamania uwierzytelnień digestowych uzyskanych za pomocą zrzutu SIPPTS.
SIPPTS tshark
z sippts: SIPPTS tshark wyodrębnia dane protokołu SIP z pliku PCAP.
Nie tylko dane uwierzytelniające SIP można znaleźć w ruchu sieciowym, możliwe jest również znalezienie kodów DTMF, które są używane na przykład do uzyskania dostępu do poczty głosowej. Można wysyłać te kody w wiadomościach INFO SIP, w audio lub wewnątrz pakietów RTP. Jeśli kody znajdują się w pakietach RTP, można wyciąć tę część rozmowy i użyć narzędzia multimo do ich ekstrakcji:
W Asterisku możliwe jest zezwolenie na połączenie z konkretnego adresu IP lub z dowolnego adresu IP:
Jeśli adres IP jest określony, host nie będzie musiał wysyłać żądań REGISTER co jakiś czas (w pakiecie REGISTER wysyłany jest czas życia, zazwyczaj 30 minut, co oznacza, że w innym scenariuszu telefon będzie musiał REJESTROWAĆ się co 30 minut). Jednakże, będzie musiał mieć otwarte porty umożliwiające połączenia z serwerem VoIP w celu odbierania połączeń.
Aby zdefiniować użytkowników, można ich zdefiniować jako:
type=user
: Użytkownik może odbierać połączenia tylko jako użytkownik.
type=friend
: Możliwe jest wykonywanie połączeń jako peer i odbieranie ich jako użytkownik (używane z rozszerzeniami)
type=peer
: Możliwe jest wysyłanie i odbieranie połączeń jako peer (SIP-trunki)
Możliwe jest również nawiązanie zaufania za pomocą zmiennej insecure:
insecure=port
: Umożliwia połączenia peer weryfikowane przez IP.
insecure=invite
: Nie wymaga uwierzytelnienia dla wiadomości INVITE
insecure=port,invite
: Oba
Gdy używane jest type=friend
, wartość zmiennej host nie będzie używana, więc jeśli administrator błędnie skonfiguruje SIP-trunk używając tej wartości, każdy będzie mógł się z nim połączyć.
Na przykład, ta konfiguracja byłaby podatna na atak:
host=10.10.10.10
insecure=port,invite
type=friend
W Asterisku kontekst to nazwany kontener lub sekcja w planie numeracyjnym, która grupuje powiązane rozszerzenia, akcje i zasady. Plan numeracyjny jest kluczowym komponentem systemu Asterisk, ponieważ definiuje jak obsługiwane i kierowane są połączenia przychodzące i wychodzące. Konteksty są używane do organizacji planu numeracyjnego, zarządzania kontrolą dostępu i zapewnienia separacji między różnymi częściami systemu.
Każdy kontekst jest definiowany w pliku konfiguracyjnym, zazwyczaj w pliku extensions.conf
. Konteksty są oznaczane nawiasami kwadratowymi, a nazwa kontekstu jest umieszczona w ich wnętrzu. Na przykład:
W kontekście definiujesz numery wewnętrzne (wzorce wybieranych numerów) i łączysz je z serią działań lub aplikacji. Te działania określają, jak połączenie jest przetwarzane. Na przykład:
Ten przykład demonstruje prosty kontekst o nazwie "my_context" z rozszerzeniem "100". Gdy ktoś wybierze 100, połączenie zostanie odebrane, zostanie odtworzona wiadomość powitalna, a następnie połączenie zostanie zakończone.
To jest inny kontekst, który pozwala na wywołanie dowolnego innego numeru:
Jeśli administrator definiuje domyślny kontekst jako:
Każdy będzie mógł użyć serwera do dzwonienia na dowolny inny numer (a administrator serwera zapłaci za połączenie).
Co więcej, domyślnie plik sip.conf
zawiera allowguest=true
, więc każdy atakujący bez autoryzacji będzie mógł dzwonić na dowolny inny numer.
SIPPTS invite
z sippts: SIPPTS invite sprawdza, czy serwer PBX pozwala nam na wykonywanie połączeń bez autoryzacji. Jeśli serwer SIP ma nieprawidłową konfigurację, pozwoli nam na wykonywanie połączeń do numerów zewnętrznych. Może również pozwolić nam na przekazanie połączenia do drugiego numeru zewnętrznego.
Na przykład, jeśli twój serwer Asterisk ma złą konfigurację kontekstu, możesz zaakceptować żądanie INVITE bez autoryzacji. W takim przypadku atakujący może wykonywać połączenia, nie znając żadnego użytkownika/hasła.
IVRS oznacza System Interaktywnej Odpowiedzi Głosowej, technologię telekomunikacyjną, która pozwala użytkownikom na interakcję z systemem komputerowym za pomocą głosu lub tonów dotykowych. IVRS jest używane do budowy systemów automatycznego obsługi połączeń, które oferują szereg funkcji, takich jak dostarczanie informacji, kierowanie połączeń i zbieranie danych od użytkowników.
IVRS w systemach VoIP zazwyczaj składa się z:
Podpowiedzi głosowe: Wstępnie nagrane wiadomości audio, które prowadzą użytkowników przez opcje menu IVR i instrukcje.
DTMF (Dual-Tone Multi-Frequency) sygnalizacja: Tones dotykowe generowane przez naciśnięcie klawiszy na telefonie, które są używane do nawigacji po menu IVR i dostarczania danych.
Kierowanie połączeń: Kierowanie połączeń do odpowiedniego celu, takiego jak konkretne działy, agenci lub numery wewnętrzne na podstawie danych od użytkownika.
Zbieranie danych od użytkowników: Zbieranie informacji od dzwoniących, takich jak numery kont, identyfikatory spraw lub inne istotne dane.
Integracja z systemami zewnętrznymi: Łączenie systemu IVR z bazami danych lub innymi systemami oprogramowania w celu uzyskania lub aktualizacji informacji, wykonywania działań lub wyzwalania zdarzeń.
W systemie VoIP Asterisk możesz stworzyć IVR używając planu wybierania (extensions.conf
plik) oraz różnych aplikacji, takich jak Background()
, Playback()
, Read()
i innych. Te aplikacje pomagają odtwarzać podpowiedzi głosowe, zbierać dane od użytkowników i kontrolować przepływ połączeń.
Poprzedni to przykład, w którym użytkownik jest proszony o naciśnięcie 1, aby zadzwonić do działu, 2, aby zadzwonić do innego, lub pełnego numeru wewnętrznego, jeśli go zna. Wrażliwość polega na tym, że wskazana długość numeru wewnętrznego nie jest sprawdzana, więc użytkownik może wprowadzić 5-sekundowy limit jako pełny numer, a on zostanie wywołany.
Używając numeru wewnętrznego takiego jak:
Gdzie ${EXTEN}
to numer wewnętrzny, który będzie wywoływany, gdy wprowadzony zostanie ext 101, to co się stanie:
Jednakże, jeśli ${EXTEN}
pozwala na wprowadzenie więcej niż cyfr (jak w starszych wersjach Asterisk), atakujący mógłby wprowadzić 101&SIP123123123
, aby zadzwonić pod numer telefonu 123123123. I to byłby wynik:
Dlatego połączenie do rozszerzenia 101
i 123123123
zostanie wysłane, a tylko pierwsze z nich nawiąże połączenie... ale jeśli atakujący użyje rozszerzenia, które omija jakiekolwiek dopasowanie, które jest wykonywane, ale nie istnieje, mógłby wstrzyknąć połączenie tylko do pożądanego numeru.
Wrażliwość SIP Digest Leak dotyczy dużej liczby telefonów SIP, w tym zarówno sprzętowych, jak i programowych telefonów IP oraz adapterów telefonicznych (VoIP na analogowe). Wrażliwość ta pozwala na wyciek odpowiedzi na uwierzytelnienie Digest, która jest obliczana na podstawie hasła. Możliwy jest atak offline na hasło, który może odzyskać większość haseł na podstawie odpowiedzi na wyzwanie.
**Scenariusz wrażliwości stąd**:
Telefon IP (ofiara) nasłuchuje na dowolnym porcie (na przykład: 5060), akceptując połączenia telefoniczne
Atakujący wysyła INVITE do telefonu IP
Telefon ofiary zaczyna dzwonić, a ktoś odbiera i odkłada słuchawkę (ponieważ nikt nie odpowiada na telefon po drugiej stronie)
Gdy telefon zostaje odłożony, telefon ofiary wysyła BYE do atakującego
Atakujący wydaje odpowiedź 407, która prosi o uwierzytelnienie i wydaje wyzwanie uwierzytelniające
Telefon ofiary dostarcza odpowiedź na wyzwanie uwierzytelniające w drugim BYE
Atakujący może następnie przeprowadzić atak brute-force na odpowiedzi na wyzwanie na swoim lokalnym komputerze (lub w rozproszonej sieci itp.) i odgadnąć hasło
Wyciek SIPPTS z sippts: Wyciek SIPPTS wykorzystuje wrażliwość SIP Digest Leak, która dotyczy dużej liczby telefonów SIP. Wynik można zapisać w formacie SipCrack, aby przeprowadzić atak brute-force za pomocą SIPPTS dcrack lub narzędzia SipCrack.
Click2Call pozwala użytkownikowi sieciowemu (który na przykład może być zainteresowany produktem) na wprowadzenie swojego numeru telefonu, aby otrzymać połączenie. Następnie zostanie wykonane połączenie do agenta, a gdy odbierze telefon, użytkownik zostanie połączony z agentem.
Typowy profil Asterisk dla tego to:
Poprzedni profil pozwala na połączenie z DOWOLNYM adresem IP (jeśli hasło jest znane).
Aby zorganizować połączenie, jak wcześniej określono, nie są potrzebne uprawnienia do odczytu i tylko originate w zapisie jest wymagane.
Dzięki tym uprawnieniom każdy adres IP znający hasło mógłby się połączyć i wydobyć zbyt wiele informacji, takich jak:
Można zażądać więcej informacji lub działań.
W Asterisku możliwe jest użycie polecenia ChanSpy
, wskazując numer(y) wewnętrzny(e) do monitorowania (lub wszystkie) w celu usłyszenia rozmów, które się odbywają. To polecenie musi być przypisane do numeru wewnętrznego.
Na przykład, exten => 333,1,ChanSpy('all',qb)
wskazuje, że jeśli zadzwonisz na numer wewnętrzny 333, będzie monitorować wszystkie
numery wewnętrzne, rozpoczynając nasłuchiwanie za każdym razem, gdy rozpocznie się nowa rozmowa (b
) w trybie cichym (q
), ponieważ nie chcemy wchodzić w interakcję. Możesz przechodzić z jednej rozmowy do drugiej, naciskając *
, lub wybierając numer wewnętrzny.
Możliwe jest również użycie ExtenSpy
do monitorowania tylko jednego numeru wewnętrznego.
Zamiast słuchać rozmów, możliwe jest nagrywanie ich w plikach przy użyciu numeru wewnętrznego, takiego jak:
Połączenia będą zapisywane w /tmp
.
Możesz również sprawić, że Asterisk wykona skrypt, który ujawni połączenie po jego zakończeniu.
RTCPBleed to poważny problem bezpieczeństwa, który dotyczy serwerów VoIP opartych na Asterisku (opublikowany w 2017 roku). Wrażliwość ta pozwala na **przechwytywanie i przekierowywanie ruchu RTP (Real Time Protocol), który przenosi rozmowy VoIP, przez każdego w Internecie. Dzieje się tak, ponieważ ruch RTP omija uwierzytelnianie podczas przechodzenia przez zapory NAT (Network Address Translation).
Proxysy RTP próbują rozwiązać ograniczenia NAT, które wpływają na systemy RTC, poprzez proxyzowanie strumieni RTP między dwiema lub więcej stronami. Gdy NAT jest w użyciu, oprogramowanie proxy RTP często nie może polegać na informacjach o IP i porcie RTP uzyskanych przez sygnalizację (np. SIP). Dlatego wiele proxy RTP wdrożyło mechanizm, w którym taki tuplet IP i port jest uczony automatycznie. Często odbywa się to poprzez inspekcję przychodzącego ruchu RTP i oznaczanie adresu IP i portu źródłowego dla wszelkiego przychodzącego ruchu RTP jako tego, na który należy odpowiedzieć. Ten mechanizm, który może być nazywany "trybem uczenia się", nie wykorzystuje żadnego rodzaju uwierzytelniania. Dlatego atakujący mogą wysyłać ruch RTP do proxy RTP i otrzymywać proxowany ruch RTP przeznaczony dla dzwoniącego lub odbierającego w trwającym strumieniu RTP. Nazywamy tę wrażliwość RTP Bleed, ponieważ pozwala ona atakującym na odbieranie strumieni mediów RTP, które mają być wysyłane do legalnych użytkowników.
Innym interesującym zachowaniem proxy RTP i stosów RTP jest to, że czasami, nawet jeśli nie są podatne na RTP Bleed, będą akceptować, przekazywać i/lub przetwarzać pakiety RTP z dowolnego źródła. Dlatego atakujący mogą wysyłać pakiety RTP, co może pozwolić im na wstrzyknięcie swojego medium zamiast legalnego. Nazywamy ten atak wstrzyknięciem RTP, ponieważ pozwala on na wstrzyknięcie nielegalnych pakietów RTP do istniejących strumieni RTP. Ta wrażliwość może występować zarówno w proxy RTP, jak i w punktach końcowych.
Asterisk i FreePBX tradycyjnie używały ustawienia NAT=yes
, które umożliwia ruchowi RTP omijanie uwierzytelniania, co potencjalnie prowadzi do braku dźwięku lub dźwięku jednokierunkowego w połączeniach.
Aby uzyskać więcej informacji, sprawdź https://www.rtpbleed.com/
SIPPTS rtpbleed
z sippts: SIPPTS rtpbleed wykrywa wrażliwość RTP Bleed, wysyłając strumienie RTP.
SIPPTS rtcpbleed
z sippts: SIPPTS rtcpbleed wykrywa podatność RTP Bleed, wysyłając strumienie RTCP.
SIPPTS rtpbleedflood
z sippts: SIPPTS rtpbleedflood wykorzystuje lukę RTP Bleed, wysyłając strumienie RTP.
SIPPTS rtpbleedinject
from sippts: SIPPTS rtpbleedinject wykorzystuje lukę RTP Bleed, wstrzykując plik audio (format WAV).
W Asterisku w jakiś sposób udaje ci się dodać reguły rozszerzeń i je przeładować (na przykład poprzez skompromitowanie podatnego serwera menedżera webowego), możliwe jest uzyskanie RCE za pomocą polecenia System
.
There is command called Shell
that could be used instead of System
to execute system commands if necessary.
If the server is disallowing the use of certain characters in the System
command (like in Elastix), check if the web server allows to create files somehow inside the system (like in Elastix or trixbox), and use it to create a backdoor script and then use System
to execute that script.
sip.conf
-> Zawiera hasło użytkowników SIP.
Jeśli serwer Asterisk działa jako root, możesz skompromitować root.
użytkownik root mysql może nie mieć żadnego hasła.
to może być użyte do stworzenia nowego użytkownika mysql jako backdoor.
FreePBX
amportal.conf
-> Zawiera hasło administratora panelu webowego (FreePBX).
FreePBX.conf
-> Zawiera hasło użytkownika FreePBXuser używanego do dostępu do bazy danych.
to może być użyte do stworzenia nowego użytkownika mysql jako backdoor.
Elastix
Elastix.conf
-> Zawiera kilka haseł w czystym tekście, takich jak hasło root mysql, hasło IMAPd, hasło administratora webowego.
Kilka folderów będzie należało do skompromitowanego użytkownika asterisk (jeśli nie działa jako root). Użytkownik ten może czytać poprzednie pliki i kontrolować konfigurację, więc mógłby sprawić, że Asterisk załadowałby inne zainfekowane binaria podczas wykonywania.
It's possible to insert a .wav
in converstions using tools such as rtpinsertsound
(sudo apt install rtpinsertsound
) and rtpmixsound
(sudo apt install rtpmixsound
).
Or you could use the scripts from http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/ to scan conversations (rtpscan.pl
), send a .wav
to a conversation (rtpsend.pl
) and insert noise in a conversation (rtpflood.pl
).
There are several ways to try to achieve DoS in VoIP servers.
SIPPTS flood
from sippts**: SIPPTS flood sends unlimited messages to the target.
sippts flood -i 10.10.0.10 -m invite -v
SIPPTS ping
from sippts**: SIPPTS ping makes a SIP ping to see the server response time.
sippts ping -i 10.10.0.10
IAXFlooder: DoS IAX protocol used by Asterisk.
inviteflood: A tool to perform SIP/SDP INVITE message flooding over UDP/IP.
rtpflood: Send several well formed RTP packets. Its needed to know the RTP ports that are being used (sniff first).
SIPp: Allows to analyze and generate SIP traffic. so it can be used to DoS also.
SIPsak: SIP swiss army knife. Can also be used to perform SIP attacks.
Fuzzers: protos-sip, voiper.
The easiest way to install a software such as Asterisk is to download an OS distribution that has it already installed, such as: FreePBX, Elastix, Trixbox... The problem with those is that once it's working sysadmins might not update them again and vulnerabilities are going to be discovered with time.
Get a hacker's perspective on your web apps, network, and cloud
Find and report critical, exploitable vulnerabilities with real business impact. Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)