Pentesting VoIP

Support HackTricks

VoIP Basic Information

VoIP рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ:

Basic VoIP Protocols

Basic Messages

Request name	Description								RFC references
------------------------------------------------------------------------------------------------------
REGISTER	Register a SIP user.							RFC 3261
INVITE		Initiate a dialog for establishing a call. 				RFC 3261
ACK		Confirm that an entity has received.					RFC 3261
BYE		Signal termination of a dialog and end a call.				RFC 3261
CANCEL		Cancel any pending request.						RFC 3261
UPDATE		Modify the state of a session without changing the state of the dialog.	RFC 3311
REFER		Ask recipient to issue a request for the purpose of call transfer.	RFC 3515
PRACK		Provisional acknowledgement.						RFC 3262
SUBSCRIBE	Initiates a subscription for notification of events from a notifier.	RFC 6665
NOTIFY		Inform a subscriber of notifications of a new event.			RFC 6665
PUBLISH		Publish an event to a notification server.				RFC 3903
MESSAGE		Deliver a text message.	Used in instant messaging applications.		RFC 3428
INFO		Send mid-session information that does not modify the session state.	RFC 6086
OPTIONS		Query the capabilities of an endpoint					RFC 3261

Response Codes

1xxтАФрдЕрд╕реНрдерд╛рдпреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ

100 Trying
180 Ringing
181 Call is Being Forwarded
182 Queued
183 Session Progress
199 Early Dialog Terminated

2xxтАФрд╕рдлрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ

200 OK
202 Accepted
204 No Notification

3xxтАФрдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ

300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
305 Use Proxy
380 Alternative Service

4xxтАФрдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд┐рдлрд▓рддрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ

400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Conditional Request Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Unsupported URI Scheme
417 Unknown Resource-Priority
420 Bad Extension
421 Extension Required
422 Session Interval Too Small
423 Interval Too Brief
424 Bad Location Information
425 Bad Alert Message
428 Use Identity Header
429 Provide Referrer Identity
430 Flow Failed
433 Anonymity Disallowed
436 Bad Identity-Info
437 Unsupported Certificate
438 Invalid Identity Header
439 First Hop Lacks Outbound Support
440 Max-Breadth Exceeded
469 Bad Info Package
470 Consent Needed
480 Temporarily Unavailable
481 Call/Transaction Does Not Exist
482 Loop Detected
483 Too Many Hops
484 Address Incomplete
485 Ambiguous
486 Busy Here
487 Request Terminated
488 Not Acceptable Here
489 Bad Event
491 Request Pending
493 Undecipherable
494 Security Agreement Required

5xxтАФрд╕рд░реНрд╡рд░ рд╡рд┐рдлрд▓рддрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ

500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Server Time-out
505 Version Not Supported
513 Message Too Large
555 Push Notification Service Not Supported
580 Precondition Failure

6xxтАФрд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдлрд▓рддрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ

600 Busy Everywhere
603 Decline
604 Does Not Exist Anywhere
606 Not Acceptable
607 Unwanted
608 Rejected

VoIP Enumeration

Telephone Numbers

рдПрдХ рд░реЗрдб рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рдХрджрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЙрдкрд▓рдмреНрдз рдлреЛрди рдирдВрдмрд░реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдХрдВрдкрдиреА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП OSINT рдЯреВрд▓, Google Searches рдпрд╛ рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЛ рд╕реНрдХреНрд░реИрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдлреЛрди рдирдВрдмрд░ рд╣реЛ, рддреЛ рдЖрдк рдСрдкрд░реЗрдЯрд░ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдпрд╣ рдЬрд╛рдирдХрд░ рдХрд┐ рдХреНрдпрд╛ рдСрдкрд░реЗрдЯрд░ VoIP рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдкрд╣рдЪрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрдВрдкрдиреА VoIP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ... рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХрдВрдкрдиреА рдиреЗ VoIP рд╕реЗрд╡рд╛рдПрдВ рдирд╣реАрдВ рд▓реА рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ VoIP PBX рдХреЛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЯреЗрд▓реАрдлреЛрдиреА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП PSTN рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИред

рд╕рдВрдЧреАрдд рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЙрддреНрддрд░ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рдВрдХреЗрдд рджреЗрддреА рд╣реИрдВ рдХрд┐ VoIP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

Google Dorks

# Grandstream phones
intitle:"Grandstream Device Configuration" Password
intitle:"Grandstream Device Configuration" (intext:password & intext:"Grandstream Device Configuration" & intext:"Grandstream Networks" | inurl:cgi-bin) -.com|org

# Cisco Callmanager
inurl:"ccmuser/logon.asp"
intitle:"Cisco CallManager User Options Log On" "Please enter your User ID and Password in the spaces provided below and click the Log On button"

# Cisco phones
inurl:"NetworkConfiguration" cisco

# Linksys phones
intitle:"Sipura SPA Configuration"

# Snom phones
intitle:"snom" intext:"Welcome to Your Phone!" inurl:line_login.htm

# Polycom SoundPoint IP & phones
intitle:"SoundPoint IP Configuration Utility - Registration"
"Welcome to Polycom Web Configuration Utility" "Login as" "Password"
intext: "Welcome to Polycom Web Configuration Utility" intitle:"Polycom - Configuration Utility" inurl:"coreConf.htm"
intitle:"Polycom Login" inurl:"/login.html"
intitle:"Polycom Login" -.com

# Elastix
intitle:"Elastix - Login page" intext:"Elastix is licensed under GPL"

# FreePBX
inurl:"maint/index.php?FreePBX" intitle: "FreePBX" intext:"FreePBX Admministration"

OSINT рдЬрд╛рдирдХрд╛рд░реА

рдХреЛрдИ рдЕрдиреНрдп OSINT рдЧрдгрдирд╛ рдЬреЛ VoIP рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ, рд╡рд╣ Red Team рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧреАред

рдиреЗрдЯрд╡рд░реНрдХ рдЧрдгрдирд╛

  • nmap UDP рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рд▓реЗрдХрд┐рди UDP рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред

sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
  • svmap SIPVicious рд╕реЗ (sudo apt install sipvicious): рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ SIP рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЦреЛрдЬреЗрдЧрд╛ред

  • svmap рдмреНрд▓реЙрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ User-Agent friendly-scanner рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк /usr/share/sipvicious/sipvicious рд╕реЗ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

# Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
  • SIPPTS scan from sippts: SIPPTS рд╕реНрдХреИрди UDP, TCP рдпрд╛ TLS рдкрд░ SIP рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╕реНрдХреИрдирд░ рд╣реИред рдпрд╣ рдорд▓реНрдЯреАрдереНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрдбрд╝реЗ рдиреЗрдЯрд╡рд░реНрдХ рд░реЗрдВрдЬ рдХреЛ рд╕реНрдХреИрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкреЛрд░реНрдЯ рд░реЗрдВрдЬ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ, TCP рдФрд░ UDP рджреЛрдиреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ, рдПрдХ рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ OPTIONS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛) рдФрд░ рдПрдХ рдЕрд▓рдЧ User-Agent рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдФрд░ рдЕрдзрд┐рдХ)ред

sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]

[!] IP/Network: 10.10.0.0/24
[!] Port range: 5060-5080
[!] Protocol: UDP, TCP, TLS
[!] Method to scan: REGISTER
[!] Customized User-Agent: Cisco
[!] Used threads: 200
  • metasploit:

auxiliary/scanner/sip/options_tcp normal  No     SIP Endpoint Scanner (TCP)
auxiliary/scanner/sip/options     normal  No     SIP Endpoint Scanner (UDP)

Extra Network Enumeration

PBX рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рднреА рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ:

  • 69/UDP (TFTP): рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдкрдбреЗрдЯ

  • 80 (HTTP) / 443 (HTTPS): рд╡реЗрдм рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

  • 389 (LDAP): рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк

  • 3306 (MySQL): MySQL рдбреЗрдЯрд╛рдмреЗрд╕

  • 5038 (Manager): рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╕реЗ Asterisk рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ

  • 5222 (XMPP): Jabber рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢

  • 5432 (PostgreSQL): PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕

  • рдФрд░ рдЕрдиреНрдп...

Methods Enumeration

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ PBX рдореЗрдВ рдХреМрди рд╕реЗ рддрд░реАрдХреЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ SIPPTS enumerate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ sippts

sippts enumerate -i 10.10.0.10

рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдо рдЙрди рд╣реЗрдбрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдЬреЛ рдПрдХ рд╕рд░реНрд╡рд░ рд╣рдореЗрдВ рд╡рд╛рдкрд╕ рднреЗрдЬрддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрджреЗрд╢ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╣реЗрдбрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдо рднреЗрдЬрддреЗ рд╣реИрдВред sippts рд╕реЗ SIPPTS send рдХреЗ рд╕рд╛рде рд╣рдо рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рднреА рд╣реЗрдбрд░ рдХреЛ рдореИрдирд┐рдкреБрд▓реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp

рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрджрд┐ рд╕рд░реНрд╡рд░ рд╡реЗрдмреНрд╕реЙрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред sippts рд╕реЗ SIPPTS wssend рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рд╡реНрдпрдХреНрддрд┐рдЧрдд WS рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

sippts wssend -i 10.10.0.10 -r 443 -path /ws

Extension Enumeration

PBX (Private Branch Exchange) рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдВрддрд░рд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рдВрдЧрдарди рдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рднреАрддрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлреЛрди рд▓рд╛рдЗрдиреЛрдВ, рдЙрдкрдХрд░рдгреЛрдВ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реМрдВрдкреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдпрд╣ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдЧрдарди рдХреЗ рднреАрддрд░ рдХреЙрд▓ рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдмрд┐рдирд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд╛рд╣рд░реА рдлреЛрди рдирдВрдмрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗред

  • svwar from SIPVicious (sudo apt install sipvicious): svwar рдПрдХ рдореБрдлреНрдд SIP PBX рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд╛рдЗрди рд╕реНрдХреИрдирд░ рд╣реИред рдЕрд╡рдзрд╛рд░рдгрд╛ рдореЗрдВ рдпрд╣ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд╛рд░рдбрд╛рдпрд▓рд░реНрд╕ рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд░реЗрдВрдЬ рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреЛрдВ рдпрд╛ рджрд┐рдП рдЧрдП рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдХрд░ред

svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
  • SIPPTS exten from sippts: SIPPTS exten рдПрдХ SIP рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИред Sipexten рдмрдбрд╝реЗ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдкреЛрд░реНрдЯ рд░реЗрдВрдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

sippts exten -i 10.10.0.10 -r 5060 -e 100-200
  • metasploit: рдЖрдк metasploit рдХреЗ рд╕рд╛рде рдПрдХреНрд╕рдЯреЗрдВрд╢рди/рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рднреА рдЧрд┐рди рд╕рдХрддреЗ рд╣реИрдВ:

