Статья Тестируем на уязвимости видеокамеры с expcamera

vertigo1.png

Приветсвую Уважаемых Форумчан,Друзей и тех , для кого пульс ИБ не просто ритм.
Моя сегодняшняя тема выложена в открытом разделе неслучайно.
Моё желание не просто вам продемонстрировать атаку на видеокамеры.

Многие админы ресурсов,да и просто пользователи,наверняка задумаются и примут меры.
Хотя бы будут знать , что не приобретать и использовать.

Известны многие уязвимости видеокамер , которые делают последние доступными.
При благополучном исходе , их закрывают и разрабатывают патчи.
Но не в этом случае.

Вы не ослышались , некоторые уязвимости до сих пор носят гордое звание 0 day.
Почему так получилось? Ставили конечно в известность производителей.Ответа не получили.
Да , многие модели вебок сюда тоже попадают.

"После меня - хоть потоп"-Людовик 15
(Главное продажи,пока показатели неплохи,продаём , пока есть спрос)
" Я бы продал даже Лондон,если бы нашёлся покупатель"- Ричард Львиное Сердце

И покупатели действительно находятся , только китайская школа пошла дальше.
И заложила в инструмент эксплуатацию множества уязвимостей:

1) Уязвимость Backdoor Account (CNVD-2017-02751)
По умолчанию используется Telnet.
Любой пользователь может получить доступ к логину с помощью следующих паролей учетной записи:
Код:
root:$1$ybdHbPDn$ii9aEIFNiolBbM9QxW9mr0:0:0::/root:/bin/sh

2) Уязвимости RSA и раскрытия сертификата (CNVD-2017-02773)
Код:
/system/www/pem/ck.pem _здесь_содержимое_частных_ключей RSA Apple certificate

3) Информация о предварительной авторизации и уязвимость утечки учётных данных(CNVD-2017-02774)

При доступе к файлу конфигурации сервера путем предоставления пустых параметров ?loginuse? и ?loginpas?,
злоумышленник может обойти программу аутентификации устройства.
Таким образом , возможно загрузить файл конфигурации устройства без входа в систему.
Эти файлы конфигурации содержат учетную информацию устройства , а также содержимое учетной записи FTP и SMTP.

4) Уязвимость удаленного выполнения команды (CNVD-2017-02775)
Она существует в inset_ftp.cgi в интерфейсе общего интерфейса FTP (CGI).
Злоумышленник использует идентификатор администратора ftp
для выполнения удаленной команды и дальнейшего получения прав root на сетевом устройстве.

5) Удалённый доступ (CNVD-2017-02776)

Получая доступ к URL-ссылке со специальными параметрами,
злоумышленник может обойти программу проверки подлинности
с полномочиями пользователя root и выполнить различный код в управлении видеокамеры.

6) Уязвимость несанкционированного доступа CNVD-2017-02777) - содержательно звучит конечно,но ,тем ,не менее-
Злоумышленник может получить доступ к встроенному серверу RTSP камеры через порт 10554
и смотреть видео в реальном времени без проверки подлинности.

7) Уязвимости функционального дизайна ‘Cloud’(CNVD-2017-02778)
Функция, которая включена по умолчанию , позволяет потребителям использовать устройство в управлении сетью.
Эта функция использует текстовые туннели UDP для обхода NAT и брандмауэров.
Злоумышленник может злоупотреблять этой функцией, чтобы начать атаку грубой силы
(brute-force attacks)

В общем , более 1200 моделей различных видов продукции на рынке страдают от лазеек.
Единственный совет на текущее время-отключить устройство от интернета.
Здорово , Господа , не так ли ? Мне тоже нравится.

