Добро пожаловать обратно, начинающие кибервоины!
Как вы знаете, Hackers-Arise принимает активное участие в кибервойне, помогая спасти Украину от жестокой российской агрессии. В рамках этой работы украинские военные попросили нас взломать IP-камеры по всей стране, чтобы шпионить за действиями России.
В рамках этой задачи мы накопили обширные знания об этих IP-камерах, их использовании и злоупотреблениях. Одним из инструментов, которые мы использовали для этого, является ffmeg (чтобы узнать больше, запишитесь на наш предстоящий тренинг по взлому IP-камер). Хотя технически он не является инструментом для взлома, его можно использовать для просмотра видеопотоков с камер, к которым вы получили доступ.
Российский промышленный комплекс
В предыдущих статьях мы уже рассказывали о более простых способах получить доступ к значительному количеству таких онлайн-камер. В этой статье давайте рассмотрим утилиту для обработки потоков с IP-камер — FFmpeg.
FFmpeg — один из важнейших инструментов с открытым исходным кодом для обработки видео и аудио. Название происходит от аббревиатуры «FF» (Fast Forward, «быстрая перемотка») и «MPEG» (Moving Picture Experts Group), что отражает его первоначальное предназначение — быстрое видеоредактор для форматов MPEG. Теперь он способен преобразовывать практически любой видеопоток в выходной видеоформат.
Проект был запущен в 2000 году Фабрисом Белларом, который создал его, работая над собственным видеокодеком. То, что начиналось как простой инструмент для кодирования и декодирования видео, превратилось в мощный фреймворк, используемый во многих приложениях, потоковых сервисах и медиаинструментах по всему миру.
FFmpeg можно установить в большинстве дистрибутивов Linux через их менеджеры пакетов. Вот команды для установки в Kali Linux:
kali > sudo apt update
kali > sudo apt install ffmpeg
Для проверки установки:
kali > ffmpeg -version
версия ffmpeg
Сочетание RTSP и FFmpeg позволяет эффективно обрабатывать потоки медиаконтента в режиме реального времени. FFmpeg может декодировать потоки RTSP/RTP с серверов, обрабатывать медиаданные и сохранять или преобразовывать их по мере необходимости. Благодаря своей гибкости и широкой поддержке различных медиаформатов и протоколов, это сочетание широко используется в различных приложениях, от прямых трансляций до мониторинга камер видеонаблюдения.
Самый простой способ подключения к RTSP-потоку:
kali > ffmpeg -i rtsp://username
assword@camera_ip:554/stream -c copy output.mp4
Эта команда указывает FFmpeg захватить видеопоток из источника RTSP и сохранить его в файл MP4. Флаг -i указывает входной поток, который в данном случае представляет собой URL-адрес RTSP, включающий имя пользователя, пароль, IP-адрес камеры, порт и путь к потоку. Параметр -c copy указывает FFmpeg копировать видео- и аудиопотоки напрямую, без перекодирования, что обеспечивает быстроту процесса. Наконец, output.mp4 — это имя файла, в котором будет сохранён поток.
Если у вас возникли проблемы с подключением, часто помогает использование транспорта TCP:
кали> ffmpeg -rtsp_transport tcp -i
Если у вас возникли проблемы с подключением, часто помогает использование транспорта TCP:
kali> ffmpeg -rtsp_transport tcp -i rtsp://username
assword@camera_ip:554/stream -c copy output.mp4
Эта опция заставляет FFmpeg использовать TCP для передачи потока RTSP вместо UDP по умолчанию. TCP более надёжен, поскольку гарантирует доставку всех пакетов, что может быть полезно в ситуациях, когда сеть нестабильна или пакеты UDP теряются.
Чтобы захватить один кадр из потока:
kali> ffmpeg -rtsp_transport tcp -i rtsp://username
assword@camera_ip:554/stream -frames:v 1 screenshot.jpg
Если аутентификация не настроена, вы можете просто использовать команду:
kali> ffmpeg -rtsp_transport tcp -i rtsp://camera_ip:554/stream -frames:v 1 screenshot.jpg
Здесь мы видим сообщение о том, что нам необходимо изменить имя снимка экрана, чтобы оно не противоречило ожиданиям последовательности изображений.
Давайте отредактируем нашу команду:
kali> ffmpeg -rtsp_transport tcp -i rtsp://camera_ip:554/stream -frames:v 1 screenshot_%03d.jpg
kali> ffmpeg -rtsp_transport tcp -i rtsp://camera_ip:554/stream -vf “fps=1/10” -strftime 1 “screenshot-%Y%m%d-%H%M%S.jpg”
Параметр -vf «fps=1/10» в FFmpeg применяет видеофильтр (-vf), который управляет частотой кадров выходного видео. В частности, «fps=1/10» означает: захватывать 1 кадр каждые 10 секунд .
Взлом IP-камер — это не только ради любопытных. Он может иметь стратегические и национальную безопасность последствия. Поскольку IP-камеры установлены по всему миру, любой, кто получит к ним доступ, получит преимущество в разведке и сборе данных о цели.
Надеюсь, эта короткая статья дала вам представление о потенциале FFmpeg, особенно в контексте современной кибервойны, где доступ к камерам видеонаблюдения может дать значительное преимущество и информацию о планах противника.
Как вы знаете, Hackers-Arise принимает активное участие в кибервойне, помогая спасти Украину от жестокой российской агрессии. В рамках этой работы украинские военные попросили нас взломать IP-камеры по всей стране, чтобы шпионить за действиями России.
В рамках этой задачи мы накопили обширные знания об этих IP-камерах, их использовании и злоупотреблениях. Одним из инструментов, которые мы использовали для этого, является ffmeg (чтобы узнать больше, запишитесь на наш предстоящий тренинг по взлому IP-камер). Хотя технически он не является инструментом для взлома, его можно использовать для просмотра видеопотоков с камер, к которым вы получили доступ.
Российский промышленный комплекс
В предыдущих статьях мы уже рассказывали о более простых способах получить доступ к значительному количеству таких онлайн-камер. В этой статье давайте рассмотрим утилиту для обработки потоков с IP-камер — FFmpeg.
FFmpeg — один из важнейших инструментов с открытым исходным кодом для обработки видео и аудио. Название происходит от аббревиатуры «FF» (Fast Forward, «быстрая перемотка») и «MPEG» (Moving Picture Experts Group), что отражает его первоначальное предназначение — быстрое видеоредактор для форматов MPEG. Теперь он способен преобразовывать практически любой видеопоток в выходной видеоформат.
Проект был запущен в 2000 году Фабрисом Белларом, который создал его, работая над собственным видеокодеком. То, что начиналось как простой инструмент для кодирования и декодирования видео, превратилось в мощный фреймворк, используемый во многих приложениях, потоковых сервисах и медиаинструментах по всему миру.
Установка ffmpeg
FFmpeg можно установить в большинстве дистрибутивов Linux через их менеджеры пакетов. Вот команды для установки в Kali Linux:
kali > sudo apt update
kali > sudo apt install ffmpeg
Для проверки установки:
kali > ffmpeg -version
версия ffmpeg
Чтение RTSP-потоков
Сочетание RTSP и FFmpeg позволяет эффективно обрабатывать потоки медиаконтента в режиме реального времени. FFmpeg может декодировать потоки RTSP/RTP с серверов, обрабатывать медиаданные и сохранять или преобразовывать их по мере необходимости. Благодаря своей гибкости и широкой поддержке различных медиаформатов и протоколов, это сочетание широко используется в различных приложениях, от прямых трансляций до мониторинга камер видеонаблюдения.
Самый простой способ подключения к RTSP-потоку:
kali > ffmpeg -i rtsp://username
Эта команда указывает FFmpeg захватить видеопоток из источника RTSP и сохранить его в файл MP4. Флаг -i указывает входной поток, который в данном случае представляет собой URL-адрес RTSP, включающий имя пользователя, пароль, IP-адрес камеры, порт и путь к потоку. Параметр -c copy указывает FFmpeg копировать видео- и аудиопотоки напрямую, без перекодирования, что обеспечивает быстроту процесса. Наконец, output.mp4 — это имя файла, в котором будет сохранён поток.
Если у вас возникли проблемы с подключением, часто помогает использование транспорта TCP:
кали> ffmpeg -rtsp_transport tcp -i
Если у вас возникли проблемы с подключением, часто помогает использование транспорта TCP:
kali> ffmpeg -rtsp_transport tcp -i rtsp://username
Эта опция заставляет FFmpeg использовать TCP для передачи потока RTSP вместо UDP по умолчанию. TCP более надёжен, поскольку гарантирует доставку всех пакетов, что может быть полезно в ситуациях, когда сеть нестабильна или пакеты UDP теряются.
Создание скриншотов с потоков RTSP
Чтобы захватить один кадр из потока:
kali> ffmpeg -rtsp_transport tcp -i rtsp://username
Если аутентификация не настроена, вы можете просто использовать команду:
kali> ffmpeg -rtsp_transport tcp -i rtsp://camera_ip:554/stream -frames:v 1 screenshot.jpg
Здесь мы видим сообщение о том, что нам необходимо изменить имя снимка экрана, чтобы оно не противоречило ожиданиям последовательности изображений.
Давайте отредактируем нашу команду:
kali> ffmpeg -rtsp_transport tcp -i rtsp://camera_ip:554/stream -frames:v 1 screenshot_%03d.jpg
kali> ffmpeg -rtsp_transport tcp -i rtsp://camera_ip:554/stream -vf “fps=1/10” -strftime 1 “screenshot-%Y%m%d-%H%M%S.jpg”
Параметр -vf «fps=1/10» в FFmpeg применяет видеофильтр (-vf), который управляет частотой кадров выходного видео. В частности, «fps=1/10» означает: захватывать 1 кадр каждые 10 секунд .
Краткое содержание
Взлом IP-камер — это не только ради любопытных. Он может иметь стратегические и национальную безопасность последствия. Поскольку IP-камеры установлены по всему миру, любой, кто получит к ним доступ, получит преимущество в разведке и сборе данных о цели.
Надеюсь, эта короткая статья дала вам представление о потенциале FFmpeg, особенно в контексте современной кибервойны, где доступ к камерам видеонаблюдения может дать значительное преимущество и информацию о планах противника.