auxiliary/scanner/sip/enumerator_tcp  normal  No     SIP Username Enumerator (TCP)
auxiliary/scanner/sip/enumerator      normal  No     SIP Username Enumerator (UDP)
  • enumiax (apt install enumiax): enumIAX рдПрдХ рдЗрдВрдЯрд░ рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдпреВрдЬрд░рдиреЗрдо рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдПрдиреНрдпреВрдорд░реЗрдЯрд░ рд╣реИред enumIAX рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рдЕрдиреБрдХреНрд░рдорд┐рдХ рдпреВрдЬрд░рдиреЗрдо рдЕрдиреБрдорд╛рди рдпрд╛ рд╢рдмреНрджрдХреЛрд╢ рд╣рдорд▓рд╛ред

enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary
enumiax -v -m3 -M3 10.10.0.10

VoIP рд╣рдорд▓реЗ

рдкрд╛рд╕рд╡рд░реНрдб рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ - рдСрдирд▓рд╛рдЗрди

PBX рдФрд░ рдХреБрдЫ extensions/usernames рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рд░реЗрдб рдЯреАрдо REGISTER рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреА рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ username рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рдерд╛ PBX рдкреНрд░рдгрд╛рд▓реА, рдЗрд╕рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдФрд░ рд╕рдВрдЧрдарди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ...

рдпрджрд┐ username рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП username рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ред

  • svcrack SIPVicious рд╕реЗ (sudo apt install sipvicious): SVCrack рдЖрдкрдХреЛ PBX рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ username/extension рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдХреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080 #Crack known username
svcrack -u100 -r1-9999 -z4 10.0.0.1 #Check username in extensions
  • SIPPTS rcrack from sippts: SIPPTS rcrack рдПрдХ рджреВрд░рд╕реНрде рдкрд╛рд╕рд╡рд░реНрдб рдХреНрд░реИрдХрд░ рд╣реИ рдЬреЛ SIP рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реИред Rcrack рд╡рд┐рднрд┐рдиреНрди IPs рдФрд░ рдкреЛрд░реНрдЯ рд░реЗрдВрдЬ рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред

sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt

VoIP Sniffing

рдпрджрд┐ рдЖрдк рдПрдХ Open Wifi network рдХреЗ рдЕрдВрджрд░ VoIP рдЙрдкрдХрд░рдг рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдирд┐рдл рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдПрдХ рдЕрдзрд┐рдХ рдмрдВрдж рдиреЗрдЯрд╡рд░реНрдХ (Ethernet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реЗ рдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд Wifi) рдХреЗ рдЕрдВрджрд░ рд╣реИрдВ, рддреЛ рдЖрдк PBX рдФрд░ рдЧреЗрдЯрд╡реЗ рдХреЗ рдмреАрдЪ MitM рд╣рдорд▓реЗ рдЬреИрд╕реЗ ARPspoofing рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдирд┐рдл рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдиреЗрдЯрд╡рд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмреАрдЪ, рдЖрдк рдЙрдкрдХрд░рдг рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, IP рдкрддреЗ, рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рд╣реИрд╢ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ RTP рдкреИрдХреЗрдЯ рднреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдмрд╛рддрдЪреАрдд рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред

рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк Wireshark, tcpdump рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ... рд▓реЗрдХрд┐рди VoIP рдмрд╛рддрдЪреАрдд рдХреЛ рд╕реНрдирд┐рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЧрдП рдЙрдкрдХрд░рдг ucsniff рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ SIP рд╕рдВрдЪрд╛рд░ рдореЗрдВ TLS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдЖрдк SIP рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗред рдпрджрд┐ SRTP рдФрд░ ZRTP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ RTP рдкреИрдХреЗрдЯ рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

SIP рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ (рдкрд╛рд╕рд╡рд░реНрдб рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ - рдСрдлрд╝рд▓рд╛рдЗрди)

рдПрдХ SIP REGISTER рд╕рдВрдЪрд╛рд░ рдХреЛ рдмреЗрд╣рддрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреИрд╕реЗ рднреЗрдЬреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

  • sipdump & sipcrack, sipcrack рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ (apt-get install sipcrack): рдпреЗ рдЙрдкрдХрд░рдг pcap рд╕реЗ рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt
  • SIPPTS dump from sippts: SIPPTS dump рдПрдХ pcap рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред

sippts dump -f capture.pcap -o data.txt
  • SIPPTS dcrack from sippts: SIPPTS dcrack рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ SIPPTS рдбрдВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдХреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

sippts dcrack -f data.txt -w wordlist/rockyou.txt
  • SIPPTS tshark from sippts: SIPPTS tshark рдПрдХ PCAP рдлрд╝рд╛рдЗрд▓ рд╕реЗ SIP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред

sippts tshark -f capture.pcap [-filter auth]

DTMF рдХреЛрдб

рдХреЗрд╡рд▓ SIP рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд┐рдХ рдореЗрдВ рдирд╣реАрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ, рдмрд▓реНрдХрд┐ DTMF рдХреЛрдб рднреА рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡реЙрдЗрд╕рдореЗрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрди рдХреЛрдб рдХреЛ INFO SIP рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ, рдСрдбрд┐рдпреЛ рдореЗрдВ рдпрд╛ RTP рдкреИрдХреЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ рднреЗрдЬрдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдХреЛрдб RTP рдкреИрдХреЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╛рддрдЪреАрдд рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХрд╛рдЯ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреВрд▓ multimo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

multimon -a DTMF -t wac pin.wav

Free Calls / Asterisks Connections Misconfigurations