Уязвимые модули:
Pan/TiltEasyCam?EC-101HDEasyCam
EC-101HDSDEasyCam?EC-101SDEasyCam
EC-102EasyCam?OtherEasyN?187EasyN
1BFEasyN?720PEasyN?FEasyN
F-136EasyN?F-M136EasyN?F-M166EasyN
F-M181EasyN?F-M1b1EasyN
F-SERIESEasyN?F133EasyN
F2-611BEasyN?F3EasyN?F3-166EasyN
F3-176MEasyN?F3-M166EasyN
F3-SERIESEasyN?F3-SeriesEasyN
F3-m187EasyN?F3M187EasyN
FS-613A-M136EasyN?FS-613BEasyN
FS-613B-M166EasyN
FS-613B-MJPEGEasyN?FS613EasyN
F_M10REasyN?H3-V10REasyN
H6-M137hEasyN?M091EasyN
OtherEasyN?est-007660-611bEasyN
est-007660333EasyN?fEasyN
f-SeriesEasyN?f138EasyN?f_seriesEasyN
fseriesEasyN?kitchEasyN
Другие модели затронутых продуктов ,подверженных атакам,можно увидеть

Отступаем от лирики и переходим к сути.

Администрация Форума и автор обзора предупреждают о запрете использования рассматриваемого инструмента
в незаконных целях.Вся информация предназначена исключительно для ознакомления и изучения проблем ИБ.


Автор замечательного инструмента,который позволяет тестировать видеокамеры-vanpersiexp
Называется он expcamera.

Как установить:
Код:
# git clone https://github.com/vanpersiexp/expcamera.git
# cd Expcamera/
# chmod +x exploit_camera.py
# python exploit_camera.py -h -запуск с выводом опций
# ./exploit_camera.py -h -можно и так запустить.

Я работал на Arch Linux , для остальных дистрибутивов возможно потребуется пакет python3
И с ним же производим запуск в таком случае.

Опции можно видеть на скрине.
Предлагаю ознакомиться с ними самостоятельно.
Да и не желаю , чтобы замечательный администратор канала телеграмм @rink0 ,
к которому отношусь с уважением , посетовал на множество букв в статье.

Индивидуальные проверки по ip-адресам присутствуют.
Откроете для себя много интересного.
vertigo2.png
В своём пентесте , я использовал модуль shodan,который требует указания API-ключа.
Заслужившей такой атаки цели,у меня не нашлось.
Код:
python3 exploit_camera.py -b 2 -v --shodan ваш_API_ключ
В зависимости от нахождения в какой сети , начинается работа инструмента.
vertigo3.png
Видим,что не смотря на сложные пароли,мы при наличии уязвимостей ,непременно получаем админские учётки.
Правильно , зачем мелочиться?))
vertigo4.png
Запускаем браузер,вводим адрес:порт,логин с паролем.
Ну и ,собственно,треш.
vertigo5.png

Более,мне добавить нечего,благодарю за внимание и до новых встреч.
 
Последнее редактирование:

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 999
BIT
3
E: Unable to locate package python3-pyfiglet
все делал так как описано выше
Да ну,Бро ,так не должно быть.
Либо не выполнили команду # apt-get update перед этим.
С репозиториями ничего не делали?
Пакет python3 туда включен у Kali Linux.
Если такая беда,то Вам
Или скачать готовый пакет
 
Последнее редактирование:
02.08.2017
13
0
BIT
0
Да ну,Бро ,так не должно быть.
Либо не выполнили команду # apt-get update перед этим.
С репозиториями ничего не делали?
Пакет python3 туда включен у Kali Linux.
Если такая беда,то Вам
Или скачать готовый пакет
команду # apt-get update делал, с репозиториями ничего не делал, сейчас попробую еще раз

привет! можешь показать как должен выглядеть sources.list?
 
Последнее редактирование модератором:

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 999
BIT
3
привет! можешь показать как должен выглядеть sources.list?
У меня стандартное содержимое репов:
Код:
deb http://http.kali.org/kali kali-rolling main contrib non-free
# For source package access, uncomment the following line
deb-src http://http.kali.org/kali kali-rolling main contrib non-free
 
02.08.2017
13
0
BIT
0
У меня стандартное содержимое репов:
Код:
deb http://http.kali.org/kali kali-rolling main contrib non-free
# For source package access, uncomment the following line
deb-src http://http.kali.org/kali kali-rolling main contrib non-free
у меня вот такой

#

