Добро пожаловать обратно, мои начинающие хакеры IP-камер!
Как большинство из вас знает, мы сыграли ключевую роль в обороне Украины. Среди наших многочисленных действий в защиту Украины — взлом IP-камер по всей стране. Таким образом, мы можем шпионить за действиями и военными преступлениями России. Мы делали это по запросу украинской армии, начиная с апреля 2022 года.
Более подробную информацию о деятельности Hackers-Arise на Украине можно найти в этой публикации.
Более подробную информацию о нашем взломе IP-камер для поддержки Украины можно найти в этой публикации.
Чтобы взломать эти камеры, мы использовали множество методов и техник. В хакерстве часто приходится использовать несколько методов для достижения успеха. Настойчивость — ключевая черта хакера.
Хакерам, конечно же, важно использовать стратегический подход к любой цели. Всегда сначала используйте самые простые методы , прежде чем переходить к более сложным и трудоёмким атакам.
На первом этапе мы определили незащищённые камеры с помощью таких сайтов, как Shodan, Google и Censys. Затем мы попробовали использовать учётные данные по умолчанию . Эти учётные данные по умолчанию различаются в зависимости от камеры и производителя, поэтому обязательно проверьте наш список учётных данных по умолчанию практически для каждой камеры и производителя. Этот метод помог найти несколько камер.
Затем мы попытались взломать камеры, используя слабые пароли. Это дало значительные результаты! Основным инструментом, который мы использовали в этой попытке, был cameradar .
В этом уроке я покажу вам, как использовать этот инструмент для взлома IP-камер, как мы это делали во время войны на Украине!
RTSP — это протокол прикладного уровня, используемый для управления серверами потокового мультимедиа с помощью функций паузы и воспроизведения. Таким образом, он обеспечивает управление потоковым мультимедиа в режиме реального времени, взаимодействуя с сервером без фактической передачи данных.
Вместо этого серверы RTSP часто используют протокол передачи данных в реальном времени (RTP) в сочетании с протоколом управления в реальном времени (RTCP) для перемещения реальных потоковых данных.
Большинство IP-камер используют протокол потоковой передачи в реальном времени (RTSP) для организации и управления видео- и аудиопотоками. Контент доставляется по протоколу RTP. RSTP не предусматривает настройку устройства. Это необходимо сделать с помощью URI и IP-адреса. Любые изменения конфигурации необходимо вносить через веб-интерфейс.
Большинство систем поддерживают RTSP в качестве резервного варианта, даже если они используют другой протокол, такой как PSIA или ONVIF.
Когда пользователь инициирует видеопоток с IP-камеры по протоколу RTSP, устройство отправляет RTSP-запрос на сервер потоковой передачи. Этот шаг запускает процесс настройки.
Затем видео- и аудиоданные могут передаваться с использованием протокола RTP.
RTSP можно представить как пульт дистанционного управления телевизором для потоковой передачи мультимедиа, где RTP выступает в роли самой трансляции.
Хотя протокол RTSP во многом похож на HTTP , он определяет управляющие последовательности, полезные для управления воспроизведением мультимедиа.
В то время как HTTP не имеет состояния , RTSP имеет состояние; идентификатор используется при необходимости отслеживания одновременных сеансов.
Как и HTTP, RTSP использует TCP для поддержания сквозного соединения, и, хотя большинство управляющих сообщений RTSP отправляются клиентом серверу, некоторые команды передаются в обратном направлении (т. е. от сервера к клиенту).
RTSP использует следующие команды , обычно отправляемые клиентом серверу, при согласовании и управлении передачей медиаданных:
Параметры: этот запрос определяет, какие еще типы запросов будет принимать медиасервер.
Описание: запрос описания определяет URL и тип данных.
Announce: Метод announce описывает презентацию при отправке от клиента на сервер и обновляет описание при отправке от сервера к клиенту.
Настройка: запросы на настройку определяют, как должен передаваться поток мультимедиа перед отправкой запроса на воспроизведение.
Воспроизведение: запрос на воспроизведение запускает передачу мультимедиа, сообщая серверу о необходимости начать отправку данных.
Пауза: запросы на паузу временно останавливают доставку потока.
Запись: запрос на запись инициирует запись мультимедиа.
Teardown: этот запрос полностью завершает сеанс и останавливает все медиапотоки.
Перенаправление: запросы на перенаправление информируют клиента о том, что он должен подключиться к другому серверу, предоставляя клиенту новый URL-адрес, на который он может отправлять запросы.
Другие типы запросов RTSP включают «получить параметр», «установить параметр
» и «встроенные (чередующиеся) двоичные данные».
Теперь, когда у вас есть некоторые знания по протоколу RTSP, вы готовы приступить к взлому учетных данных IP-камеры!
Сначала установите докер.
kali > sudo apt install docker
Далее запустите docker с помощью команды systemctl;
kali > sudo systemctl start docker
Теперь скачайте cameradar.
kali> sudo git clone https://github.com/Ullaakut/cameradar
Теперь вы готовы приступить к брутфорсу IP-камер!
Например, чтобы взломать камеру по адресу 192.168.1.101 (очевидно, это не IP-адрес реальной камеры), мы просто введем:
Кали > sudo docker run ullaakut/cameradar -t 192.168.1.101
Теперь Cameradar попытается найти поток RTSP на одном из портов RTSP по умолчанию, а именно 554, 5554 и 8554. Если вы подозреваете, что могут быть и другие порты с потоками RTSP (возможно, сначала вам захочется запустить сканирование nmap), вы можете добавить их с помощью ключа -p, например:
Кали > sudo docker run ullaakut/cameradar -t 192.168.1.101 -p 9554
В этом контексте «большая артиллерия» подразумевает более обширные и подходящие списки имён пользователей и паролей. По моему опыту взлома камер на Украине и в России, имена пользователей обычно простые, например, admin, root, admin1, admin3 и т. д. Это означает, что вы, вероятно, можете использовать список имён пользователей по умолчанию, но пароли могут сильно различаться. Поэтому вам следует использовать хороший список паролей, подходящий для вашей среды (например, испанский список в испаноговорящей стране).
Во-первых, список паролей должен быть в формате JSON. Существует несколько сайтов, которые могут конвертировать ваш текстовый файл в JSON, например, https://anyconv.com/txt-to-json-converter/ . К вашему TXT-файлу будет добавлено расширение JSON. Таким образом, если бы мы использовали список паролей из seclist:
/usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-1000000.txt,
Сначала я бы конвертировал его в формат JSON, а затем использовал этот файл в cameradar. Тогда он будет выглядеть как 10-million-password-list-top-1000000.json .
Теперь, чтобы использовать этот список паролей с cameradar, вы можете выполнить следующую команду:
Кали> sudo docker run ullaakut/cameradar -t
-v /usr/share/seclists/Passwords/Common-Credentials:/tmp/dictionaries
-c «tmp/dictionaries/10-million-password-list-top-1000000.json»
-т 192.168.1.101
Как большинство из вас знает, мы сыграли ключевую роль в обороне Украины. Среди наших многочисленных действий в защиту Украины — взлом IP-камер по всей стране. Таким образом, мы можем шпионить за действиями и военными преступлениями России. Мы делали это по запросу украинской армии, начиная с апреля 2022 года.
Более подробную информацию о деятельности Hackers-Arise на Украине можно найти в этой публикации.
Более подробную информацию о нашем взломе IP-камер для поддержки Украины можно найти в этой публикации.
Чтобы взломать эти камеры, мы использовали множество методов и техник. В хакерстве часто приходится использовать несколько методов для достижения успеха. Настойчивость — ключевая черта хакера.
Хакерам, конечно же, важно использовать стратегический подход к любой цели. Всегда сначала используйте самые простые методы , прежде чем переходить к более сложным и трудоёмким атакам.
На первом этапе мы определили незащищённые камеры с помощью таких сайтов, как Shodan, Google и Censys. Затем мы попробовали использовать учётные данные по умолчанию . Эти учётные данные по умолчанию различаются в зависимости от камеры и производителя, поэтому обязательно проверьте наш список учётных данных по умолчанию практически для каждой камеры и производителя. Этот метод помог найти несколько камер.
Затем мы попытались взломать камеры, используя слабые пароли. Это дало значительные результаты! Основным инструментом, который мы использовали в этой попытке, был cameradar .
В этом уроке я покажу вам, как использовать этот инструмент для взлома IP-камер, как мы это делали во время войны на Украине!
RTSP
Прежде чем мы начнём взламывать IP-камеры, вам потребуется немного знаний о протоколе RTSP. RTSP — это протокол, используемый большинством этих камер. Не все камеры используют RTSP, но подавляющее большинство. Прежде чем продолжить, нужно отметить, что камеры, использующие проприетарные или другие протоколы, не будут подвержены взлому со стороны cameradar.RTSP — это протокол прикладного уровня, используемый для управления серверами потокового мультимедиа с помощью функций паузы и воспроизведения. Таким образом, он обеспечивает управление потоковым мультимедиа в режиме реального времени, взаимодействуя с сервером без фактической передачи данных.
Вместо этого серверы RTSP часто используют протокол передачи данных в реальном времени (RTP) в сочетании с протоколом управления в реальном времени (RTCP) для перемещения реальных потоковых данных.
Большинство IP-камер используют протокол потоковой передачи в реальном времени (RTSP) для организации и управления видео- и аудиопотоками. Контент доставляется по протоколу RTP. RSTP не предусматривает настройку устройства. Это необходимо сделать с помощью URI и IP-адреса. Любые изменения конфигурации необходимо вносить через веб-интерфейс.
Большинство систем поддерживают RTSP в качестве резервного варианта, даже если они используют другой протокол, такой как PSIA или ONVIF.
Когда пользователь инициирует видеопоток с IP-камеры по протоколу RTSP, устройство отправляет RTSP-запрос на сервер потоковой передачи. Этот шаг запускает процесс настройки.
Затем видео- и аудиоданные могут передаваться с использованием протокола RTP.
RTSP можно представить как пульт дистанционного управления телевизором для потоковой передачи мультимедиа, где RTP выступает в роли самой трансляции.
Хотя протокол RTSP во многом похож на HTTP , он определяет управляющие последовательности, полезные для управления воспроизведением мультимедиа.
В то время как HTTP не имеет состояния , RTSP имеет состояние; идентификатор используется при необходимости отслеживания одновременных сеансов.
Как и HTTP, RTSP использует TCP для поддержания сквозного соединения, и, хотя большинство управляющих сообщений RTSP отправляются клиентом серверу, некоторые команды передаются в обратном направлении (т. е. от сервера к клиенту).
RTSP использует следующие команды , обычно отправляемые клиентом серверу, при согласовании и управлении передачей медиаданных:
Параметры: этот запрос определяет, какие еще типы запросов будет принимать медиасервер.
Описание: запрос описания определяет URL и тип данных.
Announce: Метод announce описывает презентацию при отправке от клиента на сервер и обновляет описание при отправке от сервера к клиенту.
Настройка: запросы на настройку определяют, как должен передаваться поток мультимедиа перед отправкой запроса на воспроизведение.
Воспроизведение: запрос на воспроизведение запускает передачу мультимедиа, сообщая серверу о необходимости начать отправку данных.
Пауза: запросы на паузу временно останавливают доставку потока.
Запись: запрос на запись инициирует запись мультимедиа.
Teardown: этот запрос полностью завершает сеанс и останавливает все медиапотоки.
Перенаправление: запросы на перенаправление информируют клиента о том, что он должен подключиться к другому серверу, предоставляя клиенту новый URL-адрес, на который он может отправлять запросы.
Другие типы запросов RTSP включают «получить параметр», «установить параметр
» и «встроенные (чередующиеся) двоичные данные».
Теперь, когда у вас есть некоторые знания по протоколу RTSP, вы готовы приступить к взлому учетных данных IP-камеры!
Шаг №1: Загрузите и установите cameradar
Хотя cameradar можно запустить изначально в Linux, я считаю, что лучше всего он работает в контейнере Docker.Сначала установите докер.
kali > sudo apt install docker
Далее запустите docker с помощью команды systemctl;
kali > sudo systemctl start docker
Теперь скачайте cameradar.
kali> sudo git clone https://github.com/Ullaakut/cameradar
Теперь вы готовы приступить к брутфорсу IP-камер!
Шаг №2: Запустите RTSP Credential Brute-forcer
Теперь, когда у вас установлены docker и cameradar, вам нужно только указать cameradar IP-адрес камеры, которую вы хотите взломать методом подбора!Например, чтобы взломать камеру по адресу 192.168.1.101 (очевидно, это не IP-адрес реальной камеры), мы просто введем:
Кали > sudo docker run ullaakut/cameradar -t 192.168.1.101
Теперь Cameradar попытается найти поток RTSP на одном из портов RTSP по умолчанию, а именно 554, 5554 и 8554. Если вы подозреваете, что могут быть и другие порты с потоками RTSP (возможно, сначала вам захочется запустить сканирование nmap), вы можете добавить их с помощью ключа -p, например:
Кали > sudo docker run ullaakut/cameradar -t 192.168.1.101 -p 9554
Шаг №3: Использование пользовательских списков имен пользователей и паролей
По умолчанию cameradar использует небольшой список наиболее распространённых имён пользователей и паролей. Рекомендуется начать с них, но если они не сработают, пора пускать в ход тяжёлую артиллерию!В этом контексте «большая артиллерия» подразумевает более обширные и подходящие списки имён пользователей и паролей. По моему опыту взлома камер на Украине и в России, имена пользователей обычно простые, например, admin, root, admin1, admin3 и т. д. Это означает, что вы, вероятно, можете использовать список имён пользователей по умолчанию, но пароли могут сильно различаться. Поэтому вам следует использовать хороший список паролей, подходящий для вашей среды (например, испанский список в испаноговорящей стране).
Во-первых, список паролей должен быть в формате JSON. Существует несколько сайтов, которые могут конвертировать ваш текстовый файл в JSON, например, https://anyconv.com/txt-to-json-converter/ . К вашему TXT-файлу будет добавлено расширение JSON. Таким образом, если бы мы использовали список паролей из seclist:
/usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-1000000.txt,
Сначала я бы конвертировал его в формат JSON, а затем использовал этот файл в cameradar. Тогда он будет выглядеть как 10-million-password-list-top-1000000.json .
Теперь, чтобы использовать этот список паролей с cameradar, вы можете выполнить следующую команду:
Кали> sudo docker run ullaakut/cameradar -t
-v /usr/share/seclists/Passwords/Common-Credentials:/tmp/dictionaries
-c «tmp/dictionaries/10-million-password-list-top-1000000.json»
-т 192.168.1.101