Asterisk рдореЗрдВ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдПрдХ рд╡рд┐рд╢реЗрд╖ IP рдкрддреЗ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рднреА IP рдкрддреЗ рд╕реЗ:

host=10.10.10.10
host=dynamic

рдпрджрд┐ рдПрдХ IP рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣реЛрд╕реНрдЯ рд╣рд░ рдХреБрдЫ рд╕рдордп рдореЗрдВ REGISTER рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА (REGISTER рдкреИрдХреЗрдЯ рдореЗрдВ рдЬреАрд╡рдирдХрд╛рд▓ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ 30 рдорд┐рдирдЯ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдлреЛрди рдХреЛ рд╣рд░ 30 рдорд┐рдирдЯ рдореЗрдВ REGISTER рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП VoIP рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЦреБрд▓реЗ рдкреЛрд░реНрдЯ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • type=user: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

  • type=friend: рдпрд╣ рдкреАрдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рд╡рд┐рд╕реНрддрд╛рд░рдг рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)

  • type=peer: рдпрд╣ рдкреАрдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (SIP-trunks)

рдпрд╣ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЪрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ:

  • insecure=port: IP рджреНрд╡рд╛рд░рд╛ рдорд╛рдиреНрдп рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

  • insecure=invite: INVITE рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

  • insecure=port,invite: рджреЛрдиреЛрдВ

рдЬрдм type=friend рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ host рдЪрд░ рдХрд╛ рдореВрд▓реНрдп рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ SIP-trunk рдХреЛ рдЙрд╕ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рдЗрд╕рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдордЬреЛрд░ рд╣реЛрдЧрд╛: host=10.10.10.10 insecure=port,invite type=friend

рдореБрдлреНрдд рдХреЙрд▓ / рдПрд╕реНрдЯреЗрд░рд┐рд╕реНрдХ рд╕рдВрджрд░реНрдн рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

Asterisk рдореЗрдВ рдПрдХ рд╕рдВрджрд░реНрдн рдПрдХ рдирд╛рдорд┐рдд рдХрдВрдЯреЗрдирд░ рдпрд╛ рдЦрдВрдб рд╣реИ рдЬреЛ рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╕реНрддрд╛рд░, рдХреНрд░рд┐рдпрд╛рдПрдБ рдФрд░ рдирд┐рдпрдореЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд╕рдореВрд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ Asterisk рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдореБрдЦреНрдп рдШрдЯрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рдФрд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреЙрд▓ рдХреЛ рд╕рдВрднрд╛рд▓рд╛ рдФрд░ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ, рдкрд╣реБрдВрдЪ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рднрд╛рдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рднрд╛рдЬрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджрд░реНрдн рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ extensions.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВред рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╡рд░реНрдЧрд╛рдХрд╛рд░ рдмреНрд░реИрдХреЗрдЯ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджрд░реНрдн рдХрд╛ рдирд╛рдо рдЙрдирдХреЗ рднреАрддрд░ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

csharpCopy code[my_context]

рдЖрдкрдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рднреАрддрд░, рдЖрдк рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдбрд╛рдпрд▓ рдХрд┐рдП рдЧрдП рдирдВрдмрд░реЛрдВ рдХреЗ рдкреИрдЯрд░реНрди) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреНрд░рд┐рдпрд╛рдУрдВ рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдпреЗ рдХреНрд░рд┐рдпрд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдХреЙрд▓ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

[my_context]
exten => 100,1,Answer()
exten => 100,n,Playback(welcome)
exten => 100,n,Hangup()

рдпрд╣ рдЙрджрд╛рд╣рд░рдг "my_context" рдирд╛рдордХ рдПрдХ рд╕рд░рд▓ рд╕рдВрджрд░реНрдн рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ "100" рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рдЬрдм рдХреЛрдИ 100 рдбрд╛рдпрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреЙрд▓ рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рд╕реНрд╡рд╛рдЧрдд рд╕рдВрджреЗрд╢ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдлрд┐рд░ рдХреЙрд▓ рд╕рдорд╛рдкреНрдд рдХрд░ рджреА рдЬрд╛рдПрдЧреАред

рдпрд╣ рдПрдХ рдФрд░ рд╕рдВрджрд░реНрдн рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдирдВрдмрд░ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

[external]
exten => _X.,1,Dial(SIP/trunk/${EXTEN})

рдпрджрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрджрд░реНрдн рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:

[default]
include => my_context
include => external

рдХреЛрдИ рднреА рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдЕрдиреНрдп рдирдВрдмрд░ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХреЗрдЧрд╛ (рдФрд░ рд╕рд░реНрд╡рд░ рдХрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░реЗрдЧрд╛)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ sip.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ allowguest=true рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рд╣рдорд▓рд╛рд╡рд░ рдмрд┐рдирд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдирдВрдмрд░ рдкрд░ рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдЧрд╛ред

  • SIPPTS invite from sippts: SIPPTS рдЖрдордВрддреНрд░рдг рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ PBX рд╕рд░реНрд╡рд░ рд╣рдореЗрдВ рдмрд┐рдирд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ SIP рд╕рд░реНрд╡рд░ рдХреА рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рддреЛ рдпрд╣ рд╣рдореЗрдВ рдмрд╛рд╣рд░реА рдирдВрдмрд░реЛрдВ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдпрд╣ рд╣рдореЗрдВ рдХреЙрд▓ рдХреЛ рджреВрд╕рд░реЗ рдмрд╛рд╣рд░реА рдирдВрдмрд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ Asterisk рд╕рд░реНрд╡рд░ рдХреА рдЦрд░рд╛рдм рд╕рдВрджрд░реНрдн рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рддреЛ рдЖрдк рдмрд┐рдирд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ INVITE рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЬрд╛рдиреЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

# Trying to make a call to the number 555555555 (without auth) with source number 200.
sippts invite -i  10.10.0.10 -fu 200 -tu 555555555 -v

# Trying to make a call to the number 555555555 (without auth) and transfer it to number 444444444.
sippts invite -i 10.10.0.10 -tu 555555555 -t 444444444

рдореБрдлреНрдд рдХреЙрд▓ / рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ IVRS

IVRS рдХрд╛ рдорддрд▓рдм рд╣реИ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╡реЙрдпрд╕ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рд╕рд┐рд╕реНрдЯрдо, рдПрдХ рдЯреЗрд▓реАрдлреЛрдиреА рддрдХрдиреАрдХ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрд╡рд╛рдЬрд╝ рдпрд╛ рдЯрдЪ-рдЯреЛрди рдЗрдирдкреБрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░реАрдХреГрдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред IVRS рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЙрд▓ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдирд╛, рдХреЙрд▓ рд░реВрдЯ рдХрд░рдирд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреИрдкреНрдЪрд░ рдХрд░рдирд╛ред

VoIP рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ IVRS рдЖрдорддреМрд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирд╛ рд╣реЛрддрд╛ рд╣реИ:

  1. рд╡реЙрдпрд╕ рдкреНрд░реЙрдореНрдкреНрдЯ: рдкреВрд░реНрд╡-рд░рд┐рдХреЙрд░реНрдбреЗрдб рдСрдбрд┐рдпреЛ рд╕рдВрджреЗрд╢ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ IVR рдореЗрдиреВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред

  2. DTMF (рдбреБрдЕрд▓-рдЯреЛрди рдорд▓реНрдЯреА-рдлреНрд░реАрдХреНрд╡реЗрдВрд╕реА) рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ: рдлреЛрди рдкрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдХрд░ рдЙрддреНрдкрдиреНрди рдЯрдЪ-рдЯреЛрди рдЗрдирдкреБрдЯ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ IVR рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдФрд░ рдЗрдирдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  3. рдХреЙрд▓ рд░реВрдЯрд┐рдВрдЧ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЙрд▓ рдХреЛ рдЙрдЪрд┐рдд рдЧрдВрддрд╡реНрдп, рдЬреИрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рднрд╛рдЧреЛрдВ, рдПрдЬреЗрдВрдЯреЛрдВ, рдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ред

  4. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреИрдкреНрдЪрд░: рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдирд╛, рдЬреИрд╕реЗ рдЦрд╛рддрд╛ рдирдВрдмрд░, рдХреЗрд╕ рдЖрдИрдбреА, рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдбреЗрдЯрд╛ред

  5. рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг: IVR рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдЕрдиреНрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рддрд╛рдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдБрдЪ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдХреНрд░рд┐рдпрд╛рдПрдБ рдХреА рдЬрд╛ рд╕рдХреЗрдВ, рдпрд╛ рдШрдЯрдирд╛рдПрдБ рдЯреНрд░рд┐рдЧрд░ рдХреА рдЬрд╛ рд╕рдХреЗрдВред

рдПрдХ Asterisk VoIP рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдЖрдк рдбрд╛рдпрд▓ рдкреНрд▓рд╛рди (extensions.conf рдлрд╝рд╛рдЗрд▓) рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдЬреИрд╕реЗ Background(), Playback(), Read(), рдФрд░ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ IVR рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрдкрдХреЛ рд╡реЙрдпрд╕ рдкреНрд░реЙрдореНрдкреНрдЯ рдЦреЗрд▓рдиреЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ, рдФрд░ рдХреЙрд▓ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред

рдХрдордЬреЛрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг

exten => 0,100,Read(numbers,the_call,,,,5)
exten => 0,101,GotoIf("$[${numbers}"="1"]?200)
exten => 0,102,GotoIf("$[${numbers}"="2"]?300)
exten => 0,103,GotoIf("$[${numbers}"=""]?100)
exten => 0,104,Dial(LOCAL/${numbers})

рдкрд┐рдЫрд▓рд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдПрдХ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдкреВрд░реНрдг рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдпрджрд┐ рд╡рд╣ рдЗрд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИред рдХрдордЬреЛрд░реА рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 5 рд╕реЗрдХрдВрдб рдХрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдкреВрд░рд╛ рдирдВрдмрд░ рджрд░реНрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрдВрдЬреЗрдХреНрд╢рди

рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП:

exten => _X.,1,Dial(SIP/${EXTEN})

рдЬрд╣рд╛рдБ ${EXTEN} рд╡рд╣ extension рд╣реИ рдЬрд┐рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдм ext 101 рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рддреЛ рдпрд╣ рд╣реЛрдЧрд╛:

exten => 101,1,Dial(SIP/101)

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ ${EXTEN} рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдкреБрд░рд╛рдиреЗ Asterisk рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ), рддреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ 101&SIP123123123 рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдлреЛрди рдирдВрдмрд░ 123123123 рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдФрд░ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛:

exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)

рдЗрд╕рд▓рд┐рдП, 101 рдФрд░ 123123123 рдкрд░ рдХреЙрд▓ рднреЗрдЬреА рдЬрд╛рдПрдЧреА рдФрд░ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЙрд▓ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдЧрд╛... рд▓реЗрдХрд┐рди рдпрджрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛрдИ рдРрд╕рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдорд┐рд▓рд╛рди рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд╣ рдХреЗрд╡рд▓ рдЗрдЪреНрдЫрд┐рдд рдирдВрдмрд░ рдкрд░ рдХреЙрд▓ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

