SSH и VirtualBox (Smart TV)

Всем привет! Имею Ubuntu 12.04 и Virtual Box. На виртуалку установлен эмулятор смарт тв. www.samsungdforum.com/Devtools/SdkDownload — SDK Emulator (5.1, 2014)
Я установил с репозитория себе ssh. Моя цель это зайти под рутом в эмулятор который запущен на виртуальной машине. Тип подключения стоит NAT. Я сделал проброс портов. Но это все равно не помогает

Пишу в терминале: ssh -p 22 [email protected]
В ответ тишина...
через некоторое время терминал выдает ssh: connect to host 10.0.2.15 port 22: Connection timed out

+2
Flameflower - 17 Май, 2016 - 20:41
Изображение пользователя Flameflower.

Зачем тебе нат? Делай мост и все. Будешь в одной сети сидеть и подключаться нормально.
А вообще по твоим правилам тебе надо подключаться на 127.0.0.1 с портом 2555

0
dyug - 18 Май, 2016 - 11:21

Эмм, не понял а куда Вы ломитесь то?
у вас же снаружи доступ прописан как 127.0.0.1 port 2555
что означает доступ следующей командой
ssh -p 2555 [email protected]

P.S. но бридж/мост - куда более правильно, ибо затрахаешься пропихивать через нат 224.0.0.0 сеть..

Тем более, что внутри локальной сети, я так думаю, нет нехватки адресов... :-)

0
Projack63 - 18 Май, 2016 - 16:17

Спасибо! Прояснили мне. Хорошо, вошел по ssh, но он запросил естественно пароль от рута, и где же его взять? Есть идеи какие?

0
lord_i - 18 Май, 2016 - 16:36
Изображение пользователя lord_i.

Мысли простые - зайдите в систему обычным образом через виртуалбокс, установите пароль для рута (во многих системах его нет по соображениям безопасности) а потом уже логиньтесь через ssh.
Другой способ - залогиньтесь через ssh под тем пользователем, под которым Вы заходите через виртуалбокс и потом в терминале используйте sudo или su

0
Projack63 - 18 Май, 2016 - 16:56

когда я захожу на виртуальную машину, все что я вижу это картинку с загрузкой и потом непосредственно саму среду Смарт ТВ. Ни какой консоли или терминала тут нет.

0
DarkneSS - 18 Май, 2016 - 18:13
Изображение пользователя DarkneSS.

Попробуйте стандартый способ сброса через груб и баш.

0
lord_i - 18 Май, 2016 - 19:15
Изображение пользователя lord_i.

Тогда надо читать про эту среду. Какие пароли и логины. Наверняка где-то есть.

+2
Projack63 - 18 Май, 2016 - 19:58

Вот вроде бы нашел, но что и как тут реализовано для меня не понятно. Может кто по подробнее разжевать это? Буду благодарен. Вот что нашел:

Наткнулся на статью как раз по моей теме (кажется, единственная) — mherfurt.wordpress.com/2014/10/10/auditing-samsung-smart-tv-apps, но он пишет

Unfortunately, there is no publicly communicated password for neither the smarttv user nor any other user that might log onto the virtual emulator

Раз такое дело — найдем его сами

  • Монтируем диск эмулятора на другой Linux системе (я смонтировал в другой виртуалке)
  • Ищем пароль

Первый путь
1.
# cat /etc/shadow
root:g4KfRyC9MkXuM:16177:0:99999:7:::

2. hashcat
3. 1q2w3E

Второй путь:
# grep -r mkpasswd .
./checkAndLaunchEmulator.sh: [ -f /home/smarttv/Installer/.releaseOVAFlag ] && usermod smarttv -p `mkpasswd 1q2w3E` && cp  -f .xinitrc.r .xinitrc && usermod root -p `mkpasswd 1q2w3E`

Ок, теперь сделаем так, чтобы пароль наконец-то гуглился и был на первых страницах

SAMSUNG SMART TV EMULATOR ROOT PASS IS 1q2w3E

0
dyug - 19 Май, 2016 - 10:01

простите, я правильно понял, что эти гммм.... "деятели"(тут подразумевается другое слово) поставили рутовый пароль по умолчанию?
И наивно ожидали, что он не всплывает в интернете?
Или как?
Или данный пароль только на эмуляторе?

0
lord_i - 19 Май, 2016 - 10:09
Изображение пользователя lord_i.

Только на эмуляторе.
Вроде на телевизорах ssh вообще выключен по умолчанию...
ЗЫ Никогда не нравились умные телевизоры, а после прочтения вышеприведенной статьи мои предположения материализовались :)

0
dyug - 19 Май, 2016 - 10:41

Да, я уже прочитал статью...:-)
Мне в этом деле сложнее, у меня просто нет никакого телевизора...
Точнее, стоит один на тумбочке, в виде мебели, трубка, 14 дюймов...
Включался в последний раз лет 7-8 назад, наверное.. Точнее не скажу...

0
Projack63 - 19 Май, 2016 - 10:25

Мужики, я благодарен вам что вы еще пытаетесь мне помочь и разобраться, но по честному - поджимают сроки дипломной работы. Если кто-то имеет больше опыта и понимания в этой тематике, то напишите в ЛС, я оплачу ваши труды. Совместно хотелось бы найти хоть одну уязвимость в смарт тв. Нужна реальная помощь.

0
MacLeod - 19 Май, 2016 - 11:49
Изображение пользователя MacLeod.

А чем вы, простите, занимались весь срок обучения...?

0
Flameflower - 19 Май, 2016 - 12:25
Изображение пользователя Flameflower.

Что за вопрос? :)
Никогда студентом не был? :)

0
MacLeod - 19 Май, 2016 - 13:16
Изображение пользователя MacLeod.

Был =)
Траву курил по выходным и всячески здоровье гробил...
Сезонно зарабатывал на таких товарищах, которые не могли курсовую/диплом сделать, первые напольники с усилком так приобрел. Только вот уже тогда не понимал, зачем им это нужно. Это уже не простой пользователь блаблабла, через несколько месяцев в стране станет одним "специалистом" больше, я так понимаю, по информационной безопасности. А оно надо было? Время/деньги тратить...

0
Projack63 - 19 Май, 2016 - 13:28

Да вот как раз не ИБ, а ИСТ направление. Весь курс обучения не про это был. И речь тут не обо мне, а о Смарт ТВ

0
MacLeod - 19 Май, 2016 - 13:53
Изображение пользователя MacLeod.

Поиск уязвимостей - это тематика ИБ. ИБ - часть информационных технологий.
Ну и как не о вас? Будучи айтишником - вы никогда не слышали про встраиваемые системы на linux, хабр не открывали, телефон на андроиде через шелл не "ковыряли"? В понимании базы сетей плаваете...
Я не хочу морали читать, но вы скопипастили статью с просьбой разжевать, хотя там базовые вещи, опять же. Что вам там не понятно? Начинайте вникать, задавайте конкретные вопросы.

0
Projack63 - 21 Май, 2016 - 09:57

Мое рассуждение такое: мне нужен хэш от рута смартв тв, чтобы в дальнейшим его расшифровать через программу hashcat. Все хешы хранятся в /etc/shadow , но я не думаю что там же хранится и мой рут-пароль от смарт тв(даже после соединения по ssh). Тогда вопрос, где этот хэш(md5 скорее всего)? Тут в статье было описано что:
Монтируем диск эмулятора на другой Linux системе (я смонтировал в другой виртуалке)
Ищем пароль

Для чего это было сделано мне не понятно...
Мой же /etc/shadow в Ubuntu такой:

0
dyug - 21 Май, 2016 - 10:51

А где твой логин? :-)
на этом скрине рут запрещен.
Просто запрещен, об этом говорит восклицательный знак.
Не путать логин под рутом(который запрещен), и использование рутовых прав, получаемых после sudo/su

0
Projack63 - 21 Май, 2016 - 11:18

Это я понимаю. Когда я захожу в смарт тв через удаленный доступ ssh он требует ввести пароль, который я в теории не знаю(хотя он мне известен). Как мне получить пароль от рута смарт тв? Нужно его найти

0
lord_i - 21 Май, 2016 - 12:24
Изображение пользователя lord_i.

Как вариант - можно применить терморектальный вектор атаки к тому, кто этот пароль знает. Весьма эффективно и максимально сжатые сроки.
:)

0
Projack63 - 21 Май, 2016 - 14:28

Какие слова страшные:). Нет, мне нужен хэш

0
lord_i - 21 Май, 2016 - 14:41
Изображение пользователя lord_i.