# deb cdrom:[Debian GNU/Linux 2018.2 _Kali-rolling_ - Official Snapshot amd64 LIVE/INSTALL Binary 20180412-10:55]/ kali-last-snapshot contri$

#deb cdrom:[Debian GNU/Linux 2018.2 _Kali-rolling_ - Official Snapshot amd64 LIVE/INSTALL Binary 20180412-10:55]/ kali-last-snapshot contrib$

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
 

+Maxon4ik

Green Team
06.03.2018
23
48
BIT
0
При смене DNS и работе через VPN конкретной страны,либо TOR .
Результаты будут отображаться согласно сети,в которой находитесь.
Хотя поисковики могут выдать не только ожидаемое-но это скорее,исключение.
Либо проверять конкрентые IP-адреса ,взятые из диапазона интересующих стран , сконфигурированных в файле .txt-так будет точнее.
то есть если я к примеру найду все диапазоны ip адресов каког-то определенного города(именно не все адреса ip камер с портами, а просто все диапазоны города), то у меня не выйдет все просканить этим скриптом?
 
S

screamsteel

Спасибо дружище!)
А как протестить конкретную камеру ?
Я так понял командой :
python3 exploit_camera.py -b 1 -i ип:порт -v
Но я проверил камеры командой:
python3 exploit_camera.py -b 2 -v --shodan ваш_API_ключ
нашел уязвимые камеры, логи, пароли. Попробовал вбить одну из низ в команду python3 exploit_camera.py -b 1 -i ип:порт -v и мне пишет что "is not vulnerable!", то есть не уязвим.
Как протестить конкретную камеру? И как протестировать камеры имеющиеся в моем городе, например?
Спасибо)
 
  • Нравится
Реакции: Vertigo

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 999
BIT
3
А как протестить конкретную камеру ?
нашел уязвимые камеры, логи, пароли. Попробовал вбить одну из низ в команду python3 exploit_camera.py -b 1 -i ип:порт -v и мне пишет что "is not vulnerable!", то есть не уязвим.
Как протестить конкретную камеру? И как протестировать камеры имеющиеся в моем городе, например?
Также из опций смотрим ,задаём IP и порт для конкретной камеры.
Если Вы собирали данные через shodan, то больше ничего вводить нигде не надо,только в браузере адрес с портом,а при запрашивании пароля ввести его.
Для города нужно знать диапазоны провайдеров, дефолтные порты камер и пользоваться сканерами для их нахождения.
Вариантов много и такие темы поднимались не раз на форуме со множеством способов .
Воспользуйтесь поиском по форуму "камер" -там ссылок на несколько страниц.
 
Последнее редактирование:

Lisenok

Green Team
02.04.2016
133
75
BIT
1
я еще не тестировал в действие но вроде как на термукс встало
 

Chekonok

Member
06.08.2019
5
0
BIT
0
В общем так,установил сейчас на Kali Linux
Всё,решил ,чтобы отображались корректно результаты.
Проверяем зависимости и запускаем.
Вначале установим модуль tailer
Код:
# apt-get update
# cd expcamera/
# chmod +x exploit_camera.py
# chmod +x base.py - необязательно
# pip install -r related.txt
# git clone https://github.com/six8/pytailer.git
# cd /pytailer/src
Теперь,чтобы программа видела модуль и смогла работать с ним,копируем
# cp tailer -r  /home/Директория Линуксоида/expcamera
Теперь,возвращаемся в директорию expcamera и ставим ещё одну зависимоcть
# apt-get install python3-pyfiglet
Всё,и запускаем
# python3 exploit_camera.py -b 2 -v --shodan API-ключ
Вот так всё должно работать на Kali.
 

Chekonok