SIPDigestLeak рднреЗрджреНрдпрддрд╛

SIP Digest Leak рдПрдХ рднреЗрджреНрдпрддрд╛ рд╣реИ рдЬреЛ рдХрдИ SIP рдлреЛрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ IP рдлреЛрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдлреЛрди рдПрдбрд╛рдкреНрдЯрд░ (VoIP рд╕реЗ рдПрдирд╛рд▓реЙрдЧ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рднреЗрджреНрдпрддрд╛ рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓реАрдХ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдПрдХ рдСрдлрд▓рд╛рдЗрди рдкрд╛рд╕рд╡рд░реНрдб рд╣рдорд▓реЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдФрд░ рдпрд╣ рдЪреБрдиреМрддреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

**рдпрд╣рд╛рдВ рд╕реЗ рднреЗрджреНрдпрддрд╛ рдкрд░рд┐рджреГрд╢реНрдп**:

  1. рдПрдХ IP рдлреЛрди (рд╢рд┐рдХрд╛рд░) рдХрд┐рд╕реА рднреА рдкреЛрд░реНрдЯ (рдЙрджрд╛рд╣рд░рдг: 5060) рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИ, рдлреЛрди рдХреЙрд▓ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ

  2. рд╣рдорд▓рд╛рд╡рд░ IP рдлреЛрди рдХреЛ рдПрдХ INVITE рднреЗрдЬрддрд╛ рд╣реИ

  3. рд╢рд┐рдХрд╛рд░ рдлреЛрди рдмрдЬрдиреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рдЙрдард╛рддрд╛ рд╣реИ рдФрд░ рд▓рдЯрдХрд╛рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рджреВрд╕рд░реА рддрд░рдл рдХреЛрдИ рдлреЛрди рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддрд╛)

  4. рдЬрдм рдлреЛрди рд▓рдЯрдХрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╢рд┐рдХрд╛рд░ рдлреЛрди рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдПрдХ BYE рднреЗрдЬрддрд╛ рд╣реИ

  5. рд╣рдорд▓рд╛рд╡рд░ рдПрдХ 407 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪреБрдиреМрддреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ

  6. рд╢рд┐рдХрд╛рд░ рдлреЛрди рдПрдХ рджреВрд╕рд░реЗ BYE рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪреБрдиреМрддреА рдХрд╛ рдЙрддреНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ

  7. рд╣рдорд▓рд╛рд╡рд░ рдлрд┐рд░ рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди (рдпрд╛ рд╡рд┐рддрд░рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдЖрджрд┐) рдкрд░ рдЪреБрдиреМрддреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░ рдПрдХ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рд╣рдорд▓рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ

  • SIPPTS рд▓реАрдХ sippts** рд╕реЗ:** SIPPTS рд▓реАрдХ SIP Digest Leak рднреЗрджреНрдпрддрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ рдЬреЛ рдХрдИ SIP рдлреЛрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдХреЛ SipCrack рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ SIPPTS dcrack рдпрд╛ SipCrack рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

sippts leak -i 10.10.0.10

[!] Target: 10.10.0.10:5060/UDP
[!] Caller: 100
[!] Callee: 100

[=>] Request INVITE
[<=] Response 100 Trying
[<=] Response 180 Ringing
[<=] Response 200 OK
[=>] Request ACK
... waiting for BYE ...
[<=] Received BYE
[=>] Request 407 Proxy Authentication Required
[<=] Received BYE with digest
[=>] Request 200 Ok

Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100@10.10.0.10:56583;transport=UDP", response="31fece0d4ff6fd524c1d4c9482e99bb2", algorithm=MD5

Click2Call

Click2Call рдПрдХ рд╡реЗрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рдЪрдп рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЙрддреНрдкрд╛рдж рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦ рд╕рдХрддрд╛ рд╣реИ) рддрд╛рдХрд┐ рд╡рд╣ рдлреЛрди рдирдВрдмрд░ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХреЗ рдЬрд┐рд╕рд╕реЗ рдЙрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдлрд┐рд░ рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдХреЙрд▓ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдЬрдм рд╡рд╣ рдлреЛрди рдЙрдард╛рддрд╛ рд╣реИ рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдПрдЬреЗрдВрдЯ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп Asterisk рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╣реИ:

[web_user]
secret = complex_password
deny = 0.0.0.0/0.0.0.0
allow = 0.0.0.0/0.0.0.0
displayconnects = yes
read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
write = system,call,agent,user,config,command,reporting,originate
  • рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА IP рдкрддреЗ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ (рдпрджрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдЬреНрдЮрд╛рдд рд╣реИ)ред

  • рдПрдХ рдХреЙрд▓ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЛрдИ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЙрддреНрдкрддреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдХреЛрдИ рднреА IP рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рдЬрд╛рдирддрд╛ рд╣реИ, рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

# Get all the peers
exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecret:password\nEvents: off\n\nAction:Command\nCommand: sip show peers\n\nAction: logoff\n\n">&3 && cat <&3

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рдХреНрд░рд┐рдпрд╛рдПрдБ рдорд╛рдВрдЧреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред

рдИрд╡реНрд╕рдбреНрд░реЙрдкрд┐рдВрдЧ

