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

warning

Статья име­ет озна­коми­тель­ный харак­тер и пред­назна­чена для спе­циалис­тов по безопас­ности, про­водя­щих тес­тирова­ние в рам­ках кон­трак­та. Автор и редак­ция не несут ответс­твен­ности за любой вред, при­чинен­ный с при­мене­нием изло­жен­ной информа­ции. Рас­простра­нение вре­донос­ных прог­рамм, наруше­ние работы сис­тем и наруше­ние тай­ны перепис­ки прес­леду­ются по закону.

Все уже при­вык­ли, что в отче­те мож­но встре­тить кар­тинку с зах­вачен­ной пен­тесте­рами виде­ока­меры.

Бе­зус­ловно, смот­рится кру­то, но какой от это­го импакт? Жизнь — это вам не игра Watchdogs 2, где взла­мывать устрой­ства мож­но по кар­тинке с камеры. Зло­умыш­ленник, навер­ное, может выс­ледить что‑то важ­ное, наб­людая, как сот­рудни­ки ходят по коридо­рам туда‑сюда, а потом исполь­зовать это для соци­аль­ной инже­нерии, но все подоб­ные сце­нарии похожи ско­рее на буй­ный полет фан­тазии.

С точ­ки зре­ния пен­теста куда инте­рес­нее получить шелл на зах­вачен­ной камере. Раз внут­ри у нее неболь­шой компь­ютер, дос­туп к нему может ока­зать­ся небес­полез­ным для ата­кующе­го.

 

Кейс 1: пароль по умолчанию

Ду­маю, ты не раз видел подоб­ное окно логина в веб‑интерфейс камеры.

Заходим в веб-интерфейс IP-камеры
За­ходим в веб‑интерфейс IP-камеры

По­нят­но, что пер­вая мысль — пой­ти в Google и поис­кать логины и пароли по умол­чанию.

info

Иног­да быва­ет, что знать логин и пароль от камеры не обя­затель­но, что­бы получить с нее изоб­ражение. Для это­го может быть дос­таточ­но подоб­рать пра­виль­ную RTSP-ссыл­ку, которая похожа на клас­сичес­кую HTTP-ссыл­ку. Най­ти ее зачас­тую мож­но в докумен­тации к камере. Так­же для это­го соз­дан скрипт nmap rtsp-url-brute, но пока что в нем соб­раны далеко не все вари­анты ссы­лок.

До­пус­тим, нам повез­ло и мы получи­ли дос­туп в веб‑интерфейс с пра­вами адми­нис­тра­тора. Самое прос­тое и быс­трое, что мы можем сде­лать, — поис­кать воз­можность запус­тить SSH или Telnet. В при­мере ниже такая воз­можность наш­лась.

Нашли возможности включения SSH
Наш­ли воз­можнос­ти вклю­чения SSH

Про­буем акти­виро­вать SSH. Ста­вим соот­ветс­тву­ющую галоч­ку и жмем «Сох­ранить».

Включаем SSH в веб-интерфейсе камеры
Вклю­чаем SSH в веб‑интерфей­се камеры

Нам стал дос­тупен порт 22 (TCP). Логич­но поп­робовать под­клю­чить­ся к SSH с теми же логином и паролем, что подош­ли к веб‑интерфей­су. И у нас получа­ется! Хотя, конеч­но, такое про­каты­вает не всег­да.

Подключаемся к камере по SSH
Под­клю­чаем­ся к камере по SSH

Да­вай пос­мотрим, что нам уда­лось получить. Дос­таточ­но быс­тро понима­ем, что попали в шелл BusyBox, который силь­но огра­ничи­вает наши дей­ствия. Здесь есть два пути. Пер­вый — каким‑то обра­зом попытать­ся вый­ти из BusyBox в нор­маль­ный шелл (Bash, Ash или еще какой‑то). Этот спо­соб потен­циаль­но может дать боль­ший эффект, но он слиш­ком дол­гий, что­бы про­вора­чивать его в рам­ках огра­ничен­ного по вре­мени пен­теста.

По­это­му есть вто­рой вари­ант: можем вспом­нить про штат­ную воз­можность SSH прок­сировать тра­фик. В дан­ном слу­чае мы име­ем дело с SSH-сер­вером Dropbear. Он лег­ковес­ный, и его час­то уста­нав­лива­ют на камеры. Казалось бы, для мак­сималь­ной опти­миза­ции из него дол­жны были убрать воз­можнос­ти прок­сирова­ния тра­фика, но про­изво­дитель их оста­вил, чем мы сей­час и вос­поль­зуем­ся.

Для прок­сирова­ния тра­фика через камеру про­буем под­клю­чить­ся к ней по SSH с помощью сле­дующей коман­ды:

ssh root@IP -D 4444
Подключение к SSH с флагом -D для проксирования трафика
Под­клю­чение к SSH с фла­гом -D для прок­сирова­ния тра­фика

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

Обращаемся к целевым ресурсам через proxychains4
Об­раща­емся к целевым ресур­сам через proxychains4

Нес­мотря на то что мы не смог­ли обой­ти BusyBox, глав­ной цели уда­лось дос­тичь: прок­сировать тра­фик через камеру. На пен­тестах мне встре­чались инфраструк­туры, в которых при обра­щении из сети камер не было никаких огра­ниче­ний на дос­туп, что очень удоб­но для хакер­ских дел.

 

Кейс 2: уязвимость в прошивке

В этом кей­се обсу­дим, как получить RCE и запиво­тить­ся на камере, ког­да изна­чаль­но никако­го дос­тупа не уда­лось получить вооб­ще.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии