• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Приглашаем на KubanCTF

    Старт соревнований 14 сентября в 10:00 по москве

    Ссылка на регистрацию в соревнованиях Kuban CTF: kubanctf.ru

    Кодебай является технологическим партнером мероприятия

SIP scanner под TCP+TLS

komaz

New member
01.07.2024
2
0
BIT
23
Здравствуйте. Наткнулся на SIP Scanner: GitHub - naidu/sipvicious: Automatically exported from code.google.com/p/sipvicious , конкретно интересует svmap. Он взаимодействует лишь с UDP протоколом. Как его переписать под TCP+TLS или, может, есть готовыальтернативы? Заранее спасибо форуму за ответ.
 

Koloboking

Green Team
12.01.2017
167
51
BIT
824
Здравствуйте. Наткнулся на SIP Scanner: GitHub - naidu/sipvicious: Automatically exported from code.google.com/p/sipvicious , конкретно интересует svmap. Он взаимодействует лишь с UDP протоколом. Как его переписать под TCP+TLS или, может, есть готовыальтернативы? Заранее спасибо форуму за ответ.
Для переписывания svmap из проекта SIPVicious с поддержкой TCP и TLS, потребуется значительная модификация исходного кода. Это может включать использование библиотек для работы с TCP и TLS, таких как socket и ssl в Python. Ниже приведен общий подход к внесению таких изменений:
Python:
import socket
import ssl

//Создание TCP-соединения:

def create_tcp_connection(host, port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    return s
    
//Создание TLS-соединения:



def create_tls_connection(host, port):
    context = ssl.create_default_context()
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    conn = context.wrap_socket(s, server_hostname=host)
    conn.connect((host, port))
    return conn
    
//Модификация svmap для использования TCP/TLS:

//Пример изменения функции, которая работает с UDP:

def send_sip_request(host, port, use_tls=False):
    if use_tls:
        conn = create_tls_connection(host, port)
    else:
        conn = create_tcp_connection(host, port)
    sip_request = "OPTIONS sip:100@{} SIP/2.0\r\n".format(host)
    sip_request += "Via: SIP/2.0/{} {}:{};branch=z9hG4bK776asdhds\r\n".format(
        'TCP' if use_tls else 'UDP', host, port)
    sip_request += "Max-Forwards: 70\r\n"
    sip_request += "From: <sip:100@{}>;tag=456248\r\n".format(host)
    sip_request += "To: <sip:100@{}>\r\n".format(host)
    sip_request += "Call-ID: 843817637684230@{}\r\n".format(host)
    sip_request += "CSeq: 1 OPTIONS\r\n"
    sip_request += "Contact: <sip:100@{}>\r\n".format(host)
    sip_request += "Accept: application/sdp\r\n"
    sip_request += "Content-Length: 0\r\n\r\n"
    conn.sendall(sip_request.encode('utf-8'))
    response = conn.recv(4096)
    conn.close()
    return response
1 готовый вариант и 2й готовый вариант, посмотрите может что то подойдет
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!