Asterisk рдореЗрдВ ChanSpy рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░(s) (рдпрд╛ рд╕рднреА) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣реЛ рд░рд╣реА рдмрд╛рддрдЪреАрдд рдХреЛ рд╕реБрдирд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, exten => 333,1,ChanSpy('all',qb) рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╡рд┐рд╕реНрддрд╛рд░ 333 рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ all рд╡рд┐рд╕реНрддрд╛рд░реЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛, рдЬрдм рднреА рдПрдХ рдирдИ рдмрд╛рддрдЪреАрдд рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ (b) рддреЛ рд╕реБрдирдирд╛ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ рд╢рд╛рдВрдд рдореЛрдб (q) рдореЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗред рдЖрдк * рджрдмрд╛рдХрд░ рдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдХреЗ рдПрдХ рдмрд╛рддрдЪреАрдд рд╕реЗ рджреВрд╕рд░реА рдмрд╛рддрдЪреАрдд рдореЗрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ExtenSpy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред

рдмрд╛рддрдЪреАрдд рд╕реБрдирдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐:

[recorded-context]
exten => _X.,1,Set(NAME=/tmp/${CONTEXT}_${EXTEN}_${CALLERID(num)}_${UNIQUEID}.wav)
exten => _X.,2,MixMonitor(${NAME})

рдХреЙрд▓ /tmp рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдПрдВрдЧреЗред

рдЖрдк Asterisk рдХреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреЙрд▓ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рд▓реАрдХ рдХрд░реЗрдЧреАред

exten => h,1,System(/tmp/leak_conv.sh &)

RTCPBleed рд╕реБрд░рдХреНрд╖рд╛ рджреЛрд╖

RTCPBleed рдПрдХ рдкреНрд░рдореБрдЦ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ Asterisk-рдЖрдзрд╛рд░рд┐рдд VoIP рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ (2017 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд)ред рдпрд╣ рджреЛрд╖ RTP (рд░реАрдпрд▓ рдЯрд╛рдЗрдо рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдФрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ VoIP рдмрд╛рддрдЪреАрдд рдХреЛ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ RTP рдЯреНрд░реИрдлрд╝рд┐рдХ NAT (рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреНрд░реЗрд╕ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди) рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

RTP рдкреНрд░реЙрдХреНрд╕реА RTC рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА NAT рд╕реАрдорд╛рдУрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдкрдХреНрд╖реЛрдВ рдХреЗ рдмреАрдЪ RTP рд╕реНрдЯреНрд░реАрдо рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИрдВред рдЬрдм NAT рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ RTP рдкреНрд░реЙрдХреНрд╕реА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдХреНрд╕рд░ рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ (рдЬреИрд╕реЗ SIP) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд RTP IP рдФрд░ рдкреЛрд░реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЗрд╕рд▓рд┐рдП, рдХрдИ RTP рдкреНрд░реЙрдХреНрд╕рд┐рдпреЛрдВ рдиреЗ рдПрдХ рддрдВрддреНрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдРрд╕рд╛ IP рдФрд░ рдкреЛрд░реНрдЯ рдЯреБрдкрд▓реЗрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реАрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдХреНрд╕рд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ RTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рдФрд░ рдХрд┐рд╕реА рднреА рдЖрдиреЗ рд╡рд╛рд▓реЗ RTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд IP рдФрд░ рдкреЛрд░реНрдЯ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрдВрддреНрд░ рдХреЛ "рд╕реАрдЦрдиреЗ рдХрд╛ рдореЛрдб" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдорд▓рд╛рд╡рд░ RTP рдЯреНрд░реИрдлрд╝рд┐рдХ RTP рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд┐рдП рдЧрдП RTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЪрд▓ рд░рд╣реЗ RTP рд╕реНрдЯреНрд░реАрдо рдХреЗ рдХреЙрд▓рд░ рдпрд╛ рдХрд▓реА рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЗрд╕ рд╕реБрд░рдХреНрд╖рд╛ рджреЛрд╖ рдХреЛ RTP Bleed рдХрд╣рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЛ рд╡реИрдз рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ RTP рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

RTP рдкреНрд░реЙрдХреНрд╕рд┐рдпреЛрдВ рдФрд░ RTP рд╕реНрдЯреИрдХреНрд╕ рдХрд╛ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА, рднрд▓реЗ рд╣реА RTP Bleed рдХреЗ рд▓рд┐рдП рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рди рд╣реЛрдВ, рд╡реЗ рдХрд┐рд╕реА рднреА рд╕реНрд░реЛрдд рд╕реЗ RTP рдкреИрдХреЗрдЯ рд╕реНрд╡реАрдХрд╛рд░, рдЕрдЧреНрд░реЗрд╖рд┐рдд рдФрд░/рдпрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рд╣рдорд▓рд╛рд╡рд░ RTP рдкреИрдХреЗрдЯ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╡реИрдз рдореАрдбрд┐рдпрд╛ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдирд╛ рдореАрдбрд┐рдпрд╛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕ рд╣рдорд▓реЗ рдХреЛ RTP рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╣рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ RTP рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЕрд╡реИрдз RTP рдкреИрдХреЗрдЯреЛрдВ рдХреЗ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рджреЛрд╖ RTP рдкреНрд░реЙрдХреНрд╕рд┐рдпреЛрдВ рдФрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Asterisk рдФрд░ FreePBX рдиреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ NAT=yes рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ RTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЙрд▓ рдкрд░ рдХреЛрдИ рдСрдбрд┐рдпреЛ рдпрд╛ рдПрдХрддрд░рдлрд╛ рдСрдбрд┐рдпреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ https://www.rtpbleed.com/

  • SIPPTS rtpbleed sippts** рд╕реЗ:** SIPPTS rtpbleed RTP рд╕реНрдЯреНрд░реАрдо рднреЗрдЬрдХрд░ RTP Bleed рд╕реБрд░рдХреНрд╖рд╛ рджреЛрд╖ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред

sippts rtpbleed -i 10.10.0.10
  • SIPPTS rtcpbleed from sippts: SIPPTS rtcpbleed RTP Bleed рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ RTCP рд╕реНрдЯреНрд░реАрдо рднреЗрдЬрдХрд░ред

sippts rtcpbleed -i 10.10.0.10
  • SIPPTS rtpbleedflood from sippts: SIPPTS rtpbleedflood RTP рдмреНрд▓реАрдб рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рддреЗ рд╣реБрдП RTP рд╕реНрдЯреНрд░реАрдо рднреЗрдЬрддрд╛ рд╣реИред

sippts rtpbleedflood -i 10.10.0.10 -p 10070 -v
  • SIPPTS rtpbleedinject from sippts: SIPPTS rtpbleedinject RTP Bleed рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рддреЗ рд╣реБрдП рдПрдХ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ (WAV рдкреНрд░рд╛рд░реВрдк) рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред

sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav

RCE

Asterisk рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ extension рдирд┐рдпрдо рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдордЬреЛрд░ рд╡реЗрдм рдкреНрд░рдмрдВрдзрдХ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░рдХреЗ), рддреЛ System рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ RCE рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)

There is command called Shell that could be used instead of System to execute system commands if necessary.

рдпрджрд┐ рд╕рд░реНрд╡рд░ System рдХрдорд╛рдВрдб рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ (рдЬреИрд╕реЗ Elastix рдореЗрдВ), рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдВрджрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЬреИрд╕реЗ Elastix рдпрд╛ trixbox рдореЗрдВ), рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдмреИрдХрдбреЛрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ System рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред

рджрд┐рд▓рдЪрд╕реНрдк рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдБ

  • sip.conf -> SIP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИред

  • рдпрджрд┐ Asterisk рд╕рд░реНрд╡рд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рд░реВрдЯ рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  • mysql рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдХреЛрдИ рдкрд╛рд╕рд╡рд░реНрдб рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред

  • рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдирдП mysql рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреИрдХрдбреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • FreePBX

  • amportal.conf -> рд╡реЗрдм рдкреИрдирд▓ рдкреНрд░рд╢рд╛рд╕рдХ (FreePBX) рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИред

  • FreePBX.conf -> рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ FreePBXuser рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИред

  • рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдирдП mysql рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреИрдХрдбреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • Elastix

  • Elastix.conf -> mysql рд░реВрдЯ рдкрд╛рд╕, IMAPd рдкрд╛рд╕, рд╡реЗрдм рдкреНрд░рд╢рд╛рд╕рдХ рдкрд╛рд╕ рдЬреИрд╕реЗ рдХрдИ рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

  • рдХрдИ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдордЭреМрддрд╛ рдХрд┐рдП рдЧрдП asterisk рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрдПрдВрдЧреЗ (рдпрджрд┐ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд┐рдЫрд▓реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╣ Asterisk рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЕрдиреНрдп рдмреИрдХрдбреЛрд░ рдмрд╛рдЗрдирд░реА рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

RTP Injection

рдпрд╣ .wav рдХреЛ рдмрд╛рддрдЪреАрдд рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ rtpinsertsound (sudo apt install rtpinsertsound) рдФрд░ rtpmixsound (sudo apt install rtpmixsound)ред

рдпрд╛ рдЖрдк http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмрд╛рддрдЪреАрдд рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (rtpscan.pl), рдмрд╛рддрдЪреАрдд рдореЗрдВ рдПрдХ .wav рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП (rtpsend.pl) рдФрд░ рдмрд╛рддрдЪреАрдд рдореЗрдВ рд╢реЛрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП (rtpflood.pl)ред

DoS

VoIP рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ DoS рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред

  • SIPPTS flood sippts** рд╕реЗ: SIPPTS flood рд▓рдХреНрд╖реНрдп рдХреЛ рдЕрдирдВрдд рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред

  • sippts flood -i 10.10.0.10 -m invite -v

  • SIPPTS ping sippts** рд╕реЗ: SIPPTS ping рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ SIP рдкрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред

  • sippts ping -i 10.10.0.10

  • IAXFlooder: Asterisk рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ DoS IAX рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред

  • inviteflood: UDP/IP рдкрд░ SIP/SDP INVITE рд╕рдВрджреЗрд╢ рдмрд╛рдврд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдгред

  • rtpflood: рдХрдИ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдорд┐рдд RTP рдкреИрдХреЗрдЯ рднреЗрдЬреЗрдВред RTP рдкреЛрд░реНрдЯ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ (рдкрд╣рд▓реЗ рд╕реНрдирд┐рдлрд╝ рдХрд░реЗрдВ)ред

  • SIPp: SIP рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ DoS рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • SIPsak: SIP рд╕реНрд╡рд┐рд╕ рдЖрд░реНрдореА рдЪрд╛рдХреВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ SIP рд╣рдорд▓реЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • Fuzzers: protos-sip, voiperуАВ

OS Vulnerabilities

Asterisk рдЬреИрд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ OS рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдЬреИрд╕реЗ: FreePBX, Elastix, Trixbox... рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╢рд╛рдпрдж рдЗрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░реЗрдВ рдФрд░ рдХрдордЬреЛрд░рд┐рдпрд╛рдБ рд╕рдордп рдХреЗ рд╕рд╛рде рдЦреЛрдЬреА рдЬрд╛рдПрдБрдЧреАред

References