Member
06.08.2019
5
0
BIT
0
В общем так,установил сейчас на Kali Linux
Всё,решил ,чтобы отображались корректно результаты.
Проверяем зависимости и запускаем.
Вначале установим модуль tailer
Код:
# apt-get update
# cd expcamera/
# chmod +x exploit_camera.py
# chmod +x base.py - необязательно
# pip install -r related.txt
# git clone https://github.com/six8/pytailer.git
# cd /pytailer/src
Теперь,чтобы программа видела модуль и смогла работать с ним,копируем
# cp tailer -r  /home/Директория Линуксоида/expcamera
Теперь,возвращаемся в директорию expcamera и ставим ещё одну зависимоcть
# apt-get install python3-pyfiglet
Всё,и запускаем
# python3 exploit_camera.py -b 2 -v --shodan API-ключ
Вот так всё должно работать на Kali.
А как именно этот файл cp tailer -r можно скопировать объясните для дурака пожалуйста
 

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 999
BIT
3
А как именно этот файл cp tailer -r можно скопировать объясните пожалуйста
Там я прописал все команды cp-это команда копирования.
Вначале,Вам нужно скачать его командой # git clone https://github.com/six8/pytailer.git
Затем скопировать этот файл tailer в директорию,где expcamera
Можно конечно попробовать установить командой # pip install tailer
Но так может не получиться тогда только так,как описал выше.
 

Chekonok

Member
06.08.2019
5
0
BIT
0
Там я прописал все команды cp-это команда копирования.
Вначале,Вам нужно скачать его командой # git clone https://github.com/six8/pytailer.git
Затем скопировать этот файл tailer в директорию,где expcamera
Можно конечно попробовать установить командой # pip install tailer
Но так может не получиться тогда только так,как описал выше.
Блин лучше бы видео скинули как и куда что вставлять если кому не трудно
 

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 999
BIT
3
Блин лучше бы видео скинули как и куда что вставлять если кому не трудно
Я с видео не дружу совсем .
У Overbafer1 выходил видеообзор на ютубе по этому инструменту после нашей публикации на сайте.
Загляните к нему.
 

YanPek

One Level
07.08.2019
3
2
BIT
0
Screenshot_20200112-185653.png


Тестил на termux, вроде полёт нормальный, но я использовал команду:
Код:
python3 exploit_camera.py -b 1 -l iplist.txt -v
А не:
Код:
python3 exploit_camera.py -b 2 -l iplist.txt -v

Дополняю:

Когда я попробовал использовать shodan там сразу же полетели ошибки

Screenshot_20200112-190442.jpg


Также есть и "синие участки":

Screenshot_20200112-190700.jpg
 

apb

One Level
02.04.2020
4
3
BIT
0
Приветствую.
Есть у меня камера, обозначенная на шильдике как RC8221. Админки кней нет, но страсть как хочется поиметь ... нарвался на статью с эксплуатацией эксплоита ...
Камера в локальной сети. Залил последнюю версию питона и залил необходимые модули (через pip с апгрейдом оного)
В результате получаю:
Код:
Python38-32>python.exe exploit_camera.py -i 192.182.176.249:80 -v
[95m    _______  __ ____  _________    __  _____________  ___
   / ____/ |/ // __ \/ ____/   |  /  |/  / ____/ __ \/   |
  / __/  |   // /_/ / /   / /| | / /|_/ / __/ / /_/ / /| |
 / /___ /   |/ ____/ /___/ ___ |/ /  / / /___/ _, _/ ___ |
/_____//_/|_/_/    \____/_/  |_/_/  /_/_____/_/ |_/_/  |_|


[95m                            version:0.9.5
[95m                    https://github.com/vanpersiexp
[94mPress Ctrl+C to stop.
The error occured:local variable 'inst' referenced before assignment
Pleas use python3 expcamera.py -h or ./expcamera.py -h for more help
"clear" не является внутренней или внешней ...

Что ему не хватает?
 
  • Нравится
Реакции: Vertigo

apb

One Level
02.04.2020
4
3
BIT
0
Дистр - виндовоз десятка. (Да, специально оставил python.exe в примере =) ... Питон залил сюда последний, доустановил все необходимые модули, что он просил.
И да, ман я глянул. С примером запрос не различается.
У меня нету ключа для использования shodan-ключа
Или я не правильно понял алгоритм для запуска эксплоита?
 
  • Нравится
Реакции: Vertigo
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!