Если серьезно - тут Вы ответа на свой вопрос не найдете скорее всего.
Читайте про атаки на ssh на соответствующих ресурсах. Где этот атакуемый ssh физически расположен (смарттв или сервер пентагона) - это уже вторично, главное алгоритмы и инструменты.

0
MacLeod - 21 Май, 2016 - 15:33
Изображение пользователя MacLeod.

мне нужен хэш от рута смартв тв
Не будет ни один адекватный производитель оставлять хэш в прошивке. Это же адовая дырень. Более того, в прошивках чаще всего даже бинарик su не оставляют. Девелоперский образ - исключение, не для продакшена же. Обычно делается дополнительная прослойка (типа adb), которая работает, например, только через USB и задает вопрос через интерфейс устройства, согласен ли его пользователь на подключение (добавить айдишник девайса с которого происходит подключение в список доверенных).

хранятся в /etc/shadow , но я не думаю что там же хранится и мой рут-пароль
А где ему еще храниться? Именно там он и будет, если речь идет о базовой авторизации.

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

Мой же /etc/shadow в Ubuntu такой
В бунтах по дефолту запрещен root-логин. Для получения прав рута отдельным пользователям (при наличии у них таких прав) используется sudo с дополнительной авторизацией этим же пользователем.
Если создать юзера с базовой авторизацией по паролю, то он отобразится в /etc/shadow, например, как
projack:$6$a4bFIQ.y$hTVlRcreYIbkgGvt2MaZ2u4WpHdAZfkx3VCm3hPczxVnDtG14DEgKUnC2KKbHrkVP/1E6fTcP6qMHpQDvEel9.:16942:0:99999:7:::
Двоеточиями разделены секции, вторая - это информация по паролю, которая тоже разделена на секции символами $. Формат - $id$salt$encrypted. В вышеприведенном примере id - 6, что соответствует алгоритму SHA-512 (unix).
Смысл хэширования паролей в том, чтобы использовать необратимые алгоритмы. То есть нельзя взять хэш и получить из него пароль. Однако из пароля всегда должен получаться одинаковый хэш, чтобы сравнивать его с сохраненным при авторизации.
"Взломать" хэш можно только перебором вариантов пароля, получая хэш для каждого и сравнивая с сохраненным. Либо по словарю, либо брутфорсом - перебором всех возможных значений для длины пароля определенного диапазона, где каждый символ также имеет допустимые значения (например, все строчные и прописные буквы литиницы ASCII, плюс цифры). Чем больше длина пароля и чем больше вариантов символов - тем больше вариантов паролей. Для перебора (создания хэшей) всех значений паролей длиной до 9 символов включительно с учетом, что может быть использован любой символ из ASCII - понадобится более 50 лет, даже при использовании современной видеокарты, не говоря о ЦПУ. Есть различные способы ускорить этот процесс, типа использования при переборе заранее вычисленных на машинах с огромными мощностями радужных таблиц, размещенных на страйпе из SSD.

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

0
Projack63 - 21 Май, 2016 - 16:48

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

0
MacLeod - 21 Май, 2016 - 22:32
Изображение пользователя MacLeod.

Ну, так надо определиться, куда мыслить. Мух от котлет отделить. Вы совершенно напрасно так прицепились к этому хэшу и возможности/невозможности входа по SSH. Автор статьи получил доступ по SSH лишь для возможности свободно копаться в эмуляторе. Хотелка такая. Никакой связи с рассматриваемыми уязвимостями - нет.
"Выявлять" дыру вам не нужно, она уже выявлена и полностью описана в статье. Если вы хотите использовать эту информацию в дипломной работе, разумно было бы провести, к примеру, практическое исследование - написать простое приложение, которое будет воровать данные других приложений (как именно воровать - в статье показано, и только не говорите, что написать простецкую штуку на JavaScript для вас проблема), находящихся на ящике жертвы, завести VPS, куда ваше приложение будет сливать данные и откуда будет подгружать зловредный JS-код, подробно описать этот процесс в работе и продемонстрировать его на защите. Мол, вот такие существуют проблемы и до обновления прошивок такой-то процент ящиков... В статье есть другие ссылки, можно также сделать краткий обзор с практическими примерами использования. Новых, доселе никому не известных уязвимостей, с вашими знаниями вы не найдете, не стоит даже морочиться. И совет - обязательно ссылайтесь на статьи по использованным дырам, попытка присвоить себе то, что было опубликовано до вас - может дорого стоить на защите, если попадутся адекватные члены комиссии.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры